Age | Commit message (Collapse) | Author | Files | Lines |
|
(BFD32_BACKENDS): Add ppcboot.o.
(BFD32_BACKENDS_CFILES): Add ppcboot.c.
|
|
From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
|
|
(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.
|
|
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.
|
|
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.
|
|
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.
|
|
(mips_elf_final_write_processing): Likewise.
|
|
* 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.
|
|
zeroes, in alignment holes.
|
|
|
|
potential leading underscore in the allocated buffer.
|
|
|
|
undefined symbols when creating a shared library.
PR 9751.
|
|
write. From Marty Leisner <leisner@sdsp.mc.xerox.com>.
* opncls.c (bfd_fdopenr): Set opened_once.
|
|
freeing it.
PR 9693.
|
|
the code unconditionally.
|
|
(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.
|
|
macro definition.
PR 9637.
|
|
no map, just check each member in turn to see whether it is
required.
PR 9520.
|
|
|
|
|
|
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.
|
|
symbols correctly.
For the H8/300 relaxing linker.
|
|
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.
|
|
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.
|
|
BSF_CONSTRUCTOR symbols.
|
|
last_bf_index.
|
|
when looking for the section symbol.
|
|
stop looking when section is found.
|
|
(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.
|
|
(b_out_bfd_get_relocated_section_contents): Rename in_abfd
parameter to output_bfd. Used input_bfd instead of output_bfd in
several places.
|
|
SEC_CONSTRUCTOR sections.
* ecoff.c (ecoff_set_symbol_info): Likewise.
|
|
From Don Bowman <bowman@waterloo.hp.com>.
|
|
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
|
|
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.
|
|
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.
|
|
number of BFD symbols created.
PR 5332.
|
|
|
|
|
|
|
|
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.
|
|
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].
|
|
* 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.
|
|
BSF_NOT_AT_END common symbols.
|
|
(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.
|
|
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.
|
|
|
|
|
|
callback routines, pass h->root.string rather than name, in case
copy is true and name is transient.
|
|
(Primarily for Solaris.)
|