configure.in has hard coded target architecture for arm to armv7, overriding user supplied CFLAGS. Reproducible: Always Steps to Reproduce: 1. emerge =dev-lang/spidermonkey-1.8.5-r1 on armv5 (sheeva plug) 2. 3. Actual Results: armv5tel-softfloat-linux-gnueabi-gcc -o nsinstall -Wall -W -Wno-unused -Wpointer-arith -W -pedantic -Wno-long-long -O2 -pipe -march=armv5te -fomit-frame-pointer -fno-strict-aliasing -pthread -march=armv7-a -marm -pipe -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3 -DUNICODE -D_UNICODE -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-rpath-link,/bin -Wl,-rpath-link,/usr/lib host_nsinstall.o host_pathsub.o make[2]: Leaving directory `/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/config' make[2]: Entering directory `/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/config' rm -f nfspwd cp nfspwd.pl nfspwd ./host_jskwgen /var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/jsautokw.h chmod +x nfspwd make[1]: *** [/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/jsautokw.h] Illegal instruction make[1]: *** Deleting file `/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/jsautokw.h' make[1]: *** Waiting for unfinished jobs.... /var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/config/nsinstall -R nsinstall ../dist/bin make[2]: *** [export] Illegal instruction make[2]: Leaving directory `/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src/config' make[1]: *** [export] Error 2 make[1]: Leaving directory `/var/tmp/portage/dev-lang/spidermonkey-1.8.5-r1/work/js-1.8.5/js/src' make: *** [default] Error 2 emake failed * ERROR: dev-lang/spidermonkey-1.8.5-r1 failed (compile
Created attachment 314861 [details] remove forcing of armv7 arch on all arm targets from configure.in After this patch compile goes through, even all but one js-api test passes (testConservativeGC crashes)
provide the full build.log
Created attachment 314901 [details] build.log
Created attachment 314903 [details] emerge --info
get me a backtrace, the slight difference between the two should not be causing a build failure, they are not seeing a failure on any other distro.
Created attachment 328004 [details, diff] backport of ARM portion of configure.in from 1.8.7 The first patch doesn't work -- it causes failures on armv7's. I have backported the ARM configure stuff from spidermonkey-1.8.7 to spidermonkey-1.8.5 with this patch; after some testing which steev has promised to do for me I will commit it to the tree.
Right, so that didn't work either, but I distilled all of the configure stuff down to the bare necessities -- all that is needed for ARM by any of the JS code, is whether or not THUMB2 support exists. I scraped a bit of code from WINE that works successfully for this and replaced all of the existing ARM-related overrides with that. steev was nice enough to test for me on three or four different ARMs, all succeeded.
(In reply to comment #7) > Right, so that didn't work either, but I distilled all of the configure > stuff down to the bare necessities -- all that is needed for ARM by any of > the JS code, is whether or not THUMB2 support exists. I scraped a bit of > code from WINE that works successfully for this and replaced all of the > existing ARM-related overrides with that. > > steev was nice enough to test for me on three or four different ARMs, all > succeeded. one more success from here for 1.8.5-r2 which I've just stabilised :)