Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3/binutils/dist/bfd Only set symbols not provide...



details:   https://anonhg.NetBSD.org/src/rev/1db77da55612
branches:  trunk
changeset: 771623:1db77da55612
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Nov 26 15:59:34 2011 +0000

description:
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.

diffstat:

 external/gpl3/binutils/dist/bfd/elflink.c |  5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diffs (15 lines):

diff -r 57bc88206c8a -r 1db77da55612 external/gpl3/binutils/dist/bfd/elflink.c
--- a/external/gpl3/binutils/dist/bfd/elflink.c Sat Nov 26 15:55:18 2011 +0000
+++ b/external/gpl3/binutils/dist/bfd/elflink.c Sat Nov 26 15:59:34 2011 +0000
@@ -567,7 +567,10 @@
       && !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)
     {



Home | Main Index | Thread Index | Old Index