diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-03-26 07:02:52 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-03-26 07:02:52 +0000 |
commit | ce96de247d8aa5d3a301f4bf0562ea43327f7e1d (patch) | |
tree | 7498018b0ee5421b279fe1c518aeb2517474d1dc | |
parent | 52e1b4f1223f78b4cccc509bad6241603b2eb80a (diff) | |
download | binutils-redhat-ce96de247d8aa5d3a301f4bf0562ea43327f7e1d.tar.gz |
* elflink.c (_bfd_elf_add_default_symbol): Preserve section
over _bfd_elf_merge_symbol calls.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 30e64ba362..e6e6c771d0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2013-03-26 Alan Modra <amodra@gmail.com> + * elflink.c (_bfd_elf_add_default_symbol): Preserve section + over _bfd_elf_merge_symbol calls. + +2013-03-26 Alan Modra <amodra@gmail.com> + * elflink.c (elf_link_add_object_symbols): Add assertion for common override alignment check code. Formatting. diff --git a/bfd/elflink.c b/bfd/elflink.c index 15909c205d..bb981388c6 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1600,6 +1600,7 @@ _bfd_elf_add_default_symbol (bfd *abfd, bfd_boolean override; char *p; size_t len, shortlen; + asection *tmp_sec; /* If this symbol has a version, and it is the default version, we create an indirect symbol from the default name to the fully @@ -1626,7 +1627,8 @@ _bfd_elf_add_default_symbol (bfd *abfd, actually going to define an indirect symbol. */ type_change_ok = FALSE; size_change_ok = FALSE; - if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, &value, + tmp_sec = sec; + if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &tmp_sec, &value, &hi, poldbfd, NULL, NULL, &skip, &override, &type_change_ok, &size_change_ok)) return FALSE; @@ -1734,7 +1736,8 @@ nondefault: /* Once again, merge with any existing symbol. */ type_change_ok = FALSE; size_change_ok = FALSE; - if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &sec, &value, + tmp_sec = sec; + if (!_bfd_elf_merge_symbol (abfd, info, shortname, sym, &tmp_sec, &value, &hi, NULL, NULL, NULL, &skip, &override, &type_change_ok, &size_change_ok)) return FALSE; |