Hi All,
I was able to compile Arctic Fox 27.9.18 for Debian 10 PowerPCSPE today.
The 'PowerPCSPE' architecture is a binary-incompatible variant of PowerPC/POWER designed and supported by NXP (Freescale) and IBM. It is also known under the trade names "e500"/"MPC8500" and "e200"/"MPC5xx". The A-EON AmigaOne A1222 (Tabor) based on the PowerPCSPE architecture.
In particular, the 'PowerPCSPE' architecture lacks the classic FPU with dedicated FPRs found on most other PowerPC systems. It is replaced with a set of "SPE" instructions which perform floating-point operations on the integer registers.
The "e500v2"-series chips have 64-bit GPRs, where the high 32-bits are accessible only via the special "SPE" instructions, allowing them to make efficient use of the "double" datatype.
I had to remove the AltiVec source code from Arctic Fox because the instructions for the "SPE" operations overlap with the AltiVec instructions. It's not possible to compile Arctic Fox with its AltiVec source code on Debian PowerPCSPE.
I added "
-mcpu=8548 -mtune=8548 -mspe" to the gcc and g++ options. I configured the target to "
powerpc-unknown-linux-gnuspe" in the second build.
Additionally I had to use GCC 4.9.2 instead of the default GCC 8 because Arctic Fox doesn't compile with GCC 8.
I had some kernel crashes (invalid memory access) during the compilation of Arctic Fox with the latest mainline vanilla kernel 5.3. I switched to the stable longterm kernel 4.4.189 with Freescale patches. After that the kernel crashes are gone.
.mozconfig:
Code: Select all
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
export CC="gcc -flax-vector-conversions -O3 -falign-loops=16 -falign-functions=16 -falign-labels=16 -falign-jumps=16 -mcpu=8548 -mtune=8548 -mspe"
export CXX="g++ -flax-vector-conversions -fpermissive -O3 -falign-loops=16 -falign-functions=16 -falign-labels=16 -falign-jumps=16 -mcpu=8548 -mtune=8548 -mspe"
export LDFLAGS="-latomic"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg
ac_add_options --target=powerpc-unknown-linux-gnuspe
ac_add_options --disable-crashreporter
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-updater
ac_add_options --enable-mozril-geoloc
ac_add_options --disable-webrtc
ac_add_options --disable-safe-browsing
ac_add_options --disable-parental-controls
ac_add_options --enable-release
ac_add_options --disable-necko-wifi
ac_add_options --disable-eme
ac_add_options --disable-gamepad
ac_add_options --enable-dbus
ac_add_options --disable-gio
ac_add_options --disable-pulseaudio
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-application=browser
ac_add_options --with-branding=browser/branding/arcticfox
ac_add_options --enable-optimize
ac_add_options --disable-jemalloc
Arctic Fox for PowerPCSPE is very important because there isn't a new Firefox version available for the PowerPCSPE architecture. There is an old version of iceweasel 31.3.0esr available but it has problems with some websites.
Downloads:
Screenshot of Arctic Fox 27.9.18 on Debian 10 PowerPCSPE:
Cheers,
Christian