diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-03-25 06:00:06 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-03-25 06:00:06 +0000 |
commit | 553bc81c7076a9bffec379cbf5b0005393545dd9 (patch) | |
tree | 1590f0d6574d8676d2346664fbb3c9a7819b2a6e /bfd/elflink.c | |
parent | 6862ad00f0ab832cf606f201bdae9ac1bc8173a5 (diff) | |
download | binutils-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.c | 15 |
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 |