summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2018-07-11 01:39:31 +0200
committerAlexander Graf <agraf@suse.de>2018-07-25 14:57:44 +0200
commit42a3d42688d8a389237cce2df18976d51c13b07f (patch)
tree1d6fc1f29d6adb442dc02d033a83c59dba8340da /arch/x86
parent7e21fbca26d18327cf7cabaad08df276a06a07d8 (diff)
x86: Add efi_loader bits to x86_64 linker script
The x86_64 linker script was missing efi runtime information. Add it. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/cpu/u-boot-64.lds34
1 files changed, 33 insertions, 1 deletions
diff --git a/arch/x86/cpu/u-boot-64.lds b/arch/x86/cpu/u-boot-64.lds
index 9a9d39cef2..862aa2d35e 100644
--- a/arch/x86/cpu/u-boot-64.lds
+++ b/arch/x86/cpu/u-boot-64.lds
@@ -20,6 +20,20 @@ SECTIONS
.text.start : { *(.text.start); }
+ .__efi_runtime_start : {
+ *(.__efi_runtime_start)
+ }
+
+ .efi_runtime : {
+ *(.text.efi_runtime*)
+ *(.rodata.efi_runtime*)
+ *(.data.efi_runtime*)
+ }
+
+ .__efi_runtime_stop : {
+ *(.__efi_runtime_stop)
+ }
+
.text : { *(.text*); }
. = ALIGN(4);
@@ -30,7 +44,10 @@ SECTIONS
}
. = ALIGN(4);
- .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+ .rodata : {
+ *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
+ KEEP(*(.rodata.efi.init));
+ }
. = ALIGN(4);
.data : { *(.data*) }
@@ -41,6 +58,21 @@ SECTIONS
. = ALIGN(4);
.got : { *(.got*) }
+ .efi_runtime_rel_start :
+ {
+ *(.__efi_runtime_rel_start)
+ }
+
+ .efi_runtime_rel : {
+ *(.rel*.efi_runtime)
+ *(.rel*.efi_runtime.*)
+ }
+
+ .efi_runtime_rel_stop :
+ {
+ *(.__efi_runtime_rel_stop)
+ }
+
. = ALIGN(4);
__data_end = .;
__init_end = .;