X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=c10c1e93c9abb9c948c7ed21c1c2372d1a9033e9;hb=164446e04c89c7f5d8fd3efd7874a1af01035d72;hp=d17767fd7a90bc086531064c9a056e57f85559a1;hpb=988b7300bc990abafd982bdcd217c58bc1e0679a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d17767fd7a..c10c1e93c9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,470 @@ +2020-05-19 Siddhesh Poyarekar + + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Club + BFD_RELOC_AARCH64_BRANCH19 and BFD_RELOC_AARCH64_TSTBR14 + cases with BFD_RELOC_AARCH64_JUMP26. + (elfNN_aarch64_check_relocs): Likewise. + +2020-05-19 Alan Modra + + * aix5ppc-core.c (xcoff64_core_file_matches_executable_p): Use + bfd_get_filename rather than accessing bfd->filename directly. + * aout-target.h (MY (object_p)): Likewise. + * aoutx.h (aout_find_nearest_line, aout_link_write_symbols): Likewise. + * archive.c (find_nested_archive, _bfd_generic_read_ar_hdr_mag), + (_bfd_construct_extended_name_table, _bfd_bsd44_write_ar_hdr), + (_bfd_archive_bsd44_construct_extended_name_table), + (_bfd_write_archive_contents, _bfd_compute_and_write_armap), + (_bfd_bsd_write_armap): Likewise. + * bfd.c (bfd_errmsg, _bfd_doprnt): Likewise. + * cache.c (bfd_open_file): Likewise. + * ecoff.c (_bfd_ecoff_write_armap): Likewise. + * ecofflink.c (bfd_ecoff_debug_accumulate_other): Likewise. + * elf32-bfin.c (bfinfdpic_relocate_section): Likewise. + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_final_link): Likewise. + * elf32-nds32.c (nds32_elf_output_symbol_hook), + (patch_tls_desc_to_ie): Likewise. + * elf32-spu.c (sort_bfds, print_one_overlay_section), + (spu_elf_auto_overlay): Likewise. + * elf64-hppa.c (elf_hppa_final_link): Likewise. + * elf64-ia64-vms.c (elf64_ia64_size_dynamic_sections): Likewise. + * elfcore.h (elf_core_file_matches_executable_p): Likewise. + * elflink.c (bfd_elf_size_dynamic_sections), + (elf_link_input_bfd): Likewise. + * linker.c (_bfd_generic_link_output_symbols): Likewise. + * mach-o.c (bfd_mach_o_follow_dsym), + (bfd_mach_o_close_and_cleanup): Likewise. + * opncls.c (_bfd_delete_bfd, _maybe_make_executable), + (find_separate_debug_file, get_build_id_name): Likewise. + * pdp11.c (aout_find_nearest_line, aout_link_write_symbols): Likewise. + * plugin.c (bfd_plugin_open_input): Likewise. + * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Likewise. + * som.c (som_write_armap): Likewise. + * srec.c (srec_write_record, srec_write_symbols): Likewise. + * vms-lib.c (_bfd_vms_lib_get_imagelib_file), + (_bfd_vms_lib_write_archive_contents): Likewise. + * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise. + +2020-05-19 Alan Modra + + PR 25713 + * bfdio.c (_bfd_real_fopen): Typo fix. + +2020-05-18 Nick Clifton + + PR 26005 + * elf.c (bfd_section_from_shdr): Use bfd_malloc to allocate memory + for the sections_being_created array. + +2020-05-18 Alan Modra + + * ecoff.c (ecoff_slurp_reloc_table): Malloc external_relocs so + they can be freed without also freeing internal_relocs. + +2020-05-18 Jaydeep Chauhan + + PR 25713 + * bfdio.c (_bfd_real_fopen): Convert UNIX style sirectory + separators into DOS style when creating a WIN32 fullpath. + +2020-05-14 Nelson Chu + + * elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this + to initialize RISC-V tdata. + +2020-05-12 Gunther Nikl + + * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported + relocation size. + +2020-05-11 Alan Modra + + * elf64-ppc.c (xlate_pcrel_opt): Handle lxvp and stxvp. + +2020-05-11 Alan Modra + + * elf64-ppc.c: Rename powerxx to power10 throughout. + +2020-05-11 Alan Modra + + PR 25961 + * coffgen.c (coff_get_normalized_symtab): Check that buffer + contains required number of auxents before processing any auxent. + * coffswap.h (coff_swap_aux_in ): Only swap in extended + file name from auxents for PE. + +2020-05-04 Gunther Nikl + + * aout-cris.c (DEFAULT_ARCH): Delete define. + (MY_set_arch_mach): Likewise. + (SET_ARCH_MACH): Use bfd_set_arch_mach with an explicit architecture + of bfd_arch_cris. + (swap_ext_reloc_in): Add casts to r_index extraction. Mask valid bits + of r_type before the shift. + +2020-05-04 Wilco Dijkstra + + PR ld/25665 + * elfnn-aarch64.c (group_sections): Copy implementation from + elf32-arm.c. + +2020-05-01 Alan Modra + + PR 25900 + * elfnn-riscv.c (_bfd_riscv_relax_section): Check root.type before + accessing root.u.def of symbols. Also check root.u.def.section + is non-NULL. Reverse tests so as to make the logic positive. + +2020-05-01 Alan Modra + + PR 25882 + * elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer + Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output. + +2020-05-01 Alan Modra + + PR 25882 + * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Add FIXME. + * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise. + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise. + * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise. + * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise. + * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise. + * elf32-sh.c (sh_elf_merge_private_data): Likewise. + * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise. + * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise. + * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise. + +2020-05-01 Alan Modra + + PR 25882 + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags + from shared libraries. + +2020-04-29 Max Filippov + + * elf32-xtensa.c (relax_section): Don't negate diff_value for + XTENSA_NDIFF relocations. Don't add sign bits whe diff_value + equals 0. Report overflow when the result has negative sign but + all significant bits are zero. + +2020-04-29 Gunther Nikl + + * aoutx.h (swap_std_reloc_out): Special case 64 bit relocations. + (aout_link_reloc_link_order): Likewise. Make r_length an unsigned. + +2020-04-28 Alan Modra + + * vms-alpha.c (_bfd_vms_slurp_etir): Correct divide by zero check. + Emit warning message. + +2020-04-27 Tamar Christina + + * coff-i386.c (COFF_WITH_PE_BIGOBJ): New. + * coff-x86_64.c (COFF_WITH_PE_BIGOBJ): New. + * config.bfd (targ_selvecs): Rename x86_64_pe_be_vec + to x86_64_pe_big_vec as it not a big-endian format. + (vec i386_pe_big_vec): New. + * configure.ac: Likewise. + * targets.c: Likewise. + * configure: Regenerate. + * pe-i386.c (TARGET_SYM_BIG, TARGET_NAME_BIG, + COFF_WITH_PE_BIGOBJ): New. + * pe-x86_64.c (TARGET_SYM_BIG, TARGET_NAME_BIG): + New. + (x86_64_pe_be_vec): Moved. + +2020-04-23 Anton Kolesov + + * elf-bfd.h (elfcore_write_arc_v2): Add prototype. + * elf.c (elfcore_grok_arc_v2): New function. + (elfcore_grok_note): Call the new function to handle the corresponding + note. + (elfcore_write_arc_v2): New function. + (elfcore_write_register_note): Call the new function to handle the + corresponding pseudo-sections. + +2020-04-22 Max Filippov + + PR ld/25861 + * bfd-in2.h: Regenerated. + * elf32-xtensa.c (elf_howto_table): New entries for + R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}. + (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc) + (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and + R_XTENSA_NDIFF{8,16,32}. + * libbfd.h (bfd_reloc_code_real_names): Add names for + BFD_RELOC_XTENSA_PDIFF{8,16,32} and + BFD_RELOC_XTENSA_NDIFF{8,16,32}. + * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32} + and BFD_RELOC_XTENSA_NDIFF{8,16,32}. + +2020-04-21 Tamar Christina + + PR binutils/24753 + * compress.c (bfd_get_full_section_contents): Exclude sections with no + content. + +2020-04-21 H.J. Lu + + PR ld/25849 + * elf-bfd.h (elf_backend_data): Add + elf_backend_strip_zero_sized_dynamic_sections. + (_bfd_elf_strip_zero_sized_dynamic_sections): New prototype. + * elf64-alpha.c (elf_backend_strip_zero_sized_dynamic_sections): + New macro. + * elflink.c (_bfd_elf_strip_zero_sized_dynamic_sections): New + function. + * elfxx-target.h (elf_backend_strip_zero_sized_dynamic_sections): + New macro. + (elfNN_bed): Add elf_backend_strip_zero_sized_dynamic_sections. + +2020-04-21 H.J. Lu + + * elf64-alpha.c (alpha_elf_reloc_entry): Replace reltext with + sec. + (elf64_alpha_check_relocs): Set sec instead of reltext. Warn + DT_TEXTREL with -M. + (elf64_alpha_calc_dynrel_sizes): Warn DT_TEXTREL with -M. + +2020-04-21 Nick Clifton + + * po/sr.po: Updated Serbian translation. + +2020-04-21 Alan Modra + + * elf32-sh.c (sh_elf_relocate_section): Remove STO_SH5_ISA32 + processing. + +2020-04-20 Stephen Casner + + * pdp11.c (N_STAB): Modify value to avoid conflict with N_EXT + causing globals from linker script to be treated as debug symbols. + (translate_symbol_table): Don't sign-extend symbol values from 16 + to 64 bits in nm output. + +2020-04-20 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too. + +2020-04-18 Alan Modra + + * section.c (bfd_is_const_section): Correct test for special + sections. + * bfd-in2.h: Regenerate. + +2020-04-17 Alan Modra + + PR 25842 + * elf.c (_bfd_elf_get_symbol_version_string): Don't segfault on + NULL nodename. + +2020-04-16 Nick Clifton + + PR 25803 + * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Replace an + abort with a more helpful error message. + +2020-04-16 Alan Modra + + PR 25827 + * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't + strdup(0). + +2020-04-15 Fangrui Song + + PR binutils/24613 + * coff-rs6000.c (xcoff_ppc_relocate_section): Change RM_GENERATE_ERROR + to RM_DIAGNOSE plus a check of warn_unresolved_syms. + * coff64-rs6000.c (xcoff_ppc_relocate_section): Likewise. + * elf-bfd.h (_bfd_elf_large_com_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. + * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-spu.c (spu_elf_relocate_section): Likewise. + * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. + * elflink.c (elf_link_output_extsym): Likewise. + * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. + +2020-04-15 Alan Modra + + PR 25823 + * peXXigen.c (_bfd_XXi_swap_sym_in ): Don't use a + pointer into strings that may be freed for section name, always + allocate a new string. + +2020-04-14 Juan Manuel Guerrero + Jan W. Jagersma + + * coff-go32.c (COFF_GO32, IMAGE_SCN_LNK_NRELOC_OVFL) + (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define. + (_bfd_go32_swap_scnhdr_in, _bfd_go32_swap_scnhdr_out) + (_bfd_go32_mkobject): New functions. + * coff-stgo32.c (IMAGE_SCN_LNK_NRELOC_OVFL) + (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define. + (go32exe_mkobject): Call _bfd_go32_mkobject. + * coffcode.h (COFF_WITH_EXTENDED_RELOC_COUNTER): Define. + (coff_set_alignment_hook): Define function for COFF_GO32_EXE + and COFF_GO32. + (coff_write_relocs): Enable extended reloc counter code if + COFF_WITH_EXTENDED_RELOC_COUNTER is defined. Test for obj_go32. + (coff_write_object_contents): Likewise. Pad section headers + for COFF_GO32 and COFF_GO32EXE. Use bfd_coff_swap_scnhdr_out + instead of coff_swap_scnhdr_out. + * cofflink.c (_bfd_coff_final_link): Test also for obj_go32 to + enable extended reloc counter. + * coffswap.h: (coff_swap_scnhdr_in, coff_swap_scnhdr_out): + Declare with ATTRIBUTE_UNUSED. + * libcoff-in.h: (struct coff_tdata): New field go32. + (obj_go32): Define. + * libcoff.h: Regenerate. + +2020-04-14 Fangrui Song + + PR gas/25768 + * elf.c (assign_section_numbers): Always set .stab sh_entsize to + 12. + +2020-04-14 Stephen Casner + + PR ld/25677 + * pdp11.c: Add implementation of --imagic option. + (adjust_o_magic): Fix objcopy --extract-symbol test. + * libaout.h (enum aout_magic): Add i_magic. + +2020-04-07 Rainer Orth + Nick Clifton + + * elf32-sparc.c (sparc_final_write_processing): Fix whitespace. + <0>: Ignore. + : Error rather than abort. + +2020-04-03 H.J. Lu + + PR ld/25767 + * elf.c (_bfd_elf_fixup_group_sections): Remove zero-sized + relocation section from section group. + +2020-04-02 Jan W. Jagersma + + * bfdio.c (bfd_bread, bfd_tell, bfd_seek, bfd_mmap): Always add + bfd->origin to file offset. + * bfdwin.c (bfd_get_file_window): Likewise. + * bfd.c: Clarify the use of the bfd->origin field. + * bfd-in2.h: Regenerate. + * coff-i386.c: Don't include go32exe.h. Allow overriding + coff_write_object_contents via COFF_WRITE_CONTENTS. + * coff-stgo32.c (go32exe_cleanup, go32exe_mkobject) + (go32exe_write_object_contents): New functions. + (go32exe_temp_stub, go32exe_temp_stub_size): New static globals. + (COFF_WRITE_CONTENTS, GO32EXE_DEFAULT_STUB_SIZE): Define. + (create_go32_stub): Remove check for 2k size limit. Read stub + from go32exe_temp_stub if present. + (go32_stubbed_coff_bfd_copy_private_bfd_data): Allocate and + copy variable-length stub. + (go32_check_format): Read stub to go32exe_temp_stub, set + origin, return go32exe_cleanup. + (adjust_filehdr_in_post, adjust_filehdr_out_pre) + (adjust_filehdr_out_post, adjust_scnhdr_in_post) + (adjust_scnhdr_out_pre, adjust_scnhdr_out_post) + (adjust_aux_in_post, adjust_aux_out_pre, adjust_aux_out_post): + Remove functions and their associated #defines. + * coffcode.h (coff_mkobject_hook): Remove stub copying code. + * libcoff-in.h: (struct coff_tdata): New field stub_size. + Rename field go32stub to stub. + * libcoff.h: Regenerate. + * coff-stgo32.c (go32_check_format): Rename to... + (go32exe_check_format): ...this. + (go32_stubbed_coff_bfd_copy_private_bfd_data): Rename to... + (go32exe_copy_private_bfd_data): ...this. + (stub_bytes): Rename to... + (go32exe_default_stub): ...this. + (create_go32_stub): Rename to... + (go32exe_create_stub): ...this. + * coff-stgo32.c (go32exe_copy_private_bfd_data): Avoid realloc + when possible. + +2020-04-01 H.J. Lu + + PR ld/25749 + PR ld/25754 + * elf32-i386.c (elf_i386_convert_load_reloc): Convert load + relocation to R_386_32 for relocation against non-preemptible + absolute symbol. + (elf_i386_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Don't + allocate dynamic relocation for non-preemptible absolute symbol. + (elf_i386_relocate_section): Pass sec to + GENERATE_DYNAMIC_RELOCATION_P. + * elf64-x86-64.c (R_X86_64_converted_reloc_bit): Moved. + (elf_x86_64_convert_load_reloc): Covert load relocation to + R_X86_64_32S or R_X86_64_32 for relocation against non-preemptible + absolute symbol. Don't convert to R_X86_64_32S nor R_X86_64_32 + for non-preemptible absolute symbol if they overflow. + (elf_x86_64_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Set + tls_type for GOT slot to GOT_ABS for non-preemptible absolute + symbol. Don't allocate dynamic relocation for non-preemptible + absolute symbol. + (elf_x86_64_relocate_section): Don't generate relative relocation + for GOTPCREL relocations aganst local absolute symbol. Pass sec + to GENERATE_DYNAMIC_RELOCATION_P. + * elfxx-x86.c (elf_x86_allocate_dynrelocs): No dynamic relocation + against non-preemptible absolute symbol. + (_bfd_elf_x86_valid_reloc_p): New function. + (_bfd_x86_elf_size_dynamic_sections): No dynamic relocation for + GOT_ABS GOT slot. + * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Add an SEC + argument. Don't generate dynamic relocation against + non-preemptible absolute symbol. + (ABS_SYMBOL_P): New. + (GENERATE_RELATIVE_RELOC_P): Don't generate relative relocation + against non-preemptible absolute symbol. + (GOT_ABS): New. + (R_X86_64_converted_reloc_bit): New. Moved from elf64-x86-64.c. + (_bfd_elf_x86_valid_reloc_p): New. + +2020-04-01 Tamar Christina + + PR ld/16017 + * elf32-arm.c (elf32_arm_populate_plt_entry): Set LSB of the PLT0 + address in the GOT if in thumb only mode. + +2020-04-01 Tamar Christina + + * elf32-arm.c (elf32_thumb2_plt_entry): Fix PC-rel offset. + +2020-04-01 Hans-Peter Nilsson + + * mmo.c (mmo_scan): Create .text section only when needed, not + from the start. + +2020-03-31 Alan Modra + + * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Correct bfd_bread + return value check. + +2020-03-31 Alan Modra + + * vms-alpha.c (image_write): Check bounds for sections without + contents too. Error on non-zero write to section without + contents. + (_bfd_vms_slurp_etir): Check return of image_write* functions. + +2020-03-31 Alan Modra + + * tekhex.c (pass_over): Check is_eof before reading buffer. + +2020-03-30 Nick Clifton + + PR binutils/pr25662 + * libcoff-in.h (struct pe_tdata): Rename the insert_timestamp + field to timestamp and make it an integer. + * libcoff.h: Regenerate. + * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Test the timestamp + field in the pe_data structure rather than the insert_timestamp + field. + 2020-03-30 Alan Modra PR 25745