aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-03-25 06:00:06 +0000
committerAlan Modra <amodra@gmail.com>2013-03-25 06:00:06 +0000
commit5d13b3b31966d19c8cd83b8e4116db437fb820e2 (patch)
tree066f96112d8e2efc7ba97702d60cd1fb2e6eb756 /bfd/elflink.c
parent483cf7761dad4eb6e26a6ef45922a14f23ac1613 (diff)
downloadfsf-binutils-gdb-5d13b3b31966d19c8cd83b8e4116db437fb820e2.zip
fsf-binutils-gdb-5d13b3b31966d19c8cd83b8e4116db437fb820e2.tar.gz
fsf-binutils-gdb-5d13b3b31966d19c8cd83b8e4116db437fb820e2.tar.bz2
* elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
(_bfd_elf_init_reloc_shdr): Delete. * elf.c (_bfd_elf_init_reloc_shdr): Make static. * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to just what is needed. * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r--bfd/elflink.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 2da6ac5..b5d9415 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -1347,15 +1347,12 @@ _bfd_elf_merge_symbol (bfd *abfd,
/* We now know everything about the old and new symbols. We ask the
backend to check if we can merge them. */
- if (bed->merge_symbol
- && !bed->merge_symbol (info, sym_hash, h, sym, psec, pvalue,
- pold_alignment, skip, override,
- type_change_ok, size_change_ok,
- &newdyn, &newdef, &newdyncommon, &newweak,
- abfd, &sec,
- &olddyn, &olddef, &olddyncommon, &oldweak,
- oldbfd, &oldsec))
- return FALSE;
+ if (bed->merge_symbol != NULL)
+ {
+ if (!bed->merge_symbol (h, sym, psec, newdef, olddef, oldbfd, oldsec))
+ return FALSE;
+ sec = *psec;
+ }
/* If both the old and the new symbols look like common symbols in a
dynamic object, set the size of the symbol to the larger of the