X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2FChangeLog;h=f23d70b043cc816e78219cc58cb42d9fb277e161;hb=5b660084e26050d2e7f1fda06daec1e83311c188;hp=563e482e1b74a68e747859611dbf3c0ee3c65bdb;hpb=128bf1fe608badb59d27f9c5c8ffb1a6a6d9d811;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ChangeLog b/ld/ChangeLog index 563e482e1b..f23d70b043 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,1343 @@ +2019-12-17 Alan Modra + + * emulparams/tic80coff.sh: Delete file. + * scripttempl/tic80coff.sc: Delete file. + * configure.tgt: Remove tic80 support. + * Makefile.am: Likewise. + * Makefile.in: Regenerate. + * po/BLD-POTFILES.in: Regenerate. + +2019-12-12 H.J. Lu + + * testsuite/ld-i386/align-branch-1.d: New file. + * testsuite/ld-i386/align-branch-1.s: Likewise. + * testsuite/ld-x86-64/align-branch-1.d: Likewise. + * testsuite/ld-x86-64/align-branch-1.3: Likewise. + * testsuite/ld-i386/i386.exp: Run the new test. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + +2019-12-08 Alan Modra + + * testsuite/ld-elf/eh4.d: Match optional padding DW_CFA_nop in FDEs. + * testsuite/ld-elf/eh5.d: Likewise, and extra CIEs emitted on + embedded targets. + +2019-12-06 Alan Modra + + * testsuite/ld-mips-elf/eh-frame1-n32.d: Pass --eh-frame-hdr to ld. + * testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise. + * testsuite/ld-mips-elf/eh-frame2-n32.d: Likewise. + * testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise. + +2019-12-05 Alan Modra + + PR 25244 + * ldlang.c (lang_print_memory_usage): Correct last patch. + +2019-12-05 Alan Modra + + PR 25243 + * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Move definition + of __exidx_start and __exidx_end into ARM.exidx. + * emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS): Likewise. + * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS): Similarly. + * emulparams/elf32_tic6x_le.sh (OTHER_READONLY_SECTIONS): Similarly. + * emulparams/armelf_fuchsia.sh: Source armelf_linux_eabi.sh, + just redefining TEXT_START_ADDR. + * emulparams/armelf_linux_fdpiceabi.sh: Source armelf_linux_eabi.sh, + adding to OTHER_READONLY_SECTIONS. + +2019-12-05 Alan Modra + + PR 25244 + * ldlang.c (lang_print_memory_usage): Don't print percent used + when length is zero. + +2019-11-27 Andrew Burgess + + * testsuite/ld-elf/eh5.d: Accept version 3 DWARF CIE. + +2019-11-26 Martin Liska + + * scripttempl/arclinux.sc: Add .text.sorted.* which is sorted + by default. + * scripttempl/elf.sc: Likewise. + * scripttempl/elf64bpf.sc: Likewise. + * scripttempl/nds32elf.sc: Likewise. + * testsuite/ld-arm/arm-no-rel-plt.ld: Expect .text.sorted.* + in the default linker script. + * testsuite/ld-arm/fdpic-main.ld: Likewise. + * testsuite/ld-arm/fdpic-shared.ld: Likewise. + +2019-11-25 Alan Modra + + * ldexp.c (fold_name): Pass section to bfd_octets_per_byte. + * ldlang.c (init_opb): Don't call bfd_arch_mach_octets_per_byte + unnecessarily. + +2019-11-25 Christian Eggers + + * ldexp.c (fold_name): Provide section parameter to + bfd_octets_per_byte. + * ldlang (init_opb): New argument s. Set opb_shift to 0 if + SEC_ELF_OCTETS for the current section is set. + (print_input_section): Pass current section to init_opb. + (print_data_statement,print_reloc_statement, + print_padding_statement): Likewise. + (lang_check_section_addresses): Call init_opb for each + section. + (lang_size_sections_1,lang_size_sections_1, + lang_do_assignments_1): Likewise. + (lang_process): Pass NULL to init_opb. + +2019-11-22 Nick Clifton + + * ld.texi (Output Section Discarding): Add note indicating that + /DISCARD/ed sections ignore ELF section grouping. + +2019-11-22 Nick Clifton + + * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Use cast instead of + extra check. + +2019-11-21 Nick Clifton + + * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Check for an empty + file chain before examining the first input statement. + +2019-11-21 Alan Modra + + PR 46 + * scripttempl/pe.sc: Comment on ld -Ur fail. Wrap .gcc_exc comment. + * scripttempl/pep.sc: Likewise. + * scripttempl/i386beos.sc: Wrap .gcc_exc comment. + * scripttempl/mcorepe.sc: Likewise. + * testsuite/ld-cdtest/cdtest.exp (test2): xfail for pe. + +2019-11-12 Jim Wilson + + PR 25181 + * testsuite/ld-riscv-elf/call-relax-0.s: New file. + * testsuite/ld-riscv-elf/call-relax-1.s: New file. + * testsuite/ld-riscv-elf/call-relax-2.s: New file. + * testsuite/ld-riscv-elf/call-relax-3.s: New file. + * testsuite/ld-riscv-elf/call-relax.d: New test. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run call-relax test. + +2019-11-08 Alan Modra + + * emulparams/aarch64elf.sh: Revert 2019-11-05 change. + * emulparams/aarch64elf32.sh: Likewise. + * emulparams/arcelf.sh: Likewise. + * emulparams/armelf.sh: Likewise. + * emulparams/armelf_fbsd.sh: Likewise. + * emulparams/armelf_nbsd.sh: Likewise. + * emulparams/armelf_vxworks.sh: Likewise. + * emulparams/armsymbian.sh: Likewise. + * emulparams/elf32bfin.sh: Likewise. + * emulparams/elf32microblaze.sh: Likewise. + * emulparams/score3_elf.sh: Likewise. + * emulparams/shelf.sh: Likewise. + * emulparams/shelf_nbsd.sh: Likewise. + * emulparams/shelf_uclinux.sh: Likewise. + +2019-11-07 Alan Modra + + * emulparams/elf32cr16c.sh: Delete. + * scripttempl/elf32cr16c.sc: Delete. + * Makefile.am, + * configure.tgt: Remove cr16c support. + * NEWS: Mention removal of cr16c. + * Makefile.in, + * po/BLD-POTFILES.in: Regenerate. + +2019-11-07 Alan Modra + + * configure.tgt: Order targets by cpu. + +2019-11-07 Alan Modra + + * testsuite/ld-aarch64/aarch64-elf.exp: Run tests requiring pie + or shared library support only when check_shared_lib_support. + * testsuite/ld-aarch64/bti-pac-plt-1.d: Likewise. + * testsuite/ld-aarch64/bti-pac-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-1.d: Likewise. + * testsuite/ld-aarch64/bti-plt-2.d: Likewise. + * testsuite/ld-aarch64/bti-plt-3.d: Likewise. + * testsuite/ld-aarch64/bti-plt-4.d: Likewise. + * testsuite/ld-aarch64/bti-plt-6.d: Likewise. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: Likewise. + * testsuite/ld-aarch64/dt_textrel.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-258-dyn-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-259-dyn-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-264-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-266-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-268-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-269-bad.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-515.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise. + * testsuite/ld-aarch64/emit-relocs-516.d: Likewise. + * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. + * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. + * testsuite/ld-aarch64/gc-plt-relocs.d: Likewise. + * testsuite/ld-aarch64/gc-relocs-257-dyn.d: Likewise. + * testsuite/ld-aarch64/ifunc-1-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-1.d: Likewise. + * testsuite/ld-aarch64/ifunc-12.d: Likewise. + * testsuite/ld-aarch64/ifunc-13.d: Likewise. + * testsuite/ld-aarch64/ifunc-14a.d: Likewise. + * testsuite/ld-aarch64/ifunc-14b.d: Likewise. + * testsuite/ld-aarch64/ifunc-14c.d: Likewise. + * testsuite/ld-aarch64/ifunc-14d.d: Likewise. + * testsuite/ld-aarch64/ifunc-14e.d: Likewise. + * testsuite/ld-aarch64/ifunc-14f.d: Likewise. + * testsuite/ld-aarch64/ifunc-15.d: Likewise. + * testsuite/ld-aarch64/ifunc-16.d: Likewise. + * testsuite/ld-aarch64/ifunc-18a.d: Likewise. + * testsuite/ld-aarch64/ifunc-18b.d: Likewise. + * testsuite/ld-aarch64/ifunc-19a.d: Likewise. + * testsuite/ld-aarch64/ifunc-19b.d: Likewise. + * testsuite/ld-aarch64/ifunc-2-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-2.d: Likewise. + * testsuite/ld-aarch64/ifunc-20.d: Likewise. + * testsuite/ld-aarch64/ifunc-21.d: Likewise. + * testsuite/ld-aarch64/ifunc-3a.d: Likewise. + * testsuite/ld-aarch64/ifunc-3b.d: Likewise. + * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise. + * testsuite/ld-aarch64/ifunc-5b.d: Likewise. + * testsuite/ld-aarch64/ifunc-6b.d: Likewise. + * testsuite/ld-aarch64/ifunc-7b.d: Likewise. + * testsuite/ld-aarch64/ifunc-7c.d: Likewise. + * testsuite/ld-aarch64/pac-plt-1.d: Likewise. + * testsuite/ld-aarch64/pac-plt-2.d: Likewise. + * testsuite/ld-aarch64/pcrel_pic_defined.d: Likewise. + * testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise. + * testsuite/ld-aarch64/pie-bind-locally.d: Likewise. + * testsuite/ld-aarch64/plt_mapping_symbol.d: Likewise. + * testsuite/ld-aarch64/pr20402.d: Likewise. + * testsuite/ld-aarch64/pr22764.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. + * testsuite/ld-aarch64/protected-data.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative-be.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative-opt.d: Likewise. + * testsuite/ld-aarch64/rela-abs-relative.d: Likewise. + * testsuite/ld-aarch64/relasz.d: Likewise. + * testsuite/ld-aarch64/relocs-1027-symbolic-func.d: Likewise. + * testsuite/ld-aarch64/tls-desc-ie-ilp32.d: Likewise. + * testsuite/ld-aarch64/tls-desc-ie.d: Likewise. + * testsuite/ld-aarch64/tls-large-desc-be.d: Likewise. + * testsuite/ld-aarch64/tls-large-desc.d: Likewise. + * testsuite/ld-aarch64/tls-large-ie-be.d: Likewise. + * testsuite/ld-aarch64/tls-large-ie.d: Likewise. + * testsuite/ld-aarch64/tls-relax-gdesc-le-now.d: Likewise. + * testsuite/ld-aarch64/tls-small-ld.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-desc.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-gd.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-ie.d: Likewise. + * testsuite/ld-aarch64/tls-tiny-ld.d: Likewise. + * testsuite/ld-aarch64/tlsle-symbol-offset.d: Likewise. + * testsuite/ld-aarch64/tlsle.d: Likewise. + * testsuite/ld-aarch64/variant_pcs-now.d: Likewise. + * testsuite/ld-aarch64/variant_pcs-shared.d: Likewise. + * testsuite/ld-arm/arm-elf.exp: Likewise. Remove --hash-style=sysv + from static tests. Consolidate armelftests_common_* vars into one. + * testsuite/ld-arm/gc-hidden-1.d: Require check_shared_lib_support. + * testsuite/ld-arm/movw-shared-1.d: Likewise. + * testsuite/ld-arm/movw-shared-2.d: Likewise. + * testsuite/ld-arm/movw-shared-3.d: Likewise. + * testsuite/ld-arm/movw-shared-4.d: Likewise. + * testsuite/ld-arm/pie-bind-locally.d: Likewise. + * testsuite/ld-arm/protected-data.d: Likewise. + * testsuite/ld-arm/rel32-reject-pie.d: Likewise. + * testsuite/ld-arm/rel32-reject.d: Likewise. + * testsuite/ld-arm/thumb2-bl-undefweak.d: Likewise. + * testsuite/ld-arm/thumb2-bl-undefweak1.d: Likewise. + +2019-11-06 Christian Eggers + + * ldlang.c (print_input_section): Shift printed size by opb_shift. + +2019-11-05 Alan Modra + + * emulparams/aarch64elf.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/aarch64elf32.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/arcelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Don't set. + * emulparams/armelf_fbsd.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/armelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Set. + * emulparams/armelf_vxworks.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/armsymbian.sh (GENERATE_SHLIB_SCRIPT): Set. + * emulparams/elf32bfin.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/elf32microblaze.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/score3_elf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/shelf.sh (GENERATE_SHLIB_SCRIPT): Don't set. + * emulparams/shelf_nbsd.sh (GENERATE_SHLIB_SCRIPT), + (GENERATE_PIE_SCRIPT): Set. + * emulparams/shelf_uclinux.sh (GENERATE_SHLIB_SCRIPT): Set. + +2019-11-05 Alan Modra + + * emulparams/elf32bfinfd.sh: Unset EMBEDDED rather assigning as empty. + * emulparams/elf32frvfd.sh: Likewise. + * emulparams/elf32lm32fd.sh: Likewise. + * emulparams/i386lynx.sh: Likewise. + +2019-10-22 Alan Modra + + PR 22269 + * testsuite/ld-elf/pr22269-1.rd: Look for GOT section NONE and + RELATIVE relocs. + * testsuite/ld-elf/shared.exp (pr22269-1): Give test a better + name. Use -z nocombreloc. + +2019-10-19 Alan Modra + + PR ld/25110 + * testsuite/ld-gc/gc.exp: Adjust LDFLAGS for pr19161 dump test on + hppa*-*-linux*. + +2019-10-17 Nelson Chu + + * testsuite/ld-riscv-elf/lib-nopic-01b.d: Update the error message. + + * testsuite/ld-riscv-elf/lib-nopic-01a.s: Create the shared library + lib-nopic-01a.so, it will be linked with lib-nopic-01b.s. + * testsuite/ld-riscv-elf/lib-nopic-01b.s: Add new test for the + unresolved relocation. Link the non-pic code into a shared library + may cause the error. + * testsuite/ld-riscv-elf/lib-nopic-01b.d: Likewise. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the new test only when + the shared library is supported. + +2019-10-16 Alan Modra + + PR 13616 + * emulparams/elf64lppc.sh (NOP): Don't define. + * emulparams/elf64ppc.sh (NOP): Don't define. + * ldwrite.c (build_link_order): Use link_info.big_endian. Move + code determining endian to use for data_statement to.. + * ldemul.c (after_open_default): ..here. Set link_info.big_endian. + +2019-10-16 Alan Modra + + * genscripts.sh: Correct comments. Remove outdated comment block + saying "Generate 5 or 6 script files..". Remove description of + ld options from comment emitted to script files, and order options + as per comment block in genscripts.sh saying which scripts are + generated. + +2019-10-14 Alan Modra + + * ldctor.h (struct set_element): Make next field a union, adding + idx field. + * ldctor.c (ctor_cmp): Dereference pointer and lose unnecessary + const. Replace final sort on pointer value with final sort on idx. + (ldctor_add_set_entry): Adjust next field access. + (ldctor_build_sets): Likewise. Set u.idx field for sort. + +2019-10-14 Alan Modra + + * pe-dll.c (reloc_data_type): Add idx field. + (reloc_sort): Perform final sort by idx. + (generate_reloc): Set idx. + +2019-10-13 Nick Clifton + + * NEWS: Delete superflous "Changes in 2.33" comment. + +2019-10-09 Alan Modra + + PR 25081 + * ldlang.c (lang_size_sections_1): Set lma from section vma + rather than dot. + +2019-10-08 Alan Modra + + * testsuite/ld-powerpc/localgot.s, + * testsuite/ld-powerpc/localgot.d: New test. + * testsuite/ld-powerpc/powerpc.exp: Run it. + +2019-10-07 Jozef Lawrynowicz + + * testsuite/ld-msp430-elf/attr-gnu-main.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-obj.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-upper.d: New test. + * testsuite/ld-msp430-elf/msp430-elf.exp: Run new tests. + +2019-10-07 Alan Modra + + * ldmisc.c (vfinfo): Save and restore bfd_error around bfd + function calls that might set it. + * testsuite/ld-elf/indirect.exp: Don't expect "nonrepresentable + section" message. + +2019-10-07 Alan Modra + + * testsuite/ld-powerpc/tlsexe.r: Adjust for added TLSMARK symbol. + * testsuite/ld-powerpc/tlsexe32.r: Likewise. + * testsuite/ld-powerpc/tlsso.r: Likewise. + * testsuite/ld-powerpc/tlsso32.r: Likewise. + * testsuite/ld-powerpc/tls32no.d, + * testsuite/ld-powerpc/tls32no.g: New test files. + * testsuite/ld-powerpc/tlsexe32no.d, + * testsuite/ld-powerpc/tlsexe32no.g, + * testsuite/ld-powerpc/tlsexe32no.r: New test files. + * testsuite/ld-powerpc/tlsexeno.d, + * testsuite/ld-powerpc/tlsexeno.g, + * testsuite/ld-powerpc/tlsexeno.r: New test files. + * testsuite/ld-powerpc/tlsexetocno.d, + * testsuite/ld-powerpc/tlsexetocno.g: New test files. + * testsuite/ld-powerpc/tlsno.d, + * testsuite/ld-powerpc/tlsno.g: New test files. + * testsuite/ld-powerpc/tlstocno.d, + * testsuite/ld-powerpc/tlstocno.g: New test files. + * testsuite/ld-powerpc/powerpc.exp: Run new tests. + +2019-10-07 Alan Modra + + * testsuite/ld-arm/tls-gdesc-neg.d: Relax target match. + +2019-10-04 Alan Modra + + * testsuite/ld-powerpc/tlsso.d: Adjust to suit tlsld_got usage change. + * testsuite/ld-powerpc/tlsso.g: Likewise. + * testsuite/ld-powerpc/tlsso.r: Likewise. + * testsuite/ld-powerpc/tlsso32.d: Likewise. + * testsuite/ld-powerpc/tlsso32.g: Likewise. + * testsuite/ld-powerpc/tlsso32.r: Likewise. + +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 + prelim_size_sections before deciding whether branch trampolines + might be needed. + +2019-08-15 Jim Wilson + + * testsuite/ld-riscv-elf/c-lui-2.d: New. + * testsuite/ld-riscv-elf/c-lui-2.ld: New. + * testsuite/ld-riscv-elf/c-lui-2.s: New. + * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Run the c-lui-2 test. + +2019-08-10 Alan Modra + + * ldlang.h (enum statement_enum): Sort. + (union lang_statement_union): Sort. + +2019-08-10 Alan Modra + + * ldlang.h (lang_common_statement_type): Delete. + (lang_object_symbols_statement_type): Delete. + (union lang_statement_union): Remove common_statement and + object_symbols_statement. + +2019-08-10 Alan Modra + + * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop, exp_trinop), + (exp_unop, exp_nameop, exp_assop, exp_assert): Remove casts of + stat_alloc return value. + * ldlang.c (new_statement, new_afile, sort_def_symbol), + (lang_memory_region_lookup, lang_memory_region_alias), + (ldlang_add_undef, ldlang_add_require_defined, insert_pad), + (lang_add_gc_name, lang_new_phdr): Likewise. + * lexsup.c (set_segment_start): Likewise. + +2019-08-10 Alan Modra + + * ldlang.h (lang_input_statement_type): Make next + and next_real_file a lang_input_statement_type pointer. + (lang_statement_append): Delete prototype. + (LANG_FOR_EACH_INPUT_STATEMENT): Update for lang_input_statement_type + change. + * ldmain.c (add_archive_element): Likewise. + * ldlang.c: Likewise throughout. + (lang_statement_append): Make static. Make element and field + void pointers. Remove casts in calls. + (lang_check): Use a lang_input_statement_type pointer for "file". + (find_rescan_insertion): Similarly for "iter" and return value. + (lang_process): Similarly for "insert", "iter" and "temp". + * emultempl/spuelf.em (embedded_spu_file): Likewise. + * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Expand + lang_statment_append call. + +2019-08-09 Mihailo Stojanovic + + * emulparams/elf32bmip.sh: Add .MIPS.xhash section. + * emulparams/elf32bmipn32-defs.sh: Add .MIPS.xhash section. + * emulparams/elf64bmip-defs.sh: Add .MIPS.xhash section. + * emultempl/mipself.em: Remove mips_after_parse function. + * testsuite/ld-elf/hash.d: Update comment. + * testsuite/ld-mips-elf/hash1.d: New test. + * testsuite/ld-mips-elf/hash1.s: Ditto. + * testsuite/ld-mips-elf/hash1a.d: Remove. + * testsuite/ld-mips-elf/hash1b.d: Ditto. + * testsuite/ld-mips-elf/hash1c.d: Ditto + * testsuite/ld-mips-elf/hash2.d: New test. + * testsuite/ld-mips-elf/mips-elf.exp: New tests. + * testsuite/ld-mips-elf/start.s: New test. + +2019-08-08 Nick Clifton + + PR 24887 + * testsuite/ld-aarch64/bti-plt-2.d: Adjust for new output format + from readelf. + * testsuite/ld-aarch64/bti-plt-4.d: Likewise. + * testsuite/ld-aarch64/bti-plt-6.d: Likewise. + * testsuite/ld-aarch64/bti-plt-7.d: Likewise. + * testsuite/ld-aarch64/bti-warn.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac1.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac2.d: Likewise. + * testsuite/ld-aarch64/property-bti-pac3.d: Likewise. + * testsuite/ld-elf/x86-feature-1a.rd: Likewise. + * testsuite/ld-elf/x86-feature-1b.rd: Likewise. + * testsuite/ld-elf/x86-feature-1c.rd: Likewise. + * testsuite/ld-elf/x86-feature-1d.rd: Likewise. + * testsuite/ld-elf/x86-feature-1e.rd: Likewise. + * testsuite/ld-i386/ibt-plt-2d.d: Likewise. + * testsuite/ld-i386/ibt-plt-3d.d: Likewise. + * testsuite/ld-i386/pr23372a.d: Likewise. + * testsuite/ld-i386/pr23372c.d: Likewise. + * testsuite/ld-i386/pr23486a.d: Likewise. + * testsuite/ld-i386/pr23486b.d: Likewise. + * testsuite/ld-i386/pr23486c.d: Likewise. + * testsuite/ld-i386/pr23486d.d: Likewise. + * testsuite/ld-i386/pr24322a.d: Likewise. + * testsuite/ld-i386/pr24322b.d: Likewise. + * testsuite/ld-i386/property-x86-3.d: Likewise. + * testsuite/ld-i386/property-x86-4a.d: Likewise. + * testsuite/ld-i386/property-x86-5.d: Likewise. + * testsuite/ld-i386/property-x86-cet1.d: Likewise. + * testsuite/ld-i386/property-x86-cet2a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt2.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt4.d: Likewise. + * testsuite/ld-i386/property-x86-ibt5.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk2.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk4.d: Likewise. + * testsuite/ld-i386/property-x86-shstk5.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-2d.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise. + * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise. + * testsuite/ld-x86-64/pr23372a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23372a.d: Likewise. + * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. + * testsuite/ld-x86-64/pr23372c.d: Likewise. + * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486a.d: Likewise. + * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486c-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486c.d: Likewise. + * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486d.d: Likewise. + * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322a.d: Likewise. + * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322b.d: Likewise. + * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458a.d: Likewise. + * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458b.d: Likewise. + * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458c.d: Likewise. + * testsuite/ld-x86-64/property-1.r: Likewise. + * testsuite/ld-x86-64/property-1a.r: Likewise. + * testsuite/ld-x86-64/property-2.r: Likewise. + * testsuite/ld-x86-64/property-2a.r: Likewise. + * testsuite/ld-x86-64/property-3.r: Likewise. + * testsuite/ld-x86-64/property-3a.r: Likewise. + * testsuite/ld-x86-64/property-4.r: Likewise. + * testsuite/ld-x86-64/property-4a.r: Likewise. + * testsuite/ld-x86-64/property-5.r: Likewise. + * testsuite/ld-x86-64/property-5a.r: Likewise. + * testsuite/ld-x86-64/property-6.r: Likewise. + * testsuite/ld-x86-64/property-7.r: Likewise. + * testsuite/ld-x86-64/property-7a.r: Likewise. + * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-3.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a.d: Likewise. + * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-5.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise. + +2019-08-07 Jose E. Marchesi + + * scripttempl/elf64bpf.sc: Adapted from elf.sc. + * emulparams/elf64bpf.sh (SCRIPT_NAME): Use elf64bpf. + (EMBEDDED): Define. + * testsuite/ld-bpf/call-1.d: Do not expect a warning regarding an + undefined entry symbol. + * testsuite/ld-bpf/jump-1.d: Likewise. + * testsuite/ld-undefined/undefined.exp: Do not pass '-e entry' to + ld in BPF targets, and do not expect line number information. + * testsuite/ld-srec/srec.exp (run_srec_test): xfail s-record tests + in BPF targets. + 2019-08-06 Alan Modra PR 24873