Add arch support for all the maths for ARMv6
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
https://redports.org/buildarchive/20140817161100-53255
Doesn't break amd64 or i386. So that's good.
This is th buildfailure I get without this patch:
http://chips.ysv.freebsd.org/data/11armv632-default/2014-08-16_23h54m58s/logs/errors/nspr-4.10.6.log
devel/nspr/files/patch-bug782113 | ||
---|---|---|
98 | arm is little-endian unless ARMEB is defined |
devel/nspr/files/patch-bug782113 | ||
---|---|---|
98 | I'm not 100% sure how to do that in this file, so maybe this works, maybe it doesn't? #elif defined(__arm__) #if defined(__armeb__) #undef IS_BIG_ENDIAN #define IS_LITTLE_ENDIAN 1 #else #undef IS_LITTLE_ENDIAN #define IS_BIG_ENDIAN 1 #endif /*armeb */ |
Upper case is needed. ARMEB. However, that's just for gcc. If you want to future proof this against clang supporting arm big endian, the Arm C Language Extention (ACLE) specifies that this is ARM_BIG_ENDIAN, so I'd test for both for now.
The web page is rendering double underscore as an underscored thing. There are two leading and trailing underscores for the symbols in my last comment.
This is what you guys are going for right?
#elif defined(__arm__) #if defined(__ARMEB__) || defined(__ARM_BIG_ENDIAN__) #undef IS_LITTLE_ENDIAN #define IS_BIG_ENDIAN 1 #else #undef IS_BIG_ENDIAN #define IS_LITTLE_ENDIAN 1 #endif
https://redports.org/buildarchive/20140818002502-52216/
All groovy on amd64/i386
Confirmed builds on armv6 qemu-user enabled jail
Committed at svn r 366453. Upstreamed as well https://hg.mozilla.org/projects/nspr/rev/1fb699490ea7