aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
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/bfd-in2.h
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/bfd-in2.h')
-rw-r--r--bfd/bfd-in2.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index f69cf07..7ab22b5 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -238,7 +238,10 @@ typedef const struct reloc_howto_struct reloc_howto_type;
#define bfd_asymbol_name(x) ((x)->name)
/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/
#define bfd_asymbol_bfd(x) ((x)->the_bfd)
-#define bfd_asymbol_flavour(x) (bfd_asymbol_bfd(x)->xvec->flavour)
+#define bfd_asymbol_flavour(x) \
+ (((x)->flags & BSF_SYNTHETIC) != 0 \
+ ? bfd_target_unknown_flavour \
+ : bfd_asymbol_bfd (x)->xvec->flavour)
/* A canonical archive symbol. */
/* This is a type pun with struct ranlib on purpose! */
@@ -4502,6 +4505,9 @@ typedef struct bfd_symbol
with the expression tree serialized in the symbol name. */
#define BSF_SRELC 0x100000
+ /* This symbol was created by bfd_get_synthetic_symtab. */
+#define BSF_SYNTHETIC 0x200000
+
flagword flags;
/* A pointer to the section to which this symbol is