This is a tracker for documenting the issues and procedures to fix the issues we had to do to get firefox-4.0/5.0 and xulrunner-2.0 working on ARM on Gentoo.
I haven't tested armv4t for issues... -One of the first issues we had on both armv5te(softfloat) and armv7a(hardfloat) was bug 362237. This issue is due to mozilla's build system that mangles with the CFLAGS according to the value passed with the --with-cpu-arch parameter. If no value is passed, like we did by default, it forces armv7a and softfp. Obviously thats not going to work on armv5te(we onlt build stages with softfloat) nor on armv7a-hardfloat. The solution until upstream comes with a proper solution is simply removing the mangling CFLAGS part of the configure script, so it respects our CFLAGS. As far as I can see, it doesn't do anything else apart from touching the CFLAGS...if it did, it would require more investigation. This issue didn't show up on armv7a(softfp). Didn't try on armv6j. -The second issue, was not reported since users daring to test firefox-5 would hit the first one. The issue is reported upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=644136 applying the patch fixes it. -The third issue is gentoo-specific, unfortunately, and affects arm with softfloat. On gcc we have a patch we apply if -softfloat- is present on the CHOST, which happens for the armv4tl and armv5tel stages we build. Bug 372199. libtheora included on firefox appends -march=armv7-a -mfpu=neon to the ASFLAGS, but our patch overrides -mfpu=neon and therefore it fails to build. Siarhei explains it very well on said bug. The workaround, until we get the patch dropped from gcc, is building firefox/xulrunner with USE="-webm -alsa", which means passing --disable-ogg to the configure script which disabled libtheora building.
Patches applied. The third issue should be fixed when using gcc-4.5.3.