Open japaric opened 2 years ago
rust-lld will happily link memory.x files that contain lines like these
rust-lld
memory.x
RAM : ORIGIN = 0x20020000, LENGTH = 1K - 2K
or even
RAM : ORIGIN = 0x20020000, LENGTH = -1K
it seems the behavior is that the value overflows because linking works even if .bss is 1MiB in size.
.bss
we could either reject these indicating that there may be a problem in the linker script or that negative lengths are not supported.
if we want to support them then I'm not sure what flip-link behavior should be. transforming either of the above to
flip-link
RAM : ORIGIN = 0x20020000 - 1K, LENGTH = 1K
does not produce the same binary with a single linker pass
I agree we should reject these with a clear warning.
I can try to do that, since I am on the subtraction issue.
rust-lld
will happily linkmemory.x
files that contain lines like theseor even
it seems the behavior is that the value overflows because linking works even if
.bss
is 1MiB in size.we could either reject these indicating that there may be a problem in the linker script or that negative lengths are not supported.
if we want to support them then I'm not sure what
flip-link
behavior should be. transforming either of the above todoes not produce the same binary with a single linker pass