From: Stuart Yoder <stuart.yo...@freescale.com> Remove the runtime check for endianness, and for platforms that can be bit or little endian do a compile time check.
This resolves an issue encountered building QEMU under Yocto which was not setting --cross-prefix. Signed-off-by: Stuart Yoder <stuart.yo...@freescale.com> --- -v2: removed the dynamic runtime test completely, added compile time check for mips configure | 33 ++++++++------------------------- 1 files changed, 8 insertions(+), 25 deletions(-) diff --git a/configure b/configure index fe4fc4f..d9c5999 100755 --- a/configure +++ b/configure @@ -1269,41 +1269,24 @@ feature_not_found() { exit 1; } -if test -z "$cross_prefix" ; then - -# --- -# big/little endian test -cat > $TMPC << EOF -#include <inttypes.h> -int main(int argc, char ** argv){ - volatile uint32_t i=0x01234567; - return (*((uint8_t*)(&i))) == 0x67; -} -EOF - -if compile_prog "" "" ; then -$TMPE && bigendian="yes" -else -echo big/little test failed -fi - -else - -# if cross compiling, cannot launch a program, so make a static guess +########################################## +# endianness check case "$cpu" in arm) - # ARM can be either way; ask the compiler which one we are if check_define __ARMEB__; then bigendian=yes fi ;; - hppa|m68k|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64) + mips|mips64) + if check_define __MIPSEB__; then + bigendian=yes + fi + ;; + hppa|m68k|ppc|ppc64|s390|s390x|sparc|sparc64) bigendian=yes ;; esac -fi - ########################################## # NPTL probe -- 1.7.3.4