From patchwork Wed Mar 14 20:37:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] configure: change endianness test Date: Wed, 14 Mar 2012 10:37:29 -0000 From: Stuart Yoder X-Patchwork-Id: 146719 Message-Id: <1331757449-20873-1-git-send-email-stuart.yoder@freescale.com> To: Cc: aliguori@us.ibm.com, paul@codesourcery.com, Stuart Yoder From: Stuart Yoder 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 Reviewed-by: Stefan Weil --- -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 -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