Module Name:    src
Committed By:   martin
Date:           Thu Oct  3 12:06:04 UTC 2013

Modified Files:
        src/external/gpl3/binutils/dist/bfd: elf32-vax.c

Log Message:
Apply rev 1.5 again, from Matt Thomas:
Fix problem leading to triggering a BFD assert: when allocating space in the
got, do not allocate slots for symbols without default visibility.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/gpl3/binutils/dist/bfd/elf32-vax.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/elf32-vax.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.8 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.9
--- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.8	Sun Sep 29 14:03:29 2013
+++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c	Thu Oct  3 12:06:04 2013
@@ -1314,6 +1314,7 @@ elf_vax_instantiate_got_entries (struct 
 
   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;
@@ -1334,9 +1335,7 @@ elf_vax_instantiate_got_entries (struct 
 
       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);

Reply via email to