Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/binutils/bfd Pull across the fix for ld/1021 and ld...



details:   https://anonhg.NetBSD.org/src/rev/f3613f928ac0
branches:  trunk
changeset: 587740:f3613f928ac0
user:      skrll <skrll%NetBSD.org@localhost>
date:      Thu Feb 02 22:14:43 2006 +0000

description:
Pull across the fix for ld/1021 and ld/1031.

This has been applied to the binutils_2_16 branch.

diffstat:

 gnu/dist/binutils/bfd/ChangeLog |  11 ++++++++++-
 gnu/dist/binutils/bfd/elflink.c |   9 +++++----
 2 files changed, 15 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 2cc6e5808b0f -r f3613f928ac0 gnu/dist/binutils/bfd/ChangeLog
--- a/gnu/dist/binutils/bfd/ChangeLog   Thu Feb 02 22:03:55 2006 +0000
+++ b/gnu/dist/binutils/bfd/ChangeLog   Thu Feb 02 22:14:43 2006 +0000
@@ -1,4 +1,13 @@
-2005-05-02  Daniel Jacobowitz  <dan%codesourcery.com@localhost>
+2005-07-16  Eric Botcazou  <ebotcazou%libertysurf.fr@localhost>
+
+       PR ld/1021
+       PR ld/1031
+       * elflink.c (elf_link_add_object_symbols): Also append the version
+       name to non-hidden absolute symbols that are functions.
+
+ 2005-06-12  Daniel Jacobowitz  <dan%codesourcery.com@localhost>
+ 
+       * Makefile.am: Clear RELEASE.
 
        * Makefile.am: Set RELEASE.
        * configure.in: Bump version to 2.16.1.
diff -r 2cc6e5808b0f -r f3613f928ac0 gnu/dist/binutils/bfd/elflink.c
--- a/gnu/dist/binutils/bfd/elflink.c   Thu Feb 02 22:03:55 2006 +0000
+++ b/gnu/dist/binutils/bfd/elflink.c   Thu Feb 02 22:14:43 2006 +0000
@@ -3683,11 +3683,12 @@
 
          /* If this is a hidden symbol, or if it is not version
             1, we append the version name to the symbol name.
-            However, we do not modify a non-hidden absolute
-            symbol, because it might be the version symbol
-            itself.  FIXME: What if it isn't?  */
+            However, we do not modify a non-hidden absolute symbol
+            if it is not a function, because it might be the version
+            symbol itself.  FIXME: What if it isn't?  */
          if ((iver.vs_vers & VERSYM_HIDDEN) != 0
-             || (vernum > 1 && ! bfd_is_abs_section (sec)))
+             || (vernum > 1 && (! bfd_is_abs_section (sec)
+                                || ELF_ST_TYPE (isym->st_info) == STT_FUNC)))
            {
              const char *verstr;
              size_t namelen, verlen, newlen;



Home | Main Index | Thread Index | Old Index