+2019-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ PR 25244
+ * ldlang.c (lang_print_memory_usage): Correct last patch.
+
+2019-12-05 Alan Modra <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ PR 25244
+ * ldlang.c (lang_print_memory_usage): Don't print percent used
+ when length is zero.
+
+2019-11-27 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * testsuite/ld-elf/eh5.d: Accept version 3 DWARF CIE.
+
+2019-11-26 Martin Liska <mliska@suse.cz>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <ceggers@gmx.de>
+
+ * 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 <nickc@redhat.com>
+
+ * ld.texi (Output Section Discarding): Add note indicating that
+ /DISCARD/ed sections ignore ELF section grouping.
+
+2019-11-22 Nick Clifton <nickc@redhat.com>
+
+ * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Use cast instead of
+ extra check.
+
+2019-11-21 Nick Clifton <nickc@redhat.com>
+
+ * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Check for an empty
+ file chain before examining the first input statement.
+
+2019-11-21 Alan Modra <amodra@gmail.com>
+
+ 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 <jimw@sifive.com>
+
+ 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * configure.tgt: Order targets by cpu.
+
+2019-11-07 Alan Modra <amodra@gmail.com>
+
+ * 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 <ceggers@gmx.de>
+
+ * ldlang.c (print_input_section): Shift printed size by opb_shift.
+
+2019-11-05 Alan Modra <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ PR ld/25110
+ * testsuite/ld-gc/gc.exp: Adjust LDFLAGS for pr19161 dump test on
+ hppa*-*-linux*.
+
+2019-10-17 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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 <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <nickc@redhat.com>
+
+ * NEWS: Delete superflous "Changes in 2.33" comment.
+
+2019-10-09 Alan Modra <amodra@gmail.com>
+
+ PR 25081
+ * ldlang.c (lang_size_sections_1): Set lma from section vma
+ rather than dot.
+
+2019-10-08 Alan Modra <amodra@gmail.com>
+
+ * testsuite/ld-powerpc/localgot.s,
+ * testsuite/ld-powerpc/localgot.d: New test.
+ * testsuite/ld-powerpc/powerpc.exp: Run it.
+
+2019-10-07 Jozef Lawrynowicz <jozef.l@mittosystems.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * testsuite/ld-arm/tls-gdesc-neg.d: Relax target match.
+
+2019-10-04 Alan Modra <amodra@gmail.com>
+
+ * 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 <szabolcs.nagy@arm.com>
+
+ 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 <nick.alcock@oracle.com>
+
+ * 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 <nick.alcock@oracle.com>
+
+ * 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) <emit_ctf_early>: Likewise.
+ (ld_emulation_xfer_type) <examine_strtab_for_ctf>: 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 <amodra@gmail.com>
+
+ * ld.texi (-Bsymbolic, -Bsymbolic-functions): Don't mention PIEs.
+ * ld.h (symbolic_enum, dynamic_list_enum),
+ (args_type <symbolic, dynamic_list>): 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 <amodra@gmail.com>
+
+ PR 24262
+ * ld.texi (-plugin): Revert 2019-03-15 change.
+
+2019-09-25 Alan Modra <amodra@gmail.com>
+
+ * 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 <nickc@redhat.com>
+
+ * emultempl/avrelf.em (_before_allocation): Silence build warning
+ using clang.
+
+2019-09-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * testsuite/ld-plugin/pr24406-1.c (main): Correct buffer size
+ to read.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * emultempl/m68kelf.em: Include elf32-m68k.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/bfin.em: Include elf32-bfin.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/cr16elf.em: Include elf32-cr16.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/aix.em: Include xcofflink.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/armelf.em: Include elf32-arm.h.
+ * emultempl/pe.em: Move func defines later and include coff-arm.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/aarch64elf.em: Include elfxx-aarch64.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/ia64elf.em: Include elfxx-ia64.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/v850elf.em: Include elf32-v850.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * emultempl/cskyelf.em: Include elf32-csky.h.
+
+2019-09-22 Alan Modra <amodra@gmail.com>
+
+ * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4.
+
+2019-09-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
* ldcref.c, * ldctor.c, * ldelf.c, * ldlang.c, * pe-dll.c,