diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2025-01-28 10:18:09 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-02-02 09:20:53 +0000 |
commit | f5d585b46b3c1912b9fadc1a541e8756e713b837 (patch) | |
tree | 9fa96db2276407b5ebf0329c7817a467f9db924c | |
parent | 7fd3c89ff46a23baf8ea9b3e47ae24fbebba1c34 (diff) | |
download | edk2-f5d585b46b3c1912b9fadc1a541e8756e713b837.tar.gz |
BaseTools/Scripts/ClangBase.lds: Move .entry into .text section
The GccBase.lds and ClangBase.lds ELF linker scripts have been laid out
very carefully to ensure that the memory mappings of .text and .data are
such that they can be preserved in the PE/COFF memory image. This
removes the need to update any place-relative ELF relocations when
generating the PE/COFF image, making its job much easier, and
potentially allowing it to disregard static ELF relocations altogether,
and rely solely on dynamic ELF relocations.
Adding an arbitrary .entry section before .text breaks those
assumptions, so instead of emitting it as a separate section, move its
payload to the start of .text.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r-- | BaseTools/Scripts/ClangBase.lds | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/BaseTools/Scripts/ClangBase.lds b/BaseTools/Scripts/ClangBase.lds index 633cdbac3b..f7981843d6 100644 --- a/BaseTools/Scripts/ClangBase.lds +++ b/BaseTools/Scripts/ClangBase.lds @@ -20,11 +20,8 @@ SECTIONS { */
. = PECOFF_HEADER_SIZE;
- .entry ALIGN(CONSTANT(COMMONPAGESIZE)) : {
- KEEP(*(.entry))
- }
-
.text : ALIGN(CONSTANT(COMMONPAGESIZE)) {
+ KEEP(*(.entry))
*(.text .text.* .stub .gnu.linkonce.t.*)
*(.rodata .rodata.* .gnu.linkonce.r.*)
*(.got .got.*)
|