mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
7f02673206
With static PIE linking undefined weak symbols are resolved to 0, so no
dynamic relocation is needed for them. The UNDEFWEAK_NO_DYNAMIC_RELOC
macro was introduced so this case can be handled easily, but it was not
applied consistently in the first attempt to fix ld/22269 for arm:
commit 95b03e4ad6
arm: Check UNDEFWEAK_NO_DYNAMIC_RELOC
This patch fixes spurious relative relocs in static PIE binaries against
GOT entries created for undefined weak symbols on arm*-*, this fixes
FAIL: pr22269-1 (static pie undefined weak)
bfd/ChangeLog:
PR ld/22269
* elf32-arm.c (elf32_arm_final_link_relocate): Use
UNDEFWEAK_NO_DYNAMIC_RELOC.
(allocate_dynrelocs_for_symbol): Likewise.
168 lines
5.4 KiB
Plaintext
168 lines
5.4 KiB
Plaintext
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:
|