[Buildroot] 'ld' gives "unrecognised emulation mode" - ARM toolchain unbuildable ??
MikeW
mw_phil at yahoo.co.uk
Thu Nov 2 12:09:41 UTC 2006
MikeW <mw_phil at ...> 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
More information about the buildroot
mailing list