| /* |
| * Copyright (c) 2020 Intel Corp. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| |
| ENTRY(efi_entry) |
| |
| SECTIONS { |
| |
| /* Pick a reasonable base address, EFI won't load us there anyway */ |
| . = 0x4000000; |
| .text : { |
| *(.text) |
| *(.rodata) |
| } |
| |
| /* Must be a separately visible section to the EFI loader, doesn't |
| * need to be page-aligned and can be immediately after text/rodata */ |
| .reloc : { *(.reloc) } |
| |
| /* Must be page-aligned or EFI balks */ |
| . = ALIGN(4096); |
| .data : { |
| *(.data) |
| *(COMMON) |
| *(.bss) |
| |
| *(.runtime_data_end) /* Must be last. Obviously. */ |
| } |
| |
| /* Because binutils ld really likes to "helpfully" ignore the section |
| * directives and drop junk in weird places. |
| */ |
| .trash_bin : { |
| *(.comment) |
| *(.data.rel*) |
| *(.dynamic) |
| *(.dynbss) |
| *(.dynstr) |
| *(.dynsym) |
| *(.eh_frame) |
| *(.gnu.hash) |
| *(.gnu.version*) |
| *(.got) |
| *(.got.plt) |
| *(.hash) |
| *(.note.*) |
| *(.plt) |
| *(.plt.*) |
| *(.rela.*) |
| *(.rel.local) |
| } |
| |
| } /* SECTIONS */ |