[edk2-devel] [PATCH 2/4] BaseTools/Scripts/GccBase.lds: export image base symbol

Ard Biesheuvel ard.biesheuvel at arm.com
Mon Jun 8 17:34:11 UTC 2020


To help converted ELF images perform self-relocation, export a symbol
'ElfImageBase' that can be used in the code to discover the start of
the image in memory.

Note the use of PROVIDE() - this ensures that the symbol is only emitted
if a reference to it exists in the code being linked, but no definition.
This means the symbol is never emitted in a way that can conflict with
existing code.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel at arm.com>
---
 BaseTools/Scripts/GccBase.lds | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/BaseTools/Scripts/GccBase.lds b/BaseTools/Scripts/GccBase.lds
index a9dd2138d4b5..e73c1206a2e2 100644
--- a/BaseTools/Scripts/GccBase.lds
+++ b/BaseTools/Scripts/GccBase.lds
@@ -12,6 +12,8 @@
 
 SECTIONS {
 
+  PROVIDE(ElfImageBase = .);
+
   /*
    * The PE/COFF binary consists of DOS and PE/COFF headers, and a sequence of
    * section headers adding up to PECOFF_HEADER_SIZE bytes (which differs
-- 
2.26.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#60893): https://edk2.groups.io/g/devel/message/60893
Mute This Topic: https://groups.io/mt/74757210/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list