aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
AgeCommit message (Collapse)AuthorFilesLines
1996-05-30 * elf64-mips.c: Extensive additions to provide better support forIan Lance Taylor1-0/+17
writing files and for gas. * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out of mips_elf_object_p. (mips_elf32_object_p): Rename from mips_elf_object_p; call _bfd_mips_elf_object_p. (_bfd_mips_elf_final_write_processing): Rename from mips_elf_final_write_processing and make globally visible. (_bfd_mips_elf_fake_sections): Rename from mips_elf_fake_sections and make globally visible. (_bfd_mips_elf_section_from_bfd_section): Rename from mips_elf_section_from_bfd_section and make globally visible. (_bfd_mips_elf_section_processing): New function, broken out of mips_elf_section_processing. (mips_elf32_section_processing): Rename from mips_elf_section_processing; call _bfd_mips_elf_section_processing. (_bfd_mips_elf_symbol_processing): Rename from mips_elf_symbol_processing and make globally visible. (_bfd_mips_elf_read_ecoff_info): Rename from mips_elf_read_ecoff_info and make globally visible. (mips_elf32_ecoff_debug_swap): Rename from mips_elf_ecoff_debug_swap. * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than struct symbol_cache_entry. (_bfd_elf_validate_reloc): New function, moved in from elfcode.h:validate_reloc. * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed to _bfd_elf_validate_reloc. Change all callers. * elf-bfd.h (bfd_section_from_shdr): Declare. (_bfd_elf_symbol_from_bfd_symbol): Declare. (_bfd_elf_validate_reloc): Declare. (_bfd_mips_elf_object_p): Declare. (_bfd_mips_elf_fake_sections): Declare. (_bfd_mips_elf_section_from_bfd_section): Declare. (_bfd_mips_elf_section_processing): Declare. (_bfd_mips_elf_symbol_processing): Declare. (_bfd_mips_elf_read_ecoff_info): Declare. (_bfd_mips_elf_final_write_processing): Declare. * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define if already defined.
1996-05-29 64-bit MIPS ELF ABI objdump support:Ian Lance Taylor1-18/+40
* 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.
1996-04-02 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.Ian Lance Taylor1-7/+14
* elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field. * elflink.c (_bfd_elf_create_got_section): Store the _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field. * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the global offset table goes over 0x1000, set the value of _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section. (elf32_sparc_relocate_section): Subtract the offset of _GLOBAL_OFFSET_TABLE_ when handling GOT relocations. PR 9323.
1996-01-26 * syms.c: Include "bfdlink.h".Ian Lance Taylor1-5/+118
(struct stab_find_info): Define. (_bfd_stab_section_find_nearest_line): New function. * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare. * libbfd.h: Rebuild. * elf-bfd.h (struct elf_obj_tdata): Add line_info field. * elf.c (_bfd_elf_find_nearest_line): Try calling _bfd_stab_section_find_nearest_line before searching the ELF symbol table. Find the closest STT_FUNC symbol, not the last one. * libcoff-in.h (coff_data_type): Add line_info field. * libcoff.h: Rebuild. * coffgen.c (coff_find_nearest_line): Try calling _bfd_stab_section_find_nearest_line before searching the COFF symbol table. * Makefile.in: Rebuild dependencies.
1996-01-15update copyrightsIan Lance Taylor1-1/+1
1996-01-12 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.Ian Lance Taylor1-2/+4
* elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
1996-01-12 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents ofIan Lance Taylor1-2/+3
dynamic section, if there is one. * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field. (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR. (bfd_elf64_swap_dyn_in): Likewise. * elfcode.h (elf_swap_dyn_in): Change type of second parameter to PTR. (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
1996-01-11 * elf32-mips.c: Extensive changes for a start at dynamic linkingIan Lance Taylor1-7/+14
support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. * elf-bfd.h (struct elf_backend_data): Add type_change_ok field. (struct elf_backend_data): Remove elf_backend_create_program_headers field. Add elf_backend_additional_program_headers and elf_backend_modify_segment_map fields. * elfxx-target.h (elf_backend_type_change_ok): Define if not defined. (elf_backend_additional_program_headers): Likewise. (elf_backend_modify_segment_map): Likewise. (elf_backend_create_program_headers): Don't define. (elfNN_bed): Change to account for field changes. * elf.c (assign_file_positions_for_segments): Call new modify_segment_map backend function. Don't call old create_program_headers backend function. (get_program_header_size): Call additional_program_headers rather than create_program_headers. * elflink.h (elf_link_add_object_symbols): Initialize type_change_ok from new backend field. (elf_link_output_extsym): Don't warn if _rld_new_interface is defined. (elf_reloc_link_order): Treat a reloc against a defined symbol as a reloc against the appropriate section.
1996-01-11 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.Ian Lance Taylor1-4/+8
(struct elf_obj_tdata): Rename ppc_flags_init field to flags_init. (elf_flags_init): Rename from elf_ppc_flags_init. * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not elf_ppc_flags_init. (ppc_elf_copy_private_bfd_data): Likewise. (ppc_elf_merge_private_bfd_data): Likewise.
1995-11-28 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.Ian Lance Taylor1-0/+726
* elf.c (make_mapping): New static function. (map_sections_to_segments): New static function. (elf_sort_sections): New static function. (assign_file_positions_for_segments): New static function. (map_program_segments): Remove. (get_program_header_size): Remove sorted_hdrs, count, and maxpagesize parameters. Simplify. (assign_file_positions_except_relocs): When generating an executable, use assign_file_positions_for_segments. (elf_sort_hdrs): Remove. (_bfd_elf_sizeof_headers): Remove eliminated parameters from call to get_program_header_size.