PR 10549: MIPS/LD: Handle OSABI setting for STB_GNU_UNIQUE

Add missing OSABI handling for MIPS/LD, complementing:

commit f64b2e8d60f277b705c96d4b4e585f5f7c847cc4
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 11 08:13:22 2011 +0000

Adjust test coverage accordingly.

	bfd/
	PR 10549
	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
	STB_GNU_UNIQUE.

	ld/
	PR 10549
	* testsuite/ld-unique/unique.exp: Also run for `mips*-*-*'.
This commit is contained in:
Maciej W. Rozycki
2016-05-03 23:47:55 +01:00
parent 99d1b26821
commit 6d6a648c07
4 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
PR 10549
* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
STB_GNU_UNIQUE.
2016-05-03 Jiong Wang <jiong.wang@arm.com> 2016-05-03 Jiong Wang <jiong.wang@arm.com>
* bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype. * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.

View File

@ -7526,6 +7526,11 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
mips_elf_hash_table (info)->rld_symbol = h; mips_elf_hash_table (info)->rld_symbol = h;
} }
if (ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE
&& (abfd->flags & DYNAMIC) == 0
&& bfd_get_flavour (info->output_bfd) == bfd_target_elf_flavour)
elf_tdata (info->output_bfd)->has_gnu_symbols |= elf_gnu_symbol_unique;
/* If this is a mips16 text symbol, add 1 to the value to make it /* If this is a mips16 text symbol, add 1 to the value to make it
odd. This will cause something like .word SYM to come up with odd. This will cause something like .word SYM to come up with
the right value when it is loaded into the PC. */ the right value when it is loaded into the PC. */

View File

@ -1,3 +1,8 @@
2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
PR 10549
* testsuite/ld-unique/unique.exp: Also run for `mips*-*-*'.
2016-05-03 Jiong Wang <jiong.wang@arm.com> 2016-05-03 Jiong Wang <jiong.wang@arm.com>
* emultempl/aarch64elf.em (--no-apply-dynamic-relocs): New option. * emultempl/aarch64elf.em (--no-apply-dynamic-relocs): New option.

View File

@ -25,10 +25,11 @@
# STB_GNU_UNIQUE support has only been implemented for the ix86, x86_64, # STB_GNU_UNIQUE support has only been implemented for the ix86, x86_64,
# arm, powerpc, and sparc so far. # arm, mips, powerpc, and sparc so far.
if {!(([istarget "i?86-*-*"] if {!(([istarget "i?86-*-*"]
|| [istarget "x86_64-*-*"] || [istarget "x86_64-*-*"]
|| [istarget "arm*-*-*"] || [istarget "arm*-*-*"]
|| [istarget "mips*-*-*"]
|| [istarget "powerpc*-*-*"] || [istarget "powerpc*-*-*"]
|| [istarget "sparc*-*-*"]) || [istarget "sparc*-*-*"])
&& ([istarget "*-*-elf*"] && ([istarget "*-*-elf*"]