13c9c48599
Aimed at quietening ubsan. include/ * opcode/mmix.h (PUSHGO_INSN_BYTE): Make unsigned. (GO_INSN_BYTE, SETL_INSN_BYTE, INCML_INSN_BYTE, INCMH_INSN_BYTE), (INCH_INSN_BYTE, SWYM_INSN_BYTE, JMP_INSN_BYTE): Likewise. bfd/ * elf32-rx.c (elf32_rx_relax_section): Avoid signed overflow. * libaout.h (N_SET_INFO, N_SET_FLAGS): Likewise. * netbsd.h (write_object_contents): Likewise. * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Likewise. * libhppa.h (HPPA_R_CONSTANT): Don't signed extend with shifts. (stm32l4xx_create_replacing_stub_vldm): Don't truncate high bits with shifts. * elf32-nds32.h (R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG): Define using 1u shifted left. Ditto for other macros. * mmo.c (LOP): Make unsigned.
3008 lines
109 KiB
Plaintext
3008 lines
109 KiB
Plaintext
2019-12-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-rx.c (elf32_rx_relax_section): Avoid signed overflow.
|
||
* libaout.h (N_SET_INFO, N_SET_FLAGS): Likewise.
|
||
* netbsd.h (write_object_contents): Likewise.
|
||
* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Likewise.
|
||
* libhppa.h (HPPA_R_CONSTANT): Don't signed extend with shifts.
|
||
(stm32l4xx_create_replacing_stub_vldm): Don't truncate high bits
|
||
with shifts.
|
||
* elf32-nds32.h (R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG): Define
|
||
using 1u shifted left. Ditto for other macros.
|
||
* mmo.c (LOP): Make unsigned.
|
||
|
||
2019-12-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* libbfd.c (bfd_get_8): Return a bfd_vma.
|
||
(bfd_get_signed_8): Return a bfd_signed_vma.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-12-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* xtensa-modules.c (Field_* functions): Don't mask using shifts.
|
||
(Operand_soffsetx4_decode, Operand_simm4_decode),
|
||
(Operand_simm8_decode, Operand_simm8x256_decode),
|
||
(Operand_simm12b_decode, Operand_label8_decode),
|
||
(Operand_label12_decode, Operand_soffset_decode),
|
||
(Operand_xt_wbr15_label_decode, Operand_xt_wbr18_label_decode): Don't
|
||
sign extend using shifts.
|
||
(Operand_immrx4_decode, Operand_uimm16x4_decode): Avoid UB in
|
||
constant.
|
||
|
||
2019-12-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* cpu-ia64-opc.c (ext_imms_scaled): Avoid undefined left shift
|
||
of negative values by using unsigned vars.
|
||
|
||
2019-12-07 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25236
|
||
* elflink.c (_bfd_elf_link_assign_sym_version): Assign versions
|
||
for ELF_COMMON_DEF_P symbols.
|
||
(elf_link_output_extsym, _bfd_elf_add_default_symbol): Adjust to
|
||
suit.
|
||
|
||
2019-12-05 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
Only give FDE encoding warnings if --eh-frame-hdr was specified.
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Make
|
||
FDE encoding warning conditional.
|
||
|
||
2019-12-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 25029
|
||
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Ignore empty sections
|
||
when computing the sizes stored in the headers.
|
||
|
||
2019-12-03 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25230
|
||
* dwarf2.c (struct dwarf2_debug_file): Add line_table and
|
||
abbrev_offsets.
|
||
(struct abbrev_offset_entry): New.
|
||
(hash_abbrev, eq_abbrev, del_abbrev): New functions.
|
||
(read_abbrevs): Check whether we have already read abbrevs at
|
||
given offset, and add new offset/abbrev to hash table.
|
||
(decode_line_info): Keep line table at offset zero in file struct.
|
||
Return this for a cu reusing the same dir/file list.
|
||
(find_abstract_instance): Find cu for DW_FORM_GNU_ref_alt.
|
||
(_bfd_dwarf2_slurp_debug_info): Create offset/abbrev hash tables.
|
||
(_bfd_dwarf2_cleanup_debug_info): Adjust deletion of lines and
|
||
abbrevs.
|
||
|
||
2019-12-03 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25230
|
||
* dwarf2.c (struct dwarf2_debug_file): New struct.
|
||
(struct dwarf2_debug): Delete fields now in dwarf2_debug_file.
|
||
Add f, alt fields.
|
||
(struct comp_unit): Add file field.
|
||
(read_indirect_string, read_indirect_line_string): Adjust to suit.
|
||
(read_alt_indirect_string, read_alt_indirect_ref): Likewise.
|
||
(read_debug_ranges, find_abstract_instance, read_rangelist): Likewise.
|
||
(_bfd_dwarf2_stash_syms, place_sections): Likewise.
|
||
(stash_maybe_update_info_hash_tablse): Likewise.
|
||
(stash_verify_info_hash_table): Likewise.
|
||
(_bfd_dwarf2_slurp_debug_info): Likewise.
|
||
(_bfd_dwarf2_find_symbol_bias): Likewise.
|
||
(_bfd_dwarf2_find_nearest_line): Likewise.
|
||
(_bfd_dwarf2_cleanup_debug_info): Likewise.
|
||
(read_abbrevs): Add file param and adjust. Update calls.
|
||
(stash_comp_unit): Likewise.
|
||
(decode_line_info): Delete stash param and adjust. Update calls.
|
||
(comp_unit_find_nearest_line): Likewise.
|
||
(comp_unit_maybe_decode_line_info): Likewise.
|
||
(comp_unit_find_line): Likewise.
|
||
(parse_comp_unit): Add file and info_ptr param and adjust. Update
|
||
calls.
|
||
|
||
2019-12-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (read_indirect_string): Don't duplicate offset check
|
||
done in read_section.
|
||
(read_indirect_line_string): Likewise.
|
||
(read_alt_indirect_string): Likewise.
|
||
(read_alt_indirect_ref): Likewise.
|
||
(read_abbrevs): Likewise. Free memory on all failure paths.
|
||
Use correct unsigned type for pointer difference comparison.
|
||
|
||
2019-12-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (struct dwarf2_debug): Update comments. Remove sec
|
||
and sec_info_ptr.
|
||
(_bfd_dwarf2_slurp_debug_info): Don't set sec or sec_info_ptr.
|
||
(stash_comp_unit): Likewise.
|
||
(read_alt_indirect_ref): Return NULL not FALSE.
|
||
|
||
2019-12-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Correct function comment.
|
||
|
||
2019-11-27 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 23652
|
||
* dwarf2.c (_bfd_dwarf2_stash_syms): Break out of loop on finding
|
||
matching section.
|
||
(_bfd_dwarf2_find_nearest_line): Return an int, with value 2 when
|
||
returning info from the symbol table. Do the _bfd_elf_find_function
|
||
search also when !found. Call _bfd_dwarf2_stash_syms regardless of
|
||
symbols.
|
||
* elf64-alpha.c (elf64_alpha_find_nearest_line): Accept dwarf2
|
||
result of 1 only.
|
||
* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
|
||
* libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-11-27 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 23652
|
||
* dwarf2.c (_bfd_dwarf2_stash_syms): New function.
|
||
(_bfd_dwarf2_find_nearest_line): Use it here, passing syms to
|
||
_bfd_elf_find_function. Call _bfd_elf_find_function in cases
|
||
where _bfd_elf_find_nearest_line would do so.
|
||
* elf.c (_bfd_elf_find_nearest_line): Omit _bfd_elf_find_function
|
||
for dwarf2.
|
||
* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. Tidy.
|
||
* elf32-arm.c (elf32_arm_maybe_function_sym): New function.
|
||
(elf_backend_maybe_function_sym): Define.
|
||
(arm_elf_find_function, elf32_arm_find_nearest_line): Delete.
|
||
(bfd_elf32_find_nearest_line): Don't define.
|
||
* elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): New function.
|
||
(elf_backend_maybe_function_sym): Define.
|
||
(aarch64_elf_find_function, elfNN_aarch64_find_nearest_line): Delete.
|
||
(bfd_elfNN_find_nearest_line): Don't define.
|
||
|
||
2019-11-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-sh.c (sh_reloc): Use a bfd_vma insn.
|
||
(sh_reloc <R_SH_IND12W>): Divide calculated relocation value
|
||
by two before applying to insn. Correct overflow test.
|
||
* coff-sh.c (sh_reloc): Likewise.
|
||
|
||
2019-11-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-sh.c (sh_elf_reloc): Use a signed_vma when checking for a
|
||
negative relocated value.
|
||
* coff-sh.c (sh_reloc): Likewise.
|
||
|
||
2019-11-25 Alan Modra <amodra@gmail.com>
|
||
|
||
* archures.c (bfd_octets_per_byte): Tail call
|
||
bfd_arch_mach_octets_per_byte.
|
||
* coff-arm.c (OCTETS_PER_BYTE): Define.
|
||
(coff_arm_reloc): Introduce new "octets" temp. Use OCTETS_PER_BYTE
|
||
with section. Correct "addr". Remove ATTRIBUTE_UNUSED.
|
||
* coff-i386.c (coff_i386_reloc): Similarly.
|
||
* coff-mips.c (mips_reflo_reloc): Similarly.
|
||
* coff-x86_64.c (coff_amd64_reloc): Similarly.
|
||
* elf32-msp430.c (OCTETS_PER_BYTE): Define.
|
||
(rl78_sym_diff_handler): Use OCTETS_PER_BYTE, with section.
|
||
* elf32-nds32.c (nds32_elf_get_relocated_section_contents): Similarly.
|
||
* elf32-ppc.c (ppc_elf_addr16_ha_reloc): Similarly.
|
||
* elf32-pru.c (pru_elf32_do_ldi32_relocate): Similarly.
|
||
* elf32-s12z.c (opru18_reloc): Similarly.
|
||
* elf32-sh.c (sh_elf_reloc): Similarly.
|
||
* elf32-spu.c (spu_elf_rel9): Similarly.
|
||
* elf32-xtensa.c (bfd_elf_xtensa_reloc): Similarly.
|
||
* elf64-ppc.c (ppc64_elf_ha_reloc, ppc64_elf_brtaken_reloc),
|
||
(ppc64_elf_toc64_reloc): Similarly.
|
||
* bfd.c (bfd_get_section_limit): Pass section to bfd_octets_per_byte.
|
||
* cofflink.c (_bfd_coff_link_input_bfd),
|
||
(_bfd_coff_reloc_link_order): Likewise.
|
||
* elf.c (_bfd_elf_section_offset): Likewise.
|
||
* elflink.c (resolve_section, bfd_elf_perform_complex_relocation),
|
||
(elf_link_input_bfd, elf_reloc_link_order, elf_fixup_link_order),
|
||
(bfd_elf_final_link): Likewise.
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Don't strncmp twice
|
||
to set SEC_ELF_OCTETS.
|
||
* reloc.c (bfd_perform_relocation): Tidy SEC_ELF_OCTETS special case.
|
||
(bfd_install_relocation): Likewise.
|
||
(_bfd_final_link_relocate): Don't recalculate octets.
|
||
* syms.c (_bfd_stab_section_find_nearest_line): Introduc new
|
||
"octets" temp.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-11-25 Christian Eggers <ceggers@gmx.de>
|
||
|
||
* section.c (struct bfd_section): New flag SEC_ELF_OCTETS.
|
||
* archures.c (bfd_octets_per_byte): New parameter sec.
|
||
If section is not NULL and SEC_ELF_OCTETS is set, one octet es
|
||
returned [ELF targets only].
|
||
* bfd.c (bfd_get_section_limit): Provide section parameter to
|
||
bfd_octets_per_byte.
|
||
* bfd-in2.h: regenerate.
|
||
* binary.c (binary_set_section_contents): Move call to
|
||
bfd_octets_per_byte into section loop. Provide section parameter
|
||
to bfd_octets_per_byte.
|
||
* coff-arm.c (coff_arm_reloc): Provide section parameter
|
||
to bfd_octets_per_byte.
|
||
* coff-i386.c (coff_i386_reloc): likewise.
|
||
* coff-mips.c (mips_reflo_reloc): likewise.
|
||
* coff-x86_64.c (coff_amd64_reloc): likewise.
|
||
* cofflink.c (_bfd_coff_link_input_bfd): likewise.
|
||
(_bfd_coff_reloc_link_order): likewise.
|
||
* elf.c (_bfd_elf_section_offset): likewise.
|
||
(_bfd_elf_make_section_from_shdr): likewise.
|
||
Set SEC_ELF_OCTETS for sections with names .gnu.build.attributes,
|
||
.debug*, .zdebug* and .note.gnu*.
|
||
* elf32-msp430.c (rl78_sym_diff_handler): Provide section parameter
|
||
to bfd_octets_per_byte.
|
||
* elf32-nds.c (nds32_elf_get_relocated_section_contents): likewise.
|
||
* elf32-ppc.c (ppc_elf_addr16_ha_reloc): likewise.
|
||
* elf32-pru.c (pru_elf32_do_ldi32_relocate): likewise.
|
||
* elf32-s12z.c (opru18_reloc): likewise.
|
||
* elf32-sh.c (sh_elf_reloc): likewise.
|
||
* elf32-spu.c (spu_elf_rel9): likewise.
|
||
* elf32-xtensa.c (bfd_elf_xtensa_reloc): likewise
|
||
* elf64-ppc.c (ppc64_elf_brtaken_reloc): likewise.
|
||
(ppc64_elf_addr16_ha_reloc): likewise.
|
||
(ppc64_elf_toc64_reloc): likewise.
|
||
* elflink.c (bfd_elf_final_link): likewise.
|
||
(bfd_elf_perform_complex_relocation): likewise.
|
||
(elf_fixup_link_order): likewise.
|
||
(elf_link_input_bfd): likewise.
|
||
(elf_link_sort_relocs): likewise.
|
||
(elf_reloc_link_order): likewise.
|
||
(resolve_section): likewise.
|
||
* linker.c (_bfd_generic_reloc_link_order): likewise.
|
||
(bfd_generic_define_common_symbol): likewise.
|
||
(default_data_link_order): likewise.
|
||
(default_indirect_link_order): likewise.
|
||
* srec.c (srec_set_section_contents): likewise.
|
||
(srec_write_section): likewise.
|
||
* syms.c (_bfd_stab_section_find_nearest_line): likewise.
|
||
* reloc.c (_bfd_final_link_relocate): likewise.
|
||
(bfd_generic_get_relocated_section_contents): likewise.
|
||
(bfd_install_relocation): likewise.
|
||
For section which have SEC_ELF_OCTETS set, multiply output_base
|
||
and output_offset with bfd_octets_per_byte.
|
||
(bfd_perform_relocation): likewise.
|
||
|
||
2019-11-21 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-arm.c (elf32_arm_size_stubs): Exclude dynamic library
|
||
BFDs that have not been loaded.
|
||
|
||
2019-11-19 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25197
|
||
* coffgen.c (coff_find_nearest_line_with_names): Check that C_FILE
|
||
u.syment.n_value does point at another C_FILE sym and not into
|
||
some auxent that happens to look like a C_FILE. Properly check
|
||
for integer overflow and avoid possible pointer wrap-around.
|
||
Simplify pr17512 checks.
|
||
|
||
2019-11-19 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25200
|
||
* reloc.c (bfd_default_reloc_type_lookup): Don't BFD_FAIL.
|
||
* elf.c (_bfd_elf_validate_reloc): Don't segfault on NULL howto.
|
||
|
||
2019-11-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data <elf_backend_init_file_header>):
|
||
Rename from elf_backend_post_process_headers.
|
||
(_bfd_elf_post_process_headers): Delete.
|
||
(_bfd_elf_init_file_header): Declare.
|
||
* elf.c (_bfd_elf_compute_section_file_positions): Call new function
|
||
in place of prep_headers and elf_backend_post_process_headers.
|
||
(_bfd_elf_init_file_header): Renamed from prep_headers with
|
||
updated args and made global. Delete dead code.
|
||
(_bfd_elf_post_process_headers): Delete.
|
||
* elf32-arm.c (elf32_arm_init_file_header): Rename from
|
||
elf32_arm_post_process_headers and call _bfd_elf_init_file_header.
|
||
Return status.
|
||
(elf_backend_init_file_header): Define.
|
||
(elf_backend_post_process_headers): Don't define.
|
||
* elf32-i386.c (elf_i386_fbsd_init_file_header): Similarly.
|
||
* elf32-m68hc1x.c (elf32_m68hc11_init_file_header): Similarly.
|
||
* elf32-metag.c (elf_metag_init_file_header): Similarly.
|
||
* elf32-spu.c (spu_elf_init_file_header
|
||
* elf32-visium.c (visium_elf_init_file_header
|
||
* elf64-alpha.c (elf64_alpha_fbsd_init_file_header
|
||
* elf64-hppa.c (elf64_hppa_init_file_header
|
||
* elf64-ia64-vms.c (elf64_vms_init_file_header
|
||
* elfnn-aarch64.c (elfNN_aarch64_init_file_header
|
||
* elfnn-ia64.c (elfNN_hpux_init_file_header
|
||
* elfxx-mips.c (_bfd_mips_init_file_header
|
||
* elfxx-mips.h (_bfd_mips_post_process_headers): Delete.
|
||
(_bfd_mips_init_file_header): Declare.
|
||
(elf_backend_post_process_headers): Delete.
|
||
(elf_backend_init_file_header): Define.
|
||
* elfxx-target.h (elf_backend_post_process_headers): Delete.
|
||
(elf_backend_init_file_header): Define and use.
|
||
* elf32-m68hc12.c (elf_backend_init_file_header): Define.
|
||
(elf_backend_post_process_headers): Don't define.
|
||
* elf32-m68hc1x.h (elf32_m68hc11_post_process_headers): Delete.
|
||
(elf32_m68hc11_init_file_header): Declare.
|
||
* elf32-ppc.c (elf_backend_post_process_headers): Remove
|
||
unnecessary undef.
|
||
|
||
2019-11-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data <elf_backend_modify_headers>):
|
||
Rename from elf_backend_modify_program_headers.
|
||
(_bfd_elf_modify_headers): Declare.
|
||
* elf.c (assign_file_positions_except_relocs): Set
|
||
elf_program_header_size. Always call elf_backend_modify_headers.
|
||
Extract code modifying file header..
|
||
(_bfd_elf_modify_headers): ..to here. New function.
|
||
* elf32-arm.c (elf_backend_modify_headers): Renamed from
|
||
elf_backend_modify_program_headers.
|
||
* elf32-i386.c: Similarly.
|
||
* elf64-x86-64.c: Similarly.
|
||
* elfxx-target.h: Similarly. Default elf_backend_modify_headers
|
||
to _bfd_elf_modify_headers.
|
||
* elf-nacl.h (nacl_modify_headers): Rename from
|
||
nacl_modify_program_headers.
|
||
* elf-nacl.c (nacl_modify_headers): Rename from
|
||
nacl_modify_program_headers and call _bfd_elf_modify_headers.
|
||
* elf32-rx.c (elf32_rx_modify_headers): Similarly.
|
||
* elf32-spu.c (spu_elf_modify_headers): Similarly.
|
||
* elfnn-ia64.c (elfNN_ia64_modify_headers): Similarly.
|
||
* elf32-sh.c (elf_backend_modify_program_headers): Don't undef.
|
||
|
||
2019-11-18 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25196
|
||
* bfd.c (bfd_error_type): Add bfd_error_sorry.
|
||
(bfd_errmsgs): Likewise.
|
||
* elf.c (rewrite_elf_program_header): Don't abort on confused
|
||
lma/alignment. Replace bfd_error_bad_value with bfd_error_sorry.
|
||
(_bfd_elf_validate_reloc): Use bfd_error_sorry.
|
||
(_bfd_elf_final_write_processing): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-11-12 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR 25181
|
||
* elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to
|
||
foff. If sym_sec->output_section and sec->output_section are the same
|
||
and not *ABS* then set max_alignment to that section's alignment.
|
||
|
||
2019-11-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* cpu-cr16c.c: Delete.
|
||
* elf32-cr16c.c: Delete.
|
||
* Makefile.am,
|
||
* archures.c,
|
||
* config.bfd,
|
||
* configure.ac,
|
||
* reloc.c,
|
||
* targets.c: Remove cr16c support.
|
||
* Makefile.in,
|
||
* bfd-in2.h,
|
||
* configure,
|
||
* libbfd.h,
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2019-11-05 Tim Rühsen <tim.ruehsen@gmx.de>
|
||
|
||
* doc/chew.c (add_to_definition): Use correct type when
|
||
calculating size of array reallocation.
|
||
(nextword): Always initialise the word return parameter.
|
||
(compile): Check return value of nextword().
|
||
|
||
2019-10-30 Keith Seitz <keiths@redhat.com>
|
||
|
||
* elf-bfd.h (elf_backend_data) <elf_backend_core_find_build_id>:
|
||
New field.
|
||
(_bfd_elf32_core_find_build_id, _bfd_elf64_core_find_build_id):
|
||
New functions.
|
||
(elf_read_notes): Add declaration.
|
||
* elf.c (elf_read_notes): Move elf-bfd.h.
|
||
(_bfd_elf_core_find_build_id): New function.
|
||
(bfd_section_from_phdr): Scan core file PT_LOAD segments for
|
||
build-id if none is known.
|
||
(elf_parse_notes): For core files, scan for notes.
|
||
* elfcore.h (elf_core_file_matches_executable_p): If both
|
||
BFDs have identical build-ids, then they match.
|
||
(_bfd_elf_core_find_build_id): New function.
|
||
* elfxx-target.h (elf_backend_core_find_build_id): Define.
|
||
(elfNN_bed): Add elf_backend_core_find_build_id.
|
||
|
||
2019-10-29 Andrew Eikum <aeikum@codeweavers.com>
|
||
|
||
* libcoff-in.h (struct pe_tdata): Add dos_message field.
|
||
* libcoff.h: Regenerate.
|
||
* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Copy the
|
||
dos_message field rather than initialising it.
|
||
(_bfd_XX_bfd_copy_private_bfd_data_common): Copy the dos_message
|
||
field.
|
||
* peicode.h (pe_mkobject): Initialise the dos_message field.
|
||
(pe_mkobject_hook): Copy the dos_message field.
|
||
(pe_bfd_object_p): Copy the dos_message field.
|
||
|
||
2019-10-25 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 4499
|
||
* elf-nacl.c (nacl_modify_segment_map): Set no_sort_lma for all
|
||
PT_LOAD segments.
|
||
* elf32-spu.c (spu_elf_modify_segment_map): Likewise on overlay
|
||
PT_LOAD segments.
|
||
* elf.c (elf_sort_segments): New function.
|
||
(assign_file_positions_except_relocs): Use shortcuts to elfheader
|
||
and elf_tdata. Seek to e_phoff not sizeof_ehdr to write program
|
||
headers. Move PT_PHDR check..
|
||
(assign_file_positions_for_non_load_sections): ..and code setting
|
||
PT_PHDR p_vaddr and p_paddr, and code setting __ehdr_start value..
|
||
(assign_file_positions_for_load_sections): ..to here. Sort
|
||
PT_LOAD headers. Delete header_pad code. Use actual number of
|
||
headers rather than allocated in calculating size for program
|
||
headers. Don't assume program headers follow ELF file header.
|
||
Simplify pt_load_count code. Only set "off" for PT_LOAD or
|
||
PT_NOTE in cores.
|
||
(rewrite_elf_program_header): Set p_vaddr_offset for segments
|
||
that include file and program headers.
|
||
(copy_elf_program_header): Likewise, replacing header_size code.
|
||
|
||
2019-10-21 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 452
|
||
* archive.c (normalize): Return file unchanged when
|
||
BFD_ARCHIVE_FULL_PATH.
|
||
(_bfd_construct_extended_name_table): Pass abfd, the output
|
||
bfd, to normalize.
|
||
(_bfd_archive_bsd44_construct_extended_name_table): Likewise.
|
||
* bfd.c (struct bfd): Make flags a full flagword.
|
||
(BFD_ARCHIVE_FULL_PATH): Define.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-10-20 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Provide 8-byte
|
||
minimum alignment for .plt section.
|
||
|
||
2019-10-19 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
* elf32-hppa.c: Revise import stub sequences.
|
||
(LONG_BRANCH_STUB_SIZE): Define.
|
||
(LONG_BRANCH_SHARED_STUB_SIZE): Define.
|
||
(IMPORT_STUB_SIZE): Define.
|
||
(IMPORT_SHARED_STUB_SIZE): Define.
|
||
(EXPORT_STUB_SIZE): Define.
|
||
(plt_stub): Revise to not use register %r22.
|
||
(LDO_R1_R22): Define.
|
||
(LDW_R22_R21): Define.
|
||
(LDW_R22_R19): Define.
|
||
(hppa_build_one_stub): Update stub generation and use new defines.
|
||
(hppa_size_one_stub): Likewise.
|
||
|
||
2019-10-17 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): Report the error message
|
||
that user should recompile their code with `fPIC` when linking non-pic
|
||
code into shared library.
|
||
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): Use asprintf to extend
|
||
the error message if needed, and then store the result into the
|
||
`msg_buf`. Finally, remember to free the unused `msg_buf`. All error
|
||
message for the dangerous relocation should be set before we call the
|
||
callback function. If we miss the error message since linker runs out
|
||
of memory, we should set the default error message for the error.
|
||
|
||
2019-10-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 13616
|
||
* cpu-powerpc.c (bfd_arch_ppc_nop_fill): New function, use it
|
||
for all ppc arch info.
|
||
* linker.c (default_data_link_order): Pass info->big_endian to
|
||
arch_info->fill function.
|
||
|
||
2019-10-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-m68hc1x.c (reloc_warning): Add printf attribute.
|
||
(elf32_m68hc11_relocate_section): Don't use a variable for format
|
||
strings. Delete some unnecessary xgettext:c-format comments.
|
||
|
||
2019-10-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24955
|
||
* elf32-arm.c (set_cmse_veneer_addr_from_implib): Use bfd_malloc
|
||
rather than xmalloc.
|
||
* elf32-m68hc1x.c (reloc_warning): New function.
|
||
(elf32_m68hc11_relocate_section): Use it here. Cast bfd_vma values
|
||
corresponding to %lx in format strings.
|
||
* elf32-nds32.c (nds32_insertion_sort): Use a stack temporary.
|
||
|
||
2019-10-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25100
|
||
* elf64-ppc.c (sfpr_define): Delete dead code that triggered a warning.
|
||
|
||
2019-10-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd.c (bfd_check_compression_header): Check for powers of two
|
||
with x == (x & -x).
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* syms.c (struct indexentry): Add idx field.
|
||
(cmpindexentry): Final sort on idx.
|
||
(_bfd_stab_section_find_nearest_line): Set idx.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (struct lookup_funcinfo): Add idx field.
|
||
(compare_lookup_funcinfos): Perform final sort on idx.
|
||
(build_lookup_funcinfo_table): Set idx.
|
||
(compare_sequences): Perform final sort on num_lines.
|
||
(build_line_info_table): Set num_lines and line_info_lookup earlier.
|
||
(sort_line_sequences): Set num_lines for sort.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (elf_sort_symbol): Sort on type and name as well.
|
||
(elf_link_add_object_symbols): Style fix.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf.c (_bfd_elf_map_sections_to_segments): Init target_index
|
||
for sections about to be sorted.
|
||
(assign_file_positions_for_load_sections): Likewise.
|
||
(elf_sort_sections): Don't bother optimising both TOEND case.
|
||
* elflink.c (bfd_elf_final_link): Reset target_index.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (elf_get_linked_section_vma): Delete.
|
||
(compare_link_order): Use elf_linked_to_section and sort by lma,
|
||
size, and id.
|
||
(elf_fixup_link_order): Use size_t variables where appropriate.
|
||
Make use of elf_linked_to_section. Formatting. Properly align
|
||
sections.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-strtab.c (strrevcmp): Comment.
|
||
* merge.c (strrevcmp): Likewise.
|
||
* elf64-ppc.c (compare_symbols): Correct final pointer comparison.
|
||
Comment on why comparing pointers ensures a stable sort.
|
||
* elflink.c (struct elf_symbol): Add void* to union.
|
||
(elf_sort_elf_symbol): Ensure a stable sort with pointer comparison.
|
||
(elf_sym_name_compare): Likewise.
|
||
(bfd_elf_match_symbols_in_sections): Style fix.
|
||
(elf_link_sort_cmp1): Comment.
|
||
|
||
2019-10-14 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24955
|
||
* elflink.c (elf_output_implib): Don't use xmalloc. Don't ignore
|
||
return value of bfd_alloc2.
|
||
* peXXigen.c (_bfd_XXi_write_codeview_record): Don't use xmalloc.
|
||
* pef.c (bfd_pef_print_symbol): Likewise. Don't ignore return
|
||
value of bfd_get_section_contents.
|
||
* som.c (som_write_space_strings): Don't use xmalloc.
|
||
(som_write_symbol_strings): Likewise.
|
||
|
||
2019-10-11 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* dwarf2.c (stash_maybe_enable_info_hash_tables): Only set
|
||
stash->info_hash_status = STASH_INFO_HASH_ON when
|
||
stash_maybe_update_info_hash_tables succeeds.
|
||
|
||
2019-10-09 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25070
|
||
* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Catch overflow of
|
||
total_size calculation.
|
||
|
||
2019-10-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25078
|
||
* dwarf2.c (find_abstract_instance): Delete orig_info_ptr, add
|
||
recur_count. Error on recur_count reaching 100 rather than
|
||
info_ptr matching orig_info_ptr. Adjust calls.
|
||
|
||
2019-10-07 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Rename to..
|
||
(elf32_msp430_merge_msp430_attributes): Add support for merging
|
||
the GNU object attribute for data region.
|
||
|
||
2019-10-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Do allocate
|
||
space for local got non-tls relocs when PIE.
|
||
|
||
2019-10-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (elf_fixup_link_order): Don't attempt to find
|
||
an elf_section for linker created bfd sections.
|
||
|
||
2019-10-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD
|
||
with non-local symbol. Don't double count __tls_get_addr calls
|
||
with marker relocs.
|
||
* elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
|
||
|
||
2019-10-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (nomark_tls_get_addr): Rename from has_tls_get_addr_call
|
||
throughout.
|
||
* elf64-ppc.c (nomark_tls_get_addr): Likewise.
|
||
|
||
2019-10-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Move initialisation of vars.
|
||
(ppc64_elf_tls_optimize): Correct is_local condition.
|
||
(allocate_got): Don't reserve dynamic relocations for any of the
|
||
tls got relocs in PIEs when the symbol is local.
|
||
(allocate_dynrelocs): Correct validity test for local sym using
|
||
tlsld_got slot.
|
||
(ppc64_elf_size_dynamic_sections): Don't reserve dynamic relocations
|
||
for any of the tls got relocs in PIEs.
|
||
(ppc64_elf_layout_multitoc): Likewise.
|
||
(ppc64_elf_relocate_section): Correct validity test for local sym
|
||
using tlsld_got slot. Don't emit dynamic relocations for any of
|
||
the tls got relocs in PIEs when the symbol is local.
|
||
* elf32-ppc.c (ppc_elf_tls_optimize): Correct is_local condition.
|
||
(got_relocs_needed): Delete.
|
||
(allocate_dynrelocs): Correct validity test for local sym using
|
||
tlsld_got slot. Don't reserve dynamic relocations for any of the
|
||
tls got relocs in PIEs when the symbol is local.
|
||
(ppc_elf_size_dynamic_sections): Don't reserve dynamic relocations
|
||
for any of the tls got relocs in PIEs.
|
||
(ppc_elf_relocate_section): Correct validity test for local sym
|
||
using tlsld_got slot. Don't emit dynamic relocations for any of
|
||
the tls got relocs in PIEs when the symbol is local.
|
||
|
||
2019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR ld/22263
|
||
PR ld/25056
|
||
* elf32-arm.c (elf32_arm_tls_transition): Use bfd_link_dll instead of
|
||
bfd_link_pic for TLS checks.
|
||
(elf32_arm_final_link_relocate): Likewise.
|
||
(allocate_dynrelocs_for_symbol): Likewise.
|
||
|
||
2019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR ld/25062
|
||
* elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data.
|
||
|
||
2019-09-30 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* elf-bfd.h (bfd_section_is_ctf): New inline function.
|
||
* elf.c (special_sections_c): Add ".ctf".
|
||
(assign_file_positions_for_non_load_sections): Note that
|
||
compressed debugging sections etc are not assigned here. Treat
|
||
CTF sections like SEC_ELF_COMPRESS sections when is_linker_output:
|
||
sh_offset -1.
|
||
(assign_file_positions_except_relocs): Likewise.
|
||
(find_section_in_list): Note that debugging and CTF sections, as
|
||
well as reloc sections, are assigned later.
|
||
(_bfd_elf_assign_file_positions_for_non_load): CTF sections get
|
||
their size and contents updated.
|
||
(_bfd_elf_set_section_contents): Skip CTF sections: unlike
|
||
compressed sections, they have no uncompressed content to copy at
|
||
this stage.
|
||
* elflink.c (elf_link_swap_symbols_out): Call the examine_strtab
|
||
callback right before the strtab is written out.
|
||
(bfd_elf_final_link): Don't cache the section contents of CTF
|
||
sections: they are not populated yet. Call the emit_ctf callback
|
||
right at the end, after all the symbols and strings are flushed
|
||
out.
|
||
|
||
2019-07-13 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* elf-strtab.c (_bfd_elf_strtab_len): New.
|
||
(_bfd_elf_strtab_str): Likewise.
|
||
* bfd-elf.h: Declare them.
|
||
|
||
2019-07-13 Nick Alcock <nick.alcock@oracle.com>
|
||
|
||
* elf-bfd.h (bfd_elf_get_str_section): Add.
|
||
* elf.c (bfd_elf_get_str_section): No longer static.
|
||
|
||
2019-09-26 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24262
|
||
* Makefile.am (AM_CPPFLAGS): Add -DLIBDIR.
|
||
* plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and
|
||
${bindir}/../lib/bfd-plugins if different.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable
|
||
in choosing between different actions for shared library and
|
||
non-shared library cases. Delete ELIMINATE_COPY_RELOCS test.
|
||
(dec_dynrel_count): Likewise. Account for ifunc special case.
|
||
(ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables,
|
||
not non-pic.
|
||
(allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS
|
||
test.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.am (SOURCE_HFILES): Add many missing .h files.
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_symbol, bfd_section_already_linked),
|
||
(bfd_elf_version_tree): Delete forward declarations.
|
||
Move other forward decls and remaining elf function decl later.
|
||
(bfd_section_already_linked_table_init),
|
||
(bfd_section_already_linked_table_free),
|
||
(_bfd_handle_already_linked, _bfd_nearby_section),
|
||
(_bfd_fix_excluded_sec_syms): Move to bfdlink.h.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move ecoff function declarations..
|
||
* ecoff-bfd.h: ..to here, new file.
|
||
* ecoff.c: Include ecoff-bfd.h.
|
||
* ecofflink.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h.
|
||
Move most other elf declarations..
|
||
* elf-bfd.h: ..to here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move m68k function declaration..
|
||
* cpu-m68k.h: ..to here, new file..
|
||
* elf32-m68k.h: ..and here, new file.
|
||
* elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move bfin function declaration..
|
||
* elf32-bfin.h: ..to here, new file.
|
||
* elf32-bfin.c: Include elf32-bfin.h.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move cr16 function declaration..
|
||
* elf32-cr16.h: ..to here, new file.
|
||
* elf32-cr16.c: Include elf32-cr16.h.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_sunos_get_needed_list),
|
||
(bfd_sunos_record_link_assignment),
|
||
(bfd_sunos_size_dynamic_sections),
|
||
(bfd_i386linux_size_dynamic_sections),
|
||
(bfd_sparclinux_size_dynamic_sections): Delete obsolete decls.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move xcoff function declarations..
|
||
* xcofflink.h: ..to here, new file.
|
||
* xcofflink.c: Include xcofflink.h.
|
||
* coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Delete coff forward refs and move coff declaration..
|
||
* coff-bfd.h: ..to here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move arm declaraions..
|
||
* cpu-arm.h: ..to here, new file..
|
||
* coff-arm.h: ..and here, new file..
|
||
* elf32-arm.h: ..and here, new file.
|
||
* cpu-arm.c: Include cpu-arm.h.
|
||
* coff-arm.c: Include cpu-arm.h and coff-arm.h.
|
||
* elf32-arm.c: Include cpu-arm.h and elf32-arm.h.
|
||
* pe-arm.c: Move function rename defines later.
|
||
* pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move tic6x function declaration..
|
||
* elf32-tic6x.h: ..to here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move aarch64 declarations and defines..
|
||
* cpu-aarch64.h: ..to here, new file..
|
||
* elfxx-aarch64.h: ..and here.
|
||
* cpu-aarch64.c: Include cpu-aarch64.h.
|
||
* elfnn-aarch64.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Delete ticoff function declarations.
|
||
* coff-tic54x.c (bfd_ticoff_set_section_load_page),
|
||
(bfd_ticoff_get_section_load_page): Make static.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move h8300 function declaration to..
|
||
* cpu-h8300.h: ..here, new file.
|
||
* cpu-h8300.c: Include cpu-h8300.h.
|
||
* elf32-h8300.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move ia64 function declarations..
|
||
* elfxx-ia64.h: ..to here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move v850 function declarations..
|
||
* elf32-v850.h: ..to here, new file.
|
||
* elf32-v850.c: Include elf32-v850.h.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move mips function declaration to..
|
||
* elfxx-mips.h: ..here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h: Move csky function declarations to..
|
||
* elf32-csky.h: ..here, new file.
|
||
* elf32-csky.c: Include elf32-csky.h.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-20 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak.
|
||
(riscv_record_pcgp_hi_reloc): New parameter undefined_weak.
|
||
Set undefined_weak field from it.
|
||
(relax_func_t): New parameter undefined_weak.
|
||
(_bfd_riscv_relax_call): New ignored parameter undefined_weak.
|
||
(_bfd_riscv_relax_tls_le): Likewise.
|
||
(_bfd_riscv_relax_align): Likewise.
|
||
(_bfd_riscv_relax_delete): Likewise.
|
||
(_bfd_riscv_relax_lui): New parameter undefined_weak. If true,
|
||
allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak.
|
||
(_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs,
|
||
set undefined_weak from hi_reloc. If true, allow relaxing. For LO12*
|
||
relocs, set rs1 to x0 when undefined_weak and change to non-pcrel
|
||
reloc.
|
||
(_bfd_riscv_relax_section): New local undefined_weak. Set for
|
||
undef weak relocs that can be relaxed. Pass to relax_func call.
|
||
|
||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma),
|
||
(bfd_section_lma, bfd_section_alignment, bfd_section_flags),
|
||
(bfd_section_userdata, bfd_is_com_section, discarded_section),
|
||
(bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros.
|
||
* bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit),
|
||
(bfd_section_list_remove, bfd_section_list_append),
|
||
(bfd_section_list_prepend, bfd_section_list_insert_after),
|
||
(bfd_section_list_insert_before, bfd_section_removed_from_list):
|
||
New inline functions.
|
||
* section.c (bfd_is_und_section, bfd_is_abs_section),
|
||
(bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove),
|
||
(bfd_section_list_append, bfd_section_list_prepend),
|
||
(bfd_section_list_insert_after, bfd_section_list_insert_before),
|
||
(bfd_section_removed_from_list): Delete macros.
|
||
(bfd_section_name, bfd_section_size, bfd_section_vma),
|
||
(bfd_section_lma, bfd_section_alignment, bfd_section_flags),
|
||
(bfd_section_userdata, bfd_is_com_section, bfd_is_und_section),
|
||
(bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section),
|
||
(discarded_section): New inline functions.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
|
||
(bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete.
|
||
* bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
|
||
(bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions.
|
||
* targets.c (bfd_asymbol_flavour): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
|
||
* bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
|
||
(bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
|
||
(bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
|
||
(bfd_get_file_flags, bfd_applicable_file_flags),
|
||
(bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
|
||
(bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
|
||
(bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
|
||
(bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
|
||
* bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
|
||
(bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
|
||
(bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
|
||
(bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
|
||
(bfd_usrdata, bfd_set_usrdata): New inline functions.
|
||
* targets.c (bfd_get_target, bfd_get_flavour),
|
||
(bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
|
||
(bfd_little_endian, bfd_header_big_endian),
|
||
(bfd_header_little_endian, bfd_applicable_section_flags),
|
||
(bfd_get_symbol_leading_char): New inline functions.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function.
|
||
(ppc64_elf_relocate_section): Warn if emitting unsupported dynamic
|
||
relocations.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
|
||
(bfd_get_section_lma, bfd_get_section_alignment),
|
||
(bfd_get_section_size, bfd_get_section_flags),
|
||
(bfd_get_section_userdata): Delete.
|
||
(bfd_section_name, bfd_section_size, bfd_section_vma),
|
||
(bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
|
||
(bfd_section_flags, bfd_section_userdata): New.
|
||
(bfd_is_com_section): Rename parameter.
|
||
* section.c (bfd_set_section_userdata, bfd_set_section_vma),
|
||
(bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
|
||
(bfd_set_section_size): Delete bfd parameter, rename section parameter.
|
||
(bfd_set_section_lma): New.
|
||
* bfd-in2.h: Regenerate.
|
||
* mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
|
||
update callers.
|
||
* aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
|
||
* coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
|
||
* compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
|
||
* elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
|
||
* elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
|
||
* elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
|
||
* elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
|
||
* elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
|
||
* elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
|
||
* elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
|
||
* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
|
||
* elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
|
||
* elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
|
||
* elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
|
||
* elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
|
||
* elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
|
||
* elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
|
||
* elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
|
||
* elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
|
||
* elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
|
||
* elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
|
||
* elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
|
||
* elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
|
||
* mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
|
||
* peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
|
||
* xcofflink.c: Update throughout for bfd section macro and function
|
||
changes.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
|
||
(bfd_get_output_section): Delete.
|
||
(bfd_asymbol_base): Delete.
|
||
(bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
|
||
(bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
|
||
(bfd_set_asymbol_name): New macro.
|
||
* bfd-in2.h: Regenerate.
|
||
* aout-cris.c: Update throughout to use bfd_asymbol_section.
|
||
* aoutx.h: Likewise.
|
||
* cofflink.c: Likewise.
|
||
* dwarf2.c: Likewise.
|
||
* ecoff.c: Likewise.
|
||
* elf.c: Likewise.
|
||
* elf32-arm.c: Likewise.
|
||
* elf32-mips.c: Likewise.
|
||
* elf32-score.c: Likewise.
|
||
* elf32-score7.c: Likewise.
|
||
* elfn32-mips.c: Likewise.
|
||
* elfnn-aarch64.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* linker.c: Likewise.
|
||
* pdp11.c: Likewise.
|
||
* elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
|
||
|
||
2019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* Makefile.in: Re-generate.
|
||
* configure: Re-generate.
|
||
* doc/Makefile.in: Re-generate.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
|
||
macros.
|
||
* pdp11.c (slurp_symbol_table): Likewise.
|
||
* som.c (som_slurp_symbol_table): Likewise.
|
||
* coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
|
||
* coffcode.h (coff_slurp_symbol_table): Likewise.
|
||
* cofflink.c (_bfd_coff_final_link): Likewise.
|
||
* ecoff.c (ecoff_slurp_symbolic_header): Likewise.
|
||
(_bfd_ecoff_slurp_symbolic_info): Likewise.
|
||
(_bfd_ecoff_slurp_symbol_table): Likewise.
|
||
(_bfd_ecoff_bfd_final_link): Likewise.
|
||
* elf.c (_bfd_elf_canonicalize_symtab): Likewise.
|
||
* elflink.c (elf_link_output_symstrtab): Likewise.
|
||
(bfd_elf_final_link): Likewise.
|
||
* peicode.h (pe_ILF_build_a_bfd): Likewise.
|
||
* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
|
||
* aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
|
||
start_address or symcount using bfd_get macros.
|
||
* coffgen.c (coff_real_object_p): Likewise.
|
||
* pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
|
||
* som.c (som_object_setup, som_slurp_symbol_table): Likewise.
|
||
* elfcore.h (elf_core_file_p): Don't set start_address using
|
||
bfd_get macro.
|
||
* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
|
||
using bfd_get macro.
|
||
* bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
|
||
* linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
|
||
or symcount using bfd_get macros.
|
||
(_bfd_generic_final_link, generic_add_output_symbol): Likewise.
|
||
* syms.c (bfd_set_symtab): Likewise.
|
||
* vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
|
||
* archive.c (do_slurp_bsd_armap): Don't set has_armap using
|
||
bfd_has_map macro.
|
||
(do_slurp_coff_armap, bfd_slurp_armap): Likewise.
|
||
* archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
|
||
* coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
|
||
* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
|
||
* ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
|
||
* som.c (som_slurp_armap): Likewise.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* archures.c (bfd_get_arch): Make param const.
|
||
(bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
|
||
(bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd-in.h (carsym.name): Make const.
|
||
* reloc.c (struct reloc_howto_struct.name): Likewise.
|
||
* targets.c (bfd_target.name): Likewise.!
|
||
* bfd.c (bfd_get_sign_extend_vma): Make variable const.
|
||
* som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
|
||
when setting carsym.name.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace
|
||
xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an
|
||
error status. Adjust calls.
|
||
* vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
|
||
Close bfd on failure. Replace xstrdup/bfd_alloc use with
|
||
bfd_malloc. Use bfd_set_filename.
|
||
|
||
2019-09-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
|
||
(ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
|
||
(ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
|
||
needs_copy even if all relocs are in rw sections.
|
||
(dec_dynrel_count): Handle TOC16 relocs.
|
||
(ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
|
||
(ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
|
||
semantic change.
|
||
|
||
2019-09-16 Phil Blundell <pb@pbcl.net>
|
||
|
||
* version.m4: Set version to 2.33.50.
|
||
* Makefile.in, configure, doc/Makefile.in: Regenerated.
|
||
|
||
2019-09-11 Tom Tromey <tom@tromey.com>
|
||
|
||
* opncls.c (bfd_set_filename): New function.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-11 Alan Modra <amodra@gmail.com>
|
||
|
||
* targets.c (struct bfd_target): Add _bfd_group_name.
|
||
(BFD_JUMP_TABLE): Likewise.
|
||
* coffgen.c (bfd_coff_group_name): New function.
|
||
* elf.c (bfd_elf_group_name): New function.
|
||
* linker.c (_bfd_nolink_bfd_group_name): New function.
|
||
* section.c (bfd_generic_group_name): New function.
|
||
* elf-bfd.h (bfd_elf_group_name): Declare.
|
||
* libbfd-in.h (_bfd_nolink_bfd_group_name): Declare.
|
||
* libcoff-in.h (bfd_coff_group_name): Declare.
|
||
* aout-target.h (MY_bfd_group_name): Define.
|
||
* aout-tic30.c (MY_bfd_group_name): Define.
|
||
* bfd.c (bfd_group_name): Define.
|
||
* binary.c (binary_bfd_group_name): Define.
|
||
* coff-alpha.c (_bfd_ecoff_bfd_group_name): Define.
|
||
* coff-mips.c (_bfd_ecoff_bfd_group_name): Define.
|
||
* coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define.
|
||
* coffcode.h (coff_bfd_group_name): Define.
|
||
* elfxx-target.h (bfd_elfNN_bfd_group_name): Define.
|
||
* i386msdos.c (msdos_bfd_group_name): Define.
|
||
* ihex.c (ihex_bfd_group_name): Define.
|
||
* mach-o-target.c (bfd_mach_o_bfd_group_name): Define.
|
||
* mmo.c (mmo_bfd_group_name): Define.
|
||
* pef.c (bfd_pef_bfd_group_name): Define.
|
||
* plugin.c (bfd_plugin_bfd_group_name): Define.
|
||
* ppcboot.c (ppcboot_bfd_group_name): Define.
|
||
* som.c (som_bfd_group_name): Define.
|
||
* srec.c (srec_bfd_group_name): Define.
|
||
* tekhex.c (tekhex_bfd_group_name): Define.
|
||
* verilog.c (verilog_bfd_group_name): Define.
|
||
* vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define.
|
||
* xsym.c (bfd_sym_bfd_group_name): Define.
|
||
* coff64-rs6000.c (rs6000_xcoff64_vec): Init new field.
|
||
(rs6000_xcoff64_aix_vec): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
|
||
2019-09-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24907
|
||
* archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn
|
||
field.
|
||
(bfd_default_arch_struct): Initialise the new field.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-aarch64.c: Initialise the new field.
|
||
* cpu-alpha.c: Likewise.
|
||
* cpu-arc.c: Likewise.
|
||
* cpu-arm.c: Likewise.
|
||
* cpu-avr.c: Likewise.
|
||
* cpu-bfin.c: Likewise.
|
||
* cpu-bpf.c: Likewise.
|
||
* cpu-cr16.c: Likewise.
|
||
* cpu-cr16c.c: Likewise.
|
||
* cpu-cris.c: Likewise.
|
||
* cpu-crx.c: Likewise.
|
||
* cpu-csky.c: Likewise.
|
||
* cpu-d10v.c: Likewise.
|
||
* cpu-d30v.c: Likewise.
|
||
* cpu-dlx.c: Likewise.
|
||
* cpu-epiphany.c: Likewise.
|
||
* cpu-fr30.c: Likewise.
|
||
* cpu-frv.c: Likewise.
|
||
* cpu-ft32.c: Likewise.
|
||
* cpu-h8300.c: Likewise.
|
||
* cpu-hppa.c: Likewise.
|
||
* cpu-i386.c: Likewise.
|
||
* cpu-ia64.c: Likewise.
|
||
* cpu-iamcu.c: Likewise.
|
||
* cpu-ip2k.c: Likewise.
|
||
* cpu-iq2000.c: Likewise.
|
||
* cpu-k1om.c: Likewise.
|
||
* cpu-l1om.c: Likewise.
|
||
* cpu-lm32.c: Likewise.
|
||
* cpu-m10200.c: Likewise.
|
||
* cpu-m10300.c: Likewise.
|
||
* cpu-m32c.c: Likewise.
|
||
* cpu-m32r.c: Likewise.
|
||
* cpu-m68hc11.c: Likewise.
|
||
* cpu-m68hc12.c: Likewise.
|
||
* cpu-m68k.c: Likewise.
|
||
* cpu-m9s12x.c: Likewise.
|
||
* cpu-m9s12xg.c: Likewise.
|
||
* cpu-mcore.c: Likewise.
|
||
* cpu-mep.c: Likewise.
|
||
* cpu-metag.c: Likewise.
|
||
* cpu-microblaze.c: Likewise.
|
||
* cpu-mips.c: Likewise.
|
||
* cpu-mmix.c: Likewise.
|
||
* cpu-moxie.c: Likewise.
|
||
* cpu-msp430.c: Likewise.
|
||
* cpu-mt.c: Likewise.
|
||
* cpu-nds32.c: Likewise.
|
||
* cpu-nfp.c: Likewise.
|
||
* cpu-nios2.c: Likewise.
|
||
* cpu-ns32k.c: Likewise.
|
||
* cpu-or1k.c: Likewise.
|
||
* cpu-pdp11.c: Likewise.
|
||
* cpu-pj.c: Likewise.
|
||
* cpu-plugin.c: Likewise.
|
||
* cpu-powerpc.c: Likewise.
|
||
* cpu-pru.c: Likewise.
|
||
* cpu-riscv.c: Likewise.
|
||
* cpu-rl78.c: Likewise.
|
||
* cpu-rs6000.c: Likewise.
|
||
* cpu-rx.c: Likewise.
|
||
* cpu-s12z.c: Likewise.
|
||
* cpu-s390.c: Likewise.
|
||
* cpu-score.c: Likewise.
|
||
* cpu-sh.c: Likewise.
|
||
* cpu-sparc.c: Likewise.
|
||
* cpu-spu.c: Likewise.
|
||
* cpu-tic30.c: Likewise.
|
||
* cpu-tic4x.c: Likewise.
|
||
* cpu-tic54x.c: Likewise.
|
||
* cpu-tic6x.c: Likewise.
|
||
* cpu-tic80.c: Likewise.
|
||
* cpu-tilegx.c: Likewise.
|
||
* cpu-tilepro.c: Likewise.
|
||
* cpu-v850.c: Likewise.
|
||
* cpu-v850_rh850.c: Likewise.
|
||
* cpu-vax.c: Likewise.
|
||
* cpu-visium.c: Likewise.
|
||
* cpu-wasm32.c: Likewise.
|
||
* cpu-xc16x.c: Likewise.
|
||
* cpu-xgate.c: Likewise.
|
||
* cpu-xstormy16.c: Likewise.
|
||
* cpu-xtensa.c: Likewise.
|
||
* cpu-z80.c: Likewise.
|
||
* cpu-z8k.c: Likewise.
|
||
|
||
2019-09-09 Phil Blundell <pb@pbcl.net>
|
||
|
||
binutils 2.33 branch created.
|
||
|
||
2019-09-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* aout-target.h (object_p): Formatting.
|
||
* bfd-in.h (bfd_get_filename): Don't cast to char*.
|
||
* corefile.c (generic_core_file_matches_executable_p): Constify
|
||
variables and remove cast.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-09-05 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in
|
||
GOT_PCREL and PLT_PCREL relocs as affecting the value stored
|
||
in the GOT/PLT entry rather than affecting the offset to that
|
||
GOI/PLT entry.
|
||
(ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
|
||
|
||
2019-09-05 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores
|
||
in second instruction.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
|
||
2019-09-05 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24955
|
||
* libbfd-in.h (bfd_strdup): New inline function.
|
||
* archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close
|
||
bfd on error.
|
||
* elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup.
|
||
* opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream
|
||
on error.
|
||
(bfd_openstreamr): Use bfd_strdup.
|
||
(bfd_openr_iovec, bfd_openw, bfd_create): Likewise.
|
||
* plugin.c (try_load_plugin): Use bfd_malloc.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-09-02 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 11983
|
||
* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename
|
||
on success. Tidy.
|
||
(read_alt_indirect_string): Likewise.
|
||
(read_alt_indirect_ref): Likewise.
|
||
|
||
2019-08-31 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR 23825
|
||
* elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD,
|
||
SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
|
||
|
||
2019-08-30 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc
|
||
error, call bfd_set_error, set ret to FALSE, and goto out label.
|
||
|
||
2019-08-30 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24951
|
||
* archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS,
|
||
BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive.
|
||
|
||
2019-08-29 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24697
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
|
||
when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
|
||
R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other
|
||
reloc.
|
||
|
||
2019-08-29 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset
|
||
on second insn, return it in poff.
|
||
(ppc64_elf_relocate_section): Add offset to paddi addend for
|
||
PCREL_OPT.
|
||
|
||
2019-08-28 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs
|
||
section when setting max_alignment. Update comment.
|
||
(_bfd_riscv_relax_pc): Likewise.
|
||
|
||
2019-08-29 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24891
|
||
* bfd.c (struct bfd): Add no_element_cache.
|
||
* archive.c (_bfd_get_elt_at_filepos): Don't add element to
|
||
archive cache when no_element_cache.
|
||
(bfd_generic_archive_p): Set no_element_cache when opening first
|
||
element to check format. Close first element too.
|
||
(do_slurp_bsd_armap): Don't zero ardata->cache here.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-08-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
|
||
symbols from GOT optimisation.
|
||
|
||
2019-08-23 Stafford Horne <shorne@gmail.com>
|
||
|
||
* elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
|
||
PLT GOT entries.
|
||
|
||
2019-08-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24456
|
||
* elf.c (bfd_section_from_shdr): Issue an informative warning
|
||
message and continue processing other sections after encountering
|
||
a reloc section for a section which already has other relocs
|
||
associated with it.
|
||
|
||
2019-08-23 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24933
|
||
* elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
|
||
on error without freeing plts[] contents.
|
||
|
||
2019-08-22 Dennis Zhang <dennis.zhang@arm.com>
|
||
|
||
* cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
|
||
|
||
2019-08-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24922
|
||
* pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
|
||
reading data from extra records.
|
||
|
||
2019-08-22 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR ld/24601
|
||
* elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS.
|
||
Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation.
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it.
|
||
* elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning
|
||
for weak TLS.
|
||
|
||
2019-08-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL,
|
||
instead recognize CMSE_PREFIX in symbol name.
|
||
(elf32_arm_gc_mark_extra_sections): Likewise.
|
||
(elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL.
|
||
(elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL.
|
||
|
||
2019-08-20 Dennis Zhang <dennis.zhang@arm.com>
|
||
|
||
* cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
|
||
Cortex-A77, cortex-A65AE, and Cortex-A76AE.
|
||
|
||
2019-08-20 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
|
||
elf32_arm_stub_long_branch_v4t_thumb_thumb,
|
||
elf32_arm_stub_long_branch_v4t_thumb_arm,
|
||
elf32_arm_stub_short_branch_v4t_thumb_arm,
|
||
elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
|
||
elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
|
||
elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
|
||
previous instruction.
|
||
|
||
2019-08-19 Tom Tromey <tromey@adacore.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
|
||
holding symbols.
|
||
|
||
2019-08-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
|
||
to has_optrel.
|
||
(struct _ppc64_elf_section_data): Likewise.
|
||
(ppc64_elf_check_relocs): Set has_optrel for more relocs.
|
||
(ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
|
||
than TOC loop. Check PLT16 insns too.
|
||
|
||
2019-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24905
|
||
* elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
|
||
PC-relative relocations back to ...
|
||
(elf_x86_64_relocate_section): Here.
|
||
|
||
2019-08-16 Martin Liska <mliska@suse.cz>
|
||
|
||
PR ld/24912
|
||
* elflink.c: Report error only for not relocatable.
|
||
* linker.c (_bfd_generic_link_add_one_symbol): Do not handle
|
||
here lto_slim_object as it's handled in caller.
|
||
|
||
2019-08-16 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
|
||
|
||
2019-08-15 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
|
||
RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
|
||
to c.li instruction, and use ENCODE_RVC_IMM to set value.
|
||
|
||
2019-08-15 Tom Tromey <tromey@adacore.com>
|
||
|
||
* dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
|
||
of section.
|
||
|
||
2019-08-14 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24623
|
||
* dwarf2.c (stash_comp_unit): New function, extracted from..
|
||
(_bfd_dwarf2_find_nearest_line): ..here.
|
||
(find_abstract_instance): Parse comp units and decode line info
|
||
as needed.
|
||
|
||
2019-08-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
|
||
(comp_unit_find_nearest_line): Use it here..
|
||
(_bfd_dwarf2_find_symbol_bias): ..and here.
|
||
|
||
2019-08-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
|
||
* libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
|
||
* coffgen.c (coff_find_nearest_line_with_names): Adjust
|
||
_bfd_dwarf2_find_nearest_line calls.
|
||
* elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
|
||
* elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
|
||
* elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
|
||
* mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-08-09 Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): New members.
|
||
* elflink.c (_bfd_elf_link_create_dynamic_sections): Create
|
||
.gnu.hash section if necessary.
|
||
(struct collect_gnu_hash_codes): New member.
|
||
(elf_gnu_hash_process_symidx): New function name.
|
||
(elf_renumber_gnu_hash_syms): Ignore local and undefined
|
||
symbols. Record xlat location for every symbol which should have
|
||
a .MIPS.xhash entry.
|
||
(bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
|
||
dynamic section if necessary.
|
||
(GNU_HASH_SECTION_NAME): New define.
|
||
(bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
|
||
Update the section size info.
|
||
* elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
|
||
(struct mips_elf_link_hash_entry): New member.
|
||
(mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
|
||
table location.
|
||
(mips_elf_sort_hash_table): Initialize the pointer to the
|
||
.MIPS.xhash section.
|
||
(mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
|
||
translation table entry with the symbol dynindx.
|
||
(_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
|
||
(_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
|
||
info.
|
||
(_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
|
||
section.
|
||
(_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
|
||
dynamic section.
|
||
(_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
|
||
(_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
|
||
sh_link info.
|
||
(_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
|
||
(MIPS_LIBC_ABI_XHASH): New ABI version enum value.
|
||
(_bfd_mips_post_process_headers): Mark the ABI version as
|
||
MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
|
||
but not a .hash section.
|
||
(_bfd_mips_elf_record_xhash_symbol): New function. Record a
|
||
position in the translation table, associated with the hash
|
||
entry.
|
||
* elfxx-mips.h (literal_reloc_p): Define
|
||
elf_backend_record_xhash_symbol backend hook.
|
||
* elfxx-target.h: Initialize elf_backend_record_xhash_symbol
|
||
backend hook.
|
||
|
||
2019-08-07 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* elf64-bpf.c (bpf_elf_relocate_section): New function.
|
||
(bpf_elf_insn_disp_reloc): Delete function.
|
||
(elf_backend_relocate_section): Define.
|
||
|
||
2019-08-07 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24644
|
||
* archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
|
||
for overflow in expressions involving nsymz.
|
||
|
||
2019-08-01 Ilia Diachkov <ilia.diachkov@optimitech.com>
|
||
|
||
* elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
|
||
two pages in relro presence.
|
||
|
||
2019-08-01 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
|
||
(get_wsr_lbeg_opcode): New functions.
|
||
(check_loop_aligned): Detect relaxed loops and adjust loop_len
|
||
and insn_len for the first actual instruction of the loop.
|
||
|
||
2019-07-30 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24768
|
||
* bfd.c (struct bfd): Add lto_slim_object flag.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-07-29 Martin Liska <mliska@suse.cz>
|
||
|
||
PR 24768
|
||
* archive.c (_bfd_compute_and_write_armap): Come up with
|
||
report_plugin_err variable.
|
||
* bfd-in2.h (struct bfd): Add lto_slim_object flag.
|
||
* elf.c (struct lto_section): New.
|
||
(_bfd_elf_make_section_from_shdr): Parse content of
|
||
.gnu_lto_.lto section.
|
||
* elflink.c: Report error for a missing LTO plugin.
|
||
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
|
||
|
||
2019-07-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24857
|
||
PR 24339
|
||
* elflink.c (elf_link_add_object_symbols): Report an informative
|
||
error on finding local symbols with index equal or greater than
|
||
symbol table sh_info. Correct comment. Allow such symbols in
|
||
dynamic objects. Abort on NULL section for symbol.
|
||
|
||
2019-07-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
|
||
(elf_linker): Don't define.
|
||
* elflink.c (bfd_elf_final_link): Don't set elf_linker.
|
||
|
||
2019-07-25 YunQiang Su <syq@debian.org>
|
||
|
||
PR 24832
|
||
* elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
|
||
mips inputs.
|
||
|
||
2019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* elf32-arc.c (bfd_get_32_me): Add a small description, fix
|
||
formating.
|
||
(reloc_type_to_name): Fix formating.
|
||
(arc_elf_object_p): Likewise.
|
||
(debug_arc_reloc): Likewise.
|
||
(arc_do_relocation): Likewise.
|
||
|
||
2019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
|
||
|
||
* elf32-arc.c (bfd_get_32_me): New function.
|
||
(bfd_put_32_me): Likewise.
|
||
(arc_elf_relax_section): Likewise.
|
||
(bfd_elf32_bfd_relax_section): Define.
|
||
|
||
2019-07-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
|
||
elf_backend_final_write_processing, don't pass linker arg.
|
||
(_bfd_elf_final_write_processing): Update prototype.
|
||
* elf.c (_bfd_elf_write_object_contents): Adjust call.
|
||
(_bfd_elf_final_write_processing): Return error on incompatible
|
||
OSABI and has_gnu_osabi. Remove linker arg.
|
||
* elf-nacl.h (nacl_final_write_processing): Update prototype.
|
||
* elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
|
||
(_bfd_mips_elf_final_write_processing): Likewise.
|
||
* elf-hppa.h (elf_hppa_final_write_processing): Return status
|
||
and remove linker arg.
|
||
* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
|
||
* elf-nacl.c (nacl_final_write_processing): Likewise.
|
||
* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
|
||
* elf32-arc.c (arc_elf_final_write_processing): Likewise.
|
||
* elf32-arm.c (arm_final_write_processing): Likewise.
|
||
(elf32_arm_final_write_processing): Likewise.
|
||
(elf32_arm_nacl_final_write_processing): Likewise.
|
||
(elf32_arm_vxworks_final_write_processing): Likewise.
|
||
* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
|
||
* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
|
||
* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
|
||
* elf32-cris.c (cris_elf_final_write_processing): Likewise.
|
||
* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
|
||
* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
|
||
* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
|
||
* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
|
||
* elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
|
||
* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
|
||
* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
|
||
* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
|
||
* elf32-pj.c (pj_elf_final_write_processing): Likewise.
|
||
* elf32-ppc.c (ppc_final_write_processing): Likewise.
|
||
(ppc_elf_final_write_processing): Likewise.
|
||
(ppc_elf_vxworks_final_write_processing): Likewise.
|
||
* elf32-sparc.c (sparc_final_write_processing): Likewise.
|
||
(elf32_sparc_final_write_processing): Likewise.
|
||
(elf32_sparc_vxworks_final_write_processing): Likewise.
|
||
* elf32-v850.c (v850_elf_final_write_processing): Likewise.
|
||
* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
|
||
* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
|
||
* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
|
||
(_bfd_mips_elf_final_write_processing): Likewise.
|
||
|
||
2019-07-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
|
||
early.
|
||
* elf32-arc.c (arc_elf_final_write_processing): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
|
||
|
||
2019-07-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-visium.c (visium_elf_post_process_headers): Don't set
|
||
EI_OSABI header byte here.
|
||
(ELF_OSABI): Define.
|
||
|
||
2019-07-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
|
||
(get_program_header_size): Formatting. Only test SH_GNU_MBIND
|
||
when elf_gnu_osabi_mbind is set.
|
||
(_bfd_elf_map_sections_to_segments): Likewise.
|
||
(_bfd_elf_init_private_section_data): Likewise.
|
||
(_bfd_elf_final_write_processing): Update comment.
|
||
* elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
|
||
(elf_backend_special_sections): Define without .tbss for linux.
|
||
|
||
2019-07-23 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
|
||
Remove none, any, all enums.
|
||
(struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
|
||
(_bfd_elf_final_write_processing): Declare.
|
||
* elf.c (_bfd_elf_write_object_contents): Unconditionally call
|
||
elf_backend_final_write_processing.
|
||
(_bfd_elf_post_process_headers): Move body of function to..
|
||
(_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
|
||
only when not already set. Adjust for rename.
|
||
* elfxx-target.h (elf_backend_final_write_processing): Default to
|
||
_bfd_elf_final_write_processing.
|
||
* elf-hppa.h (elf_hppa_final_write_processing): Call
|
||
_bfd_elf_final_write_processing.
|
||
* elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
|
||
* elf-nacl.c (nacl_final_write_processing): Likewise.
|
||
* elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
|
||
* elf32-arc.c (arc_elf_final_write_processing): Likewise.
|
||
* elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
|
||
* elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
|
||
* elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
|
||
* elf32-cris.c (cris_elf_final_write_processing): Likewise.
|
||
* elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
|
||
* elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
|
||
* elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
|
||
* elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
|
||
* elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
|
||
* elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
|
||
* elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
|
||
* elf32-pj.c (pj_elf_final_write_processing): Likewise.
|
||
* elf32-v850.c (v850_elf_final_write_processing): Likewise.
|
||
* elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
|
||
* elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
|
||
* elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
|
||
* elf32-arm.c (arm_final_write_processing): Split out from..
|
||
(elf32_arm_final_write_processing): ..here. Call
|
||
_bfd_elf_final_write_processing.
|
||
(elf32_arm_nacl_final_write_processing): Adjust.
|
||
* elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
|
||
(_bfd_mips_elf_final_write_processing): ..here. Call
|
||
_bfd_elf_final_write_processing.
|
||
* elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
|
||
* elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
|
||
* elf32-ppc.c (ppc_final_write_processing): Split out from..
|
||
(ppc_elf_final_write_processing): ..here. Call
|
||
_bfd_elf_final_write_processing.
|
||
(ppc_elf_vxworks_final_write_processing): Adjust.
|
||
* elf32-sparc.c (sparc_final_write_processing): Split out from..
|
||
(elf32_sparc_final_write_processing): ..here. Call
|
||
_bfd_elf_final_write_processing.
|
||
(elf32_sparc_vxworks_final_write_processing): Adjust.
|
||
* elf32-d10v.c (elf_backend_final_write_processing): Don't define.
|
||
* elf32-d30v.c (elf_backend_final_write_processing): Don't define.
|
||
* elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
|
||
* elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
|
||
* elf32-s12z.c (elf_backend_final_write_processing): Don't define.
|
||
* elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
|
||
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
|
||
* elflink.c (elf_link_add_object_symbols): Likewise.
|
||
(elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
|
||
instead.
|
||
|
||
2019-07-23 Omar Majid <omajid@redhat.com>
|
||
|
||
* coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
|
||
I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
|
||
AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
|
||
AMD64_NETBSD_MAGIC.
|
||
* peXXigen.c: Add comment about source of .NET magic numbers.
|
||
|
||
2019-07-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
|
||
(BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
|
||
(BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
|
||
(BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
|
||
* elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
|
||
(ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
|
||
(must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
|
||
(ppc64_elf_check_relocs): Support pcrel tls relocs.
|
||
(ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-07-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
|
||
a TLS section symbol for edited relocs. Tighten TLS symbol/reloc
|
||
match test.
|
||
|
||
2019-07-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (TLS_EXPLICIT): Define as 256.
|
||
(ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
|
||
is more than 8 bits.
|
||
(ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and
|
||
tls_type vars unsigned int.
|
||
(ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
|
||
to select r_type edit.
|
||
|
||
2019-07-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
|
||
Correct comment.
|
||
* elf64-ppc.c (TLS_GDIE): Likewise.
|
||
|
||
2019-07-18 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
|
||
range of tp-relative offsets.
|
||
|
||
2019-07-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
|
||
alias is no longer bfd_link_hash_defined, clear the alias.
|
||
|
||
2019-07-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
|
||
tls_sec.
|
||
(_bfd_elf_init_1_index_section): Prefer not using TLS sections.
|
||
(_bfd_elf_init_2_index_sections): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
|
||
relocations for local TLS symbols, use STN_UNDEF as the relocation
|
||
symbol.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
|
||
leave TLS symbol value in the addend.
|
||
|
||
2019-07-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24785
|
||
* elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
|
||
size before reading first word.
|
||
|
||
2019-07-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24717
|
||
* elf.c (is_debuginfo_file): New function.
|
||
(assign_file_positions_for_non_load_sections): Do not warn about
|
||
allocated sections outside of loadable segments if they are found
|
||
in a debuginfo file.
|
||
* elf-bfd.h (is_debuginfo_file): Prototype.
|
||
|
||
2019-07-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24753
|
||
* compress.c (bfd_get_full_section_contents): Do not complain
|
||
about linker created sections that are larger than the file size.
|
||
|
||
2019-07-02 Christophe Lyon <christophe.lyon@linaro.org>
|
||
|
||
* bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
|
||
(elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
|
||
for CMSE stubs.
|
||
(arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
|
||
|
||
2019-07-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||
|
||
* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
|
||
sections when .text section contain secure entry functions
|
||
is marked.
|
||
|
||
2019-07-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 23839
|
||
* elf32-arm.c (elf32_arm_update_relocs): Do not include the
|
||
section VMA in the offset used to update exidx relocs.
|
||
|
||
2019-06-28 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24708
|
||
* elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
|
||
large version reference section.
|
||
* compress.c (bfd_get_full_section_contents): Check for an
|
||
uncompressed section whose size is larger than the file size.
|
||
|
||
2019-06-28 Alan Modra <amodra@gmail.com>
|
||
|
||
* format.c (bfd_check_format_matches): Don't match plugin target
|
||
if another target matches. Expand comment.
|
||
* targets.c (_bfd_target_vector): Move plugin_vec after all other
|
||
non-corefile targets, outside !SELECT_VECS.
|
||
* config.bfd: Don't handle targ=plugin here.
|
||
* configure.ac: Don't add plugin to enable_targets or handle in
|
||
target loop setting selvecs and other target vars.
|
||
* configure: Regenerate.
|
||
|
||
2019-06-26 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24703
|
||
* mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
|
||
messages for failures.
|
||
* mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
|
||
if returning an error value.
|
||
|
||
2019-06-25 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* elf-properties.c (elf_find_and_remove_property): Rename last
|
||
parameter. Mention it in comment.
|
||
|
||
2019-06-24 Ilia Diachkov <ilia.diachkov@optimitech.com>
|
||
|
||
* elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
|
||
SEC_MERGE or SEC_CODE flags are set.
|
||
(_bfd_riscv_relax_section): New local symtype. Set sym_sec and
|
||
symtype consistently. Don't include sec_addr (sym_sec) in symval.
|
||
Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
|
||
Add sec_addr (sym_sec) after handling merge sections.
|
||
|
||
2019-06-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24721
|
||
* elf-properties.c (elf_merge_gnu_property_list): Remove the
|
||
property after reporting property removal.
|
||
|
||
2019-06-23 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24704
|
||
* elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
|
||
(ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
|
||
Reduce range of offsets allowed for other GOT relocs.
|
||
|
||
2019-06-23 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24689
|
||
* elfcode.h (elf_object_p): Warning fix.
|
||
|
||
2019-06-21 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24689
|
||
* elfcode.h (elf_object_p): Check type of e_shstrndx section.
|
||
|
||
2019-06-19 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24697
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
|
||
R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset.
|
||
|
||
2019-06-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
|
||
functions that require r2 valid to use local entry.
|
||
(ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
|
||
|
||
2019-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
|
||
(elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
|
||
with elfNN_aarch64_allocate_local_dynrelocs.
|
||
|
||
2019-06-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
|
||
|
||
2019-06-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2019-06-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c: Fix comments involving paddi.
|
||
|
||
2019-06-12 Adam Lackorzymski <adam@os.inf.tu-dresden.de>
|
||
|
||
PR 24643
|
||
* elf32-arm.c (arm_elf_find_function): Fail if the symol table is
|
||
absent, or the bfd is not in the ELF formart.
|
||
* elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
|
||
|
||
2019-06-10 Christos Zoulas <christos@zoulas.com>
|
||
|
||
PR 24650
|
||
* elf.c (elfcore_make_auxv_note_section): New function.
|
||
(elfcore_grok_note): Use it.
|
||
(elfcore_grok_freebsd_note): Likewise.
|
||
(elfcore_grok_openbsd_note): Likewise.
|
||
(elfcore_grok_netbsd_note): Likewise. Plus add support for
|
||
NT_NETBSDCORE_AUXV notes.
|
||
|
||
2019-06-06 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
|
||
alignment of the new gnu property section.
|
||
|
||
2019-06-06 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* bfd-in.h: Change comment.
|
||
* bfd-in2.h: Regenerate.
|
||
* elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
|
||
Likwise.
|
||
|
||
2019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
|
||
Remove overflow check.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* cofflink.c (coff_link_check_archive_element): Don't assume
|
||
element is a coff object file after calling add_archive_element.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
|
||
attempt to set sh_entsize for excluded PLT section.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
|
||
to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
|
||
allocated in alpha_dynamic_entries_for_reloc.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
|
||
on NULL output_section.
|
||
* elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
|
||
entry when MUST_FIND. Abort when MUST_FIND not found.
|
||
(elf_m68k_get_bfd2got_entry): Likewise.
|
||
(elf_m68k_relocate_section): Remove now useless assert.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
|
||
from bfd_link_info, not an output section owner.
|
||
(elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
|
||
(elf_hppa_final_link_relocate): Likewise.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
|
||
create_object_symbols_section, obj_textsec, obj_datasec or
|
||
obj_bsssec. Fix other errors in placement.
|
||
* config.bfd: Obsolete tic30-aout.
|
||
|
||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* dwarf2.c (save_section_vma, section_vma_same): Check for NULL
|
||
end of section list as well as section_count.
|
||
* xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
|
||
section list before returning error.
|
||
|
||
2019-05-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf.c (bfd_elf_set_group_contents): Exit on zero size section.
|
||
|
||
2019-05-27 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24596
|
||
* linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
|
||
|
||
2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
|
||
(struct elf_aarch64_link_hash_table): Add variant_pcs member.
|
||
(elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
|
||
(elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
|
||
(elf_backend_merge_symbol_attribute): Define.
|
||
|
||
2019-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2019-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c: Comment on powerxx _notoc stub variants.
|
||
(LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
|
||
(PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
|
||
(struct ppc_link_hash_table): Add powerxx_stubs.
|
||
(ppc64_elf_check_relocs): Set powerxx_stubs.
|
||
(build_powerxx_offset, size_powerxx_offset),
|
||
(num_relocs_for_powerxx_offset),
|
||
(emit_relocs_for_powerxx_offset): New functions.
|
||
(plt_stub_size): Size powerxx stubs.
|
||
(ppc_build_one_stub): Emit powerxx stubs.
|
||
(ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
|
||
powerxx stubs.
|
||
|
||
2019-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
|
||
R_PPC64_GOT_PCREL34.
|
||
(xlate_pcrel_opt): New function.
|
||
(ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
|
||
(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
|
||
for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
|
||
|
||
2019-05-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
|
||
(BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
|
||
(BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
|
||
(BFD_RELOC_PPC64_PLT_PCREL34),
|
||
(BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
|
||
(BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
|
||
(BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
|
||
(BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
|
||
(BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
|
||
* elf64-ppc.c (PNOP): Define.
|
||
(ppc64_elf_howto_raw): Add reloc howtos for new relocations.
|
||
(ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
|
||
(ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
|
||
relocs.
|
||
(ppc64_elf_prefix_reloc): New function.
|
||
(struct ppc_link_hash_table): Add notoc_plt.
|
||
(is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
|
||
(is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
|
||
R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
|
||
(ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
|
||
has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
|
||
possible need for dynamic relocs on non-pcrel powerxx relocs.
|
||
(dec_dynrel_count): Handle non-pcrel powerxx relocs.
|
||
(ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
|
||
(toc_adjusting_stub_needed): Likewise.
|
||
(ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
|
||
(ppc64_elf_relocate_section): Handle new powerxx relocs.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
|
||
* configure.ac: Set target_size=64 for bpf_elf64_le_vec and
|
||
bpf_elf64_be_vec.
|
||
* configure: Regenerate.
|
||
|
||
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||
|
||
* configure: Regenerated.
|
||
* Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
|
||
(ALL_MACHINES_CFILES): Add cpu-bpf.c.
|
||
(BFD64_BACKENDS): Add elf64-bpf.lo.
|
||
(BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
|
||
* Makefile.in (SOURCE_HFILES): Regenerate.
|
||
* config.bfd (targ_cpu): Handle bpf-*-* targets.
|
||
* cpu-bpf.c: New file.
|
||
* elf64-bpf.c: Likewise.
|
||
* targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
|
||
bpf_elf64_le_vec.
|
||
* archures.c: Define architecture bfd_arch_bpf and machine
|
||
bfd_arch_bpf.
|
||
* reloc.c: Define BFD relocations used by the BPF target.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Likewise.
|
||
|
||
2019-05-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-arm.c (arm_allocate_glue_section_space): Clear section
|
||
contents.
|
||
|
||
2019-05-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
|
||
processing on "size error in section".
|
||
|
||
2019-05-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* som.c (som_bfd_free_cached_info): Call
|
||
_bfd_generic_close_and_cleanup.
|
||
|
||
2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
|
||
for TLS_TPREL_HI16(/LO16) relocations in shared library.
|
||
|
||
2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
|
||
checks. Search the RELA table for n64 relocations.
|
||
|
||
2019-05-21 Matthew Fortune <matthew.fortune@mips.com>
|
||
Faraz Shahbazker <fshahbazker@wavecomp.com>
|
||
|
||
* elfxx-mips.c (LA25_BC): New macro.
|
||
(mips_elf_link_hash_table)<compact_branches>: New field.
|
||
(STUB_JALRC): New macro.
|
||
(mipsr6_o32_exec_plt0_entry_compact): New array.
|
||
(mipsr6_n32_exec_plt0_entry_compact): Likewise.
|
||
(mipsr6_n64_exec_plt0_entry_compact): Likewise.
|
||
(mipsr6_exec_plt_entry_compact): Likewise.
|
||
(mips_elf_create_la25_stub): Use BC instead of J for stubs
|
||
when compact_branches is true.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
|
||
PLT for MIPSR6 with compact_branches. Do not reorder the
|
||
compact branches PLT. Switch the lazy stub for MIPSR6
|
||
with compact_branches to use JALRC.
|
||
(mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
|
||
when compact_branches is true.
|
||
(_bfd_mips_elf_compact_branches): New function.
|
||
* elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
|
||
|
||
2019-05-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR ld/24373
|
||
* elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
|
||
Fix print formatter.
|
||
|
||
2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
PR 24460
|
||
* elf32-arm.c (get_value_helper): Remove.
|
||
(elf32_arm_final_link_relocate): Fix branch future relocations.
|
||
|
||
2019-05-21 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR ld/24373
|
||
* bfd-in.h (enum erratum_84319_opts): New
|
||
(bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
|
||
int to enum erratum_84319_opts.
|
||
* bfd-in2.h: Regenerate.
|
||
* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
|
||
fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
|
||
(_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
|
||
(aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
|
||
(_bfd_aarch64_resize_stubs): Amend comment.
|
||
(elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
|
||
requested.
|
||
(bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
|
||
(_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
|
||
erratum workaround.
|
||
(clear_erratum_843419_entry): Update erratum conditional.
|
||
|
||
2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
|
||
|
||
PR ld/24571
|
||
* bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
|
||
when computing distance_short_enough.
|
||
|
||
2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
|
||
|
||
PR ld/24564
|
||
* bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
|
||
Wrap around even if distance equals avr_pc_wrap_around.
|
||
|
||
2019-05-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||
|
||
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
|
||
|
||
2019-05-16 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-arm.c (elf32_arm_write_section): Revert last change.
|
||
|
||
2019-05-15 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-arm.c (elf32_arm_write_section): Don't leave
|
||
error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
|
||
unitialised section contents.
|
||
|
||
2019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
|
||
|
||
PR 19921
|
||
* verilog.c: (VerilogDataWidth): New variable.
|
||
(verilog_write_record): Emit bytes in VerilogDataWidth bundles.
|
||
|
||
2019-05-08 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24523
|
||
* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
|
||
rather than FALSE if encountering a non-ELF file.
|
||
|
||
2019-05-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
|
||
|
||
2019-05-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
|
||
(BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
|
||
Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2019-05-04 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24511
|
||
* syms.c (coff_section_type): Only allow '.', '$' and numeric
|
||
following the standard section names.
|
||
(bfd_decode_symclass): Prioritize section flag tests in
|
||
decode_section_type before name tests in coff_section_type.
|
||
* plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
|
||
and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
|
||
their names and choose standard .text section flags for
|
||
fake_section.
|
||
|
||
2019-05-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24493
|
||
* coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
|
||
.gnu.debugaltlink sections as debugging sections.
|
||
|
||
2019-04-30 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
|
||
(struct _ppc64_elf_section_data): Likewise.
|
||
(ppc64_elf_check_relocs): Set above fields.
|
||
(ppc64_elf_edit_toc): Add a pass over GOT relocs.
|
||
(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
|
||
when possible.
|
||
|
||
2019-04-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24486
|
||
* elflink.c (elf_link_output_extsym): Don't complain undefined
|
||
weak dynamic reference.
|
||
|
||
2019-04-25 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
|
||
(PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
|
||
(PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
|
||
(PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
|
||
(elfNN_aarch64_small_plt0_pac_entry): Remove.
|
||
(elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
|
||
(elfNN_aarch64_small_plt0_bti_entry): Update.
|
||
(elfNN_aarch64_small_plt_bti_entry): Update.
|
||
(elfNN_aarch64_small_plt_pac_entry): Update.
|
||
(elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
|
||
(setup_plt_values): Setup new entries.
|
||
(elfNN_aarch64_finish_dynamic_sections): Remove size change.
|
||
(elfNN_aarch64_plt_sym_val): Likewise.
|
||
|
||
2019-04-22 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
|
||
|
||
2019-04-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-s12z.c (elf_backend_can_gc_sections): Don't define
|
||
|
||
2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
|
||
building shared object.
|
||
* elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
|
||
|
||
2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24458
|
||
* elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
|
||
linker_def.
|
||
|
||
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
|
||
relocation.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Likewise.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Regenerated.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Likewise.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Regenerated.
|
||
* elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
|
||
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
|
||
and R_ARM_THM_BF12 together.
|
||
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
|
||
* libbfd.h: Regenerated.
|
||
* bfd-in2.h: Regenerated.
|
||
* bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
|
||
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
|
||
and R_ARM_THM_BF18 together.
|
||
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Regenerated.
|
||
* bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
|
||
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
|
||
and R_ARM_THM_BF16 together.
|
||
(get_value_helper): New reloc helper.
|
||
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
|
||
|
||
2019-04-15 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* archures.c (bfd_mach_arm_8_1M_MAIN): Define.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
|
||
* elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
|
||
and update assert.
|
||
(using_thumb2): Likewise.
|
||
(using_thumb2_bl): Update assert.
|
||
(arch_has_arm_nop): Likewise.
|
||
(bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
|
||
(tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
|
||
|
||
2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-linker-x86.h (elf_x86_cet_report): New.
|
||
(elf_linker_x86_params): Add cet_report.
|
||
* elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
|
||
missing IBT and SHSTK properties if needed.
|
||
|
||
2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24436
|
||
* elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
|
||
"h != NULL". Don't check "h != NULL" before calling.
|
||
bfd_elf_gc_record_vtentry.
|
||
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
|
||
* elf32-bfin.c (bfin_check_relocs): Likewise.
|
||
* elf32-cris.c (cris_elf_check_relocs): Likewise.
|
||
* elf32-csky.c (csky_elf_check_relocs): Likewise.
|
||
* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
|
||
* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
|
||
* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
|
||
* elf32-frv.c (elf32_frv_check_relocs): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
|
||
* elf32-i386.c (elf_i386_check_relocs): Likewise.
|
||
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
|
||
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
|
||
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
|
||
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
|
||
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
|
||
* elf32-metag.c (elf_metag_check_relocs): Likewise.
|
||
* elf32-or1k.c (or1k_elf_check_relocs): Likewise.
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
|
||
* elf32-s390.c (elf_s390_check_relocs): Likewise.
|
||
* elf32-sh.c (sh_elf_check_relocs): Likewise.
|
||
* elf32-v850.c (v850_elf_check_relocs): Likewise.
|
||
* elf32-vax.c (elf_vax_check_relocs): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
|
||
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
|
||
* elf64-s390.c (elf_s390_check_relocs): Likewise.
|
||
* elf64-x86-64.c (elf_s390_check_relocs): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
|
||
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
|
||
* elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
|
||
VTENTRY entry.
|
||
|
||
2019-04-11 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24435
|
||
* elflink.c (elf_link_add_object_symbols): Don't read partial
|
||
dynamic entries from fuzzed objects.
|
||
|
||
2019-04-11 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR ld/24302
|
||
* elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
|
||
DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
|
||
(elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
|
||
|
||
2019-04-10 Michael Forney <mforney@mforney.org>
|
||
|
||
PR 24427
|
||
* doc/chew.c (free_words): Correctly free "push_text" strings.
|
||
|
||
2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
|
||
|
||
2019-04-08 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure.ac (elfxx_x86): Define and use.
|
||
* configure: Regenerate.
|
||
|
||
2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-linker-x86.h: New file.
|
||
* elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
|
||
to get x86-specific linker options.
|
||
* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
|
||
(elf_x86_64_check_relocs): Likewise.
|
||
(elf_x86_64_relocate_section): Likewise.
|
||
(elf_x86_64_link_setup_gnu_properties): Likewise.
|
||
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
|
||
(_bfd_x86_elf_link_setup_gnu_properties): Likewise.
|
||
(_bfd_elf_linker_x86_set_options): New function.
|
||
* elfxx-x86.h: Include "elf-linker-x86.h".
|
||
(elf_x86_link_hash_table): Add params.
|
||
|
||
2019-04-03 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
|
||
* elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
|
||
* elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
|
||
* elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
|
||
* elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
|
||
* pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
|
||
|
||
2019-04-02 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR 24389
|
||
* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
|
||
ELF header flags to after check for ELF object file. Loop through
|
||
sections looking for code sections, if none, then skip ABI checks.
|
||
|
||
2019-03-30 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
|
||
rd == X_RA case.
|
||
|
||
2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
|
||
|
||
* elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
|
||
info->export_dynamic to the conditional.
|
||
|
||
2019-03-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24392
|
||
* configure.ac: Invoke AC_CHECK_SIZEOF(int).
|
||
* configure: Regenerate.
|
||
* coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
|
||
workaround with SIZEOF_LONG vs. SIZEOF_INT check.
|
||
* elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
|
||
* elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
|
||
* mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
|
||
|
||
2019-03-21 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR 24365
|
||
* elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
|
||
verify sym non-NULL before using. Add identical check using h.
|
||
|
||
2019-03-21 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add argument to
|
||
merge_gnu_properties.
|
||
* elf-properties.c (elf_merge_gnu_properties): Add argument to
|
||
itself and while calling bed->merge_gnu_properties.
|
||
(elf_merge_gnu_property_list): Update the calls for
|
||
elf_merge_gnu_properties.
|
||
* elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
|
||
of --force-bti warning and add argument.
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
|
||
warning.
|
||
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
|
||
* elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
|
||
declaration.
|
||
|
||
2019-03-20 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
|
||
* elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
|
||
(elf_backend_fixup_gnu_properties): Define for AArch64.
|
||
|
||
2019-03-18 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24355
|
||
* elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
|
||
for local iplt syms with ent->plt.offset == -1. Remove ineffective
|
||
attempt at writing glink stubs only once.
|
||
|
||
2019-03-16 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24337
|
||
* elf.c (_bfd_elf_rela_local_sym): Revert last change.
|
||
(_bfd_elf_rel_local_sym): Likewise.
|
||
* elflink.c (elf_link_input_bfd): Use bfd_und_section for
|
||
section of symbols with unrecognized shndx.
|
||
|
||
2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24267
|
||
* coffgen.c (_bfd_coff_section_already_linked): Skip discarded
|
||
section.
|
||
* cofflink.c (coff_link_add_symbols): Check for symbols defined
|
||
in discarded section.
|
||
|
||
2019-03-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24339
|
||
* elflink.c (elf_link_add_object_symbols): Bail out on a local
|
||
symbol after globals if elf_bad_symtab is not set.
|
||
|
||
2019-03-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24337
|
||
* elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
|
||
(_bfd_elf_rel_local_sym): Likewise.
|
||
|
||
2019-03-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24336
|
||
* elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
|
||
object files with sh_size not a multiple of sh_entsize.
|
||
|
||
2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24338
|
||
* elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
|
||
input with bad relocation.
|
||
|
||
22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
|
||
|
||
2019-03-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24334
|
||
* dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
|
||
(save_section_vma): Initialise field to the number of entries in
|
||
the sec_vma table.
|
||
(section_vma_same): Check that the number of entries in the
|
||
sec_vma table matches the number of sections in the bfd.
|
||
|
||
2019-03-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24333
|
||
* elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
|
||
section owner pointer when adding the default symbol.
|
||
|
||
2019-03-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24332
|
||
* elflink.c (elf_link_add_object_symbols): Add new local variable
|
||
extversym_end. Initialise it to point to the end of the version
|
||
symbol table, if present. Check it when initialising and updating
|
||
the ever pointer.
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
|
||
(PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
|
||
(setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
|
||
(elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
|
||
and PLT_PAC_PLT.
|
||
(elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
|
||
(get_plt_type): Add case for DT_AARCH64_PAC_PLT.
|
||
(elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
|
||
(aarch64_bti_pac_info): New.
|
||
(bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
|
||
(bfd_elf32_aarch64_set_options): Likewise.
|
||
* bfd-in2.h: Regenerate
|
||
* elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
|
||
(PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
|
||
(elfNN_aarch64_small_plt0_bti_entry): New.
|
||
(elfNN_aarch64_small_plt_bti_entry): New.
|
||
(elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
|
||
(elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
|
||
(elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
|
||
tlsdesc_plt_entry_size fields.
|
||
(elfNN_aarch64_link_hash_table_create): Initialise the new fields.
|
||
(setup_plt_values): New helper function.
|
||
(bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
|
||
bti enable type.
|
||
(elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
|
||
fixed macros.
|
||
(elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
|
||
(elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
|
||
to plt stubs instead of fixed ones and update filling them according
|
||
to the need for bti.
|
||
(elfNN_aarch64_init_small_plt0_entry): Likewise.
|
||
(elfNN_aarch64_finish_dynamic_sections): Likewise.
|
||
(get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
|
||
(elfNN_aarch64_plt_sym_val): Update size accordingly.
|
||
(elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
|
||
is set.
|
||
(bfd_elfNN_get_synthetic_symtab): Define.
|
||
(elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
|
||
and mising BTI NOTE SECTION.
|
||
|
||
|
||
2019-03-13 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
|
||
linker created inputs from merge.
|
||
* elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
|
||
GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
|
||
(elfNN_aarch64_link_setup_gnu_properties): New.
|
||
(elfNN_aarch64_merge_gnu_properties): New.
|
||
(elf_backend_setup_gnu_properties): Define for AArch64.
|
||
(elf_backend_merge_gnu_properties): Likewise.
|
||
* elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
|
||
(_bfd_aarch64_elf_parse_gnu_properties): Define.
|
||
(_bfd_aarch64_elf_merge_gnu_properties): Define.
|
||
* elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
|
||
(_bfd_aarch64_elf_parse_gnu_properties): Declare.
|
||
(_bfd_aarch64_elf_merge_gnu_properties): Declare.
|
||
(elf_backend_parse_gnu_properties): Define for AArch64.
|
||
|
||
2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24322
|
||
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
|
||
merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
|
||
|
||
2019-03-12 Alan Modra <amodra@gmail.com>
|
||
|
||
* coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
|
||
nmemb parameter. Use bfd_alloc2.
|
||
(coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
|
||
Delete assertion.
|
||
(coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
|
||
(coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
|
||
* coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
|
||
doesn't overflow.
|
||
* elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
|
||
(assign_section_numbers): Style fix.
|
||
(swap_out_syms): Use bfd_malloc2.
|
||
(_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
|
||
overflow.
|
||
(_bfd_elf_make_empty_symbol): Style fix.
|
||
(elfobj_grok_stapsdt_note_1): Formatting.
|
||
* elfcode.h (elf_object_p): Use bfd_alloc2.
|
||
(elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
|
||
(elf_slurp_symbol_table): Use bfd_zalloc2.
|
||
(elf_slurp_reloc_table): Use bfd_alloc2.
|
||
(_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
|
||
* elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
|
||
size calculation doesn't overflow.
|
||
(elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
|
||
* mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
|
||
* pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
|
||
|
||
2019-03-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24311
|
||
* merge.c (merge_strings): Return secinfo. Don't pad section
|
||
to alignment here.
|
||
(_bfd_merge_sections): Pad section to alignment here, if input
|
||
sections contributing to merged output all pad to alignment.
|
||
Formatting.
|
||
|
||
2019-03-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
|
||
table pointer.
|
||
* coffgen.c (coff_find_nearest_line_with_names): Do not call
|
||
_bfd_dwarf2_find_symbol_bias if there is no symbol table available.
|
||
|
||
2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
|
||
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
|
||
|
||
PR 20113
|
||
* elf32-s390.c (allocate_dynrelocs): Update comment.
|
||
|
||
2019-02-28 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
|
||
|
||
2019-02-28 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 24273
|
||
* elf.c (bfd_elf_string_from_elf_section): Check for a string
|
||
section that is not NUL terminated.
|
||
|
||
2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24276
|
||
* elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
|
||
by linker when checking copy reloc on protected symbol.
|
||
|
||
2019-02-24 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24144
|
||
* pdp11.c (set_section_contents): Revert 2015-02-24 change.
|
||
|
||
2019-02-20 Eric Tsai <erictsai@cadence.com>
|
||
|
||
* elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
|
||
sections between the call site and call destination and adjust
|
||
call distance by the largest alignment.
|
||
|
||
2019-02-20 Alan Hayward <alan.hayward@arm.com>
|
||
|
||
* elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
|
||
* elf.c (elfcore_grok_aarch_pauth): New function.
|
||
(elfcore_grok_note): Check for NT_ARM_PAC_MASK.
|
||
(elfcore_write_aarch_pauth): New function.
|
||
(elfcore_write_register_note): Check for AArch64 pauth section.
|
||
|
||
2019-02-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24225
|
||
* elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
|
||
return value.
|
||
|
||
2019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
|
||
|
||
* configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
|
||
Darwin hosts, not just or1k.
|
||
* configure: Regenerate.
|
||
|
||
2019-02-20 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24236
|
||
* archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
|
||
sentinel NUL to string buffer nearer to loop where it is used.
|
||
Don't go past sentinel when scanning strings, and don't write
|
||
NUL again.
|
||
* archive.c (do_slurp_coff_armap): Simplify string handling to
|
||
archive64.c style.
|
||
|
||
2019-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24235
|
||
* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
|
||
attempting to prevent read past end of section.
|
||
|
||
2019-02-18 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24225
|
||
* elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
|
||
PRIx64 to generate warning messages. Print local sym names too.
|
||
|
||
2019-02-09 Vineet Gupta <vgupta@synopsys.com>
|
||
|
||
* elf32-arc (INIT_SYM_STRING): Delete.
|
||
(FINI_SYM_STRING): Likewise.
|
||
(init_str): Likewise.
|
||
(fini_str): Likewise.
|
||
|
||
2019-02-08 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
|
||
for bss-plt" warning to make it an error.
|
||
|
||
2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ld/18841
|
||
* elf32-sparc.c (elf32_sparc_reloc_type_class): Return
|
||
reloc_class_ifunc for ifunc symbols.
|
||
* elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
|
||
|
||
2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
|
||
<R_VISIUM_PC16>: Use explicit range test to detect an overflow.
|
||
|
||
2019-02-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
|
||
into the definitely obsolete list.
|
||
|
||
2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/24151
|
||
* elf64-x86-64.c (elf_x86_64_need_pic): Check
|
||
SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
|
||
(elf_x86_64_relocate_section): Move PIC check for PC-relative
|
||
relocations to ...
|
||
(elf_x86_64_check_relocs): Here.
|
||
(elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
|
||
to check if a symbol is defined in a non-shared object.
|
||
* elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
|
||
|
||
2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
|
||
of 'labs' (and fix GCC warning).
|
||
|
||
2019-01-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/ru.po: Updated Russian translation.
|
||
|
||
2019-01-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2019-01-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/pt.po: Updated Portuguese translation.
|
||
* po/uk.po: Updated Ukranian translation.
|
||
|
||
2019-01-21 Yuri Chornoivan <yurchor@ukr.net>
|
||
|
||
PR 24108
|
||
* elf32-nds32.c (nds32_relocate_section): Add space between words
|
||
in error message.
|
||
* elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
|
||
error message.
|
||
(riscv_i_or_e_p): Likewise.
|
||
(riscv_merge_arch_attr_info): Likewise.
|
||
|
||
2019-01-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
* version.m4: Reset to 2.32.51
|
||
* configure: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
|
||
2018-06-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
2.32 branch created.
|
||
|
||
2019-01-16 Kito Cheng <kito@andestech.com>
|
||
|
||
* elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
|
||
for OBJ_ATTR_PROC.
|
||
|
||
2019-01-16 Kito Cheng <kito@andestech.com>
|
||
Nelson Chu <nelson@andestech.com>
|
||
|
||
* elfnn-riscv.c (in_subsets): New.
|
||
(out_subsets): Likewise.
|
||
(merged_subsets): Likewise.
|
||
(riscv_std_ext_p): Likewise.
|
||
(riscv_non_std_ext_p): Likewise.
|
||
(riscv_std_sv_ext_p): Likewise.
|
||
(riscv_non_std_sv_ext_p): Likewise.
|
||
(riscv_version_mismatch): Likewise.
|
||
(riscv_i_or_e_p): Likewise.
|
||
(riscv_merge_std_ext): Likewise.
|
||
(riscv_merge_non_std_and_sv_ext): Likewise.
|
||
(riscv_merge_arch_attr_info): Likewise.
|
||
(riscv_merge_attributes): Likewise.
|
||
(_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
|
||
|
||
* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
|
||
(elf_backend_obj_attrs_vendor): Define.
|
||
(elf_backend_obj_attrs_section_type): Likewise.
|
||
(elf_backend_obj_attrs_section): Likewise.
|
||
(elf_backend_obj_attrs_arg_type): Define as
|
||
riscv_elf_obj_attrs_arg_type.
|
||
* elfxx-riscv.c (riscv_estimate_digit): New.
|
||
(riscv_estimate_arch_strlen1): Likewise.
|
||
(riscv_estimate_arch_strlen): Likewise.
|
||
(riscv_arch_str1): Likewise.
|
||
(riscv_arch_str): Likewise.
|
||
* elfxx-riscv.h (riscv_arch_str): Declare.
|
||
|
||
2019-01-14 John Darrington <john@darrington.wattle.id.au>
|
||
|
||
* bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
|
||
* libbfd.h: regen.
|
||
* elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
|
||
source field. (md_apply_fix): Apply final fix
|
||
to BFD_RELOC_S12Z_OPR.
|
||
* reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
|
||
|
||
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
|
||
|
||
PR 20113
|
||
* elf32-s390.c (allocate_dynrelocs): Update comment.
|
||
|
||
2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
|
||
|
||
* warning.m4: Adjust egrep pattern for non-GNU compilers.
|
||
* configure: Regenerate.
|
||
|
||
2019-01-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 23699
|
||
PR 24065
|
||
* ihex.c (ihex_write_object_contents): Properly check 32-bit
|
||
address range.
|
||
|
||
2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
|
||
|
||
* bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
|
||
* bfd/bfd-in2.h: Regenerate.
|
||
* bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
|
||
* bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
|
||
|
||
2019-01-04 Lifang Xia <lifang_xia@c-sky.com>
|
||
|
||
* config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
|
||
default target, little endian target is more suitable.
|
||
|
||
2019-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24061
|
||
PR 21786
|
||
* coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
|
||
adjust all callers.
|
||
(EQ_VALUE_IN_FIELD): Likewise.
|
||
* coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
|
||
|
||
2019-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2018
|
||
|
||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|