This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: gold on trunk breaks powerpc-, aarch64- and arm32-linux (Re: [gold][PATCH] PR gold/19119: Gold accepts bogus target emulation)
- From: Matthias Klose <doko at ubuntu dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Cary Coutant <ccoutant at gmail dot com>, Binutils <binutils at sourceware dot org>, gcc Development <gcc at gcc dot gnu dot org>
- Date: Mon, 26 Oct 2015 00:50:37 +0100
- Subject: Re: gold on trunk breaks powerpc-, aarch64- and arm32-linux (Re: [gold][PATCH] PR gold/19119: Gold accepts bogus target emulation)
- Authentication-results: sourceware.org; auth=none
- References: <20151014160535 dot GA9804 at intel dot com> <CAJimCsGDNCogqXPOvLHXw=5SrCZpHes7EmSqjtqhadJXgZbwhQ at mail dot gmail dot com> <562D135B dot 7060207 at ubuntu dot com> <CAMe9rOqrz6GurgFLAnqafobM0rA_j49VMQySZ=M-4byNyHuKMQ at mail dot gmail dot com>
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