1/* 2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3 * Copyright: Linux Kernel team 4 * SPDX-License-Identifier: GPL-2.0-only 5 * 6 * The code in here is derived from the Linux kernel 7 */ 8 9OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") 10OUTPUT_ARCH(aarch64) 11ENTRY(_gnuefi_start) 12SECTIONS 13{ 14 .text 0x0 : { 15 _text = .; 16 *(.text.head) 17 *(.text) 18 *(.text.*) 19 *(.gnu.linkonce.t.*) 20 *(.srodata) 21 *(.rodata*) 22 . = ALIGN(16); 23 } 24 _etext = .; 25 _text_size = . - _text; 26 .dynamic : { *(.dynamic) } 27 .data : ALIGN(4096) 28 { 29 _data = .; 30 *(.sdata) 31 *(.data) 32 *(.data1) 33 *(.data.*) 34 *(.got.plt) 35 *(.got) 36 37 /* the EFI loader doesn't seem to like a .bss section, so we stick 38 it all into .data: */ 39 . = ALIGN(16); 40 _bss = .; 41 *(.sbss) 42 *(.scommon) 43 *(.dynbss) 44 *(.bss) 45 *(COMMON) 46 . = ALIGN(16); 47 _bss_end = .; 48 } 49 50 .rela.dyn : { *(.rela.dyn) } 51 .rela.plt : { *(.rela.plt) } 52 .rela.got : { *(.rela.got) } 53 .rela.data : { *(.rela.data) *(.rela.data*) } 54 . = ALIGN(512); 55 _edata = .; 56 _data_size = . - _data; 57 58 . = ALIGN(4096); 59 .dynsym : { *(.dynsym) } 60 . = ALIGN(4096); 61 .dynstr : { *(.dynstr) } 62 . = ALIGN(4096); 63 .note.gnu.build-id : { *(.note.gnu.build-id) } 64 /DISCARD/ : 65 { 66 *(.rel.reloc) 67 *(.eh_frame) 68 *(.note.GNU-stack) 69 } 70 .comment 0 : { *(.comment) } 71} 72