diff options
author | Alan Modra <amodra@gmail.com> | 2013-03-25 06:00:06 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-03-25 06:00:06 +0000 |
commit | 5d13b3b31966d19c8cd83b8e4116db437fb820e2 (patch) | |
tree | 066f96112d8e2efc7ba97702d60cd1fb2e6eb756 /bfd/elflink.c | |
parent | 483cf7761dad4eb6e26a6ef45922a14f23ac1613 (diff) | |
download | fsf-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.c | 15 |
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 |