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