mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 10:35:12 +08:00
cb001c0d28
The object_p (and archive_p, core_file_p) functions are not supposed to have any target specific malloc'd memory attached to the bfd on their return. This should be obvious on a failure return, but it's also true for a successful return. The reason is that even though the object_p recognises the file, that particular target may not be used and thus the bfd won't be closed calling close_and_cleanup for the target that allocated the memory. It turns out that the object_p bfd_target* return value isn't needed. In all cases except ld/plugin.c the target is abfd->xvec and with ld/plugin.c the target isn't used. So this patch returns a cleanup function from object_p instead, called in bfd_check_format_matches to tidy the bfd before trying a different target match. The only cleanup that does anything at this stage is the alpha-vms one. bfd/ * targets.c (bfd_cleanup): New typedef. (struct bfd <_bfd_check_format>): Return a bfd_cleanup. * libbfd-in.h (_bfd_no_cleanup): Define. * format.c (bfd_reinit): Add cleanup parameter, call it. (bfd_check_format_matches): Set cleanup from _bfd_check_format call and pass to bfd_reinit. Delete temp, use abfd->xvec instead. * aout-target.h (callback, object_p): Return bfd_cleanup. * aout-tic30.c (tic30_aout_callback, tic30_aout_object_p): Likewise. * archive.c (bfd_generic_archive_p): Likewise. * binary.c (binary_object_p): Likewise. * coff-alpha.c (alpha_ecoff_object_p): Likewise. * coff-ia64.c (ia64coff_object_p): Likewise. * coff-rs6000.c (_bfd_xcoff_archive_p, rs6000coff_core_p): Likewise. * coff-sh.c (coff_small_object_p): Likewise. * coff-stgo32.c (go32_check_format): Likewise. * coff64-rs6000.c (xcoff64_archive_p, rs6000coff_core_p), (xcoff64_core_p): Likewise. * coffgen.c (coff_real_object_p, coff_object_p): Likewise. * elf-bfd.h (bfd_elf32_object_p, bfd_elf32_core_file_p), (bfd_elf64_object_p, bfd_elf64_core_file_p): Likewise. * elfcode.h (elf_object_p): Likewise. * elfcore.h (elf_core_file_p): Likewise. * i386msdos.c (msdos_object_p): Likewise. * ihex.c (ihex_object_p): Likewise. * libaout.h (some_aout_object_p): Likewise. * libbfd-in.h (bfd_generic_archive_p, _bfd_dummy_target), (_bfd_vms_lib_alpha_archive_p, _bfd_vms_lib_ia64_archive_p): Likewise. * libbfd.c (_bfd_dummy_target): Likewise. * libcoff-in.h (coff_object_p): Likewise. * mach-o-aarch64.c (bfd_mach_o_arm64_object_p), (bfd_mach_o_arm64_core_p): Likewise. * mach-o-arm.c (bfd_mach_o_arm_object_p), (bfd_mach_o_arm_core_p): Likewise. * mach-o-i386.c (bfd_mach_o_i386_object_p), (bfd_mach_o_i386_core_p): Likewise. * mach-o-x86-64.c (bfd_mach_o_x86_64_object_p), (bfd_mach_o_x86_64_core_p): Likewise. * mach-o.c (bfd_mach_o_header_p, bfd_mach_o_gen_object_p), (bfd_mach_o_gen_core_p, bfd_mach_o_fat_archive_p): Likewise. * mach-o.h (bfd_mach_o_object_p, bfd_mach_o_core_p), (bfd_mach_o_fat_archive_p, bfd_mach_o_header_p): Likewise. * mmo.c (mmo_object_p): Likewise. * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise. * peicode.h (coff_real_object_p, pe_ILF_object_p), (pe_bfd_object_p): Likewise. * plugin.c (ld_plugin_object_p, bfd_plugin_object_p): Likewise. * ppcboot.c (ppcboot_object_p): Likewise. * rs6000-core.c (rs6000coff_core_p): Likewise. * som.c (som_object_setup, som_object_p): Likewise. * srec.c (srec_object_p, symbolsrec_object_p): Likewise. * tekhex.c (tekhex_object_p): Likewise. * vms-alpha.c (alpha_vms_object_p): Likewise. * vms-lib.c (_bfd_vms_lib_archive_p, _bfd_vms_lib_alpha_archive_p), (_bfd_vms_lib_ia64_archive_p, _bfd_vms_lib_txt_archive_p): Likewise. * wasm-module.c (wasm_object_p): Likewise. * xsym.c (bfd_sym_object_p): Likewise. * xsym.h (bfd_sym_object_p): Likewise. * aoutx.h (some_aout_object_p): Likewise, and callback parameter return type. * pdp11.c (some_aout_object_p): Likewise. * plugin.c (register_ld_plugin_object_p): Update object_p parameter type. * plugin.h (register_ld_plugin_object_p): Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * libcoff.h: Regenerate. ld/ * plugin.c (plugin_object_p): Return a bfd_cleanup. (plugin_cleanup): New function.
1280 lines
49 KiB
Plaintext
1280 lines
49 KiB
Plaintext
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* targets.c (bfd_cleanup): New typedef.
|
||
(struct bfd <_bfd_check_format>): Return a bfd_cleanup.
|
||
* libbfd-in.h (_bfd_no_cleanup): Define.
|
||
* format.c (bfd_reinit): Add cleanup parameter, call it.
|
||
(bfd_check_format_matches): Set cleanup from _bfd_check_format
|
||
call and pass to bfd_reinit. Delete temp, use abfd->xvec instead.
|
||
* aout-target.h (callback, object_p): Return bfd_cleanup.
|
||
* aout-tic30.c (tic30_aout_callback, tic30_aout_object_p): Likewise.
|
||
* archive.c (bfd_generic_archive_p): Likewise.
|
||
* binary.c (binary_object_p): Likewise.
|
||
* coff-alpha.c (alpha_ecoff_object_p): Likewise.
|
||
* coff-ia64.c (ia64coff_object_p): Likewise.
|
||
* coff-rs6000.c (_bfd_xcoff_archive_p, rs6000coff_core_p): Likewise.
|
||
* coff-sh.c (coff_small_object_p): Likewise.
|
||
* coff-stgo32.c (go32_check_format): Likewise.
|
||
* coff64-rs6000.c (xcoff64_archive_p, rs6000coff_core_p),
|
||
(xcoff64_core_p): Likewise.
|
||
* coffgen.c (coff_real_object_p, coff_object_p): Likewise.
|
||
* elf-bfd.h (bfd_elf32_object_p, bfd_elf32_core_file_p),
|
||
(bfd_elf64_object_p, bfd_elf64_core_file_p): Likewise.
|
||
* elfcode.h (elf_object_p): Likewise.
|
||
* elfcore.h (elf_core_file_p): Likewise.
|
||
* i386msdos.c (msdos_object_p): Likewise.
|
||
* ihex.c (ihex_object_p): Likewise.
|
||
* libaout.h (some_aout_object_p): Likewise.
|
||
* libbfd-in.h (bfd_generic_archive_p, _bfd_dummy_target),
|
||
(_bfd_vms_lib_alpha_archive_p, _bfd_vms_lib_ia64_archive_p): Likewise.
|
||
* libbfd.c (_bfd_dummy_target): Likewise.
|
||
* libcoff-in.h (coff_object_p): Likewise.
|
||
* mach-o-aarch64.c (bfd_mach_o_arm64_object_p),
|
||
(bfd_mach_o_arm64_core_p): Likewise.
|
||
* mach-o-arm.c (bfd_mach_o_arm_object_p),
|
||
(bfd_mach_o_arm_core_p): Likewise.
|
||
* mach-o-i386.c (bfd_mach_o_i386_object_p),
|
||
(bfd_mach_o_i386_core_p): Likewise.
|
||
* mach-o-x86-64.c (bfd_mach_o_x86_64_object_p),
|
||
(bfd_mach_o_x86_64_core_p): Likewise.
|
||
* mach-o.c (bfd_mach_o_header_p, bfd_mach_o_gen_object_p),
|
||
(bfd_mach_o_gen_core_p, bfd_mach_o_fat_archive_p): Likewise.
|
||
* mach-o.h (bfd_mach_o_object_p, bfd_mach_o_core_p),
|
||
(bfd_mach_o_fat_archive_p, bfd_mach_o_header_p): Likewise.
|
||
* mmo.c (mmo_object_p): Likewise.
|
||
* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
|
||
* peicode.h (coff_real_object_p, pe_ILF_object_p),
|
||
(pe_bfd_object_p): Likewise.
|
||
* plugin.c (ld_plugin_object_p, bfd_plugin_object_p): Likewise.
|
||
* ppcboot.c (ppcboot_object_p): Likewise.
|
||
* rs6000-core.c (rs6000coff_core_p): Likewise.
|
||
* som.c (som_object_setup, som_object_p): Likewise.
|
||
* srec.c (srec_object_p, symbolsrec_object_p): Likewise.
|
||
* tekhex.c (tekhex_object_p): Likewise.
|
||
* vms-alpha.c (alpha_vms_object_p): Likewise.
|
||
* vms-lib.c (_bfd_vms_lib_archive_p, _bfd_vms_lib_alpha_archive_p),
|
||
(_bfd_vms_lib_ia64_archive_p, _bfd_vms_lib_txt_archive_p): Likewise.
|
||
* wasm-module.c (wasm_object_p): Likewise.
|
||
* xsym.c (bfd_sym_object_p): Likewise.
|
||
* xsym.h (bfd_sym_object_p): Likewise.
|
||
* aoutx.h (some_aout_object_p): Likewise, and callback parameter
|
||
return type.
|
||
* pdp11.c (some_aout_object_p): Likewise.
|
||
* plugin.c (register_ld_plugin_object_p): Update object_p
|
||
parameter type.
|
||
* plugin.h (register_ld_plugin_object_p): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff-alpha.c (alpha_ecoff_le_vec): Add SEC_SMALL_DATA to
|
||
applicable section flags.
|
||
* coff-mips.c (mips_ecoff_le_vec, mips_ecoff_be_vec): Likewise.
|
||
(mips_ecoff_bele_vec): Likewise.
|
||
* coffcode.h (sec_to_styp_flags): Set SEC_SMALL_DATA for .sdata
|
||
and .sbss sections.
|
||
* ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
|
||
(_bfd_ecoff_styp_to_sec_flags): Likewise.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-m32r.c (m32r_elf_section_flags): New function.
|
||
(elf_backend_section_flags): Define.
|
||
* elf32-nds32.c (nds32_elf_section_flags): New function.
|
||
(elf_backend_section_flags): Define.
|
||
* elf32-ppc.c (ppc_elf_section_from_shdr): Set SEC_SMALL_DATA for
|
||
.sbss and .sdata sections.
|
||
* elf32-v850.c (v850_elf_section_from_shdr): Set SEC_SMALL_DATA
|
||
for SHF_V850_GPREL sections.
|
||
* elf64-alpha.c (elf64_alpha_section_from_shdr): Delete outdated
|
||
FIXME.
|
||
* elf64-hppa.c (elf64_hppa_section_from_shdr): Set SEC_SMALL_DATA
|
||
for SHF_PARISC_SHORT sections.
|
||
* elf64-ppc.c (ppc64_elf_section_flags): New function.
|
||
(elf_backend_section_flags): Define.
|
||
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Set SEC_SMALL_DATA
|
||
for SHF_MIPS_GPREL sections. Delete FIXME.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf-bfd.h (elf_backend_section_flags): Remove flagword* param.
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Set section flags before
|
||
calling elf_backend_section_flags with adjusted params. Use
|
||
newsect->flags past that point.
|
||
(_bfd_elf_new_section_hook): Always set sh_type and sh_flags for
|
||
special sections.
|
||
(_bfd_elf_init_private_section_data): Allow normal sh_type sections
|
||
to have their type overridden, and all sh_flags but processor and
|
||
os specific.
|
||
* elf32-arm.c (elf32_arm_section_flags): Adjust for changed params.
|
||
* elf32-mep.c (mep_elf_section_flags): Likewise.
|
||
* elf32-nios2.c (nios2_elf32_section_flags): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_section_flags): Likewise.
|
||
* elf64-ia64-vms.c (elf64_ia64_section_flags): Likewise.
|
||
* elfnn-ia64.c (elfNN_ia64_section_flags): Likewise.
|
||
* elfnn-aarch64.c (elfNN_aarch64_size_stubs): Exclude the linker
|
||
stub BFD and non-aarch64 input files when scanning for stubs.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Provide an upper
|
||
limit to decompressed element size.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-lib.c (vms_traverse_index): Add recur_count param and
|
||
update calls. Fail on excessive recursion.
|
||
|
||
2020-03-02 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-alpha.c (vms_get_remaining_object_record): Use
|
||
bfd_realloc_or_free rather than bfd_realloc.
|
||
(add_symbol_entry, vector_grow1, alpha_vms_slurp_relocs): Likewise.
|
||
(dst_define_location, parse_module): Likewise, and check realloc
|
||
return status before using memory. Return status from function
|
||
adjusting all callers.
|
||
|
||
2020-02-28 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-lib.c (_bfd_vms_lib_archive_p): Free memory on error paths.
|
||
|
||
2020-02-28 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-alpha.c (alpha_vms_object_p): Use _bfd_malloc_and_read.
|
||
Remove duplicate undersize check.
|
||
|
||
2020-02-27 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24511
|
||
* mmo.c (mmo_scan): Set SEC_DATA for .data.
|
||
|
||
2020-02-27 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24511
|
||
* syms.c (stt): Trim off all but 'e', 'i' and 'p' entries.
|
||
(coff_section_type): Adjust comment.
|
||
(decode_section_type): Likewise. Call coff_section_type before
|
||
decode_section_type.
|
||
(bfd_decode_symclass): Use 'c' for common sections other than
|
||
the standard one.
|
||
|
||
2020-02-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Put all data in one
|
||
malloc'd block.
|
||
|
||
2020-02-27 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd.c (bfd_stat_arch_elt): Use vector of containing archive,
|
||
if file is an archive element.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* archive.c (do_slurp_bsd_armap): Increase minimum parsed_size, and
|
||
bfd_set_error on failing test. Don't bother changing bfd_error on
|
||
file read error. Check symdef_count is multiple of BSD_SYMDEF_SIZE.
|
||
Check sym name is within string buffer. Use size_t for some vars.
|
||
(do_slurp_coff_armap): Use size_t for some variables, fix size of
|
||
int_buf. Don't change bfd_error on file read error. Use
|
||
_bfd_mul_overflow when calculating carsym buffer size. Reorder
|
||
calculations to catch overflows before they occur. malloc and
|
||
free raw armap rather than using bfd_alloc. Read raw armap before
|
||
allocating carsym+strings buffer.
|
||
(_bfd_slurp_extended_name_table): Localize variables. Check
|
||
name size against file size.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-lib.c (vms_lib_read_index): Release correct buffer.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf32-rx.c (rx_elf_relocate_section): Use bfd_malloc rather than
|
||
malloc. Check for NULL return from bfd_malloc.
|
||
(rx_table_find, rx_table_map): Likewise.
|
||
(rx_set_section_contents): Check bfd_alloc return.
|
||
(rx_dump_symtab): Don't alloc internal_syms or external_syms.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* aoutx.h: Indent labels correctly. Format error strings.
|
||
* archive.c: Likewise.
|
||
* archive64.c: Likewise.
|
||
* coff-arm.c: Likewise.
|
||
* coff-rs6000.c: Likewise.
|
||
* coff-stgo32.c: Likewise.
|
||
* cpu-arm.c: Likewise.
|
||
* dwarf2.c: Likewise.
|
||
* elf-ifunc.c: Likewise.
|
||
* elf-properties.c: Likewise.
|
||
* elf-s390-common.c: Likewise.
|
||
* elf-strtab.c: Likewise.
|
||
* elf.c: Likewise.
|
||
* elf32-arm.c: Likewise.
|
||
* elf32-bfin.c: Likewise.
|
||
* elf32-cr16.c: Likewise.
|
||
* elf32-csky.c: Likewise.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-m68k.c: Likewise.
|
||
* elf32-msp430.c: Likewise.
|
||
* elf32-nds32.c: Likewise.
|
||
* elf32-nios2.c: Likewise.
|
||
* elf32-pru.c: Likewise.
|
||
* elf32-xtensa.c: Likewise.
|
||
* elf64-ia64-vms.c: Likewise.
|
||
* elf64-x86-64.c: Likewise.
|
||
* elfcode.h: Likewise.
|
||
* elfcore.h: Likewise.
|
||
* elflink.c: Likewise.
|
||
* elfnn-aarch64.c: Likewise.
|
||
* elfnn-ia64.c: Likewise.
|
||
* elfnn-riscv.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* elfxx-sparc.c: Likewise.
|
||
* elfxx-x86.c: Likewise.
|
||
* i386lynx.c: Likewise.
|
||
* merge.c: Likewise.
|
||
* pdp11.c: Likewise.
|
||
* plugin.c: Likewise.
|
||
* reloc.c: Likewise.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25593
|
||
* elf-bfd.h (struct elf_link_hash_table): Rename "loaded" to
|
||
"dyn_loaded".
|
||
(bfd_elf_add_dt_needed_tag): Declare.
|
||
* elf-strtab.c (_bfd_elf_strtab_restore): Handle NULL buf.
|
||
* elflink.c (bfd_elf_add_dt_needed_tag): Make global and rename
|
||
from elf_add_dt_needed_tag. Remove soname and doit param.
|
||
(elf_link_add_object_symbols): Don't use elf_add_dt_needed_tag
|
||
to see whether as-needed lib is already loaded, use dyn_loaded
|
||
list instead. When saving and restoring around as-needed lib
|
||
handle possibility that dynstr has not been initialised. Don't
|
||
add DT_NEEDED tags here. Limit dyn_loaded list to dynamic libs.
|
||
Mark libs loaded via DT_NEEDED entries of other libs with
|
||
DYN_NO_NEEDED if they should not be mentioned in DT_NEEDED of
|
||
the output.
|
||
(elf_link_check_versioned_symbol): Remove now unneccesary
|
||
DYNAMIC check when traversing dyn_loaded list.
|
||
|
||
2020-02-26 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfdio.c (bfd_get_file_size): Ignore bogus archive element sizes.
|
||
|
||
2020-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/25584
|
||
* plugin.c (need_lto_wrapper_p): New.
|
||
(bfd_plugin_set_program_name): Add an int argument to set
|
||
need_lto_wrapper_p.
|
||
(get_lto_wrapper): Return FALSE if need_lto_wrapper_p isn't
|
||
set.
|
||
* plugin.h (bfd_plugin_set_program_name): Add an int argument.
|
||
|
||
2020-02-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-lib.c (_bfd_vms_lib_archive_p): Correct overflow checks.
|
||
|
||
2020-02-24 Alan Modra <amodra@gmail.com>
|
||
|
||
* vms-lib.c (struct carsym_mem): Add limit.
|
||
(vms_add_index): Heed limit.
|
||
(vms_traverse_index): Catch buffer overflows. Remove outdated fixme.
|
||
(vms_lib_read_index): Set up limit. Catch 32-bit overflow.
|
||
Always return actual number read.
|
||
(_bfd_vms_lib_archive_p): Catch buffer overflows. Replace
|
||
assertion with error exit.
|
||
|
||
2020-02-22 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25585
|
||
* elf.c (assign_file_positions_for_load_sections): Continue linking
|
||
on "PHDR segment not covered by LOAD segment" errors.
|
||
|
||
2020-02-21 Alan Modra <amodra@gmail.com>
|
||
|
||
* mach-o.c (bfd_mach_o_canonicalize_relocs): Fix ineffective
|
||
overflow check.
|
||
(bfd_mach_o_canonicalize_reloc): Likewise.
|
||
(bfd_mach_o_canonicalize_dynamic_reloc): Likewise. Sanity check
|
||
counts and offsets against file size.
|
||
(bfd_mach_o_build_dysymtab): Fix ineffective overflow check.
|
||
(bfd_mach_o_mangle_sections): Remove unnecessary overflow check.
|
||
(bfd_mach_o_read_symtab_symbols): Sanity check count and offset
|
||
against file size. Delete symbol table error message.
|
||
(bfd_mach_o_read_dysymtab): Sanity check counts and offsets
|
||
against file size.
|
||
(bfd_mach_o_read_symtab): Likewise.
|
||
(bfd_mach_o_read_command): Pass file size.
|
||
(bfd_mach_o_scan): Sanity check command count against file size.
|
||
|
||
2020-02-21 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 25569
|
||
* aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic): Use
|
||
"text", "data" and "bss" section pointer vars. Don't update
|
||
section size, just exec header sizes.
|
||
(adjust_sizes_and_vmas): Don't update text section size. Set
|
||
initial exec header a_text. Print exec headers sizes.
|
||
* pdp11.c (adjust_o_magic, adjust_z_magic, adjust_n_magic),
|
||
(adjust_sizes_and_vmas): Similarly. Formatting.
|
||
(final_link): Correct final file extension.
|
||
|
||
2020-02-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add symbol_section_index
|
||
callback.
|
||
* elfxx-target.h (elf_backend_symbol_section_index): Provide
|
||
default definition.
|
||
(elfNN_bed): Initialise the symbol_section_index field.
|
||
* elf.c (swap_out_syms): Call symbol_section_index, if defined, on
|
||
OS and PROC specific section indicies. Warn if converting other
|
||
reserved incidies to SHN_ABS.
|
||
|
||
2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
PR 25537
|
||
* cpu-z80.c: Add machine type compatibility checking.
|
||
|
||
2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/25355
|
||
* plugin.c (plugin_list_entry): Remove handle.
|
||
(try_load_plugin): Call dlclose before return.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* libbfd-in.h (_bfd_constant_p): Define.
|
||
(_bfd_alloc_and_read, _bfd_malloc_and_read): Check read size against
|
||
file size before allocating memory.
|
||
* coffgen.c (_bfd_coff_get_external_symbols): Remove file size check.
|
||
* elf.c (bfd_elf_get_str_section): Likewise.
|
||
(_bfd_elf_slurp_version_tables): Likewise.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* libbfd-in.h (_bfd_alloc_and_read, _bfd_malloc_and_read): New.
|
||
* aoutx.h (aout_get_external_symbols): Replace calls to
|
||
bfd_[m]alloc and bfd_bread with call to _bfd_[m]alloc_and_read.
|
||
(slurp_reloc_table): Likewise.
|
||
* archive.c (do_slurp_bsd_armap): Likewise.
|
||
(do_slurp_coff_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.
|
||
* coffcode.h (coff_set_arch_mach_hook, buy_and_read): Likewise.
|
||
* coffgen.c (coff_real_object_p, coff_object_p, build_debug_section),
|
||
(_bfd_coff_get_external_symbols): Likewise.
|
||
* ecoff.c (ecoff_slurp_symbolic_header),
|
||
(_bfd_ecoff_slurp_symbolic_info, ecoff_slurp_reloc_table),
|
||
(_bfd_ecoff_slurp_armap, ecoff_link_add_object_symbols, READ),
|
||
(ecoff_indirect_link_order): Likewise.
|
||
* elf.c (bfd_elf_get_str_section, setup_group, elf_read_notes),
|
||
(_bfd_elf_slurp_version_tables): Likewise.
|
||
* elf32-m32c.c (m32c_elf_relax_section): Likewise.
|
||
* elf32-rl78.c (rl78_elf_relax_section): Likewise.
|
||
* elf32-rx.c (elf32_rx_relax_section): Likewise.
|
||
* elf64-alpha.c (READ): Likewise.
|
||
* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Likewise.
|
||
* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
|
||
* elfcode.h (elf_slurp_symbol_table),
|
||
(elf_slurp_reloc_table_from_section): Likewise.
|
||
* elflink.c (elf_link_add_object_symbols),
|
||
(elf_link_check_versioned_symbol): Likewise.
|
||
* elfxx-mips.c (READ): Likewise.
|
||
* i386lynx.c (slurp_reloc_table): Likewise.
|
||
* lynx-core.c (lynx_core_file_p): Likewise.
|
||
* mach-o.c (bfd_mach_o_canonicalize_relocs),
|
||
(bfd_mach_o_read_symtab_strtab, bfd_mach_o_alloc_and_read),
|
||
(bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_dyld_content
|
||
* pdp11.c (aout_get_external_symbols, slurp_reloc_table
|
||
* pef.c (bfd_pef_print_loader_section, bfd_pef_scan_start_address),
|
||
(bfd_pef_parse_symbols): Likewise.
|
||
* peicode.h (pe_ILF_object_p, pe_bfd_object_p
|
||
* som.c (setup_sections, som_slurp_string_table),
|
||
(som_slurp_reloc_table, som_bfd_count_ar_symbols),
|
||
(som_bfd_fill_in_ar_symbols): Likewise.
|
||
* vms-alpha.c (module_find_nearest_line, evax_bfd_print_dst),
|
||
(evax_bfd_print_image): Likewise.
|
||
* vms-lib.c (_bfd_vms_lib_archive_p): Likewise.
|
||
* wasm-module.c (wasm_scan): Likewise.
|
||
* xcofflink.c (xcoff_link_add_symbols): Likewise.
|
||
* xsym.c (bfd_sym_read_name_table),
|
||
(bfd_sym_print_type_information_table_entry): Likewise.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* aoutx.h (slurp_reloc_table): Allocate reloc_cache after
|
||
reading external relocs.
|
||
* ecoff.c (ecoff_slurp_reloc_table): Likewise.
|
||
* archive.c (_bfd_write_archive_contents): Don't twiddle bfd_error
|
||
after bfd_bread.
|
||
* archive64.c (_bfd_archive_64_bit_slurp_armap): Remove unnecessary
|
||
bfd_release.
|
||
* elf32-m32c.c (m32c_offset_for_reloc): Make shndx_buf a bfd_byte*.
|
||
(m32c_elf_relax_section): Likewise.
|
||
* elf32-rl78.c (rl78_offset_for_reloc): Likewise.
|
||
(rl78_elf_relax_section): Likewise.
|
||
* elf32-rx.c (rx_offset_for_reloc): Likewise.
|
||
(elf32_rx_relax_section): Likewise.
|
||
* mach-o.c (bfd_mach_o_alloc_and_read): Move earlier with better
|
||
parameter types and use..
|
||
(bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib),
|
||
(bfd_mach_o_read_fvmlib, bfd_mach_o_read_str): ..in these functions.
|
||
* peicode.h (pe_bfd_object_p): Don't zero the part of opthdr
|
||
being read from file, just the extra.
|
||
* som.c (som_slurp_symbol_table): Allocate internal symbol buffer
|
||
after reading external syms. Free on failure.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* coffcode.h (buy_and_read, coff_slurp_line_table),
|
||
(coff_slurp_symbol_table, coff_slurp_reloc_table): Replace
|
||
bfd_[z][m]alloc2 calls with _bfd_mul_overflow followed by the
|
||
corresponding bfd_alloc call. Adjust variables to suit.
|
||
* coffgen.c (_bfd_coff_get_external_symbols): Likewise.
|
||
* ecoff.c (_bfd_ecoff_slurp_symbolic_info),
|
||
(_bfd_ecoff_slurp_symbol_table, READ): Likewise.
|
||
* elf.c (bfd_elf_get_elf_syms, setup_group, bfd_section_from_shdr),
|
||
(swap_out_syms, _bfd_elf_slurp_version_tables): Likewise.
|
||
* elf32-m32c.c (m32c_elf_relax_section): Likewise.
|
||
* elf32-rl78.c (rl78_elf_relax_section): Likewise.
|
||
* elf32-rx.c (elf32_rx_relax_section): Likewise.
|
||
* elf64-alpha.c (READ): Likewise.
|
||
* elfcode.h (elf_object_p, elf_write_relocs, elf_write_shdrs_and_ehdr),
|
||
(elf_slurp_symbol_table, elf_slurp_reloc_table),
|
||
(bfd_from_remote_memory): Likewise.
|
||
* elfcore.h (core_find_build_id): Likewise.
|
||
* elfxx-mips.c (READ): Likewise.
|
||
* mach-o.c (bfd_mach_o_mangle_sections),
|
||
(bfd_mach_o_read_symtab_symbols, bfd_mach_o_read_thread),
|
||
(bfd_mach_o_read_dysymtab, bfd_mach_o_flatten_sections),
|
||
(bfd_mach_o_scan, bfd_mach_o_fat_archive_p): Likewise.
|
||
* som.c (setup_sections, som_prep_for_fixups)
|
||
(som_build_and_write_symbol_table, som_slurp_symbol_table),
|
||
(som_slurp_reloc_table, som_bfd_count_ar_symbols),
|
||
(som_bfd_fill_in_ar_symbols, som_slurp_armap),
|
||
(som_bfd_ar_write_symbol_stuff): Likewise.
|
||
* vms-alpha.c (vector_grow1): Likewise.
|
||
* vms-lib.c (vms_add_index): Likewise.
|
||
* wasm-module.c (wasm_scan_name_function_section): Likewise.
|
||
* libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): Delete.
|
||
* opncls.c (bfd_alloc2, bfd_zalloc2): Delete.
|
||
* libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2),
|
||
(bfd_alloc2, bfd_zalloc2): Delete.
|
||
(_bfd_mul_overflow): Define.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf.c (bfd_section_from_shdr): Use bfd_zalloc rather than
|
||
bfd_zalloc2.
|
||
(assign_section_numbers): Likewise.
|
||
(elf_map_symbols): Likewise, and bfd_alloc rather than bfd_alloc2.
|
||
(_bfd_elf_map_sections_to_segments): Use bfd_malloc rather than
|
||
bfd_malloc2, size_t amt, and unsigned tls_count.
|
||
(rewrite_elf_program_header): Use bfd_malloc and size_t amt.
|
||
* elflink.c (elf_create_symbuf): Use bfd_malloc.
|
||
(elf_output_implib): Use bfd_alloc.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* bfd.c (struct bfd): Move format and direction to other
|
||
bitfields. Add "size".
|
||
* bfdio.c (bfd_get_size): Cache size when not writing file.
|
||
* opncls.c (bfd_get_debug_link_info_1): Allow for bfd_get_size
|
||
returning zero, ie. unknown.
|
||
(bfd_get_alt_debug_link_info): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* coffgen.c (_bfd_coff_get_external_symbols): Don't call
|
||
bfd_get_file_size twice.
|
||
(_bfd_coff_read_string_table): Allow for bfd_get_file_size
|
||
zero, ie. unknown, return.
|
||
* elf-attrs.c (_bfd_elf_parse_attributes): Likewise.
|
||
* elfcode.h (elf_swap_shdr_in): Likewise.
|
||
(elf_object_p): Don't call bfd_get_file_size twice and correct
|
||
file size check.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* mach-o.c (bfd_mach_o_flatten_sections): Return a bfd_boolean,
|
||
FALSE if memory alloc fails. Adjust calls.
|
||
* som.c (som_prep_for_fixups): Likewise.
|
||
* vms-alpha.c (alpha_vms_add_fixup_lp, alpha_vms_add_fixup_ca),
|
||
(alpha_vms_add_fixup_qr, alpha_vms_add_fixup_lr),
|
||
(alpha_vms_add_lw_reloc, alpha_vms_add_qw_reloc): Likewise.
|
||
* som.c (som_build_and_write_symbol_table): Return via error_return
|
||
on seek failure.
|
||
* vms-alpha.c (VEC_APPEND): Adjust for vector_grow1 changes.
|
||
(VEC_APPEND_EL): Delete.
|
||
(vector_grow1): Return pointer to element. Catch overflow.
|
||
Return NULL on memory allocation failure.
|
||
(alpha_vms_add_fixup_lp): Replace VEC_APPEND_EL with VEC_APPEND.
|
||
(alpha_vms_add_fixup_ca): Likewise.
|
||
(alpha_vms_link_add_object_symbols): Check VEC_APPEND result
|
||
before using.
|
||
* elf.c (bfd_section_from_shdr): Check bfd_zalloc2 result.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* aix386-core.c (aix386_core_file_p): Use size_t for "amt".
|
||
* aout-target.h (object_p): Likewise.
|
||
* aout-tic30.c (tic30_aout_object_p): Likewise.
|
||
* aoutx.h (some_aout_object_p, mkobject, make_empty_symbol),
|
||
(emit_stringtab, write_syms, link_hash_table_create),
|
||
(aout_link_write_other_symbol): Likewise.
|
||
* archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p),
|
||
(bfd_ar_hdr_from_filesystem, _bfd_write_archive_contents),
|
||
(_bfd_compute_and_write_armap): Likewise.
|
||
* archures.c (bfd_arch_list): Likewise.
|
||
* bfd.c (bfd_record_phdr): Likewise.
|
||
* binary.c (binary_canonicalize_symtab): Likewise.
|
||
* cisco-core.c (cisco_core_file_validate): Likewise.
|
||
* coff-arm.c (coff_arm_link_hash_table_create, find_thumb_glue),
|
||
(find_arm_glue, record_arm_to_thumb_glue),
|
||
(record_thumb_to_arm_glue): Likewise.
|
||
* coff-ppc.c (ppc_coff_link_hash_table_create, record_toc),
|
||
(ppc_allocate_toc_section): Likewise.
|
||
* coff-rs6000.c (_bfd_xcoff_mkobject, _bfd_xcoff_archive_p): Likewise.
|
||
* coff-sh.c (sh_relax_section): Likewise.
|
||
* coff64-rs6000.c (xcoff64_archive_p): Likewise.
|
||
* coffcode.h (handle_COMDAT, coff_new_section_hook),
|
||
(coff_set_alignment_hook, coff_mkobject),
|
||
(coff_compute_section_file_positions): Likewise.
|
||
* coffgen.c (coff_make_empty_symbol, coff_bfd_make_debug_symbol),
|
||
(coff_find_nearest_line_with_names),
|
||
( bfd_coff_set_symbol_class): Likewise.
|
||
* cofflink.c (_bfd_coff_link_hash_table_create),
|
||
(_bfd_coff_link_input_bfd): Likewise.
|
||
* dwarf1.c (alloc_dwarf1_unit, alloc_dwarf1_func): Likewise.
|
||
* dwarf2.c (read_abbrevs, read_attribute_value, add_line_info),
|
||
(build_line_info_table, sort_line_sequences),
|
||
(line_info_add_include_dir, line_info_add_file_name),
|
||
(decode_line_info, scan_unit_for_symbols, parse_comp_unit),
|
||
(place_sections, _bfd_dwarf2_slurp_debug_info): Likewise.
|
||
* ecoff.c (_bfd_ecoff_mkobject, _bfd_ecoff_make_empty_symbol),
|
||
(_bfd_ecoff_find_nearest_line),
|
||
(_bfd_ecoff_bfd_link_hash_table_create): Likewise.
|
||
* ecofflink.c (bfd_ecoff_debug_init): Likewise.
|
||
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Likewise.
|
||
* elf-m10300.c (mn10300_elf_relax_section),
|
||
(elf32_mn10300_link_hash_table_create): Likewise.
|
||
* elf-strtab.c (_bfd_elf_strtab_init): Likewise.
|
||
* elf.c (make_mapping, copy_elf_program_header): Likewise.
|
||
* elf32-arm.c (elf32_arm_link_hash_table_create),
|
||
(elf32_arm_setup_section_lists, elf32_arm_check_relocs),
|
||
(elf32_arm_new_section_hook): Likewise.
|
||
* elf32-avr.c (elf_avr_new_section_hook),
|
||
(elf32_avr_link_hash_table_create, get_local_syms),
|
||
(elf32_avr_setup_section_lists): Likewise.
|
||
* elf32-bfin.c (bfinfdpic_elf_link_hash_table_create),
|
||
(bfin_link_hash_table_create): Likewise.
|
||
* elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
|
||
* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
|
||
* elf32-csky.c (csky_elf_link_hash_table_create),
|
||
(csky_elf_check_relocs, elf32_csky_setup_section_lists): Likewise.
|
||
* elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_link_hash_table_create),
|
||
(elf32_hppa_setup_section_lists, get_local_syms): Likewise.
|
||
* elf32-i386.c (elf_i386_check_relocs): Likewise.
|
||
* elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
|
||
* elf32-m32r.c (m32r_elf_link_hash_table_create),
|
||
(m32r_elf_check_relocs): Likewise.
|
||
* elf32-m68hc1x.c (m68hc11_elf_hash_table_create),
|
||
(elf32_m68hc11_setup_section_lists),
|
||
(elf32_m68hc11_size_stubs): Likewise.
|
||
* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
|
||
* elf32-metag.c (elf_metag_link_hash_table_create),
|
||
(elf_metag_setup_section_lists): Likewise.
|
||
* elf32-microblaze.c (microblaze_elf_link_hash_table_create),
|
||
(microblaze_elf_check_relocs): Likewise.
|
||
* elf32-nds32.c (nds32_elf_link_hash_table_create),
|
||
(nds32_elf_check_relocs): Likewise.
|
||
* elf32-nios2.c (nios2_elf32_setup_section_lists),
|
||
(get_local_syms, nios2_elf32_check_relocs),
|
||
(nios2_elf32_link_hash_table_create): Likewise.
|
||
* elf32-or1k.c (or1k_elf_link_hash_table_create),
|
||
(or1k_elf_check_relocs): Likewise.
|
||
* elf32-ppc.c (ppc_elf_modify_segment_map, update_plt_info): Likewise.
|
||
* elf32-pru.c (pru_elf32_link_hash_table_create): Likewise.
|
||
* elf32-s390.c (elf_s390_link_hash_table_create),
|
||
(elf_s390_check_relocs): Likewise.
|
||
* elf32-score.c (score_elf_create_got_section),
|
||
(s3_elf32_score_new_section_hook),
|
||
(elf32_score_link_hash_table_create): Likewise.
|
||
* elf32-score7.c (score_elf_create_got_section),
|
||
(s7_elf32_score_new_section_hook): Likewise.
|
||
* elf32-sh.c (sh_elf_link_hash_table_create),
|
||
(sh_elf_check_relocs): Likewise.
|
||
* elf32-tic6x.c (elf32_tic6x_link_hash_table_create),
|
||
(elf32_tic6x_new_section_hook, elf32_tic6x_check_relocs): Likewise.
|
||
* elf32-tilepro.c (tilepro_elf_link_hash_table_create),
|
||
(tilepro_elf_check_relocs): Likewise.
|
||
* elf32-v850.c (remember_hi16s_reloc): Likewise.
|
||
* elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_link_hash_table_create),
|
||
(elf_xtensa_new_section_hook): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create),
|
||
(get_got_entry, elf64_alpha_check_relocs): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
|
||
* elf64-ia64-vms.c (elf64_ia64_object_p): Likewise.
|
||
* elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_new_section_hook),
|
||
(ppc64_elf_link_hash_table_create, update_local_sym_info),
|
||
(update_plt_info, ppc64_elf_check_relocs): Likewise.
|
||
* elf64-s390.c (elf_s390_link_hash_table_create),
|
||
(elf_s390_check_relocs): Likewise.
|
||
* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
|
||
* elflink.c (bfd_elf_link_record_local_dynamic_symbol),
|
||
(_bfd_elf_link_find_version_dependencies, elf_link_add_object_symbols),
|
||
(elf_link_add_archive_symbols, compute_bucket_count),
|
||
(bfd_elf_size_dynsym_hash_dynstr, _bfd_elf_link_hash_table_create),
|
||
(bfd_elf_get_bfd_needed_list, elf_link_swap_symbols_out),
|
||
(bfd_elf_final_link): Likewise.
|
||
* elfnn-aarch64.c (elfNN_aarch64_link_hash_table_create),
|
||
(elfNN_aarch64_setup_section_lists, elfNN_aarch64_check_relocs),
|
||
(elfNN_aarch64_new_section_hook): Likewise.
|
||
* elfnn-ia64.c (elfNN_ia64_object_p): Likewise.
|
||
* elfnn-riscv.c (riscv_elf_link_hash_table_create),
|
||
(riscv_elf_check_relocs): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_new_section_hook),
|
||
(_bfd_mips_elf_add_symbol_hook, _bfd_mips_elf_check_relocs),
|
||
(_bfd_mips_elf_modify_segment_map, _bfd_mips_elf_set_section_contents),
|
||
(_bfd_mips_elf_link_hash_table_create): Likewise.
|
||
* elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create),
|
||
(_bfd_sparc_elf_check_relocs),
|
||
(_bfd_sparc_elf_new_section_hook): Likewise.
|
||
* elfxx-tilegx.c (tilegx_elf_link_hash_table_create),
|
||
(tilegx_elf_check_relocs): Likewise.
|
||
* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
|
||
* format.c (bfd_check_format_matches): Likewise.
|
||
* hash.c (_bfd_stringtab_init): Likewise.
|
||
* ihex.c (ihex_scan): Likewise.
|
||
* irix-core.c (irix_core_core_file_p): Likewise.
|
||
* linker.c (bfd_wrapped_link_hash_lookup),
|
||
(_bfd_generic_link_hash_table_create),
|
||
(_bfd_generic_reloc_link_order): Likewise.
|
||
* lynx-core.c (lynx_core_file_p): Likewise.
|
||
* netbsd-core.c (netbsd_core_file_p): Likewise.
|
||
* osf-core.c (osf_core_core_file_p): Likewise.
|
||
* pdp11.c (some_aout_object_p, mkobject, make_empty_symbol),
|
||
(link_hash_table_create, aout_link_write_other_symbol): Likewise.
|
||
* peXXigen.c (_bfd_XX_bfd_copy_private_section_data): Likewise.
|
||
* peicode.h (pe_mkobject): Likewise.
|
||
* ppcboot.c (ppcboot_mkobject, ppcboot_canonicalize_symtab): Likewise.
|
||
* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
|
||
* sco5-core.c (read_uarea): Likewise.
|
||
* som.c (hppa_som_gen_reloc_type, som_object_p, som_prep_headers),
|
||
(som_write_fixups, som_write_space_strings, som_write_symbol_strings),
|
||
(som_finish_writing, som_canonicalize_symtab, som_new_section_hook),
|
||
(som_bfd_copy_private_section_data, bfd_som_set_section_attributes),
|
||
(bfd_som_attach_aux_hdr, som_write_armap): Likewise.
|
||
* srec.c (srec_scan): Likewise.
|
||
* syms.c (_bfd_generic_make_empty_symbol): Likewise.
|
||
* targets.c (bfd_target_list): Likewise.
|
||
* tekhex.c (first_phase, tekhex_sizeof_headers): Likewise.
|
||
* trad-core.c (trad_unix_core_file_p): Likewise.
|
||
* vms-alpha.c (vms_initialize, alpha_vms_bfd_link_hash_table_create),
|
||
(vms_new_section_hook): Likewise.
|
||
* wasm-module.c (wasm_make_empty_symbol): Likewise.
|
||
* xcofflink.c (xcoff_get_section_contents),
|
||
(_bfd_xcoff_bfd_link_hash_table_create, xcoff_set_import_path),
|
||
(xcoff_find_function, bfd_xcoff_link_record_set, xcoff_build_ldsym),
|
||
(bfd_xcoff_size_dynamic_sections, xcoff_link_input_bfd): Likewise.
|
||
|
||
2020-02-19 Alan Modra <amodra@gmail.com>
|
||
|
||
* elfxx-riscv.c (riscv_multi_letter_ext_valid_p): Don't use C99.
|
||
|
||
2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* plugin.c (try_load_plugin): Make plugin_list_iter an argument
|
||
and use it if it isn't NULL. Remove has_plugin_p argument. Add
|
||
a build_list_p argument. Don't search plugin_list. Short circuit
|
||
when building the plugin list.
|
||
(has_plugin): Renamed to has_plugin_list.
|
||
(bfd_plugin_set_plugin): Don't set has_plugin.
|
||
(bfd_plugin_specified_p): Check plugin_list instead.
|
||
(build_plugin_list): New function.
|
||
(load_plugin): Call build_plugin_list and use plugin_list.
|
||
|
||
2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/25355
|
||
* plugin.c (try_claim): Always clean up for LTO wrapper.
|
||
(try_load_plugin): Treat each object as independent. Create a
|
||
copy for plugin name.
|
||
|
||
2020-02-11 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-msp430.c (msp430_final_link_relocate): Always use longs
|
||
for addresses in print statements.
|
||
(msp430_elf_relax_delete_bytes): Likewise.
|
||
(msp430_elf_relax_add_words): Likewise.
|
||
(msp430_elf_relax_section): Likewise.
|
||
|
||
2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* plugin.c (add_symbols): Clear plugin_data memory.
|
||
|
||
2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR binutils/25355
|
||
* configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
|
||
(EXECUTABLE_SUFFIX): Likewise.
|
||
* config.in: Regenerated.
|
||
* configure: Likewise.
|
||
* plugin.c (bfd_plugin_close_and_cleanup): Removed.
|
||
(plugin_list_entry): Add all_symbols_read, cleanup_handler,
|
||
gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
|
||
real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
|
||
(get_lto_wrapper): New.
|
||
(setup_lto_wrapper_env): Likewise.
|
||
(current_plugin): Likewise.
|
||
(register_all_symbols_read): Likewise.
|
||
(register_cleanup): Likewise.
|
||
(get_symbols): Likewise.
|
||
(add_input_file): Likewise.
|
||
(bfd_plugin_close_and_cleanup): Likewise.
|
||
(claim_file): Removed.
|
||
(register_claim_file): Set current_plugin->claim_file.
|
||
(add_symbols): Make a copy of LTO symbols. Set lto_nsyms and
|
||
lto_syms in current_plugin.
|
||
(try_claim): Use current_plugin->claim_file. Call LTO plugin
|
||
all_symbols_read handler. Copy real symbols to plugin_data.
|
||
Call LTO plugin cleanup handler. Clean up for LTO wrapper.
|
||
(try_load_plugin): Don't reuse the previous plugin for LTO
|
||
wrapper. Set up GCC LTO wrapper if possible. Don't set
|
||
plugin_list_iter->claim_file.
|
||
(bfd_plugin_canonicalize_symtab): Use real LTO symbols if
|
||
possible.
|
||
* plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
|
||
real_syms.
|
||
|
||
2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* elf32-msp430.c (msp430_elf_relax_section): Before relaxing a branch,
|
||
check if previous instruction matches a conditional jump inserted
|
||
earlier. Invert conditional jump and delete branch in this case.
|
||
|
||
2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* elf32-msp430.c (msp430_elf_relax_add_two_words): Rename to
|
||
msp430_elf_relax_add_words. Support insertion of either one or two
|
||
words.
|
||
(msp430_elf_relax_section): Catch opcode of 0x3c00 when relocation
|
||
needs to be grown. Handle insertion of branch instruction to replace
|
||
jump.
|
||
|
||
2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* elf32-msp430.c (msp430_final_link_relocate): Add printf statements for
|
||
debugging relocations.
|
||
(msp430_elf_relax_delete_bytes): Likewise.
|
||
(msp430_elf_relax_add_two_words): Likewise.
|
||
(msp430_elf_relax_section): Likewise.
|
||
|
||
2020-02-10 Alan Modra <amodra@gmail.com>
|
||
|
||
* archures.c: Wrap overlong z80 comments.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
|
||
|
||
PR 25469
|
||
* archures.c: Add GBZ80 and Z80N machine values.
|
||
* reloc.c: Add BFD_RELOC_Z80_16_BE.
|
||
* coff-z80.c: Add support for new reloc.
|
||
* coffcode.h: Add support for new machine values.
|
||
* cpu-z80.c: Add support for new machine names.
|
||
* elf32-z80.c: Add support for new reloc.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2020-02-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
PR 23932
|
||
* elf.c (rewrite_elf_program_header): Do not complain if no
|
||
sections are mapped to a segment.
|
||
|
||
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/25490
|
||
* elflink.c (_bfd_elf_gc_mark_extra_sections): Issue an error
|
||
for garbage collection on __patchable_function_entries section
|
||
without linked-to section.
|
||
|
||
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR gas/25381
|
||
* bfd-in2.h: Regenerated.
|
||
* elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
|
||
on section if gc_mark of any of its linked-to sections is set
|
||
and don't set gc_mark again.
|
||
* section.c (asection): Add linked_to_symbol_name to map_head
|
||
union.
|
||
|
||
2020-02-06 Maciej W. Rozycki <macro@wdc.com>
|
||
|
||
* elf32-v850.c (v850_elf_relax_section): Fix the index used for
|
||
reporting an unrecognized instruction with R_V850_LONGJUMP.
|
||
|
||
2020-02-05 Alan Modra <amodra@gmail.com>
|
||
|
||
* elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
|
||
|
||
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:
|