pcxFirefox 46.0 is Released

Follow official edition changes
Download pcxFirefox

Compatible Changes different from Official Edition
1) Remove the plugin restriction in x64 edition ( back out Bug 1165981 )
2) Restore distribution/bundles support ( back out Bug 1144127 )
3) Restore general.useragent.override.[domain] support ( back out Bug 896114 )

And remove the [feature]Enable internal plugin white list.

About disable extension signing check
Because of Mozilla some changes ( I haven’t worked it out yet ), if you migrate from the same official edition to my build, you can’t enable the disabled unsigned extensions, when you notice that, you can enter about:config and toggle xpinstall.signatures.required option some times, then the disabled extensions will be enabled. If you update your edition from my older build, you don’t need toggle the option.

Important additional fixed official bugs
Bug 1261671 – [non-e10s] IME candidate window position is not located at correct position when Full zoom level 100%
Bug 1201904 – [x86_64][Win] IME is disabled on Flash Player

Mozilla build always doesn’t work well after updating OS to Win10

After I update my Operation System to Win10, Mozilla build system always doesn’t work well, which will always produce some errors:


m.AllocationBase 0x0, m.BaseAddress 0x506A0000, m.RegionSize 0x220000, m.State 0x10000
F:\Mysoft\ProgrammingTools\Bash\mozilla-build\msys\bin\sh.exe: *** Couldn't reserve space for cygwin's heap (0x506A0000 ) in child, Win32 error 0
0 [main] sh 3944 sync_with_child: child 5880(0x26C) died before initialization with status code 0x1
779 [main] sh 3944 sync_with_child: *** child state waiting for longjmp
/usr/local/bin/autoconf-2.13: fork: Resource temporarily unavailable

I found some methods below:
1) http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32
2) https://www.lpcware.com/content/forum/windows-10-couldnt-reserve-space-cygwins-heap-win32-error-0
3) https://expert.go2group.com/2015/07/02/developer-series-resolving-a-cygwin-issue-when-working-with-git/

Tried:
1) reboot OS
2) replace the file msys-1.0.dll with https://www.lpcware.com/system/files/msys-1.0.zip
3) in windows cmd rebase msys-1.0.dll

But all of them can’t solve my problem.

Finally I synthesize the methods above and solve the problem.

Because I come across the issue when I am in Mozilla build bash, I try to rebase the file msys-1.0.dll ( not windows cmd ), use admin rights to run Mozilla build bash, and reboot my OS.

After some days’ test, the problem disappeared!

Firefox on Android some compiler and linker switch on/off

I take some time to read Firefox build on Android and try to put it into practice, but at present I have no plan to release an available Firefox build edition on Android.

1) Wl,-s
Don’t use the linker switch, which will cause libxul has no symbols

2) -flto -fuse-linker-plugin and linker switch -flto
They are not compatible with -mfpu=neon, which has been fixed in gcc side ( https://gcc.gnu.org/ml/gcc-patches/2016-01/msg00248.html ). Considering some LTO bugs, we may rebuild gcc and binutils ourselves in order to use LTO ( avoiding some ICE ).
-mfpu=neon exists in https://dxr.mozilla.org/mozilla-central/search?q=mfpu%3Dneon&redirect=false&case=true, if we don’t patch gcc and binutils, we can add -fno-lto to the Makefile.
And firefox’s stlport also can’t use LTO, which will not find some symbols, but I have no time to check it.

3) -ffunction-sections -fdata-sections -fvisibility=hidden and linker switch -Wl,–gc-sections
Some modules will cause symbols error.

4) -Os -finline-limit=64
inline-limit is set to 64 for arm and set to 300 for x86 and mips
Optimization flag is set to -Os (optimize for size) for arm and set to -O2 (optimize for performance) for x86 and mips

5) PGO? -fprofile-generate and -fprofile-use ( Compiler and Linker switch )
At present I don’t know how to make it work on Android.
Maybe see : https://bugzilla.mozilla.org/show_bug.cgi?id=632954

pcxFirefox 45.0.2 is Released

Follow official edition changes
Download pcxFirefox

Compatible Changes different from Official Edition
1) Remove the plugin restriction in x64 edition ( back out Bug 1165981 )
2) Restore distribution/bundles support ( back out Bug 1144127 )
3) Restore general.useragent.override.[domain] support ( back out Bug 896114 )

About disable extension signing check
Because of Mozilla some changes ( I haven’t worked it out yet ), if you migrate from the same official edition to my build, you can’t enable the disabled unsigned extensions, when you notice that, you can enter about:config and toggle xpinstall.signatures.required option some times, then the disabled extensions will be enabled. If you update your edition from my older build, you don’t need toggle the option.

Important additional fixed official bugs
Bug 1250050 – Add a pref to control whether wheel events should be sent to plug-ins