gold on trunk breaks powerpc-, aarch64- and arm32-linux (Re: [gold][PATCH] PR gold/19119: Gold accepts bogus target emulation)

H.J. Lu hjl.tools@gmail.com
Mon Oct 26 00:15:00 GMT 2015


On Sun, Oct 25, 2015 at 4:50 PM, Matthias Klose <doko@ubuntu.com> wrote:
> 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
>

Please open a gold bug with missing emulations.

-- 
H.J.



More information about the Binutils mailing list