diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-05-29 20:33:00 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-05-29 20:33:00 +0000 |
commit | d1bf45aa9433f77547b091015145da0109f17917 (patch) | |
tree | 1b18557063e3f660308f0daa92034e8d371f8b5e /bfd/elfxx-target.h | |
parent | 90557a6aea39b0adf094187561fe50579701dd85 (diff) | |
download | gdb-d1bf45aa9433f77547b091015145da0109f17917.zip gdb-d1bf45aa9433f77547b091015145da0109f17917.tar.gz gdb-d1bf45aa9433f77547b091015145da0109f17917.tar.bz2 |
64-bit MIPS ELF ABI objdump support:
* elf64-mips.c: New file.
* Makefile.in: Rebuild dependencies.
(BFD64_BACKENDS): Add elf64-mips.o.
(BFD64_BACKENDS_CFILES): Add elf64-mips.c.
* config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
bfd_elf64_littlemips_vec to targ_selvecs.
(mips*-*-elf*): Likewise.
* confingure.in: Add bfd_elf64_bigmips_vec and
bfd_elf64_littlemips_vec to vector switch.
* configure: Rebuild.
* elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
broken out of mips_elf_section_from_shdr.
(mips_elf32_section_from_shdr): Rename from
mips_elf_section_from_shdr. Call new function.
(elf_backend_section_from_shdr): Update name of renamed function.
* elf-bfd.h (struct elf_size_info): Change second parameter of
write_out_phdrs to be const. Likewise for second parameter of
swap_symbol_out.
(struct bfd_elf_section_data): Add rel_hdr2 field.
(bfd_elf32_swap_symbol_in): Change second parameter to be const.
(bfd_elf32_swap_symbol_out): Likewise.
(bfd_elf32_swap_reloc_in): Likewise.
(bfd_elf32_swap_reloc_out): Likewise.
(bfd_elf32_swap_reloca_in): Likewise.
(bfd_elf32_swap_reloca_out): Likewise.
(bfd_elf32_swap_phdr_in): Likewise.
(bfd_elf32_swap_phdr_out): Likewise.
(bfd_elf32_swap_dyn_in): Likewise.
(bfd_elf32_swap_dyn_out): Likewise.
(bfd_elf32_slurp_symbol_table): Declare.
(bfd_elf32_write_shdrs_and_ehdr): Declare.
(bfd_elf32_write_out_phdrs): Declare.
(bfd_elf64_swap_symbol_in): Change second parameter to be const.
(bfd_elf64_swap_symbol_out): Likewise.
(bfd_elf64_swap_reloc_in): Likewise.
(bfd_elf64_swap_reloc_out): Likewise.
(bfd_elf64_swap_reloca_in): Likewise.
(bfd_elf64_swap_reloca_out): Likewise.
(bfd_elf64_swap_phdr_in): Likewise.
(bfd_elf64_swap_phdr_out): Likewise.
(bfd_elf64_swap_dyn_in): Likewise.
(bfd_elf64_swap_dyn_out): Likewise.
(bfd_elf64_slurp_symbol_table): Declare.
(bfd_elf64_write_shdrs_and_ehdr): Declare.
(bfd_elf64_write_out_phdrs): Declare.
(_bfd_mips_elf_section_from_shdr): Declare.
* elf.c (bfd_section_from_shdr): Remove assertion requiring
SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc
section for the section, add the new one to rel_hdr2. Increment
reloc_count rather than setting it.
* elfcode.h (elf_slurp_symbol_table): Define name as macro.
Remove static declaration.
(elf_write_shdrs_and_ehdr): Define name as macro.
(elf_write_out_phdrs): Likewise.
(elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
(elf_swap_shdr_in, elf_swap_shdr_out): Declare.
(elf_swap_symbol_in): Change second parameter to be const.
(elf_swap_symbol_out): Likewise.
(elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
(elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
(elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
(elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
(elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
(elf_write_out_phdrs): Rename from write_out_phdrs. Change second
parameter to be const. Make non-static.
(elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
Make non-static.
(elf_slurp_symbol_table): Make non-static.
(NAME(_bfd_elf,size_info)): Update names of renamed functions.
* elfxx-target.h (elf_info_to_howto): Define if not defined.
(elf_backend_size_info): Likewise.
(elfNN_bed): Use elf_backend_size_info.
* targets.c (bfd_elf64_bigmips_vec): Declare.
(bfd_elf64_littlemips_vec): Declare.
(bfd_target_vector): Add bfd_elf64_bigmips_vec and
bfd_elf64_littlemips_vec if BFD64 is defined.
Diffstat (limited to 'bfd/elfxx-target.h')
-rw-r--r-- | bfd/elfxx-target.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index f1573f4..b4e68ec 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -1,5 +1,5 @@ /* Target definitions for NN-bit ELF - Copyright 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -69,10 +69,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define elf_backend_want_plt_sym 0 #endif -#ifndef elf_backend_want_hdr_in_seg -#define elf_backend_want_hdr_in_seg 0 -#endif - #define bfd_elfNN_bfd_debug_info_start bfd_void #define bfd_elfNN_bfd_debug_info_end bfd_void #define bfd_elfNN_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void @@ -145,6 +141,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define bfd_elfNN_bfd_link_split_section _bfd_generic_link_split_section #endif +#ifndef elf_symbol_leading_char +#define elf_symbol_leading_char 0 +#endif + +#ifndef elf_info_to_howto +#define elf_info_to_howto 0 +#endif + #ifndef elf_info_to_howto_rel #define elf_info_to_howto_rel 0 #endif @@ -235,6 +239,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define ELF_MACHINE_ALT2 0 #endif +#ifndef elf_backend_size_info +#define elf_backend_size_info _bfd_elfNN_size_info +#endif + extern const struct elf_size_info _bfd_elfNN_size_info; static CONST struct elf_backend_data elfNN_bed = @@ -275,11 +283,10 @@ static CONST struct elf_backend_data elfNN_bed = elf_backend_ecoff_debug_swap, ELF_MACHINE_ALT1, ELF_MACHINE_ALT2, - &_bfd_elfNN_size_info, + &elf_backend_size_info, elf_backend_want_got_plt, elf_backend_plt_readonly, - elf_backend_want_plt_sym, - elf_backend_want_hdr_in_seg, + elf_backend_want_plt_sym }; #ifdef TARGET_BIG_SYM @@ -307,7 +314,7 @@ const bfd_target TARGET_BIG_SYM = /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ - 0, + elf_symbol_leading_char, /* ar_pad_char: pad character for filenames within an archive header FIXME: this really has nothing to do with ELF, this is a characteristic @@ -391,7 +398,7 @@ const bfd_target TARGET_LITTLE_SYM = /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ - 0, + elf_symbol_leading_char, /* ar_pad_char: pad character for filenames within an archive header FIXME: this really has nothing to do with ELF, this is a characteristic |