Module Name: src
Committed By: matt
Date: Fri Feb 10 01:47:38 UTC 2012
Modified Files:
src/external/gpl3/binutils/dist/bfd: elf32-vax.c
Log Message:
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.4 -r1.5 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.4 src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.5
--- src/external/gpl3/binutils/dist/bfd/elf32-vax.c:1.4 Sun Sep 25 11:07:32 2011
+++ src/external/gpl3/binutils/dist/bfd/elf32-vax.c Fri Feb 10 01:47:37 2012
@@ -1358,6 +1358,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;
@@ -1378,9 +1379,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);