aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-target.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-11-09 21:08:58 +0000
committerIan Lance Taylor <ian@airs.com>1993-11-09 21:08:58 +0000
commita5ccdad1fcaacb2c0943ed562d2f9176bffe742d (patch)
tree66d01e8a39570658dae698a5886fe6419ebe842a /bfd/elf64-target.h
parente4d7f4c779f203d6e299c13038e5a54f23de963e (diff)
downloadgdb-a5ccdad1fcaacb2c0943ed562d2f9176bffe742d.zip
gdb-a5ccdad1fcaacb2c0943ed562d2f9176bffe742d.tar.gz
gdb-a5ccdad1fcaacb2c0943ed562d2f9176bffe742d.tar.bz2
* elfcode.h (elf_object_p): Rather than looking through an array
of architectures, get the ELF EM_xxx code from the backend information. Let the generic ELF target match any EM_xxx code not matched by another ELF target. Call elf_backend_object_p to let the backend do more checks and set global information. * libelf.h (struct elf_backend_data): Added elf_machine_code and elf_backend_object_p fields. (struct bfd_elf_arch_map): Removed. (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare. * elf32-target.h, elf64-target.h: Initialize elf_machine_code field with ELF_MACHINE_CODE. Initialize elf_backend_object_p field with elf_backend_object_p (if it is defined). * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c, elf64-gen.c (ELF_MACHINE_CODE): Defined. * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping routines. (mips_elf_object_p): Set the right machine number. (mips_elf_ecoff_debug_swap): Defined. (elf_backend_object_p): Defined to be mips_elf_object_p. (elf_backend_ecoff_debug_swap): Defined to be mips_elf_ecoff_debug_swap. * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed. * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow for R_MIPS_26. Correct overflow detection requires matching the upper four bits of the destination against the PC. From Ted Lemon <mellon@pepper.ncd.com>. * elf32-hppa.c (elf_hppa_reloc_type_lookup): Return type should point to const data.
Diffstat (limited to 'bfd/elf64-target.h')
-rw-r--r--bfd/elf64-target.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elf64-target.h b/bfd/elf64-target.h
index 790e4a6..8ada3b9 100644
--- a/bfd/elf64-target.h
+++ b/bfd/elf64-target.h
@@ -59,6 +59,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define ELF_MAXPAGESIZE 1
#endif
+#ifndef elf_backend_object_p
+#define elf_backend_object_p 0 /* elf_backend_object_p */
+#endif
#ifndef elf_backend_symbol_processing
#define elf_backend_symbol_processing 0 /* elf_backend_symbol_processing */
#endif
@@ -90,9 +93,11 @@ static CONST struct elf_backend_data elf64_bed =
#endif
1, /* elf_64_p */
ELF_ARCH, /* arch */
+ ELF_MACHINE_CODE, /* elf_machine_code */
ELF_MAXPAGESIZE, /* maxpagesize */
elf_info_to_howto, /* elf_info_to_howto */
elf_info_to_howto_rel, /* elf_info_to_howto_rel */
+ elf_backend_object_p, /* elf_backend_object_p */
elf_backend_symbol_processing, /* elf_backend_symbol_processing */
elf_backend_symbol_table_processing, /* elf_backend_symbol_table_processing */
elf_backend_section_processing, /* elf_backend_section_processing */