aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
1996-06-03 * Makefile.in: Rebuild dependencies.Ian Lance Taylor1-0/+4
(BFD32_BACKENDS): Add ppcboot.o. (BFD32_BACKENDS_CFILES): Add ppcboot.c.
1996-06-03 * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.Ian Lance Taylor1-0/+5
From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
1996-06-02 * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)Ian Lance Taylor2-0/+50
(bfd_mips_elf64_swap_reginfo_out): Move from here... * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in) (bfd_mips_elf64_swap_reginfo_out): ...to here.
1996-05-31 * elf64-mips.c: Improve reloc special_functions and handling ofIan Lance Taylor3-112/+421
SHT_MIPS_OPTIONS section. * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from mips_elf_hi16_reloc and make globally visible. (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and make globally visible. (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and make globally visible. (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc and make globally visible. (gprel16_with_gp): Check howto->src_mask before using value in insn. (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc and make globally visible. (gprel32_with_gp): Check howto->src_mask before fetching value. (bfd_mips_elf_swap_options_in): New function. (bfd_mips_elf_swap_options_out): New function. (_bfd_mips_elf_set_private_flags): Rename from mips_elf_set_private_flags and make globally visible. (_bfd_mips_elf_copy_private_bfd_data): Rename from mips_elf_copy_private_bfd_data and make globally visible. (_bfd_mips_elf_merge_private_bfd_data): Rename from mips_elf_merge_private_bfd_data and make globally visible. (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name for a SHT_MIPS_OPTIONS section. (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section. (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the name of a SHT_MIPS_OPTIONS section. (_bfd_mips_elf_set_section_contents): New function. (mips_elf32_section_processing): Set the GP value in a SHT_MIPS_OPTIONS section. (_bfd_mips_elf_find_nearest_line): Rename from mips_elf_find_nearest_line and make globally visible. (bfd_elf32_set_section_contents): Define. * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare. (_bfd_mips_elf_lo16_reloc): Declare. (_bfd_mips_elf_gprel16_reloc): Declare. (_bfd_mips_elf_got16_reloc): Declare. (_bfd_mips_elf_gprel32_reloc): Declare. (_bfd_mips_elf_set_private_flags): Declare. (_bfd_mips_elf_copy_private_bfd_data): Declare. (_bfd_mips_elf_merge_private_bfd_data): Declare. (_bfd_mips_elf_find_nearest_line): Declare. (_bfd_mips_elf_set_section_contents): Declare.
1996-05-31 * elf32-hppa.c (elf32_hppa_info_to_howto): Rename fromIan Lance Taylor1-0/+15
elf_info_to_howto. (elf_info_to_howto): Define. * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from elf_info_to_howto. (elf_info_to_howto): Define. * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from elf_info_to_howto. (elf_info_to_howto): Define.
1996-05-30 * elf64-mips.c: Extensive additions to provide better support forIan Lance Taylor4-73/+431
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-30 * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.Ian Lance Taylor2-0/+13
(mips_elf_final_write_processing): Likewise.
1996-05-29 64-bit MIPS ELF ABI objdump support:Ian Lance Taylor11-96/+1817
* 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-05-28 * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, notIan Lance Taylor2-11/+1170
zeroes, in alignment holes.
1996-05-28 * configure: Rebuild with autoconf 2.10.Ian Lance Taylor2-33/+49
1996-05-28 * aoutx.h (NAME(aout,find_nearest_line)): Make room for theIan Lance Taylor2-1/+22
potential leading underscore in the allocated buffer.
1996-05-24Do not put small common symbols into .sbss if ld -rMichael Meissner2-1/+8
1996-05-23 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn aboutIan Lance Taylor1-0/+17
undefined symbols when creating a shared library. PR 9751.
1996-05-16 * cache.c (bfd_open_file): Unlink the file before opening it forIan Lance Taylor1-0/+7
write. From Marty Leisner <leisner@sdsp.mc.xerox.com>. * opncls.c (bfd_fdopenr): Set opened_once.
1996-05-14 * som.c (som_slurp_reloc_table): Clear external_relocs cache afterIan Lance Taylor1-0/+3
freeing it. PR 9693.
1996-05-14 * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compileIan Lance Taylor1-0/+5
the code unconditionally.
1996-05-14 * libcoff-in.h (struct pei_section_tdata): Define structure.Ian Lance Taylor1-0/+16
(pei_section_data): Define macro. * libcoff.h: Rebuild. * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE, store s_paddr field in pei_section_data. (coff_compute_section_file_positions): Use pei_section_data rather than _cooked_size, and don't overwrite an existing value. (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data. * peicode.h (coff_bfd_copy_private_section_data): Define if COFF_IMAGE_WITH_PE. (pe_bfd_copy_private_section_data): New static function if COFF_IMAGE_WITH_PE. PR 9667.
1996-05-08 * srec.c (srec_set_arch_mach): Write as a function rather than aIan Lance Taylor1-0/+3
macro definition. PR 9637.
1996-05-08 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive hasIan Lance Taylor1-0/+6
no map, just check each member in turn to see whether it is required. PR 9520.
1996-05-08Fixes for ppcbootMichael Meissner1-0/+8
1996-05-07Add PPCbug boot record supportMichael Meissner3-0/+536
1996-05-07 * coff-h8300.c (howto_table): Update names to match recentJeff Law1-0/+10
changes to include/coff/internal.h. Fix minor errors in the existing relocs. Add R_MOVL1 and R_MOVL2. (rtype2howto): Similarly. (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the existing relaxing code and peform more relaxing. (h8300_reloc16_extra_cases): Likewise. Simplify, cleanup, fix bugs and improve existing relaxing code. Add code for changing a 24/32bit absolute address into a 16bit absolute address. HMSE.
1996-05-07 * reloc16.c (bfd_coff_reloc16_get_value): Handle commonJeff Law1-0/+5
symbols correctly. For the H8/300 relaxing linker.
1996-05-04 * elfcode.h (elf_object_p): Reject generic ELF target ifPeter Schauer1-0/+8
e_machine matches an alternate machine code in a specific backend. * netbsd-core.c (netbsd_core_vec): Remove initializer for obsolete align_power_min field.
1996-05-03 * coff-h8300.c (reloc_howto_type): Add howto entry forJeff Law2-3/+98
R_PCRWORD_B. (rtype2howto): Handle R_PCRWORD_B. (h8300_reloc16_extra_cases): Handle R_PCRWORD_B. (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit pc-relative branch (R_PCRWORD) into an 8bit pc-relative branch (R_PCWORD_B). So we can turn 16bit pcrel branches into 8bit pcrel branches on the H8/300H. HMSE.
1996-05-03 * aoutx.h (translate_from_native_sym_flags): Set the section forIan Lance Taylor1-0/+3
BSF_CONSTRUCTOR symbols.
1996-05-03 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting ofIan Lance Taylor2-12/+77
last_bf_index.
1996-05-02 * coffcode.h (styp_to_sec_flags): Handle long symbol namesIan Lance Taylor2-6/+9
when looking for the section symbol.
1996-05-02 * coffcode.h (coff_write_object_contents): In comdat section lookup,David Edelsohn2-14/+26
stop looking when section is found.
1996-05-02 * coffcode.h (STRING_SIZE_SIZE): Define.Ian Lance Taylor3-6/+56
(bfd_coff_backend_data): Add _bfd_coff_long_section_names field. (bfd_coff_long_section_names): Define. (coff_write_object_contents): Handle long section names. (bfd_coff_std_swap_table): Initialize new field. * libcoff.h: Rebuild. * coffgen.c (make_a_section_from_file): Handle long section names. (coff_write_symbols): Handle long section names. * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. * coff-mips.c (mips_ecoff_backend_data): Likewise. * pe-arm.c (COFF_LONG_SECTION_NAMES): Define. * pei-arm.c (COFF_LONG_SECTION_NAMES): Define. * pe-i386.c (COFF_LONG_SECTION_NAMES): Define. * pei-i386.c (COFF_LONG_SECTION_NAMES): Define. * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define. * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1996-05-01 * bout.c (b_out_callback): Set lma of sections.Ian Lance Taylor1-0/+7
(b_out_bfd_get_relocated_section_contents): Rename in_abfd parameter to output_bfd. Used input_bfd instead of output_bfd in several places.
1996-05-01 * aoutx.h (translate_from_native_sym_flags): Don't createIan Lance Taylor2-1/+12
SEC_CONSTRUCTOR sections. * ecoff.c (ecoff_set_symbol_info): Likewise.
1996-05-01 * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.Ian Lance Taylor1-0/+5
From Don Bowman <bowman@waterloo.hp.com>.
1996-05-01 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, addDavid Edelsohn1-0/+5
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1996-04-29 * elf32-mips.c (struct mips_elf_link_hash_entry): AddIan Lance Taylor2-94/+219
mips_32_relocs field. (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field. (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32 relocs against a global symbol which is not defined in a regular file. (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc against a global symbol, increment mips_32_relocs. (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and the symbol is not defined in a regular file, make room in the .rel.dyn section.
1996-04-26 * ecoff.c (ecoff_compute_section_file_positions): Track the realIan Lance Taylor2-28/+79
file position and the virtual file position separately. Set filepos information bsaed on the real file position. (_bfd_ecoff_set_section_contents): Handle .lib sections like the Jan 23 change to coffcode.h. Make Irix 4 shared libraries work again.
1996-04-26 * som.c (som_slurp_symbol_table): Set the symbol count to theIan Lance Taylor2-2/+41
number of BFD symbols created. PR 5332.
1996-04-26Forward relocs to output if -BsharedMichael Meissner2-38/+84
1996-04-25Add support for linking against shared librariesMichael Meissner2-67/+338
1996-04-25Do not make _SDA_BASE{,2}_ a dynamic symbol.Michael Meissner1-0/+5
1996-04-24 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through theIan Lance Taylor4-24/+506
members of an archive for dynamic objects with no symbols, and pass them directly to check_archive_element. (xcoff_link_check_ar_symbols): Pass dynamic objects to xcoff_link_check_dynamic_ar_symbols. (xcoff_link_check_dynamic_ar_symbols): New static function. The above is for PR 9520. * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC from _bfd_nodynamic to _bfd_xcoff. * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound): Declare. (_bfd_xcoff_canonicalize_dynamic_symtab): Declare. (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare. (_bfd_xcoff_canonicalize_dynamic_reloc): Declare. * libcoff.h: Rebuild. * xcofflink.c (xcoff_swap_ldrel_in): New static function. (xcoff_get_section_contents): New static function. (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function. (_bfd_xcoff_canonicalize_dynamic_symtab): New function. (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function. (xcoff_dynamic_reloc): New static variable. (_bfd_xcoff_canonicalize_dynamic_reloc): New function. (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
1996-04-23 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling ofDavid Edelsohn1-0/+8
R_SPARC_GLOB_JMP. * elf64-sparc.c (sparc64_elf_howto_table): Likewise. Add entries for R_SPARC_[56]. (sparc_reloc_map): Add entries for R_SPARC_[56].
1996-04-22 Optimize linking of stabs in sections as used in ELF and COFF.Ian Lance Taylor4-8/+89
* stabs.c: New file. * libbfd-in.h (_bfd_link_section_stabs): Declare. (_bfd_write_section_stabs): Declare. (_bfd_write_stab_strings): Declare. * libbfd.h: Rebuild. * libcoff-in.h (struct coff_section_tdata): Add stab_info field. (struct coff_link_hash_table): Add stab_info field. * libcoff.h: Rebuild. * cofflink.c (_bfd_coff_link_hash_table_init): Initialize stab_info field. (coff_link_add_symbols): Call _bfd_link_section_stabs if appropriate. (_bfd_coff_final_link): Write out stab strings hash table. (_bfd_coff_link_input_bfd): Handle optimized stabs sections. * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings hash table. * elf-bfd.h (struct elf_link_hash_table): Add stab_info field. (struct bfd_elf_section_data): Add stab_info field. * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info field. * elflink.h (elf_link_add_object_symbols): If appropriate, call _bfd_link_section_stabs. (elf_bfd_final_link): Write out stab strings hash table. (elf_link_input_bfd): Handle optimized stabs sections. * reloc.c (_bfd_final_link_relocate): Check address against _raw_size rather than _cooked_size. * Makefile.in: Rebuild dependencies. (BFD_LIBS): Add stabs.o (BFD_LIBS_CFILES): Add stabs.c.
1996-04-22 * coffgen.c (coff_renumber_symbols): Correct handling ofIan Lance Taylor1-0/+5
BSF_NOT_AT_END common symbols.
1996-04-19 * coff-ppc.c (record_toc): Add cast to avoid warning.Ian Lance Taylor2-8/+17
(ppc_allocate_toc_section): Likewise. (coff_ppc_relocate_section): Remove ANSI C string concatenation. (ppc_coff_reloc_type_lookup): Remove unreached code. * coffcode.h (coff_write_object_contents): Don't take the address of an array. * peicode.h (pe_print_idata): Add casts to avoid warning. (pe_print_edata): Likewise. (pe_print_reloc): Remove ANSI C string concatenation.
1996-04-18 * libcoff-in.h (struct coff_final_link_info): Add last_bf_indexIan Lance Taylor7-6/+120
and last_bf fields. * libcoff.h: Rebuild. * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN symbols. (coff_swap_aux_out): Likewise. * peicode.h (coff_swap_aux_in): Likewise. (coff_swap_aux_out): Likewise. * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN symbols. * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index field. (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols. Fix up .bf endndx link fields. * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index field. * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN symbols. PR 9467.
1996-04-17 * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.Ian Lance Taylor2-3/+14
1996-04-17Update for SolarisMichael Meissner2-2/+14
1996-04-17 * linker.c (_bfd_generic_link_add_one_symbol): When calling theIan Lance Taylor1-0/+6
callback routines, pass h->root.string rather than name, in case copy is true and name is transient.
1996-04-16 * elfcore.h: Add support for core files with multiple threads.Stu Grossman2-9/+81
(Primarily for Solaris.)