tests: subsys: llext: intel_adsp build and runtime fixes #101227
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



NOTE: THIS SHOULD NOT BE MERGED BEFORE #101226 IS FIXED!
Fixes build and runtime errors for Intel ADSP platforms with the LLEXT tests.
*The linker puts .data like the LLEXT test extensions in the uncached memory of the Intel ADSP, which can't be executed. But why am I adding a test-specific Kconfig for only one platform? Well, the only alternative I could think of was adding Intel ADSP specific LLEXT heap (placing it in .rodata instead of .data) and INSTR_FETCHABLE definitions** so text would be copied into the heap. But per a comment in llext_link.c's llext_link_plt(), Xtensa llext's PLT linking is not valid when not performed inline in the ELF buffer. This is because it uses offsets from the text in the ELF buffer and assumes the text section's position relative to the other sections has not changed during loading. If one or more sections, such as .text, are loaded onto the heap, the relocation addresses calculated by the linker will not land in the correct memory region. Xtensa seems to not only require WRITABLE storage, but that extensions be properly aligned and placed in executable memory, so that no sections are copied into the heap.
**also only for one platform, and more invasively inserted into the LLEXT subsystem itself instead of just a test
Fixes #100767
...or it would, but there is a bug (?), #101226, where the board overlays this PR adds are ignored by Twister because the testcase.yaml uses extra_conf_files.