Mark important sections with KEEP so that the linker will not remove them when garbage-collection is (later) enabled.
Provide a _end symbol so that this can be accessed in setup_mon_len() Signed-off-by: Simon Glass <s...@chromium.org> --- arch/x86/lib/elf_ia32_efi.lds | 5 +++-- arch/x86/lib/elf_x86_64_efi.lds | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/lib/elf_ia32_efi.lds b/arch/x86/lib/elf_ia32_efi.lds index a3ff0068b40..230df63bb48 100644 --- a/arch/x86/lib/elf_ia32_efi.lds +++ b/arch/x86/lib/elf_ia32_efi.lds @@ -51,7 +51,7 @@ SECTIONS /* U-Boot lists and device tree */ . = ALIGN(8); - *(SORT(__u_boot_list*)); + KEEP(*(SORT(__u_boot_list*))); . = ALIGN(8); *(.dtb*); } @@ -75,7 +75,7 @@ SECTIONS . = ALIGN(4096); .reloc : { /* This is the PECOFF .reloc section! */ - *(.reloc) + KEEP(*(.reloc)) } . = ALIGN(4096); @@ -83,6 +83,7 @@ SECTIONS . = ALIGN(4096); .dynstr : { *(.dynstr) } . = ALIGN(4096); + _end = .; /DISCARD/ : { *(.rel.reloc) diff --git a/arch/x86/lib/elf_x86_64_efi.lds b/arch/x86/lib/elf_x86_64_efi.lds index 5e1e8714351..e5da5a58952 100644 --- a/arch/x86/lib/elf_x86_64_efi.lds +++ b/arch/x86/lib/elf_x86_64_efi.lds @@ -21,7 +21,7 @@ SECTIONS . = ALIGN(4096); .reloc : { - *(.reloc) + KEEP(*(.reloc)) } . = ALIGN(4096); @@ -44,7 +44,7 @@ SECTIONS /* U-Boot lists and device tree */ . = ALIGN(8); - *(SORT(__u_boot_list*)); + KEEP(*(SORT(__u_boot_list*))); . = ALIGN(8); *(.dtb*); } @@ -65,6 +65,7 @@ SECTIONS . = ALIGN(4096); .dynstr : { *(.dynstr) } . = ALIGN(4096); + _end = .; /DISCARD/ : { *(.rela.reloc) -- 2.43.0