http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49448
Summary: gcc configure script wrongly detect TARGET_BIG_ENDIAN_DEFAULT Product: gcc Version: 4.5.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: gough...@yahoo.com.cn In the configure script "gcc/config.gcc", around line 733: arm*-*-linux*) # ARM GNU/Linux with ELF tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" case $target in arm*b-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ;; esac tmake_file="${tmake_file} t-linux arm/t-arm" If $target have the form "arm-tab-linux-gnu", this script will enable big-endian defaults. But the resulting gcc will, by default, generate little-endian object files, and pass some big-endian argument to linker. This might be a common problem in scripts. Should the use of "*" be restricted, or warned in some important scripts?