rust-lld is a linker for GNU files. (call with rust-lld -flavor gnu -T memory.x) flip-link should accept the same files as rust-lld. Currently, some memory.x files (describing the memory) are not accepted by flip-link while being accepted by rust-lld.
We added in total 7 tests to manage input that is currently accepted by rust lld.
We cherry-picked the first commit of this PR, adding additions on ORIGIN, and made a different PR ħere.
The tests are passing but there are changes left to do:
for now the find_ram_in_linker_script performs a for loop to find the right line for the variable RAM that we need in order to write in the original linker script, then do various regex operations to parse the line properly. This needs to be handled more elegantly.
incorrect units must be handled properly (for example, RAM : ORIGIN = 0x20000000, LENGTH = 64P should return Err), we wrote a test for that but it is commented atm:
rust-lld
is a linker for GNU files. (call withrust-lld -flavor gnu -T memory.x
)flip-link
should accept the same files asrust-lld
. Currently, some memory.x files (describing the memory) are not accepted byflip-link
while being accepted byrust-lld
.We added in total 7 tests to manage input that is currently accepted by
rust lld
. We cherry-picked the first commit of this PR, adding additions onORIGIN
, and made a different PR ħere.The tests are passing but there are changes left to do:
for now the
find_ram_in_linker_script
performs a for loop to find the right line for the variableRAM
that we need in order to write in the original linker script, then do various regex operations to parse the line properly. This needs to be handled more elegantly.incorrect units must be handled properly (for example,
RAM : ORIGIN = 0x20000000, LENGTH = 64P
should return Err), we wrote a test for that but it is commented atm:abbreviations (ORIGIN|o|org) should be accepted
Lots to do, so please advise 😄