buildroot fails with unrecognised emulation mode

Lance Spaulding lsjunk1 at cableone.net
Tue Apr 18 15:32:24 UTC 2006


I've been trying to build a uClibc-based ARM cross compiler using 
buildroot but I keep running into problems.  The compile always fails 
with "unrecognised emulation mode" (see below).  It looks like it's 
trying to use the standard compiler instead of the newly-built ARM 
compiler.  I've tred building gcc 3.4.5 and gcc 4.1 and on both gentoo 
and suse machines but they all fail in the same spot.  What am I doing 
wrong?

Here's the last part of the compile up to the failure:

{ arm-linux-uclibc-nm -pg libgcc/./_udivsi3_s.o libgcc/./_divsi3_s.o 
libgcc/./_umodsi3_s.o libgcc/./_modsi3_s.o libgcc/./_dvmd_lnx_s.o 
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o 
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o 
libgcc/./_ucmpdi2_s.o libgcc/./_floatdidf_s.o libgcc/./_floatdisf_s.o 
libgcc/./_fixunsdfsi_s.o libgcc/./_fixunssfsi_s.o 
libgcc/./_fixunsdfdi_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunssfdi_s.o 
libgcc/./_fixsfdi_s.o libgcc/./_fixxfdi_s.o libgcc/./_fixunsxfdi_s.o 
libgcc/./_floatdixf_s.o libgcc/./_fixunsxfsi_s.o libgcc/./_fixtfdi_s.o 
libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o 
libgcc/./_clear_cache_s.o libgcc/./_enable_execute_stack_s.o 
libgcc/./_trampoline_s.o libgcc/./__main_s.o libgcc/./_absvsi2_s.o 
libgcc/./_absvdi2_s.o libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o 
libgcc/./_subvsi3_s.o libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o 
libgcc/./_mulvdi3_s.o libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o 
libgcc/./_ctors_s.o libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o 
libgcc/./_clz_s.o libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o 
libgcc/./_ctzsi2_s.o libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o 
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o 
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o 
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o 
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o 
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o 
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_divdi3_s.o 
libgcc/./_moddi3_s.o libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o 
libgcc/./_udiv_w_sdiv_s.o libgcc/./_udivmoddi4_s.o 
libgcc/./unwind-dw2_s.o libgcc/./unwind-dw2-fde_s.o 
libgcc/./unwind-sjlj_s.o libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o; 
echo %%; \
  cat 
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/libgcc-std.ver 
\
    | sed -e '/^[   ]*#/d' \
          -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
    | 
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/xgcc 
-B/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/bin/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/lib/ 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/include 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/sys-include 
-O2  -g -Os -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  
-isystem ./include  -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT 
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../include 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../libcpp/include   
-E -xassembler-with-cpp -; \
} | gawk -f 
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/mkmap-symver.awk  
 > libgcc/./tmp-libgcc.map
