Uh oh!
There was an error while loading. Please reload this page.
Place async resumption info in read-write section outside Windows for AOT - #123433
Conversation
Rework `allocMem` to support allocating an arbitrary number of data chunks. The motivation is to allow ilc to put async resumption info chunks into sections that support relocations to .text, but additionally will allow for sharing read only data between multiple functions.
This reverts commit 056f51b.
jakobbotsch
commented
Feb 1, 2026
/azp run runtime-nativeaot-outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
jakobbotsch
commented
Feb 2, 2026
Looks like there are some failures to investigate. |
jakobbotsch
commented
Feb 2, 2026
I think we are already running into the problem above (#123433 (comment)). Basically JIT assumes that constant data will be close and generates code/relocs to load the address of the resumption info as if that is the case. |
jakobbotsch
commented
Feb 2, 2026
/azp run runtime-nativeaot-outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| { | ||
| emitRecordRelocation(dst - sizeof(code_t), dstAddr, CorInfoReloc::ARM64_PAGEBASE_REL21); | ||
| } | ||
There was a problem hiding this comment.
cc @shushanhf @dotnet/samsung. You likely will need a similar change for loongarch64 and RISCV64.
In summary we can now have data that is not allocated together with the code so for those you will need to emit relocs.
jakobbotsch
commented
Feb 3, 2026
/ba-g x64 infra timeouts -- these jobs succeeded on the previous run with only arm64 changes since them |
Uh oh!
There was an error while loading. Please reload this page.
… AOT (dotnet#123433) ELF/MachO do not support relocations from read-only sections into the .text section. We generate such relocations when creating async resumption info. Now that dotnet#123378 is in we can teach ilc/crossgen2 to place these pieces of data in a read-write section when necessary. Fixdotnet#121871
… AOT (dotnet#123433) ELF/MachO do not support relocations from read-only sections into the .text section. We generate such relocations when creating async resumption info. Now that dotnet#123378 is in we can teach ilc/crossgen2 to place these pieces of data in a read-write section when necessary. Fixdotnet#121871
ELF/MachO do not support relocations from read-only sections into the .text section. We generate such relocations when creating async resumption info. Now that #123378 is in we can teach ilc/crossgen2 to place these pieces of data in a read-write section when necessary.
Fix#121871