bfd_section_* macros
[binutils-gdb.git] / bfd / ChangeLog
index ef9eee4716e3eb97089af47af379934016401175..8fff6a67523d9920b4c2cb3d21f2fd7796ecb4da 100644 (file)
@@ -1,3 +1,432 @@
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
+       (bfd_get_section_lma, bfd_get_section_alignment),
+       (bfd_get_section_size, bfd_get_section_flags),
+       (bfd_get_section_userdata): Delete.
+       (bfd_section_name, bfd_section_size, bfd_section_vma),
+       (bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
+       (bfd_section_flags, bfd_section_userdata): New.
+       (bfd_is_com_section): Rename parameter.
+       * section.c (bfd_set_section_userdata, bfd_set_section_vma),
+       (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
+       (bfd_set_section_size): Delete bfd parameter, rename section parameter.
+       (bfd_set_section_lma): New.
+       * bfd-in2.h: Regenerate.
+       * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
+       update callers.
+       * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
+       * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
+       * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
+       * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
+       * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
+       * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
+       * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
+       * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
+       * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
+       * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
+       * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
+       * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
+       * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
+       * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
+       * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
+       * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
+       * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
+       * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
+       * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
+       * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
+       * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
+       * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
+       * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
+       * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
+       * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
+       * xcofflink.c: Update throughout for bfd section macro and function
+       changes.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
+       (bfd_get_output_section): Delete.
+       (bfd_asymbol_base): Delete.
+       (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+       (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
+       (bfd_set_asymbol_name): New macro.
+       * bfd-in2.h: Regenerate.
+       * aout-cris.c: Update throughout to use bfd_asymbol_section.
+       * aoutx.h: Likewise.
+       * cofflink.c: Likewise.
+       * dwarf2.c: Likewise.
+       * ecoff.c: Likewise.
+       * elf.c: Likewise.
+       * elf32-arm.c: Likewise.
+       * elf32-mips.c: Likewise.
+       * elf32-score.c: Likewise.
+       * elf32-score7.c: Likewise.
+       * elfn32-mips.c: Likewise.
+       * elfnn-aarch64.c: Likewise.
+       * elfxx-mips.c: Likewise.
+       * linker.c: Likewise.
+       * pdp11.c: Likewise.
+       * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
+
+2019-09-18  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * Makefile.in: Re-generate.
+       * configure: Re-generate.
+       * doc/Makefile.in: Re-generate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
+       macros.
+       * pdp11.c (slurp_symbol_table): Likewise.
+       * som.c (som_slurp_symbol_table): Likewise.
+       * coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
+       * coffcode.h (coff_slurp_symbol_table): Likewise.
+       * cofflink.c (_bfd_coff_final_link): Likewise.
+       * ecoff.c (ecoff_slurp_symbolic_header): Likewise.
+       (_bfd_ecoff_slurp_symbolic_info): Likewise.
+       (_bfd_ecoff_slurp_symbol_table): Likewise.
+       (_bfd_ecoff_bfd_final_link): Likewise.
+       * elf.c (_bfd_elf_canonicalize_symtab): Likewise.
+       * elflink.c (elf_link_output_symstrtab): Likewise.
+       (bfd_elf_final_link): Likewise.
+       * peicode.h (pe_ILF_build_a_bfd): Likewise.
+       * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+       * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
+       start_address or symcount using bfd_get macros.
+       * coffgen.c (coff_real_object_p): Likewise.
+       * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
+       * som.c (som_object_setup, som_slurp_symbol_table): Likewise.
+       * elfcore.h (elf_core_file_p): Don't set start_address using
+       bfd_get macro.
+       * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
+       using bfd_get macro.
+       * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
+       * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
+       or symcount using bfd_get macros.
+       (_bfd_generic_final_link, generic_add_output_symbol): Likewise.
+       * syms.c (bfd_set_symtab): Likewise.
+       * vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
+       * archive.c (do_slurp_bsd_armap): Don't set has_armap using
+       bfd_has_map macro.
+       (do_slurp_coff_armap, bfd_slurp_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.
+       * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
+       * som.c (som_slurp_armap): Likewise.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * archures.c (bfd_get_arch): Make param const.
+       (bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
+       (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
+       * bfd-in2.h: Regenerate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * bfd-in.h (carsym.name): Make const.
+       * reloc.c (struct reloc_howto_struct.name): Likewise.
+       * targets.c (bfd_target.name): Likewise.!
+       * bfd.c (bfd_get_sign_extend_vma): Make variable const.
+       * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
+       when setting carsym.name.
+       * bfd-in2.h: Regenerate.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * mach-o.c (bfd_mach_o_fat_member_init): Likewise.  Replace
+       xstrdup and xmalloc with bfd_strdup and bfd_malloc.  Return an
+       error status.  Adjust calls.
+       * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
+       Close bfd on failure.  Replace xstrdup/bfd_alloc use with
+       bfd_malloc.  Use bfd_set_filename.
+
+2019-09-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
+       (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
+       (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
+       needs_copy even if all relocs are in rw sections.
+       (dec_dynrel_count): Handle TOC16 relocs.
+       (ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
+       (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
+       semantic change.
+
+2019-09-16  Phil Blundell  <pb@pbcl.net>
+
+       * version.m4: Set version to 2.33.50.
+       * Makefile.in, configure, doc/Makefile.in: Regenerated.
+
+2019-09-11  Tom Tromey  <tom@tromey.com>
+
+       * opncls.c (bfd_set_filename): New function.
+       * bfd-in2.h: Regenerate.
+
+2019-09-11  Alan Modra  <amodra@gmail.com>
+
+       * targets.c (struct bfd_target): Add _bfd_group_name.
+       (BFD_JUMP_TABLE): Likewise.
+       * coffgen.c (bfd_coff_group_name): New function.
+       * elf.c (bfd_elf_group_name): New function.
+       * linker.c (_bfd_nolink_bfd_group_name): New function.
+       * section.c (bfd_generic_group_name): New function.
+       * elf-bfd.h (bfd_elf_group_name): Declare.
+       * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare.
+       * libcoff-in.h (bfd_coff_group_name): Declare.
+       * aout-target.h (MY_bfd_group_name): Define.
+       * aout-tic30.c (MY_bfd_group_name): Define.
+       * bfd.c (bfd_group_name): Define.
+       * binary.c (binary_bfd_group_name): Define.
+       * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define.
+       * coff-mips.c (_bfd_ecoff_bfd_group_name): Define.
+       * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define.
+       * coffcode.h (coff_bfd_group_name): Define.
+       * elfxx-target.h (bfd_elfNN_bfd_group_name): Define.
+       * i386msdos.c (msdos_bfd_group_name): Define.
+       * ihex.c (ihex_bfd_group_name): Define.
+       * mach-o-target.c (bfd_mach_o_bfd_group_name): Define.
+       * mmo.c (mmo_bfd_group_name): Define.
+       * pef.c (bfd_pef_bfd_group_name): Define.
+       * plugin.c (bfd_plugin_bfd_group_name): Define.
+       * ppcboot.c (ppcboot_bfd_group_name): Define.
+       * som.c (som_bfd_group_name): Define.
+       * srec.c (srec_bfd_group_name): Define.
+       * tekhex.c (tekhex_bfd_group_name): Define.
+       * verilog.c (verilog_bfd_group_name): Define.
+       * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define.
+       * xsym.c (bfd_sym_bfd_group_name): Define.
+       * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field.
+       (rs6000_xcoff64_aix_vec): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2019-09-10  Nick Clifton  <nickc@redhat.com>
+
+       PR 24907
+       * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn
+       field.
+       (bfd_default_arch_struct): Initialise the new field.
+       * bfd-in2.h: Regenerate.
+       * cpu-aarch64.c: Initialise the new field.
+       * cpu-alpha.c: Likewise.
+       * cpu-arc.c: Likewise.
+       * cpu-arm.c: Likewise.
+       * cpu-avr.c: Likewise.
+       * cpu-bfin.c: Likewise.
+       * cpu-bpf.c: Likewise.
+       * cpu-cr16.c: Likewise.
+       * cpu-cr16c.c: Likewise.
+       * cpu-cris.c: Likewise.
+       * cpu-crx.c: Likewise.
+       * cpu-csky.c: Likewise.
+       * cpu-d10v.c: Likewise.
+       * cpu-d30v.c: Likewise.
+       * cpu-dlx.c: Likewise.
+       * cpu-epiphany.c: Likewise.
+       * cpu-fr30.c: Likewise.
+       * cpu-frv.c: Likewise.
+       * cpu-ft32.c: Likewise.
+       * cpu-h8300.c: Likewise.
+       * cpu-hppa.c: Likewise.
+       * cpu-i386.c: Likewise.
+       * cpu-ia64.c: Likewise.
+       * cpu-iamcu.c: Likewise.
+       * cpu-ip2k.c: Likewise.
+       * cpu-iq2000.c: Likewise.
+       * cpu-k1om.c: Likewise.
+       * cpu-l1om.c: Likewise.
+       * cpu-lm32.c: Likewise.
+       * cpu-m10200.c: Likewise.
+       * cpu-m10300.c: Likewise.
+       * cpu-m32c.c: Likewise.
+       * cpu-m32r.c: Likewise.
+       * cpu-m68hc11.c: Likewise.
+       * cpu-m68hc12.c: Likewise.
+       * cpu-m68k.c: Likewise.
+       * cpu-m9s12x.c: Likewise.
+       * cpu-m9s12xg.c: Likewise.
+       * cpu-mcore.c: Likewise.
+       * cpu-mep.c: Likewise.
+       * cpu-metag.c: Likewise.
+       * cpu-microblaze.c: Likewise.
+       * cpu-mips.c: Likewise.
+       * cpu-mmix.c: Likewise.
+       * cpu-moxie.c: Likewise.
+       * cpu-msp430.c: Likewise.
+       * cpu-mt.c: Likewise.
+       * cpu-nds32.c: Likewise.
+       * cpu-nfp.c: Likewise.
+       * cpu-nios2.c: Likewise.
+       * cpu-ns32k.c: Likewise.
+       * cpu-or1k.c: Likewise.
+       * cpu-pdp11.c: Likewise.
+       * cpu-pj.c: Likewise.
+       * cpu-plugin.c: Likewise.
+       * cpu-powerpc.c: Likewise.
+       * cpu-pru.c: Likewise.
+       * cpu-riscv.c: Likewise.
+       * cpu-rl78.c: Likewise.
+       * cpu-rs6000.c: Likewise.
+       * cpu-rx.c: Likewise.
+       * cpu-s12z.c: Likewise.
+       * cpu-s390.c: Likewise.
+       * cpu-score.c: Likewise.
+       * cpu-sh.c: Likewise.
+       * cpu-sparc.c: Likewise.
+       * cpu-spu.c: Likewise.
+       * cpu-tic30.c: Likewise.
+       * cpu-tic4x.c: Likewise.
+       * cpu-tic54x.c: Likewise.
+       * cpu-tic6x.c: Likewise.
+       * cpu-tic80.c: Likewise.
+       * cpu-tilegx.c: Likewise.
+       * cpu-tilepro.c: Likewise.
+       * cpu-v850.c: Likewise.
+       * cpu-v850_rh850.c: Likewise.
+       * cpu-vax.c: Likewise.
+       * cpu-visium.c: Likewise.
+       * cpu-wasm32.c: Likewise.
+       * cpu-xc16x.c: Likewise.
+       * cpu-xgate.c: Likewise.
+       * cpu-xstormy16.c: Likewise.
+       * cpu-xtensa.c: Likewise.
+       * cpu-z80.c: Likewise.
+       * cpu-z8k.c: Likewise.
+
+2019-09-09  Phil Blundell  <pb@pbcl.net>
+
+       binutils 2.33 branch created.
+
+2019-09-06  Alan Modra  <amodra@gmail.com>
+
+       * aout-target.h (object_p): Formatting.
+       * bfd-in.h (bfd_get_filename): Don't cast to char*.
+       * corefile.c (generic_core_file_matches_executable_p): Constify
+       variables and remove cast.
+       * bfd-in2.h: Regenerate.
+
+2019-09-05  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in
+       GOT_PCREL and PLT_PCREL relocs as affecting the value stored
+       in the GOT/PLT entry rather than affecting the offset to that
+       GOI/PLT entry.
+       (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
+
+2019-09-05  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores
+       in second instruction.
+       (ppc64_elf_relocate_section): Likewise.
+
+2019-09-05  Alan Modra  <amodra@gmail.com>
+
+       PR 24955
+       * libbfd-in.h (bfd_strdup): New inline function.
+       * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup.  Close
+       bfd on error.
+       * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup.
+       * opncls.c (bfd_fopen): Use bfd_strdup.  Close fd and stream
+       on error.
+       (bfd_openstreamr): Use bfd_strdup.
+       (bfd_openr_iovec, bfd_openw, bfd_create): Likewise.
+       * plugin.c (try_load_plugin): Use bfd_malloc.
+       * libbfd.h: Regenerate.
+
+2019-09-02  Alan Modra  <amodra@gmail.com>
+
+       PR 11983
+       * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename
+       on success.  Tidy.
+       (read_alt_indirect_string): Likewise.
+       (read_alt_indirect_ref): Likewise.
+
+2019-08-31  Jim Wilson  <jimw@sifive.com>
+
+       PR 23825
+       * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD,
+       SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
+
+2019-08-30  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc
+       error, call bfd_set_error, set ret to FALSE, and goto out label.
+
+2019-08-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/24951
+       * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS,
+       BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive.
+
+2019-08-29  Alan Modra  <amodra@gmail.com>
+
+       PR 24697
+       * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
+       when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
+       R_PPC_EMB_SDA2REL.  Don't call bad_shared_reloc for any other
+       reloc.
+
+2019-08-29  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter.  Allow offset
+       on second insn, return it in poff.
+       (ppc64_elf_relocate_section): Add offset to paddi addend for
+       PCREL_OPT.
+
+2019-08-28  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs
+       section when setting max_alignment.  Update comment.
+       (_bfd_riscv_relax_pc): Likewise.
+
+2019-08-29  Alan Modra  <amodra@gmail.com>
+
+       PR 24891
+       * bfd.c (struct bfd): Add no_element_cache.
+       * archive.c (_bfd_get_elt_at_filepos): Don't add element to
+       archive cache when no_element_cache.
+       (bfd_generic_archive_p): Set no_element_cache when opening first
+       element to check format.  Close first element too.
+       (do_slurp_bsd_armap): Don't zero ardata->cache here.
+       * bfd-in2.h: Regenerate.
+
+2019-08-24  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
+       symbols from GOT optimisation.
+
+2019-08-23  Stafford Horne  <shorne@gmail.com>
+
+       * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
+       PLT GOT entries.
+
+2019-08-23  Nick Clifton  <nickc@redhat.com>
+
+       PR 24456
+       * elf.c (bfd_section_from_shdr): Issue an informative warning
+       message and continue processing other sections after encountering
+       a reloc section for a section which already has other relocs
+       associated with it.
+
+2019-08-23  Alan Modra  <amodra@gmail.com>
+
+       PR 24933
+       * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
+       on error without freeing plts[] contents.
+
+2019-08-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
+
+2019-08-22  Nick Clifton  <nickc@redhat.com>
+
+       PR 24922
+       * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
+       reading data from extra records.
+
 2019-08-22  Tamar Christina  <tamar.christina@arm.com>
 
        PR ld/24601