From mboxrd@z Thu Jan 1 00:00:00 1970 From: MikeW Date: Thu, 2 Nov 2006 12:09:41 +0000 (UTC) Subject: [Buildroot] 'ld' gives "unrecognised emulation mode" - ARM toolchain unbuildable ?? References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net MikeW writes: > > Am using buildroot-20061031 to build arm926t system, > Toolchain options gcc-3.4.3 (-final), ARM, EABI, binutils-2.16.91.0.7 > and have set the GNU target suffix to linux-uclibcgnueabi. > [Host system gcc-3.4.6 20060404] > > During building libgcc, I get the message > ->> > /home/fred/buildroot/build_arm_nofpu/staging_dir/ > arm-linux-uclibcgnueabi/b in/ld: unrecognised emulation mode: armelf_linux > Supported emulations: armelf_linux_eabi > collect2: ld returned 1 exit status > make[3]: *** [libgcc/./_udivsi3.oS] Error 1 > -<< > > From Google, I note that this type of problem is not infrequent (for other > target types), but the usual reponse is 'get the latest version' which seems a bit of > a cop-out, plus I am currently required to use 3.4.3 so this does not apply. > > a) any ideas to defeat this problem (not involving 3.4.x, x>3 !) > b) if it's frequent, how come it's not been resolved once & for all > > Thanks, > MikeW > This seems to be due to an incompatibility between: 1) toolchain.../gcc-x.x.x/config/arm/linux-elf.h 2) toolchain.../binutils-x.x.x/ld/earmelf_linux_eabi.c In 1) there is a setting TARGET_LINKER_EMULATION "armelf_linux" In 2) there is a string (part of a struct initialiser) "armelf_linux_eabi" so unless I can find matching strings in a version of gcc and ld, buildroot will never be able to build a toolchain. But 2) says the file is generated by a shell script, so maybe it's that script which is to blame ! Or maybe I could just hack 1) to have the correct string. But that raises the question - how does anyone build an ARM toolchain, with this incompatibility in place ? Regards, MikeW