https://sourceware.org/bugzilla/show_bug.cgi?id=28709
Fangrui Song <maskray at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |maskray at sourceware dot org
--- Comment #9 from Fangrui Song <maskray at sourceware dot org> ---
(In reply to Sourceware Commits from comment #6)
> The master branch has been updated by Alan Modra <[email protected]>:
>
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;
> h=443aa5f05edb58fc1774f926e9259b7c5a180926
>
> commit 443aa5f05edb58fc1774f926e9259b7c5a180926
> Author: Alan Modra <[email protected]>
> Date: Tue Dec 21 01:09:13 2021 +1030
>
> gas reloc sorting
>
> In some cases, eg. riscv_pre_output_hook, gas generates out-of-order
> relocations. Various places in the linker assume relocs are sorted
> by increasing r_offset, which is normally the case. Provide
> GAS_SORT_RELOCS to handle unsorted relocs.
>
> bfd/
> PR 28709
> * elf32-nds32.c (nds32_insertion_sort): Make static.
> * elf32-nds32.h (nds32_insertion_sort): Delete declaration.
> gas/
> PR 28709
> * write.c (write_relocs): Implement reloc sorting by r_offset
> when GAS_SORT_RELOCS.
> * config/tc-nds32.c (compar_relent, nds32_set_section_relocs):
> Delete.
> * config/tc-nds32.h (nds32_set_section_relocs): Don't declare.
> (SET_SECTION_RELOCS): Don't define.
> (GAS_SORT_RELOCS): Define.
> * config/tc-riscv.h (GAS_SORT_RELOCS): Define.
If the linker expected sorted relocations by r_offset, shouldn't the linker
sort the relocations instead?
The reproduce tarball does not use `.reloc` directives. I feel odd that
GAS_SORT_RELOCS is introduced to sort the relocations in the assembler.
--
You are receiving this mail because:
You are on the CC list for the bug.