On Mon, Feb 24, 2020 at 01:28:28PM -0800, Fangrui Song wrote:
Hi Michael, please see my other reply on this thread: https://lkml.org/lkml/2020/2/24/47
Synthesized sections can be matched as well. For example, SECTIONS { .pltfoo : { *(.plt) }} can rename the output section .plt to .pltfoo
It seems that in GNU ld, the synthesized section is associated with the
original object file, so it can be written as:
SECTIONS { .pltfoo : { a.o(.plt) }}
In lld, you need a wildcard to match the synthesized section *(.plt)
.rela.dyn is another example.
With the BFD toolchain, file matching doesn't actually seem to work at
least for .rela.dyn. I've tried playing around with it in the past and
if you try to use file-matching to capture relocations from a particular
input file, it just doesn't work sensibly.