aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-10-03 03:41:56 +0000
committerAlan Modra <amodra@gmail.com>2005-10-03 03:41:56 +0000
commit65a7a66f3a02426753f47fe598c454d575d7f204 (patch)
treee3aeaad646cb4c14a64db7efe7cb8487b7bec3b8 /bfd/elf.c
parent9698b410b63b08444e3d08472b12a2829b8b58a6 (diff)
downloadgdb-65a7a66f3a02426753f47fe598c454d575d7f204.zip
gdb-65a7a66f3a02426753f47fe598c454d575d7f204.tar.gz
gdb-65a7a66f3a02426753f47fe598c454d575d7f204.tar.bz2
* elf.c (_bfd_elf_get_synthetic_symtab): Set BSF_GLOBAL on
synthetic syms.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index fe4c8fd..b1b73a0 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -8270,6 +8270,10 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd,
continue;
*s = **p->sym_ptr_ptr;
+ /* Undefined syms won't have BSF_LOCAL or BSF_GLOBAL set. Since
+ we are defining a symbol, ensure one of them is set. */
+ if ((s->flags & BSF_LOCAL) == 0)
+ s->flags |= BSF_GLOBAL;
s->section = plt;
s->value = addr - plt->vma;
s->name = names;