mv 'libgcc/./tmp-libgcc.map' libgcc/./libgcc.map
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/xgcc 
-B/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/bin/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/lib/ 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/include 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/sys-include 
-O2  -g -Os -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  
-isystem ./include  -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT 
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -shared 
-nodefaultlibs -Wl,--soname=libgcc_s.so.1 
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp  
libgcc/./_udivsi3_s.o libgcc/./_divsi3_s.o libgcc/./_umodsi3_s.o 
libgcc/./_modsi3_s.o libgcc/./_dvmd_lnx_s.o libgcc/./_muldi3_s.o 
libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o libgcc/./_ashldi3_s.o 
libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o libgcc/./_ucmpdi2_s.o 
libgcc/./_floatdidf_s.o libgcc/./_floatdisf_s.o libgcc/./_fixunsdfsi_s.o 
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfdi_s.o libgcc/./_fixdfdi_s.o 
libgcc/./_fixunssfdi_s.o libgcc/./_fixsfdi_s.o libgcc/./_fixxfdi_s.o 
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o 
libgcc/./_fixunsxfsi_s.o libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o 
libgcc/./_floatditf_s.o libgcc/./_clear_cache_s.o 
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o 
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o 
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o 
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o 
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o 
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o 
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o 
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o 
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o 
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o 
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o 
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o 
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o 
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_divdi3_s.o 
libgcc/./_moddi3_s.o libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o 
libgcc/./_udiv_w_sdiv_s.o libgcc/./_udivmoddi4_s.o 
libgcc/./unwind-dw2_s.o libgcc/./unwind-dw2-fde_s.o 
libgcc/./unwind-sjlj_s.o libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o 
-lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f 
./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv 
./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
make[4]: Leaving directory 
`/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/gcc'
(SHLIB_LINK='/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/xgcc 
-B/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0-final/./gcc/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/bin/ 
-B/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/lib/ 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/include 
-isystem 
/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/arm-linux-uclibc/sys-include 
-O2  -g -Os -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  
-isystem ./include  -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT 
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -shared 
-nodefaultlibs -Wl,--soname=@shlib_base_name at .so.1 
-Wl,--version-script=@shlib_map_file@ -o 
@multilib_dir@/@shlib_base_name at .so.1.tmp @multilib_flags@ @shlib_objs@ 
-lc && rm -f @multilib_dir@/@shlib_base_name at .so && if [ -f 
@multilib_dir@/@shlib_base_name at .so.1 ]; then mv -f 
@multilib_dir@/@shlib_base_name at .so.1 
@multilib_dir@/@shlib_base_name at .so.1.backup; else true; fi && mv 
@multilib_dir@/@shlib_base_name at .so.1.tmp 
@multilib_dir@/@shlib_base_name at .so.1 && ln -s @shlib_base_name at .so.1 
@multilib_dir@/@shlib_base_name at .so' \
SHLIB_MULTILIB=''; \
gcc -c   -g -O2 -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute    
-DHAVE_CONFIG_H -I. -I. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../include 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../libcpp/include     
-DSTANDARD_STARTFILE_PREFIX=\"../../../\" 
-DSTANDARD_EXEC_PREFIX=\"/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/lib/gcc/\" 
-DSTANDARD_LIBEXEC_PREFIX=\"/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/libexec/gcc/\" 
-DDEFAULT_TARGET_VERSION=\"4.1.0\" 
-DDEFAULT_TARGET_MACHINE=\"arm-linux-uclibc\" 
-DSTANDARD_BINDIR_PREFIX=\"/home/lance/mpcore/buildtools/buildroot/build_arm/staging_dir/bin/\" 
-DTOOLDIR_BASE_PREFIX=\"../../../../\"  `test "X${SHLIB_LINK}" = "X" || 
test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test 
"X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \
    -I. -I. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/. 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../include 
-I/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/../libcpp/include  
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/cp/g++spec.c)
In file included from tm.h:21,
                 from 
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/cp/g++spec.c:25:
insn-flags.h: In function `gen_cirrus_ashl_const':
insn-flags.h:411: warning: unused parameter `a'
insn-flags.h:411: warning: unused parameter `b'
insn-flags.h:411: warning: unused parameter `c'
insn-flags.h: In function `gen_cirrus_ashiftrt_const':
insn-flags.h:417: warning: unused parameter `a'
insn-flags.h:417: warning: unused parameter `b'
insn-flags.h:417: warning: unused parameter `c'
insn-flags.h: In function `gen_cirrus_ashlsi3':
insn-flags.h:423: warning: unused parameter `a'
insn-flags.h:423: warning: unused parameter `b'
insn-flags.h:423: warning: unused parameter `c'
/home/lance/mpcore/buildtools/buildroot/toolchain_build_arm/gcc-4.1.0/gcc/cp/g++spec.c: 
At top level:
insn-flags.h:412: warning: `gen_cirrus_ashl_const' defined but not used
insn-flags.h:418: warning: `gen_cirrus_ashiftrt_const' defined but not used
insn-flags.h:424: warning: `gen_cirrus_ashlsi3' defined but not used
gcc: spec failure: unrecognized spec option 'm'
gcc   -g -O2 -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute    
-DHAVE_CONFIG_H  -o g++ \
  gcc.o g++spec.o intl.o prefix.o version.o  ../libcpp/libcpp.a   
../libiberty/libiberty.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686-pc-linux-gnu/bin/ld: 
unrecognised emulation mode: armelf_linux
Supported emulations: elf_i386 i386linux elf_x86_64

Thanks,
Lance




More information about the uClibc mailing list