X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2FChangeLog;h=671776bbe665598618b2c20eaf7143430f14ce26;hb=b627f56244cb2930c5891cfde03586987d46b5d2;hp=de8e1b92e4f2c15c3f09e060ffb54059b54b4e04;hpb=7df6aecc97b96843da080d54414052b1c954ddca;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ChangeLog b/ld/ChangeLog index de8e1b92e4..671776bbe6 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,714 @@ +2019-10-04 Szabolcs Nagy + + PR ld/25062 + * testsuite/ld-arm/arm-elf.exp: Update. + * testsuite/ld-arm/tls-gdesc-neg.d: New test. + * testsuite/ld-arm/tls-gdesc-neg.s: New test. + +2019-09-23 Nick Alcock + + * configure.ac (TESTCTFLIB): Set to the .so or .a, like TESTBFDLIB. + * Makefile.am (TESTCTFLIB): Use it. + (LIBCTF): Use the .la file. + (check-DEJAGNU): Use it. + * Makefile.in: Regenerated. + * configure: Likewise. + +2019-09-30 Nick Alcock + + * ldlang.h: (struct lang_input_statement_struct): Add the_ctf. + (struct elf_sym_strtab): Add forward. + (struct elf_strtab_hash): Likewise. + (ldlang_ctf_apply_strsym): Declare. + (ldlang_write_ctf_late): Likewise. + * ldemul.h (ldemul_emit_ctf_early): New. + (ldemul_examine_strtab_for_ctf): Likewise. + (ld_emulation_xfer_type) : Likewise. + (ld_emulation_xfer_type) : Likewise. + * ldemul.c (ldemul_emit_ctf_early): New. + (ldemul_examine_strtab_for_ctf): Likewise. + * ldlang.c: Include ctf-api.h. + (CTF_COMPRESSION_THRESHOLD): New. + (ctf_output): New. Initialized in... + (ldlang_open_ctf): ... this new function. Open all the CTF + sections in the input files: mark them non-loaded and empty + so as not to copy their contents to the output, but linker-created + so the section gets created in the target. + (ldlang_merge_ctf): New, merge types via ctf_link_add_ctf and + ctf_link. + (ldlang_ctf_apply_strsym): New, an examine_strtab callback: wrap + ldemul_examine_strtab_for_ctf. + (lang_write_ctf): New, write out the CTF section. + (ldlang_write_ctf_late): New, late call via bfd's emit_ctf hook. + (lang_process): Call ldlang_open_ctf, ldlang_merge_ctf, and + lang_write_ctf. + * ldmain.c (link_callbacks): Add ldlang_ctf_apply_strsym, + ldlang_write_ctf_late. + * emultempl/aix.em: Add ctf-api.h. + * emultempl/armcoff.em: Likewise. + * emultempl/beos.em: Likewise. + * emultempl/elf.em: Likewise. + * emultempl/generic.em: Likewise. + * emultempl/linux.em: Likewise. + * emultempl/msp430.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/ticoff.em: Likewise. + * emultempl/vanilla.em: Likewise. + * ldcref.c: Likewise. + * ldctor.c: Likewise. + * ldelf.c: Likewise. + * ldelfgen.c: Likewise. + * ldemul.c: Likewise. + * ldexp.c: Likewise. + * ldfile.c: Likewise. + * ldgram.c: Likewise. + * ldlex.l: Likewise. + * ldmain.c: Likewise. + * ldmisc.c: Likewise. + * ldver.c: Likewise. + * ldwrite.c: Likewise. + * lexsup.c: Likewise. + * mri.c: Likewise. + * pe-dll.c: Likewise. + * plugin.c: Likewise. + + * ldelfgen.c (ldelf_emit_ctf_early): New. + (ldelf_examine_strtab_for_ctf): tell libctf about the symtab and + strtab. + (struct ctf_strsym_iter_cb_arg): New, state to do so. + (ldelf_ctf_strtab_iter_cb): New: tell libctf about + each string in the strtab in turn. + (ldelf_ctf_symbols_iter_cb): New, tell libctf + about each symbol in the symtab in turn. + * ldelfgen.h (struct elf_sym_strtab): Add forward. + (struct elf_strtab_hash): Likewise. + (struct ctf_file): Likewise. + (ldelf_emit_ctf_early): Declare. + (ldelf_examine_strtab_for_ctf): Likewise. + * emultempl/elf-generic.em (LDEMUL_EMIT_CTF_EARLY): Set it. + (LDEMUL_EXAMINE_STRTAB_FOR_CTF): Likewise. + * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Add + emit_ctf_early and examine_strtab_for_ctf, NULL by default. + * emultempl/armcoff.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/beos.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/elf.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/msp430.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/pe.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/pep.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/ticoff.em (ld_${EMULATION_NAME}_emulation): Likewise. + * emultempl/vanilla.em (ld_vanilla_emulation): Likewise. + + * Makefile.am: Pull in libctf (and zlib, a transitive requirement + for compressed CTF section emission). Pass it on to DejaGNU. + * configure.ac: Add AM_ZLIB. + * aclocal.m4: Added zlib.m4. + * Makefile.in: Regenerated. + * testsuite/ld-bootstrap/bootstrap.exp: Use it when relinking ld. + +2019-10-02 Alan Modra + + * ld.texi (-Bsymbolic, -Bsymbolic-functions): Don't mention PIEs. + * ld.h (symbolic_enum, dynamic_list_enum), + (args_type ): Move to.. + * lexsup.c (parse_args): ..here, using auto vars opt_symbolic + and opt_dynamic_list rather than command_line fields. Only + act on -Bsymbolic and -Bsymbolic-functions for shared library + output. Free dynamic_list. + +2019-09-26 Alan Modra + + PR 24262 + * ld.texi (-plugin): Revert 2019-03-15 change. + +2019-09-25 Alan Modra + + * ld.texi (SORT_BY_ALIGNMENT): Reword slightly. + (SORT_BY_INIT_PRIORITY): Elucidate. + * ldlang.c: Include limits.h. + (get_init_priority): Comment. Change param to a section, + return an int. Sanity check priority digits. Support sorting + more sections with trailing digits. Return -1 on error. + (compare_section): Adjust. + +2019-09-25 Nick Clifton + + * emultempl/avrelf.em (_before_allocation): Silence build warning + using clang. + +2019-09-23 H.J. Lu + + * testsuite/ld-plugin/pr24406-1.c (main): Correct buffer size + to read. + +2019-09-23 Alan Modra + + * deffilep.y: Include bfdlink.h. + * ldelf.c: Likewise. + * ldelfgen.c: Likewise. + * ldver.c: Likewise. + * mri.c: Likewise. + * emultempl/irix.em: Don't include ld.h, ldmain.h, libiberty.h. + Comment. + +2019-09-23 Alan Modra + + * emultempl/m68kelf.em: Include elf32-m68k.h. + +2019-09-23 Alan Modra + + * emultempl/bfin.em: Include elf32-bfin.h. + +2019-09-23 Alan Modra + + * emultempl/cr16elf.em: Include elf32-cr16.h. + +2019-09-23 Alan Modra + + * emultempl/aix.em: Include xcofflink.h. + +2019-09-23 Alan Modra + + * emultempl/armelf.em: Include elf32-arm.h. + * emultempl/pe.em: Move func defines later and include coff-arm.h. + +2019-09-23 Alan Modra + + * emultempl/aarch64elf.em: Include elfxx-aarch64.h. + +2019-09-23 Alan Modra + + * emultempl/ia64elf.em: Include elfxx-ia64.h. + +2019-09-23 Alan Modra + + * emultempl/v850elf.em: Include elf32-v850.h. + +2019-09-23 Alan Modra + + * emultempl/cskyelf.em: Include elf32-csky.h. + +2019-09-22 Alan Modra + + * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4. + +2019-09-20 Nelson Chu + + * testsuite/ld-riscv-elf/weakref32.s: Add relaxable undef weak code. + * testsuite/ld-riscv-elf/weakref64.s: Likewise. + * testsuite/ld-riscv-elf/weakref32.d: Updated. + * testsuite/ld-riscv-elf/weakref64.d: Updated. + +2019-09-20 Alan Modra + + * emultempl/xtensaelf.em (xtensa_get_section_deps): Comment. + Use bfd_section_userdata. + (xtensa_set_section_deps): Use bfd_set_section_userdata. + * ldlang.c (lang_output_section_get): Use bfd_section_userdata. + (sort_def_symbol): Likewise, and bfd_set_section_userdata. + (init_os): Use bfd_set_section_userdata. + (print_all_symbols): Use bfd_section_userdata. + * ldlang.h (get_userdata): Delete. + +2019-09-20 Alan Modra + + * ldelf.c (ldelf_after_open, ldelf_place_orphan + * ldlang.c (walk_wild_file, lang_process): Use bfd_usrdata. + (load_symbols, ldlang_add_file): Use bfd_set_usrdata. + * ldmain.c (add_archive_element): Use bfd_usrdata. + * ldlang.h (bfd_input_just_syms): New inline function. + * emultempl/aarch64elf.em (build_section_lists): Use it. + * emultempl/mmo.em (mmo_place_orphan): Likewise. + * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. + * emultempl/ppc64elf.em (build_section_lists): Likewise. + +2019-09-18 Alan Modra + + * ldcref.c, * ldctor.c, * ldelf.c, * ldlang.c, * pe-dll.c, + * emultempl/aarch64elf.em, * emultempl/aix.em, + * emultempl/armcoff.em, * emultempl/armelf.em, + * emultempl/cr16elf.em, * emultempl/cskyelf.em, + * emultempl/m68hc1xelf.em, * emultempl/m68kelf.em, + * emultempl/mipself.em, * emultempl/mmix-elfnmmo.em, + * emultempl/mmo.em, * emultempl/msp430.em, + * emultempl/nios2elf.em, * emultempl/pe.em, * emultempl/pep.em, + * emultempl/ppc64elf.em, * emultempl/xtensaelf.em: Update + throughout for bfd section macro and function changes. + +2019-09-18 Alan Modra + + * ldcref.c (check_reloc_refs): Update bfd_get_section to + bfd_asymbol_section. + +2019-09-18 Simon Marchi + + * Makefile.in: Re-generate. + * configure: Re-generate. + +2019-09-18 Alan Modra + + * ldlang.c (stricpy, strcut, name_compare): Constify params. + (get_first_input_target): Make return and "target" const. + +2019-09-18 Alan Modra + + * emultempl/pe.em (after_open): Use bfd_set_filename. + * emultempl/pep.em (after_open): Use bfd_set_filename. + +2019-09-16 Alan Modra + + PR 25002 + * ldelf.c: Include safe-ctype.h. + +2019-09-16 Phil Blundell + + * Makefile.in, configure: Regenerated. + +2019-09-13 Alan Modra + + * ldlang.c (new_afile): Remove add_to_list parameter. + (lang_add_input_file): Update new_afile calls. + (lookup_name): Splice input_statement added by new_afile into + statement_list after current input_file_chain entry. + (lang_process): Update comment. + +2019-09-12 Alan Modra + + * ldlang.c (print_input_statement): Do not exclude linker created + BFDs. + +2019-09-12 Alan Modra + + PR 24981 + * ldlang.c (lang_process): Remove assertion. Comment. + +2019-09-11 Alan Modra + + * emultempl/elf32.em: Remove "misnamed" comment. Rename to.. + * emultempl/elf.em: ..this. + * configure.ac (elf_list_options): Adjust TEMPLATE_NAME grep. + * emulparams/aarch64cloudabi.sh (TEMPLATE_NAME): Set to elf. + * emulparams/aarch64elf.sh: Likewise. + * emulparams/aarch64elf32.sh: Likewise. + * emulparams/aarch64fbsd.sh: Likewise. + * emulparams/aarch64linux.sh: Likewise. + * emulparams/aarch64linux32.sh: Likewise. + * emulparams/arcelf.sh: Likewise. + * emulparams/arcelf_prof.sh: Likewise. + * emulparams/arclinux.sh: Likewise. + * emulparams/arclinux_prof.sh: Likewise. + * emulparams/arcv2elf.sh: Likewise. + * emulparams/arcv2elfx.sh: Likewise. + * emulparams/armelf.sh: Likewise. + * emulparams/armelf_fuchsia.sh: Likewise. + * emulparams/armelf_linux.sh: Likewise. + * emulparams/armelf_phoenix.sh: Likewise. + * emulparams/armnto.sh: Likewise. + * emulparams/avr1.sh: Likewise. + * emulparams/avr2.sh: Likewise. + * emulparams/avr25.sh: Likewise. + * emulparams/avr3.sh: Likewise. + * emulparams/avr31.sh: Likewise. + * emulparams/avr35.sh: Likewise. + * emulparams/avr4.sh: Likewise. + * emulparams/avr5.sh: Likewise. + * emulparams/avr51.sh: Likewise. + * emulparams/avr6.sh: Likewise. + * emulparams/avrtiny.sh: Likewise. + * emulparams/avrxmega1.sh: Likewise. + * emulparams/avrxmega2.sh: Likewise. + * emulparams/avrxmega3.sh: Likewise. + * emulparams/avrxmega4.sh: Likewise. + * emulparams/avrxmega5.sh: Likewise. + * emulparams/avrxmega6.sh: Likewise. + * emulparams/avrxmega7.sh: Likewise. + * emulparams/criself.sh: Likewise. + * emulparams/crislinux.sh: Likewise. + * emulparams/cskyelf.sh: Likewise. + * emulparams/d10velf.sh: Likewise. + * emulparams/elf32_sparc.sh: Likewise. + * emulparams/elf32_spu.sh: Likewise. + * emulparams/elf32_tic6x_le.sh: Likewise. + * emulparams/elf32_x86_64.sh: Likewise. + * emulparams/elf32am33lin.sh: Likewise. + * emulparams/elf32bfin.sh: Likewise. + * emulparams/elf32bfinfd.sh: Likewise. + * emulparams/elf32bmip.sh: Likewise. + * emulparams/elf32bmipn32-defs.sh: Likewise. + * emulparams/elf32cr16.sh: Likewise. + * emulparams/elf32cr16c.sh: Likewise. + * emulparams/elf32crx.sh: Likewise. + * emulparams/elf32epiphany.sh: Likewise. + * emulparams/elf32epiphany_4x4.sh: Likewise. + * emulparams/elf32frvfd.sh: Likewise. + * emulparams/elf32ip2k.sh: Likewise. + * emulparams/elf32lm32.sh: Likewise. + * emulparams/elf32lm32fd.sh: Likewise. + * emulparams/elf32lriscv-defs.sh: Likewise. + * emulparams/elf32m32c.sh: Likewise. + * emulparams/elf32mb_linux.sh: Likewise. + * emulparams/elf32mbel_linux.sh: Likewise. + * emulparams/elf32mcore.sh: Likewise. + * emulparams/elf32mep.sh: Likewise. + * emulparams/elf32metag.sh: Likewise. + * emulparams/elf32microblaze.sh: Likewise. + * emulparams/elf32mipswindiss.sh: Likewise. + * emulparams/elf32or1k.sh: Likewise. + * emulparams/elf32ppccommon.sh: Likewise. + * emulparams/elf32rl78.sh: Likewise. + * emulparams/elf32rx.sh: Likewise. + * emulparams/elf32tilegx.sh: Likewise. + * emulparams/elf32tilepro.sh: Likewise. + * emulparams/elf32vax.sh: Likewise. + * emulparams/elf32visium.sh: Likewise. + * emulparams/elf32xc16x.sh: Likewise. + * emulparams/elf32xc16xl.sh: Likewise. + * emulparams/elf32xc16xs.sh: Likewise. + * emulparams/elf32xstormy16.sh: Likewise. + * emulparams/elf32xtensa.sh: Likewise. + * emulparams/elf64_aix.sh: Likewise. + * emulparams/elf64_ia64.sh: Likewise. + * emulparams/elf64_s390.sh: Likewise. + * emulparams/elf64_sparc.sh: Likewise. + * emulparams/elf64alpha.sh: Likewise. + * emulparams/elf64bpf.sh: Likewise. + * emulparams/elf64hppa.sh: Likewise. + * emulparams/elf64mmix.sh: Likewise. + * emulparams/elf64rdos.sh: Likewise. + * emulparams/elf64tilegx.sh: Likewise. + * emulparams/elf_i386.sh: Likewise. + * emulparams/elf_i386_be.sh: Likewise. + * emulparams/elf_i386_ldso.sh: Likewise. + * emulparams/elf_i386_vxworks.sh: Likewise. + * emulparams/elf_iamcu.sh: Likewise. + * emulparams/elf_k1om.sh: Likewise. + * emulparams/elf_l1om.sh: Likewise. + * emulparams/elf_s390.sh: Likewise. + * emulparams/elf_x86_64.sh: Likewise. + * emulparams/h8300elf.sh: Likewise. + * emulparams/h8300elf_linux.sh: Likewise. + * emulparams/hppa64linux.sh: Likewise. + * emulparams/hppaelf.sh: Likewise. + * emulparams/hppalinux.sh: Likewise. + * emulparams/i386lynx.sh: Likewise. + * emulparams/i386moss.sh: Likewise. + * emulparams/i386nto.sh: Likewise. + * emulparams/m32relf.sh: Likewise. + * emulparams/m32relf_linux.sh: Likewise. + * emulparams/m68hc11elf.sh: Likewise. + * emulparams/m68hc11elfb.sh: Likewise. + * emulparams/m68hc12elf.sh: Likewise. + * emulparams/m68hc12elfb.sh: Likewise. + * emulparams/m68kelf.sh: Likewise. + * emulparams/mn10300.sh: Likewise. + * emulparams/nds32elf.sh: Likewise. + * emulparams/nds32elf16m.sh: Likewise. + * emulparams/nds32elf_linux.sh: Likewise. + * emulparams/nios2elf.sh: Likewise. + * emulparams/nios2linux.sh: Likewise. + * emulparams/pruelf.sh: Likewise. + * emulparams/score3_elf.sh: Likewise. + * emulparams/shelf.sh: Likewise. + * emulparams/shelf_nto.sh: Likewise. + * emulparams/shelf_vxworks.sh: Likewise. + * emulparams/shlelf_linux.sh: Likewise. + * emulparams/shlelf_nto.sh: Likewise. + * emulparams/v850.sh: Likewise. + * emulparams/v850_rh850.sh: Likewise. + * ldelf.c: Update comment. + * ldelf.h: Likewise. + * emultempl/aarch64elf.em: Likewise. + * emultempl/alphaelf.em: Likewise. + * emultempl/arclinux.em: Likewise. + * emultempl/armelf.em: Likewise. + * emultempl/avrelf.em: Likewise. + * emultempl/bfin.em: Likewise. + * emultempl/cr16elf.em: Likewise. + * emultempl/crxelf.em: Likewise. + * emultempl/cskyelf.em: Likewise. + * emultempl/elf-generic.em: Likewise. + * emultempl/elf-x86.em: Likewise. + * emultempl/epiphanyelf_4x4.em: Likewise. + * emultempl/hppaelf.em: Likewise. + * emultempl/ia64elf.em: Likewise. + * emultempl/m68hc1xelf.em: Likewise. + * emultempl/m68kelf.em: Likewise. + * emultempl/metagelf.em: Likewise. + * emultempl/mmix-elfnmmo.em: Likewise. + * emultempl/mmixelf.em: Likewise. + * emultempl/mmo.em: Likewise. + * emultempl/needrelax.em: Likewise. + * emultempl/nios2elf.em: Likewise. + * emultempl/ppc32elf.em: Likewise. + * emultempl/ppc64elf.em: Likewise. + * emultempl/pruelf.em: Likewise. + * emultempl/rxelf.em: Likewise. + * emultempl/scoreelf.em: Likewise. + * emultempl/spuelf.em: Likewise. + * emultempl/tic6xdsbt.em: Likewise. + * emultempl/v850elf.em: Likewise. + * emultempl/vms.em: Likewise. + * emultempl/vxworks.em: Likewise. + * emultempl/xtensaelf.em: Likewise. + * scripttempl/arclinux.sc: Likewise. + * scripttempl/armbpabi.sc: Likewise. + * scripttempl/elf.sc: Likewise. + * scripttempl/elf64bpf.sc: Likewise. + * scripttempl/elf64hppa.sc: Likewise. + * scripttempl/elf_chaos.sc: Likewise. + * scripttempl/elfarc.sc: Likewise. + * scripttempl/elfarcv2.sc: Likewise. + * scripttempl/elfd10v.sc: Likewise. + * scripttempl/elfm68hc11.sc: Likewise. + * scripttempl/elfm68hc12.sc: Likewise. + * scripttempl/elfm9s12z.sc: Likewise. + * scripttempl/elfxgate.sc: Likewise. + * scripttempl/elfxtensa.sc: Likewise. + * scripttempl/epiphany_4x4.sc: Likewise. + * scripttempl/iq2000.sc: Likewise. + * scripttempl/mep.sc: Likewise. + * scripttempl/nds32elf.sc: Likewise. + * scripttempl/v850.sc: Likewise. + * scripttempl/v850_rh850.sc: Likewise. + * scripttempl/xstormy16.sc: Likewise. + * testsuite/ld-arm/arm-dyn.ld: Likewise. + * testsuite/ld-arm/arm-lib.ld: Likewise. + * testsuite/ld-arm/arm-no-rel-plt.ld: Likewise. + * testsuite/ld-arm/fdpic-main.ld: Likewise. + * testsuite/ld-arm/fdpic-shared.ld: Likewise. + * testsuite/ld-elf/elf.exp: Likewise. + * testsuite/ld-elf/orphan-region.d: Likewise. + * testsuite/ld-elf/orphan.d: Likewise. + * testsuite/ld-elf/pr349.d: Likewise. + * testsuite/ld-elf/warn2.d: Likewise. + * testsuite/ld-elfvsb/elf-offset.ld: Likewise. + * testsuite/ld-mips-elf/mips-dyn.ld: Likewise. + * testsuite/ld-mips-elf/mips-lib.ld: Likewise. + * testsuite/ld-scripts/dynamic-sections.t: Likewise. + * testsuite/ld-shared/elf-offset.ld: Likewise. + * configure: Regenerate. + +2019-09-11 Alan Modra + + * Makefile.am (ALL_EMUL_EXTRA_OFILES): Add ldelf and ldelfgen. + (CFILES, HFILES, EXTRA_ld_new_SOURCES): Likewise. + * configure.tgt: Formatting. + (targ_extra_ofiles): Init to ldelf.o ldelfgen.o, reset to just + ldelfgen.o for generic ELF targets, and empty for non-ELF. + * emultempl/aarch64elf.em (gldaarch64_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, aarch64_for_each_input_file_wrapper), + (aarch64_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/alphaelf.em (alpha_after_parse): Use ldelf_map_segments. + * emultempl/armelf.em (gldarm_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, arm_for_each_input_file_wrapper), + (arm_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/cr16elf.em (cr16elf_after_parse): Use ldelf_map_segments. + * emultempl/crxelf.em (crxelf_after_parse): Likewise. Delete + declaration. + * emultempl/cskyelf.em (gldcsky_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, csky_for_each_input_file_wrapper), + (csky_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/genelf.em: Include ldelfgen.h. + (gld${EMULATION_NAME}_before_allocation): Use ldelf_map_segments. + * emultempl/hppaelf.em (hppaelf_after_parse): Likewise. + (hppaelf_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, hppa_for_each_input_file_wrapper), + (hppa_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/ia64elf.em (ia64elf_after_parse): Use ldelf_map_segments. + * emultempl/m68hc1xelf.em (real_func), + (m68hc11_for_each_input_file_wrapper), + (m68hc11_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/metagelf.em (metagelf_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, metag_for_each_input_file_wrapper), + (metag_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/mipself.em (real_func), + (mips_for_each_input_file_wrapper), + (mips_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/mmo.em: Don't include elf-bfd.h, do include ldelfgen.h. + (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. + * emultempl/nds32elf.em (nds32_elf_after_parse): Use ldelf_after_parse. + (nds32_elf_after_allocation): Comment fix. + * emultempl/nios2elf.em (nios2elf_layout_sections_again): Use + ldelf_map_segments. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, nios2_for_each_input_file_wrapper), + (nios2_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + * emultempl/ppc32elf.em (gld${EMULATION_NAME}_load_symbols): Delete + declaration. + (ppc_recognized_file): Call ldelf_load_symbols. + * emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + (real_func, ppc_for_each_input_file_wrapper), + (ppc_lang_for_each_input_file): Delete. + (lang_for_each_input_file): Don't define. + (gld${EMULATION_NAME}_load_symbols): Don't declare. + (ppc64_recognized_file): Call ldelf_load_symbols. + * emultempl/riscvelf.em (gld${EMULATION_NAME}_after_allocation): + Use ldelf_map_segments. + * emultempl/spuelf.em (spu_place_special_section): Use + ldelf_place_orphan. + * emultempl/tic6xdsbt.em (gld${EMULATION_NAME}_after_allocation): + Use ldelf_map_segments. + * emultempl/vms.em: Include ldelfgen.h. + (gld${EMULATION_NAME}_after_allocation): Use ldelf_map_segments. + * emultempl/elf32.em: Remove unnecessary headers, include ldelf.h + and ldelfgen.h. Move much of file content to.. + * ldelf.c: ..here. New file. + * ldelf.h: New file. + * emultempl/elf-generic.em: Move gld${EMULATION_NAME}_map_segments.. + * ldelfgen.c: ..to here. + * ldelfgen.h: New file. + * ldlang.c (lang_for_each_input_file): Adjust to only call func + on real files. + (lang_for_each_file): Likewise. + * po/SRC-POTFILES.in: Regenerate. + * Makefile.in: Regenerate. + +2019-09-11 Alan Modra + + * ldmisc.c: Don't #include elf-bfd.h or coff-bfd.h. + (vfinfo): Use bfd_group_name. + +2019-09-11 Alan Modra + + * plugin.c (asymbol_from_plugin_symbol): Move code handling + ELF common symbols to block handling ELF visibility. Simplify + visibility setting. + +2019-09-09 H.J. Lu + + PR binutils/24887 + * testsuite/ld-i386/property-1.r: Adjust for new output format + from readelf. + * testsuite/ld-i386/property-1a.r: Likewise. + * testsuite/ld-i386/property-2.r: Likewise. + * testsuite/ld-i386/property-2a.r: Likewise. + * testsuite/ld-i386/property-3.r: Likewise. + * testsuite/ld-i386/property-3a.r: Likewise. + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-4a.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-5a.r: Likewise. + * testsuite/ld-i386/property-6.r: Likewise. + * testsuite/ld-i386/property-7.r: Likewise. + * testsuite/ld-i386/property-7a.r: Likewise. + * testsuite/ld-i386/property-1.r: Likewise. + * testsuite/ld-i386/property-1a.r: Likewise. + * testsuite/ld-i386/property-2.r: Likewise. + * testsuite/ld-i386/property-2a.r: Likewise. + * testsuite/ld-i386/property-3.r: Likewise. + * testsuite/ld-i386/property-3a.r: Likewise. + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-4a.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-5a.r: Likewise. + * testsuite/ld-i386/property-6.r: Likewise. + * testsuite/ld-i386/property-7.r: Likewise. + * testsuite/ld-i386/property-7a.r: Likewise. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-09-06 Alan Modra + + * emultempl/beos.em (sort_by_file_name): Use appropriate + intermediary variables. + (sort_by_section_name): Likewise. + +2019-09-06 Alan Modra + + * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Constify + variable. + * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. + +2019-09-05 Eric Botcazou + + PR ld/24574 + * pe-dll.c (pe_find_data_imports): Replace again the original name of + the undefined symbol with the __imp_ prefixed one after it is resolved. + +2019-09-05 Alan Modra + + * testsuite/ld-powerpc/pcrelopt.s, + * testsuite/ld-powerpc/pcrelopt.d: Test offset and prefix in + second instruction. + +2019-08-29 Alan Modra + + PR ld/24406 + * plugin.c (get_symbols): Test link_info.wrap_hash before calling + unwrap_hash_lookup. + +2019-08-22 Tamar Christina + + PR ld/24601 + * testsuite/ld-aarch64/aarch64-elf.exp (undef-tls, weak-tls): New. + * testsuite/ld-aarch64/undef-tls.d: New test. + * testsuite/ld-aarch64/undef-tls.s: New test. + * testsuite/ld-aarch64/weak-tls.d: New test. + * testsuite/ld-aarch64/weak-tls.s: New test. + +2019-08-20 Tamar Christina + + * testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase. + * testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. + * testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise. + * testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise. + * testsuite/ld-arm/farcall-mixed-app.d: Likewise. + * testsuite/ld-arm/farcall-mixed-app2.d: Likewise. + * testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise. + * testsuite/ld-arm/farcall-thumb-arm.d: Likewise. + * testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise. + * testsuite/ld-arm/farcall-thumb-thumb.d: Likewise. + * testsuite/ld-arm/fix-arm1176-on.d: Likewise. + * testsuite/ld-arm/ifunc-10.dd: Likewise. + * testsuite/ld-arm/ifunc-2.dd: Likewise. + * testsuite/ld-arm/ifunc-4.dd: Likewise. + * testsuite/ld-arm/ifunc-6.dd: Likewise. + * testsuite/ld-arm/ifunc-8.dd: Likewise. + * testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise. + * testsuite/ld-arm/mixed-app.d: Likewise. + * testsuite/ld-arm/thumb2-b-interwork.d: Likewise. + * testsuite/ld-arm/tls-longplt.d: Likewise. + * testsuite/ld-arm/tls-thumb1.d: Likewise. + +2019-08-16 H.J. Lu + + PR ld/24905 + * testsuite/ld-x86-64/pr24905-x32.d: New file. + * testsuite/ld-x86-64/pr24905.d: Likewise. + * testsuite/ld-x86-64/pr24905.s: Likewise. + * testsuite/ld-x86-64/pr24905.t: Likewise. + * testsuite/ld-x86-64/x86-64.exp: Run pr24905 and pr24905-x32. + +2019-08-16 Christophe Lyon + + * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit + section. + 2019-08-16 Alan Modra * emultempl/ppc32elf.em (ppc_before_allocation): Force running