This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH RFC v2] Add support for non-contiguous memory regions
Hi,
On Mon, Jan 13, 2020 at 05:24:07PM +0100, Christophe Lyon wrote:
> > Did you run the testsuite with --enable-non-contiguous-regions? If so, that
> Yes, but after I sent my previous email.... and it shows a few
> regressions, which I'm looking at.
> However the *overlay* tests under ld-elf still work.
Yes, the way overlays are implemented it should be unaffected, because
input sections aren't used twice in that setup.
The bank switching trampoline example is one case where a user might want
to have input sections duplicated during linking -- there might be others.
Unrelated to your patch, that might be an interesting use case as well:
statically linking libraries into overlays:
library.S:
.section .text
.globl function
function:
blr
overlay1.S:
.section .text
mov r0, #0
bl function
overlay2.S:
.section .text
mov r0, #1
bl function
test.ld:
SECTIONS {
OVERLAY : NOCROSSREFS {
.text.overlay1 : {
overlay1.o(.text)
EXCLUDE_FILE(overlay*.o) *(.text)
}
.text.overlay2 : {
overlay2.o(.text)
EXCLUDE_FILE(overlay*.o) *(.text)
}
}
}
My expectation here would be that I'd end up with two copies of "function",
one in each branch of the overlay.
Simon