]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/ChangeLog
Re: MSP430: Support relocations for subtract expressions in .uleb128 directives
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
index aae0c4d02a58b06552005a88f8a081661609b9b2..180a894da97c40fbd148cc507e9342976e72f460 100644 (file)
@@ -1,3 +1,486 @@
+2020-09-09  Alan Modra  <amodra@gmail.com>
+
+       * libbfd-in.h (_bfd_write_unsigned_leb128): Declare.
+       * libbfd.h: Regenerate.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+           Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+       * bfd-in2.h (bfd_reloc_code_real): Add
+       BFD_RELOC_MSP430_{SET,SUB}_ULEB128.
+       * elf32-msp430.c (msp430_elf_ignore_reloc): New.
+       (elf_msp430_howto_table): Add R_MSP430{,X}_GNU_{SET,SUB}_ULEB128.
+       (msp430_reloc_map): Add R_MSP430_GNU_{SET,SUB}_ULEB128.
+       (msp430x_reloc_map): Add R_MSP430X_GNU_{SET,SUB}_ULEB128.
+       (write_uleb128): New.
+       (msp430_final_link_relocate): Handle R_MSP430{,X}_GNU_{SET,SUB}_ULEB128.
+       * libbfd.c (_bfd_write_unsigned_leb128): New.
+       * libbfd.h (_bfd_write_unsigned_leb128): New prototype.
+       Add BFD_RELOC_MSP430_{SET,SUB}_ULEB128.
+       * reloc.c: Document BFD_RELOC_MSP430_{SET,SUB}_ULEB128.
+
+2020-09-08  Alex Coplan  <alex.coplan@arm.com>
+
+       * archures.c (bfd_mach_aarch64_8R): New.
+       * bfd-in2.h: Regenerate.
+       * cpu-aarch64.c (bfd_aarch64_arch_v8_r): New.
+       (bfd_aarch64_arch_ilp32): Update tail pointer.
+
+2020-09-08  Alan Modra  <amodra@gmail.com>
+
+       PR 13250
+       PR 26580
+       * elflink.c (_bfd_elf_merge_symbol): Make "override" a bfd**.
+       Return oldbfd in override when old common should override new
+       common.
+       (_bfd_elf_add_default_symbol): Adjust to suit.
+       (elf_link_add_object_symbols): Likewise.  Pass "override" to
+       _bfd_generic_link_add_one_symbol.  Save and restore common u.c.p
+       field for --as-needed shared libraries.  Revert pr13250 changes.
+
+2020-09-08  Nick Clifton  <nickc@redhat.com>
+
+       * plugin.c (bfd_plugin_canonicalize_symtab): Handle the case of an
+       unrecognized symbol type in a weak definition.
+
+2020-09-04  Alan Modra  <amodra@gmail.com>
+
+       PR 26574
+       * elfcode.h (elf_object_p): Sanity check section header offset.
+       * elf.c (_bfd_elf_slurp_secondary_reloc_section): Sanity check
+       sh_entsize.
+
+2020-09-04  Alan Modra  <amodra@gmail.com>
+
+       PR 15146
+       PR 26314
+       PR 26530
+       * elflink.c (elf_link_add_object_symbols): Do set def_regular
+       and ref_regular for IR symbols.  Don't clear dynsym, allowing
+       IR symbols to load --as-needed shared libraries, but prevent
+       IR symbols from becoming dynamic.
+
+2020-09-03  Nick Clifton  <nickc@redhat.com>
+
+       PR 26521
+       * elf.c (_bfd_elf_write_secondary_reloc_section): Check for
+       secondary reloc sections with a zero sh_entsize field.
+
+2020-09-03  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_i_or_e_p): Minor cleanup for warnings/errors.
+       (riscv_merge_std_ext): Likewise.
+       (riscv_merge_arch_attr_info): Likewise.
+       (riscv_merge_attributes): Likewise and fix comment typos.
+
+2020-09-03  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_version_mismatch): Change the return type
+       from void to bfd_boolean.  Report warnings rather than errors
+       when the ISA versions are mis-matched.  Afterwards, remember to
+       update the output ISA versions to the newest ones.
+       (riscv_merge_std_ext): Allow to link objects with different
+       standard ISA versions.  Try to add output ISA versions to
+       merged_subsets first.
+       (riscv_merge_multi_letter_ext): Likewise.  But for standard additional
+       ISA and non-standard ISA versions.
+
+2020-09-03  Kito Cheng  <kito.cheng@sifive.com>
+
+       * elfnn-riscv.c (riscv_merge_std_ext): Fix to report the correct
+       error message when the versions of extension are mis-matched.
+       * elfxx-riscv.c (riscv_parse_subset): Don't issue the error when
+       the string is empty.
+
+2020-09-03  Alan Modra  <amodra@gmail.com>
+
+       * xcofflink.c (xcoff_get_archive_info): Allocate xcoff_archive_info
+       on the output bfd objalloc memory.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Correct type
+       of constant shifted left.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * elf32-pru.c (pru_elf32_do_ldi32_relocate): Use an unsigned
+       type for "relocation".
+
+2020-09-01  Alan Modra  <amodra@gmail.com>
+
+       * reloc.c (N_ONES): Handle N=0.
+       * elf32-arm.c (elf32_arm_howto_table_1): Set complain_overflow_dont
+       for R_ARM_TLS_DESCSEQ and R_ARM_THM_TLS_DESCSEQ.
+
+2020-09-01  Alan Modra  <amodra@gmail.com>
+
+       PR 26429
+       * elf32-arm.c (elf32_arm_allocate_local_sym_info): Allocate arrays
+       in descending order of alignment.
+
+2020-09-01  Alan Modra  <amodra@gmail.com>
+
+       PR 26423
+       * elf32-arm.c (calculate_group_reloc_mask): Use 3u in shift.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26493
+       * elfnn-riscv.c (riscv_make_plt_header): Cast PLT_HEADER_SIZE to
+       unsigned when using with RISCV_ITYPE.
+       (_bfd_riscv_relax_call): Use an unsigned foff.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26476
+       PR 26477
+       * elfxx-mips.c (CRINFO_CTYPE, CRINFO_RTYPE, CRINFO_DIST2TO),
+       (CRINFO_RELVADDR): Make unsigned.
+       (mips_elf_nullify_got_load): Use unsigned constant when shifting
+       into sign bit.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26466
+       * mep-relocs.pl (emit_apply): Handle HI16S adjustment.  Use "u"
+       variable and rewrite signed overflow check.
+       * elf32-mep.c: Regenerate.
+       (mep_final_link_relocate): Delete "s".
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26461
+       * elfxx-ia64.c (ia64_elf_install_value): Make expressions unsigned
+       that might shift values into sign bit.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26445
+       * elf32-csky.c (csky_relocate_contents): Make relocation a bfd_vma,
+       and similarly for variables dealing with overflow.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26442
+       * elf32-crx.c (crx_elf_final_link_relocate): Calculate reloc_bits
+       without undefined behaviour.  Tidy excess casts.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       * elf-m10300.c (mn10300_elf_relax_delete_bytes): Calculate
+       alignment from reloc addend after reloc type R_MN10300_ALIGN is
+       found.
+
+2020-08-30  Alan Modra  <amodra@gmail.com>
+
+       PR 26435
+       PR 26436
+       * elf32-cr16.c (cr16_elf_final_link_relocate): Calculate reloc_bits
+       without undefined behaviour.
+
+2020-08-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 26520
+       * dwarf2.c (scan_unit_for_symbols): Add member entries to the
+       variable table.
+
+2020-08-29  Alan Modra  <amodra@gmail.com>
+
+       PR 26459
+       * elfnn-ia64.c (get_dyn_sym_info): Don't bsearch or look at last
+       element when count is zero.  bfd_realloc when shrinking.
+
+2020-08-28  Alan Modra  <amodra@gmail.com>
+
+       PR 26418
+       * ecofflink.c (bfd_ecoff_write_accumulated_debug): Don't write
+       zero size buffers.
+
+2020-08-28  Alan Modra  <amodra@gmail.com>
+
+       PR 26418
+       * ecofflink.c (WRITE): Really don't write zero size chunks.
+
+2020-08-28  Tuckker  <tuckkern+sourceware@gmail.com>
+
+       PR 26543
+       * linker.c (bfd_generic_define_common_symbol): Force the alignment
+       to 1 if the section has now alignment requirement.
+
+2020-08-28  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * elf32-csky.c (csky_archs): Fix arch names.
+       (csky_find_arch_with_name): New.
+       (elf32_csky_merge_attributes): New.
+       (csky_elf_merge_private_bfd_data): Add process of merge
+       attribute section.
+       (elf32_csky_obj_attrs_arg_type): New.
+       (elf32_csky_obj_attrs_handle_unknown): New.
+       (elf_backend_obj_attrs_vendor): Define.
+       (elf_backend_obj_attrs_section): Define.
+       (elf_backend_obj_attrs_arg_type): Define.
+       (elf_backend_obj_attrs_section_type): Define.
+
+2020-08-28  Nick Clifton  <nickc@redhat.com>
+
+       PR19011
+       * cofflink.c (_bfd_coff_generic_relocate_section): Provide a value
+       for undefined symbols which will not generate extra warning
+       messages about truncated relocs.
+
+2020-08-28  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_elf_check_relocs): Treat R_RISCV_CALL
+       and R_RISCV_CALL_PLT as the same in the riscv_elf_check_relocs.
+       (riscv_elf_relocate_section): Remove the R_RISCV_CALL for the
+       unresolved reloc checks.
+
+2020-08-27  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR 26356
+       * som.c (som_bfd_copy_private_section_data): Issue error when a
+       subspace is specified without its containing space.
+
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       PR 26469
+       * elflink.c: Include limits.h.
+       (CHAR_BIT): Provide fallback define.
+       (set_symbol_value): Correct complex reloc comment.
+       (undefined_reference): Set bfd_error.
+       (BINARY_OP_HEAD, BINARY_OP_TAIL): Split out from..
+       (BINARY_OP): ..this.
+       (eval_symbol): Limit shifts.  Force unsigned for left shift.
+       Catch divide by zero.
+       * configure.ac (AC_CHECK_HEADERS): Combine, sort and add limits.h.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       PR 26462
+       * reloc.c (bfd_check_overflow): Return early if zero bitsize.
+
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Don't segfault
+       on sym_sec not being output.
+
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       PR 26416
+       * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Correct "dynamic".
+
+2020-08-26  Nick Clifton  <nickc@redhat.com>
+
+       PR 26433
+       * elf32-avr.c (avr_final_link_relocate):  Fix undefined shift
+       behaviour.
+       (avr_elf32_load_records_from_section): Use bfd_get_16 and
+       bfd_get_32 to load values from potentially unaligned pointers.
+
+       PR 26416
+       * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Test for and
+       ignore local symbols.
+       (elf64_alpha_relax_got_load): Do not check for local dynamic
+       symbols.
+       (OP_LDA, OP_LDAH, OP_LDQ, OP_BR, OP_BSR): Use unsigned constant
+       values.
+       (INSN_A) Cast the A parameter to unsigned.
+       (INSN_AB): Define in terms of INSN_A.
+       (INSN_ABC): Likewise.
+       (INSN_ABO): Likewise.
+       (INSN_AD): Likewise.
+
+       PR 26411
+       * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Use an
+       unsigned long constant when creating a mask to test for alignment
+       issues.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26507
+       * elf32-xtensa.c (find_removed_literal): Don't bsearch empty map.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26506
+       * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Return early
+       when section is empty.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26498
+       * elf32-spu.c (find_function_stack_adjust): Use unsigned vars to
+       avoid UB left shift.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26484
+       PR 26485
+       PR 26486
+       PR 26487
+       PR 26488
+       PR 26490
+       * elf64-ppc.c (is_tls_get_addr): Avoid UB &h->elf when h is NULL.
+       (ppc64_elf_tls_setup): Likewise.
+       (branch_reloc_hash_match): Likewise.
+       (build_plt_stub): Likewise.
+       (ppc64_elf_relocate_section): Likewise.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26478
+       * mmo.c (mmo_write_symbols_and_terminator): Don't memcpy empty table.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26475
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Check
+       sstubs->contents != NULL.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26453
+       * som.c (som_prep_for_fixups): Return early when no symbols.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26418
+       * ecofflink.c (WRITE): Don't write size 0 chunks.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       * bfdio.c (bfd_get_file_size): Don't segv on NULL adata.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26415
+       * vms-misc.c (vms_time_t_to_vms_time): Don't use unsigned short vars.
+
+2020-08-26  David Faust  <david.faust@oracle.com>
+
+       * archures.c (bfd_mach_xbpf): Define.
+       * bfd-in2.h: Regenerate.
+       * cpu-bpf.c (bfd_xbpf_arch) New.
+       (bfd_bpf_arch) Update next in list field to point to xbpf arch.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       * archures.c (bfd_mach_ck860): Define.
+
+2020-08-25  Mark Wielaard  <mark@klomp.org>
+
+       *  dwarf2.c (struct dwarf2_debug_file): Add dwarf_rnglists_buffer
+       and dwarf_rnglists_size fields.
+       (dwarf_debug_sections): Add debug_rnglists.
+       (dwarf_debug_section_enum): Likewise.
+       (read_debug_rnglists): New function.
+       (read_rangelist): New function to call either read_ranges or
+       read_rnglists. Rename original function to...
+       (read_ranges): ...this.
+       (read_rnglists): New function.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26505
+       * elf32-xstormy16.c (xstormy16_elf_relax_section): Check
+       is_elf_hash_table before accessing elf fields.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26482
+       * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Ignore sections that
+       won't be output.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26463
+       * elf32-m32c.c (m32c_elf_relax_section): Check is_elf_hash_table
+       before accessing elf fields.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26452
+       * som.c (som_compute_checksum): XOR 32-bit words in header,
+       not unsigned long sized words.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26430
+       * elf-nacl.c (nacl_modify_segment_map): Correct alloc size and
+       amount copied for elf_segment_map defined with one element
+       sections array.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26422
+       * elf32-arm.c (elf32_arm_final_link_relocate): Use the appropriate
+       bfd_get_x size function to read addends out of fields.  Apply
+       rightshift adjustment too.  Don't apply the now unnecessary
+       howto->size shift to branch REL addends.  Don't refetch R_ARM_ABS8
+       and R_ARM_ABS16 addends.  Don't refetch thumb branch addends.
+       Correct R_ARM_THM_JUMP6 addend.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26419
+       * elf-m10300.c (mn10300_elf_relax_section): Don't attempt access
+       before start of section.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       * elf-m10300.c (elf32_mn10300_hash_table): Test is_elf_hash_table
+       before accessing elf_hash_table_id.
+       * elf32-arc.c (elf_arc_hash_table): Likewise.
+       * elf32-arm.c (elf32_arm_hash_table): Likewise.
+       * elf32-avr.c (avr_link_hash_table): Likewise.
+       * elf32-bfin.c (bfinfdpic_hash_table): Likewise.
+       * elf32-cris.c (elf_cris_hash_table): Likewise.
+       * elf32-csky.c (csky_elf_hash_table): Likewise.
+       * elf32-frv.c (frvfdpic_hash_table): Likewise.
+       * elf32-hppa.c (hppa_link_hash_table): Likewise.
+       * elf32-lm32.c (lm32_elf_hash_table): Likewise.
+       * elf32-m32r.c (m32r_elf_hash_table): Likewise.
+       * elf32-m68hc1x.h (m68hc11_elf_hash_table): Likewise.
+       * elf32-m68k.c (elf_m68k_hash_table): Likewise.
+       * elf32-metag.c (metag_link_hash_table): Likewise.
+       * elf32-microblaze.c (elf32_mb_hash_table): Likewise.
+       * elf32-nds32.h (nds32_elf_hash_table): Likewise.
+       * elf32-or1k.c (or1k_elf_hash_table): Likewise.
+       * elf32-s390.c (elf_s390_hash_table): Likewise.
+       * elf32-sh.c (sh_elf_hash_table): Likewise.
+       * elf32-spu.c (spu_hash_table): Likewise.
+       * elf32-tilepro.c (tilepro_elf_hash_table): Likewise.
+       * elf32-xtensa.c (elf_xtensa_hash_table): Likewise.
+       * elf64-alpha.c (alpha_elf_hash_table): Likewise.
+       * elf64-hppa.c (hppa_link_hash_table): Likewise.
+       * elf64-ia64-vms.c (elf64_ia64_hash_table): Likewise.
+       * elf64-s390.c (elf_s390_hash_table): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_hash_table): Likewise.
+       * elfnn-riscv.c (riscv_elf_hash_table): Likewise.
+       * elfxx-mips.c (mips_elf_hash_table): Likewise.
+       * elfxx-sparc.h (_bfd_sparc_elf_hash_table): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_hash_table): Likewise.
+
+2020-08-21  Jon Turney  <jon.turney@dronecode.org.uk>
+
+       * elf.c (elfcore_grok_win32pstatus): Change name_size to unsigned
+       int. Use '%u' format with  _bfd_error_handler to render it.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26489
+       * elf64-ppc.c (ppc64_elf_size_stubs): Test code_sec->has_toc_reloc
+       and code_sec->makes_toc_func_call before sec_info[code_sec->id].
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26492
+       * elf64-ppc.c (ppc_hash_table): Test is_elf_hash_table before
+       accessing elf_hash_table_id.
+
 2020-08-25  Alan Modra  <amodra@gmail.com>
 
        PR 26483