Module Name:    src
Committed By:   christos
Date:           Sat Nov 26 15:59:34 UTC 2011

Modified Files:
        src/external/gpl3/binutils/dist/bfd: elflink.c

Log Message:
Only set symbols not provided from the linker script as regular so
that we can find their version from verdef not vertree. This bug
showed up on the hp700 build of heimdal's libkrb5, where we got
the "end" symbol with a bad version from libhx509. The hp700 linker
script defines that end symbol.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/binutils/dist/bfd/elflink.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elflink.c
diff -u src/external/gpl3/binutils/dist/bfd/elflink.c:1.4 src/external/gpl3/binutils/dist/bfd/elflink.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elflink.c:1.4	Sun Sep 25 00:32:35 2011
+++ src/external/gpl3/binutils/dist/bfd/elflink.c	Sat Nov 26 10:59:34 2011
@@ -567,7 +567,10 @@ bfd_elf_record_link_assignment (bfd *out
       && !h->def_regular)
     h->verinfo.verdef = NULL;
 
-  h->def_regular = 1;
+  /* Only set symbols not provided from the linker script as regular so
+     that we can find their version from verdef not vertree */
+  if (!provide)
+    h->def_regular = 1;
 
   if (provide && hidden)
     {

Reply via email to