For non-relocatable link with SHF_LINK_ORDER inputs, allow mixed indirect and data inputs with ordered and unordered inputs: 1. Add pattern to bfd_section for the matching section name pattern in linker script and update BFD_FAKE_SECTION. 2. Sort the consecutive bfd_indirect_link_order sections with the same pattern to allow linker script to overdide input section order. 3. Place unordered sections before ordered sections. 4. Change the offsets of the indirect input sections only. bfd/ PR ld/26256 * elflink.c (compare_link_order): Place unordered sections before ordered sections. (elf_fixup_link_order): Add a link info argument. Allow mixed ordered and unordered input sections for non-relocatable link. Sort the consecutive bfd_indirect_link_order sections with the same pattern. Change the offsets of the bfd_indirect_link_order sections only. (bfd_elf_final_link): Pass info to elf_fixup_link_order. * section.c (bfd_section): Add pattern. (BFD_FAKE_SECTION): Initialize pattern to NULL. * bfd-in2.h: Regenerated. gas/ PR ld/26256 * config/obj-elf.c (obj_elf_change_section): Also filter out SHF_LINK_ORDER. ld/ PR ld/26256 * ldlang.c (gc_section_callback): Set pattern. * testsuite/ld-elf/pr26256-1.s: New file. * testsuite/ld-elf/pr26256-1.t: Likewise. * testsuite/ld-elf/pr26256-1a.d: Likewise. * testsuite/ld-elf/pr26256-1b.d: Likewise. * testsuite/ld-elf/pr26256-2.s: Likewise. * testsuite/ld-elf/pr26256-2.t: Likewise. * testsuite/ld-elf/pr26256-2a.d: Likewise. * testsuite/ld-elf/pr26256-2b-alt.d: Likewise. * testsuite/ld-elf/pr26256-2b.d: Likewise. * testsuite/ld-elf/pr26256-3.s: Likewise. * testsuite/ld-elf/pr26256-3a.d: Likewise. * testsuite/ld-elf/pr26256-3a.t: Likewise. * testsuite/ld-elf/pr26256-3b.d: Likewise. * testsuite/ld-elf/pr26256-3b.t: Likewise.
65 lines
1.9 KiB
Plaintext
65 lines
1.9 KiB
Plaintext
2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR ld/26256
|
||
* elflink.c (compare_link_order): Place unordered sections before
|
||
ordered sections.
|
||
(elf_fixup_link_order): Add a link info argument. Allow mixed
|
||
ordered and unordered input sections for non-relocatable link.
|
||
Sort the consecutive bfd_indirect_link_order sections with the
|
||
same pattern. Change the offsets of the bfd_indirect_link_order
|
||
sections only.
|
||
(bfd_elf_final_link): Pass info to elf_fixup_link_order.
|
||
* section.c (bfd_section): Add pattern.
|
||
(BFD_FAKE_SECTION): Initialize pattern to NULL.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
2021-01-04 Alexander Fedotov <alfedotov@gmail.com>
|
||
|
||
* elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
|
||
of private flags with 0x.
|
||
* elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
|
||
|
||
2021-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 26822
|
||
* elflink.c (elf_link_input_bfd): Use the file base name in
|
||
linker generated STT_FILE symbols.
|
||
|
||
2021-01-04 Nelson Chu <nelson.chu@sifive.com>
|
||
|
||
* elfxx-riscv.c (riscv_compare_subsets): Removed static.
|
||
* elfxx-riscv.h: Add declaration.
|
||
* elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
|
||
riscv_compare_subsets to check the orders.
|
||
(riscv_skip_prefix): Removed.
|
||
(riscv_prefix_cmp): Removed.
|
||
|
||
2021-01-04 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 26741
|
||
* elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
|
||
calculating subset version length.
|
||
|
||
2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
|
||
|
||
* xcofflink.c: Correct spelling in comments.
|
||
|
||
2021-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2020
|
||
|
||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|