summaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2013-03-25 06:00:06 +0000
committerAlan Modra <amodra@bigpond.net.au>2013-03-25 06:00:06 +0000
commit553bc81c7076a9bffec379cbf5b0005393545dd9 (patch)
tree1590f0d6574d8676d2346664fbb3c9a7819b2a6e /bfd/elflink.c
parent6862ad00f0ab832cf606f201bdae9ac1bc8173a5 (diff)
downloadbinutils-redhat-553bc81c7076a9bffec379cbf5b0005393545dd9.tar.gz
* 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 2da6ac527e..b5d9415cf5 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