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 Fix problem leading to trigg...



details:   https://anonhg.NetBSD.org/src/rev/14ff22e75c7e
branches:  trunk
changeset: 773620:14ff22e75c7e
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Feb 10 01:47:37 2012 +0000

description:
Fix problem leading to triggering a BFD assert: when allocating space in the
got, do not allocate slots for symbols without default visibility.

diffstat:

 external/gpl3/binutils/dist/bfd/elf32-vax.c |  5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diffs (22 lines):

diff -r d1c0df6aab87 -r 14ff22e75c7e external/gpl3/binutils/dist/bfd/elf32-vax.c
--- a/external/gpl3/binutils/dist/bfd/elf32-vax.c       Thu Feb 09 23:32:55 2012 +0000
+++ b/external/gpl3/binutils/dist/bfd/elf32-vax.c       Fri Feb 10 01:47:37 2012 +0000
@@ -1358,6 +1358,7 @@
 
   if (!elf_hash_table (info)->dynamic_sections_created
       || (info->shared && info->symbolic)
+      || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
       || h->forced_local)
     {
       h->got.refcount = 0;
@@ -1378,9 +1379,7 @@
 
       dyn = elf_hash_table (info)->dynamic_sections_created;
       /* Allocate space in the .got and .rela.got sections.  */
-      if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-         && (info->shared
-             || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h)))
+      if (info->shared || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))
        {
          sgot->size += 4;
          srelgot->size += sizeof (Elf32_External_Rela);



Home | Main Index | Thread Index | Old Index