Draft: rts: Rework PEi386 linker
This merge request is part of a series enabling ASLR support on Windows. See !7448 (closed) for an overview.
This is a rather deep rework of the PEi386 linker, freeing the linker of the assumption that the program image will be located in low memory and fixing a variety of other issues encountered along the way. Specifically, we now use the m32 allocator (depending upon the work in !7446 (closed)) rather than HeapAlloc
to allocate memory for program sections, simplifying the allocation code path (fixing #20979 (closed)).
Note that this is based on !7446 (closed) and !7511 (closed).
- Closes #21017 (closed).
- Closes #20979 (closed).
- Closes #21018 (closed).
- Closes #20979 (closed).
- Closes #20978 (closed).
- Closes #21340 (closed).