24872cb302
It is incorrect to "continue" in the ppc_elf_relocate_section reloc processing loop except when editing or deleting relocs. The normal loop processing arranges to write the relocs if shuffling them over a deleted entry. Deleting only happens for debug sections currently and those sections won't contain R_PPC_VLE_ADDR20 relocs, so this patch doesn't fix a bug that would trigger with any normal object file. * elf32-ppc.c (ppc_elf_relocate_section): After applying R_PPC_VLE_ADDR20, goto copy_reloc.
446 lines
15 KiB
Plaintext
446 lines
15 KiB
Plaintext
2020-02-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): After applying
|
||
R_PPC_VLE_ADDR20, goto copy_reloc.
|
||
|
||
2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* bfd-in2.h: Regenerated.
|
||
* section.c (SEC_ASSEMBLER_SECTION_ID): Fix a typo in comments.
|
||
|
||
2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR gas/25380
|
||
* bfd-in2.h: Regenerated.
|
||
* ecoff.c (bfd_debug_section): Add section_id.
|
||
* section.c (bfd_section): Add section_id.
|
||
(SEC_ASSEMBLER_SECTION_ID): New.
|
||
(BFD_FAKE_SECTION): Add section_id.
|
||
|
||
2020-02-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.bfd: Move the c30-aout and tic30-aout targets onto the
|
||
obsolete list.
|
||
|
||
2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): DW_EH_PE_datarel
|
||
encodings are relative to the GOT on nios2, too.
|
||
|
||
2020-01-31 Alan Modra <amodra@gmail.com>
|
||
|
||
* Makefile.am (elf32-target.h, elf64-target.h): Don't use a temp
|
||
file. Use $< and $@ in rules.
|
||
(elf32-aarch64.c, elf64-aarch64.c): Likewise.
|
||
(elf32-ia64.c, elf64-ia64.c): Likewise.
|
||
(elf32-riscv.c, elf64-riscv.c): Likewise.
|
||
(peigen.c, pepigen.c, pex64igen.c): Likewise.
|
||
(elf32-aarch64.c, elf64-aarch64.c): Don't emit $srcdir on #line.
|
||
(elf32-riscv.c, elf64-riscv.c): Likewise, and use $(SED).
|
||
(elf32-ia64.c, elf64-ia64.c): Do emit #line.
|
||
(peigen.c, pepigen.c, pex64igen.c): Likewise.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2020-01-31 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 4110
|
||
* elf.c (setup_group): Don't clear entire section contents,
|
||
just the padding after group flags. Release alloc'd memory
|
||
after a seek or read failure.
|
||
|
||
2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* peXXigen.c (pe_is_repro): New function.
|
||
(_bfd_XX_print_private_bfd_data_common): Note timestamp is
|
||
actually a build hash if PE_IMAGE_DEBUG_TYPE_REPRO is present.
|
||
|
||
2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* peXXigen.c (debug_type_names): Add names for new debug data type
|
||
values.
|
||
|
||
2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
|
||
|
||
* peXXigen.c (pe_print_debugdata): Fix the iteration variable for
|
||
inner loop. Fix a memory leak.
|
||
|
||
2020-01-30 Alan Modra <amodra@gmail.com>
|
||
|
||
* coffgen.c (coff_real_object_p): Don't clear obj_coff_keep_syms
|
||
or obj_coff_keep_strings here.
|
||
(coff_get_normalized_symtab): Free external syms directly.
|
||
* xcofflink.c (xcoff_link_input_bfd): Restore obj_coff_keep_syms
|
||
on error exit path.
|
||
|
||
2020-01-27 Jim Wilson <jimw@sifive.com>
|
||
|
||
* cpu-riscv.c (riscv_scan): New.
|
||
(N): Change bfd_default_scan to riscv_scan.
|
||
|
||
2020-01-27 Andreas Schwab <schwab@suse.de>
|
||
|
||
* Makefile.am (ALL_MACHINES): Remove cpu-plugin.lo.
|
||
(ALL_MACHINES_CFILES): Remove cpu-plugin.c.
|
||
* Makefile.in: Regenerate.
|
||
* cpu-plugin.c: Remove.
|
||
* archures.c (enum bfd_architecture): Remove bfd_arch_plugin.
|
||
(bfd_plugin_arch): Remove declaration.
|
||
* bfd-in2.h: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
|
||
Alan Modra <amodra@gmail.com>
|
||
|
||
PR ld/25458
|
||
* elflink.c (_bfd_elf_gc_mark_rsec): Mark all weak aliases.
|
||
|
||
2020-01-24 Jim Wilson <jimw@sifive.com>
|
||
|
||
* elfxx-riscv.c (riscv_get_prefix_class): Format s case like others.
|
||
(riscv_parse_prefixed_ext): Fix s extension comment and reword to
|
||
avoid over long line.
|
||
|
||
2020-01-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 25447
|
||
* coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
|
||
syms and keep strings flags as these may have been set in order to
|
||
prevent a bogus call to free.
|
||
|
||
2020-01-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2020-01-23 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25444
|
||
* elf.c (assign_file_positions_for_load_sections): Avoid divide
|
||
by zero when p_align is zero.
|
||
|
||
2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
|
||
|
||
* bfd/elfnn-riscv.c (riscv_skip_prefix): New.
|
||
(riscv_prefix_cmp): Likewise.
|
||
(riscv_non_std_ext_p): Deleted.
|
||
(riscv_std_sv_ext_p): Likewise.
|
||
(riscv_non_std_sv_ext_p): Likewise.
|
||
(riscv_merge_non_std_and_sv_ext): Rename to...
|
||
(riscv_merge_multi_letter_ext): and modified to use riscv_prefix_cmp.
|
||
(riscv_merge_arch_attr_info): Replace 3 calls to
|
||
riscv_merge_non_std_and_sv_ext with single call to
|
||
riscv_merge_multi_letter_ext.
|
||
* bfd/elfxx-riscv.c (riscv_parse_std_ext): Break if we
|
||
encounter a 'z' prefix.
|
||
(riscv_get_prefix_class): New function, return prefix class based
|
||
on first few characters of input string.
|
||
(riscv_parse_config): New structure to factor out minor differences
|
||
in extension class parsing behaviour.
|
||
(riscv_parse_sv_or_non_std_ext): Rename to...
|
||
(riscv_parse_prefixed_ext): and parameterise with
|
||
riscv_parse_config.
|
||
(riscv_std_z_ext_strtab, riscv_std_s_ext_strtab): New.
|
||
(riscv_multi_letter_ext_valid_p): New.
|
||
(riscv_ext_x_valid_p, riscv_ext_z_valid_p, riscv_ext_s_valid_p): New.
|
||
(riscv_parse_subset): Delegate all non-single-letter parsing work
|
||
to riscv_parse_prefixed_ext.
|
||
* bfd/elfxx-riscv.h (riscv_isa_ext_class): New type.
|
||
(riscv_get_prefix_class): Declare.
|
||
|
||
2020-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Add tga_group.
|
||
(ppc64_elf_archive_symbol_lookup): Extract __tls_get_addr_opt for
|
||
__tls_get_addr_desc.
|
||
(ppc64_elf_size_stubs): Add section for linker generated
|
||
__tls_get_addr_desc wrapper function. Loop at least once if
|
||
generating this function.
|
||
(emit_tga_desc, emit_tga_desc_eh_frame): New functions.
|
||
(ppc64_elf_build_stubs): Generate __tls_get_addr_desc.
|
||
|
||
2020-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
|
||
tga_desc_fd.
|
||
(is_tls_get_addr): Match tga_desc and tga_desc_df too.
|
||
(STDU_R1_0R1, ADDI_R1_R1): Define.
|
||
(tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
|
||
(ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd. Indirect
|
||
tga_desc_fd to opt_fd, and tga_desc to opt. Set
|
||
no_tls_get_addr_regsave.
|
||
(branch_reloc_hash_match): Add hash3 and hash4.
|
||
(ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
|
||
(ppc64_elf_size_dynamic_sections): Likewise.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
(plt_stub_size, build_plt_stub): Likewise. Size regsave
|
||
__tls_get_addr stub.
|
||
(build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
|
||
eh_frame.
|
||
(ppc_size_one_stub): Handle tga_desc_fd and tga_desc too. Size
|
||
eh_frame for regsave __tls_get_addr.
|
||
|
||
2020-01-22 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
|
||
which __tls_get_addr calls will be eliminated.
|
||
|
||
2020-01-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/pt.po: Updates Portuguese translation.
|
||
* po/ru.po: Updated Russian translation.
|
||
* po/uk.po: Updated Ukranian translation.
|
||
|
||
2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/25416
|
||
* elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
|
||
"rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
|
||
X32 mode.
|
||
(elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
|
||
transition, relax "rex leal x@tlsdesc(%rip), %reg" to
|
||
"rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
|
||
"rex leal x@tlsdesc(%rip), %reg" to
|
||
"rex movl x@gottpoff(%rip), %eax". For both transitions, relax
|
||
"call *(%eax)" to "nopl (%rax)".
|
||
|
||
2020-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (LD_R11_0R3, CMPDI_R11_0, STD_R11_0R1, LD_R11_0R1),
|
||
(MTLR_R11): Don't define.
|
||
(LD_R0_0R3, CMPDI_R0_0): Define.
|
||
(build_tls_get_addr_stub): Don't use r11 in stub.
|
||
|
||
2020-01-20 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc_elf_hash_entry): New function, use throughout file.
|
||
(defined_sym_val, is_tls_get_addr): Likewise.
|
||
|
||
2020-01-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
* version.m4 (BFD_VERSION): Set to 2.34.50.
|
||
* configure: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
|
||
2020-01-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
Binutils 2.34 branch created.
|
||
|
||
2020-01-17 Christian Biesinger <cbiesinger@google.com>
|
||
|
||
* coff-arm.c: Fix spelling error (seperate).
|
||
* elfxx-riscv.c (riscv_parse_sv_or_non_std_ext): Fix spelling
|
||
error (seperate).
|
||
* sysdep.h (strnlen): Fix spelling error (seperate).
|
||
|
||
2020-01-15 Lars Brinkhoff <lars@nocrew.org>
|
||
|
||
PR 20694
|
||
* pdp11.c (TARGET_PAGE_SIZE): Set to 8192.
|
||
|
||
2020-01-15 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25384
|
||
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
|
||
(ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
|
||
of function symbols unless dot symbols are present. Do warn
|
||
whenever one is created, regardles of whether a PLT entry is
|
||
also emitted for the function symbol.
|
||
|
||
2020-01-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* som.c (som_bfd_count_ar_symbols): Error when file position
|
||
of symbols on chains is not strictly increasing.
|
||
|
||
2020-01-14 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms.h (VMS_DEBUG): Define as 0.
|
||
* vms-alpha.c (image_write): Move debug output after bounds check.
|
||
Tidy bounds check.
|
||
(_bfd_vms_slurp_eihd): Warning fix.
|
||
(_bfd_vms_slurp_etir): Init variables to avoid bogus warnings.
|
||
|
||
2020-01-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-alpha.c (_bfd_vms_slurp_egsd): Ensure minimum size even
|
||
for "ignored" records.
|
||
|
||
2020-01-13 Alan Modra <amodra@gmail.com>
|
||
|
||
* wasm-module.c (wasm_scan_name_function_section): Formatting.
|
||
Delete asect name check. Move asect NULL check to wasm_object_p.
|
||
Correct bounds check of sizes against end. Replace uses of
|
||
bfd_zalloc with bfd_alloc, zeroing only necessary bytes. Use
|
||
just one bfd_release.
|
||
(wasm_scan): Don't use malloc/strdup for section names,
|
||
bfd_alloc instead. Simplify code prefixing section name.
|
||
Formatting. Don't attempt to free memory here..
|
||
(wasm_object_p): ..do so here.
|
||
|
||
2020-01-10 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR ld/22269
|
||
* elf32-arm.c (elf32_arm_final_link_relocate): Use
|
||
UNDEFWEAK_NO_DYNAMIC_RELOC.
|
||
(allocate_dynrelocs_for_symbol): Likewise.
|
||
|
||
2020-01-10 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR 25210
|
||
* elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
|
||
|
||
2020-01-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.
|
||
|
||
2020-01-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 25221
|
||
* bfd.c (bfd_convert_section_contents): Check for a compress
|
||
header size that is larger than the actual section size.
|
||
|
||
2020-01-08 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25351
|
||
* elflink.c (bfd_elf_final_link): Call _bfd_fix_excluded_sec_syms
|
||
after removing sections.
|
||
|
||
2020-01-06 Jim Wilson <jimw@sifive.com>
|
||
|
||
PR 25205
|
||
* elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Add
|
||
check for !bfd_link_pic (info).
|
||
<R_RISCV_CALL_PLT>: Move next to R_RISCV_CALL.
|
||
<R_RISCV_JAL>: Add comment.
|
||
(_bfd_riscv_relax_section): For plt.offset check, add check for
|
||
bfd_link_pic (info). Add comment.
|
||
|
||
2020-01-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* format.c (bfd_check_format_matches): Ignore bfd_error on target
|
||
match failures. Don't init to bfd_error_wrong_format before
|
||
calling _bfd_check_format.
|
||
|
||
2020-01-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-alpha.c (_bfd_vms_push, _bfd_vms_pop): Return pass/fail
|
||
status rather than exiting on stack overflow or underflow.
|
||
(_bfd_vms_slurp_etir): Adjust to suit.
|
||
|
||
2020-01-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.
|
||
|
||
2020-01-06 Alan Modra <amodra@gmail.com>
|
||
|
||
* mach-o.c (bfd_mach_o_read_dylinker): Don't read past end of
|
||
command. Check name offset is within command.
|
||
(bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib),
|
||
(bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints),
|
||
(bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab),
|
||
(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid),
|
||
(bfd_mach_o_read_linkedit, bfd_mach_o_read_str),
|
||
(bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min),
|
||
(bfd_mach_o_read_encryption_info, bfd_mach_o_read_source_version),
|
||
(bfd_mach_o_read_encryption_info_64, bfd_mach_o_read_main),
|
||
(bfd_mach_o_read_note, bfd_mach_o_read_build_version),
|
||
(bfd_mach_o_read_segment): Similarly.
|
||
(bfd_mach_o_read_thread): Properly bound check thread struct.
|
||
Don't repeat checks on second loop.
|
||
(bfd_mach_o_read_command): Fail on invalid command length.
|
||
|
||
2020-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* format.c (bfd_check_format_matches): Add preserve_match.
|
||
Save initial bfd state in "preserve", matched bfd state in
|
||
"preserve_match". Save just the first match. Release
|
||
bfd_alloc memory. Restore and finish preserved state as
|
||
appropriate on all function exit paths.
|
||
|
||
2020-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.
|
||
|
||
2020-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
* coffgen.c (coff_real_object_p): Free malloc'd memory on target
|
||
match too.
|
||
|
||
2020-01-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 25307
|
||
(bfd_pef_parse_function_stubs): Correct the test that ensures that
|
||
there is enough data remaining in the code buffer before
|
||
attempting to read a function stub.
|
||
|
||
2020-01-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 25308
|
||
* elf-properties.c (_bfd_elf_convert_gnu_properties): Check the
|
||
return value from bfd_malloc.
|
||
* elf32-arm.c (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
|
||
(bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Likewise.
|
||
(elf32_arm_filter_cmse_symbols): Likewise.
|
||
(elf32_arm_write_section): Likewise.
|
||
* mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
|
||
(bfd_mach_o_follow_dsym): Likewise.
|
||
* pef.c (bfd_pef_print_loader_section): Likewise.
|
||
(bfd_pef_scan_start_address): Likewise.
|
||
(bfd_pef_parse_function_stubs): Likewise.
|
||
(bfd_pef_parse_symbols): Likewise.
|
||
|
||
2020-01-03 Sergei Trofimovich <siarheit@google.com>
|
||
|
||
* elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): don't fail
|
||
on binary inputs ld/PR25316.
|
||
(is_ia64_elf): new helper to filter on ia64 objects.
|
||
|
||
2020-01-03 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* mach-o.c (cpusubtype, bfd_mach_o_header_p): Insert underscore
|
||
in parameter names.
|
||
(bfd_mach_o_scan): Insert underscore in two variable names.
|
||
|
||
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
* Makefile.am: Add z80-elf target support.
|
||
* configure.ac: Likewise.
|
||
* targets.c: Likewise.
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* config.bfd: Add z80-elf target support and new arches: ez80 and
|
||
z180.
|
||
* elf32-z80.c: New file.
|
||
* archures.c: Add new z80 architectures: eZ80 and Z180.
|
||
* coffcode.h: Likewise.
|
||
* cpu-z80.c: Likewise.
|
||
* coff-z80.c: Add new relocations for Z80 target and local label
|
||
check.
|
||
* reloc.c: Add new relocs.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2020-01-02 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR 25210
|
||
PR 24753
|
||
* elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Set ELF class.
|
||
|
||
2020-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2019
|
||
|
||
Copyright (C) 2020 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:
|