gold on trunk breaks powerpc-, aarch64- and arm32-linux (Re: [gold][PATCH] PR gold/19119: Gold accepts bogus target emulation)
Matthias Klose
doko@ubuntu.com
Sun Oct 25 23:50:00 GMT 2015
On 25.10.2015 18:40, H.J. Lu wrote:
> On Sun, Oct 25, 2015 at 10:37 AM, Matthias Klose <doko@ubuntu.com> wrote:
>> On 15.10.2015 17:57, Cary Coutant wrote:
>>>>
>>>> PR gold/19119
>>>> * options.h (General_options): Remove "obsolete" from -m.
>>>
>>>
>>> I'm a little reluctant to remove "obsolete" from the description --
>>> maybe "deprecated" instead?
>>>
>>>> * parameters.cc (set_parameters_target): Check if input target
>>>> is compatible with output emulation set by "-m emulation".
>>>
>>>
>>> This is OK. Thanks!
>>
>>
>> hmm, this breaks any released gcc on aarch64-linux-gnu and
>> arm-linux-gnueabi*
>>
>> $ gcc -fuse-ld=gold foo.c
>> /usr/bin/ld.gold: error: unrecognised output emulation: aarch64linux
>> collect2: error: ld returned 1 exit status
>>
>> $ gcc -fuse-ld=gold foo.c
>> /usr/bin/ld.gold: error: unrecognised output emulation: armelf_linux_eabi
>> collect2: error: ld returned 1 exit status
>>
>
> What do ld.bfd -V and ld.gold -V report? They should support the
> same set of emulations.
>
powerpc-linux-gnu as well:
/usr/bin/ld.gold: error: unrecognised output emulation: elf32ppclinux
aarch64-linux:gnu
gold: supported emulations: aarch64_elf64_le_vec aarch64_elf64_be_vec
aarch64_elf32_le_vec aarch64_elf32_be_vec elf64-tradlittlemips
elf32-tradlittlemips-nacl elf64-tradbigmips elf32-tradlittlemips-nacl
elf32-tradlittlemips elf32-tradlittlemips-nacl elf32-tradbigmips
elf32-tradlittlemips-nacl elf32tilegx_be elf64tilegx_be elf32tilegx elf64tilegx
armelfb armelfb_nacl armelf armelf_nacl elf64lppc elf64ppc elf32lppc elf32ppc
elf64_sparc elf32_sparc elf32_x86_64 elf32_x86_64_nacl elf_x86_64
elf_x86_64_nacl elf_iamcu elf_i386 elf_i386_nacl
$ ld -V
GNU ld (GNU Binutils for Ubuntu) 2.25.51.20151022
Supported emulations:
aarch64linux
aarch64elf
aarch64elf32
aarch64elf32b
aarch64elfb
armelf
armelfb
aarch64linuxb
aarch64linux32
aarch64linux32b
armelfb_linux_eabi
armelf_linux_eabi
arm-linux-gnueabihf
gold: supported emulations: aarch64_elf64_le_vec aarch64_elf64_be_vec
aarch64_elf32_le_vec aarch64_elf32_be_vec elf64-tradlittlemips
elf32-tradlittlemips-nacl elf64-tradbigmips elf32-tradlittlemips-nacl
elf32-tradlittlemips elf32-tradlittlemips-nacl elf32-tradbigmips
elf32-tradlittlemips-nacl elf32tilegx_be elf64tilegx_be elf32tilegx elf64tilegx
armelfb armelfb_nacl armelf armelf_nacl elf64lppc elf64ppc elf32lppc elf32ppc
elf64_sparc elf32_sparc elf32_x86_64 elf32_x86_64_nacl elf_x86_64
elf_x86_64_nacl elf_iamcu elf_i386 elf_i386_nacl
$ ld -V
GNU ld (GNU Binutils for Ubuntu) 2.25.51.20151022
Supported emulations:
armelf_linux_eabi
armelfb_linux_eabi
powerpc-linux-gnu
supported emulations: elf64lppc elf64ppc elf32lppc elf32ppc
$ ld -V
GNU ld (GNU Binutils for Ubuntu) 2.25.1
Supported emulations:
elf32ppclinux
elf32ppc
elf32ppcsim
elf64ppc
More information about the Binutils
mailing list