1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /* SPDX-License-Identifier: BSD-2-Clause */
- /*
- * U-Boot EFI linker script
- *
- * Modified from usr/lib32/elf_x86_64_efi.lds in gnu-efi
- */
- OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
- OUTPUT_ARCH(i386:x86-64)
- ENTRY(_start)
- SECTIONS
- {
- image_base = .;
- .hash : { *(.hash) } /* this MUST come first, EFI expects it */
- . = ALIGN(4096);
- .eh_frame : {
- *(.eh_frame)
- }
- . = ALIGN(4096);
- .text : {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- }
- . = ALIGN(4096);
- .reloc : {
- *(.reloc)
- }
- . = ALIGN(4096);
- .data : {
- *(.rodata*)
- *(.got.plt)
- *(.got)
- *(.data*)
- *(.sdata)
- /* the EFI loader doesn't seem to like a .bss section, so we stick
- * it all into .data: */
- *(.sbss)
- *(.scommon)
- *(.dynbss)
- *(.bss*)
- *(COMMON)
- *(.rel.local)
- /* U-Boot lists and device tree */
- . = ALIGN(8);
- *(SORT(.u_boot_list*));
- . = ALIGN(8);
- *(.dtb*);
- }
- . = ALIGN(4096);
- .dynamic : { *(.dynamic) }
- . = ALIGN(4096);
- .rela : {
- *(.rela.data*)
- *(.rela.got)
- *(.rela.stab)
- }
- . = ALIGN(4096);
- .dynsym : { *(.dynsym) }
- . = ALIGN(4096);
- .dynstr : { *(.dynstr) }
- . = ALIGN(4096);
- .ignored.reloc : {
- *(.rela.reloc)
- *(.eh_frame)
- *(.note.GNU-stack)
- }
- .comment 0 : { *(.comment) }
- }
|