aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-ppc.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2008-06-30 20:51:58 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2008-06-30 20:51:58 +0000
commit6ba2a41553ce33bc63e4ee1beef0ff1193e3ed70 (patch)
tree559f118c13eabd2eb577ce41a549eadd726d0c70 /bfd/elf64-ppc.c
parent5adf97213b7f2e27834539bdf4d0ef8799d53a95 (diff)
downloadgdb-6ba2a41553ce33bc63e4ee1beef0ff1193e3ed70.zip
gdb-6ba2a41553ce33bc63e4ee1beef0ff1193e3ed70.tar.gz
gdb-6ba2a41553ce33bc63e4ee1beef0ff1193e3ed70.tar.bz2
bfd/
* syms.c (BSF_SYNTHETIC): New flag. * elf.c (_bfd_elf_get_synthetic_symtab): Set it. * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise. * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise. * bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour for synthetic symbols. * bfd-in2.h: Regenerate. opcodes/ * mips-dis.c (_print_insn_mips): Use bfd_asymbol_flavour to check for ELF symbols.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r--bfd/elf64-ppc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 06b1476..727b6ac 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -2954,6 +2954,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
size_t len;
*s = *syms[i];
+ s->flags |= BSF_SYNTHETIC;
s->section = sym->section;
s->value = sym->value + r->addend;
s->name = names;
@@ -3124,6 +3125,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
if ((sec->flags & SEC_CODE) != 0)
s->section = sec;
}
+ s->flags |= BSF_SYNTHETIC;
s->value = ent - s->section->vma;
s->name = names;
*names++ = '.';
@@ -3145,7 +3147,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
/* Add a symbol for the main glink trampoline. */
memset (s, 0, sizeof *s);
s->the_bfd = abfd;
- s->flags = BSF_GLOBAL;
+ s->flags = BSF_GLOBAL | BSF_SYNTHETIC;
s->section = glink;
s->value = resolv_vma - glink->vma;
s->name = names;
@@ -3181,6 +3183,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
we are defining a symbol, ensure one of them is set. */
if ((s->flags & BSF_LOCAL) == 0)
s->flags |= BSF_GLOBAL;
+ s->flags |= BSF_SYNTHETIC;
s->section = glink;
s->value = glink_vma - glink->vma;
s->name = names;