V850/BFD: Call `_bfd_elf_copy_private_bfd_data' again
Correct a regression introduced with commit 685080f210
("Adds support
for generating notes in V850 binaries.") which replaced rather than
extending the call to `_bfd_elf_copy_private_bfd_data' with
`v850_elf_copy_private_bfd_data'. Consequently ELFOSABI_GNU marking is
not propagated to output by `objcopy' from objects containing
STB_GNU_UNIQUE symbols.
bfd/
* elf32-v850.c (v850_elf_copy_notes): New function, factored out
from...
(v850_elf_copy_private_bfd_data): ... here. Call the new
function and `_bfd_elf_copy_private_bfd_data'.
binutils/
* testsuite/binutils-all/objcopy.exp: Don't skip the `strip-10'
test for the V850.
This commit is contained in:
parent
7b14583ef0
commit
71de341392
4 changed files with 25 additions and 8 deletions
|
@ -1,3 +1,10 @@
|
|||
2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* elf32-v850.c (v850_elf_copy_notes): New function, factored out
|
||||
from...
|
||||
(v850_elf_copy_private_bfd_data): ... here. Call the new
|
||||
function and `_bfd_elf_copy_private_bfd_data'.
|
||||
|
||||
2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/20093
|
||||
|
|
|
@ -2428,10 +2428,10 @@ v850_elf_set_note (bfd * abfd, enum v850_notes note, unsigned int val)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Copy backend specific data from one object module to another. */
|
||||
/* Copy a v850 note section from one object module to another. */
|
||||
|
||||
static bfd_boolean
|
||||
v850_elf_copy_private_bfd_data (bfd * ibfd, bfd * obfd)
|
||||
static void
|
||||
v850_elf_copy_notes (bfd *ibfd, bfd *obfd)
|
||||
{
|
||||
asection * onotes;
|
||||
asection * inotes;
|
||||
|
@ -2440,10 +2440,10 @@ v850_elf_copy_private_bfd_data (bfd * ibfd, bfd * obfd)
|
|||
skip the merge. The normal input to output section
|
||||
copying will take care of everythng for us. */
|
||||
if ((onotes = bfd_get_section_by_name (obfd, V850_NOTE_SECNAME)) == NULL)
|
||||
return TRUE;
|
||||
return;
|
||||
|
||||
if ((inotes = bfd_get_section_by_name (ibfd, V850_NOTE_SECNAME)) == NULL)
|
||||
return TRUE;
|
||||
return;
|
||||
|
||||
if (bfd_section_size (ibfd, inotes) == bfd_section_size (obfd, onotes))
|
||||
{
|
||||
|
@ -2459,8 +2459,15 @@ v850_elf_copy_private_bfd_data (bfd * ibfd, bfd * obfd)
|
|||
/* Copy/overwrite notes from the input to the output. */
|
||||
memcpy (ocont, icont, bfd_section_size (obfd, onotes));
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
/* Copy backend specific data from one object module to another. */
|
||||
|
||||
static bfd_boolean
|
||||
v850_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
|
||||
{
|
||||
v850_elf_copy_notes (ibfd, obfd);
|
||||
return _bfd_elf_copy_private_bfd_data (ibfd, obfd);
|
||||
}
|
||||
#define bfd_elf32_bfd_copy_private_bfd_data v850_elf_copy_private_bfd_data
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* testsuite/binutils-all/objcopy.exp: Don't skip the `strip-10'
|
||||
test for the V850.
|
||||
|
||||
2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
|
||||
|
||||
* readelf.c (print_mips_ases): Add DSPR3.
|
||||
|
|
|
@ -1061,11 +1061,9 @@ if [is_elf_format] {
|
|||
run_dump_test "strip-9"
|
||||
run_dump_test "strip-12"
|
||||
# Non-EABI ARM targets will set OSABI to ARM
|
||||
# The V850 sets the OSABI to UNIX - System V
|
||||
if { ![istarget "*-*-hpux*"]
|
||||
&& ![istarget "msp*-*-*"]
|
||||
&& ![istarget "visium-*-*"]
|
||||
&& ![istarget "v850*-*-*"]
|
||||
&& !([istarget "arm*-*-*"] && ![istarget "arm-*-*eabi*"])} {
|
||||
run_dump_test "strip-10"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue