aboutsummaryrefslogtreecommitdiff
path: root/tests/inspect_elf.rs
AgeCommit message (Collapse)Author
2024-04-03Add environment variable overrides for stack, heapIan McIntyre
If you define a runtime, you can call `stack_size_env_override` to define an optional environment variable checked by the runtime builder. Same goes for the heap. A user can set these environment variables to override the runtime's stack / heap size. You can use this package's examples to try it out; see the updated build script. There's no default environment variable for either memory region. The package that defines the runtime needs to opt-in to this feature.
2023-09-29Relax asserts for .rodata and .text offsetsIan McIntyre
Haven't fully dug into this one, but GNU ld and LLVM lld have slightly different section positions when we cross from text to data. We can relax the asserts to show ordering without strictly requiring an offset.
2023-09-29Refactor LMA computation in inspect_elfIan McIntyre
Depending on the ordering and contents of program headers, the previous predicate for "is this the program header for this section?" could select the wrong header. GNU's ld and LLVM's lld produce that different header ordering and contents, causing select asserts to fail when using GNU's linker. This commit changes how we select the program header, approximating the way GNU objdump figures the value. This new approach needs more information from the section header, so I'm changing the API to make it easier to call the section_header method. The previous approach was influenced by LLVM objdump. Turns out that LLVM objdump will also compute the wrong LMA for these binaries when they're linked with GNU ld. GNU objdump always produces the correct section LMA, no matter the LLVM or GNU linker.
2023-09-08Add optional DCD section in linker scriptsummivox
Users can define their device configuration data (DCD), and place the data in the .dcd section. If the .dcd section has content, the entry in the IVT points at the user's DCD. This plays well with imxrt-dcd.
2022-12-01First commitIan McIntyre