1 1.1 jmcneill /* $NetBSD: elf_riscv64_efi.lds,v 1.1.1.1 2021/09/30 18:50:09 jmcneill Exp $ */ 2 1.1 jmcneill 3 1.1 jmcneill /* SPDX-License-Identifier: GPL-2.0+ */ 4 1.1 jmcneill 5 1.1 jmcneill OUTPUT_FORMAT("elf64-littleriscv", "elf64-littleriscv", "elf64-littleriscv") 6 1.1 jmcneill OUTPUT_ARCH(riscv) 7 1.1 jmcneill ENTRY(_start) 8 1.1 jmcneill SECTIONS { 9 1.1 jmcneill .text 0x0 : 10 1.1 jmcneill { 11 1.1 jmcneill _text = .; 12 1.1 jmcneill *(.text.head) 13 1.1 jmcneill *(.text) 14 1.1 jmcneill *(.text.*) 15 1.1 jmcneill *(.gnu.linkonce.t.*) 16 1.1 jmcneill *(.srodata) 17 1.1 jmcneill *(.rodata*) 18 1.1 jmcneill . = ALIGN(16); 19 1.1 jmcneill } 20 1.1 jmcneill _etext = .; 21 1.1 jmcneill _text_size = . - _text; 22 1.1 jmcneill .dynamic : 23 1.1 jmcneill { *(.dynamic) } 24 1.1 jmcneill .data : 25 1.1 jmcneill ALIGN(4096) 26 1.1 jmcneill { 27 1.1 jmcneill _data = .; 28 1.1 jmcneill *(.sdata) 29 1.1 jmcneill *(.data) 30 1.1 jmcneill *(.data1) 31 1.1 jmcneill *(.data.*) 32 1.1 jmcneill *(.got.plt) 33 1.1 jmcneill *(.got) 34 1.1 jmcneill 35 1.1 jmcneill /* the EFI loader doesn't seem to like a .bss section, so we stick 36 1.1 jmcneill it all into .data: */ 37 1.1 jmcneill . = ALIGN(16); 38 1.1 jmcneill _bss = .; 39 1.1 jmcneill *(.sbss) 40 1.1 jmcneill *(.scommon) 41 1.1 jmcneill *(.dynbss) 42 1.1 jmcneill *(.bss) 43 1.1 jmcneill *(COMMON) 44 1.1 jmcneill . = ALIGN(16); 45 1.1 jmcneill _bss_end = .; 46 1.1 jmcneill } 47 1.1 jmcneill 48 1.1 jmcneill .rela.text : 49 1.1 jmcneill { *(.rela.text) *(.rela.text*) } 50 1.1 jmcneill .rela.dyn : 51 1.1 jmcneill { *(.rela.dyn) } 52 1.1 jmcneill .rela.plt : 53 1.1 jmcneill { *(.rela.plt) } 54 1.1 jmcneill .rela.got : 55 1.1 jmcneill { *(.rela.got) } 56 1.1 jmcneill .rela.data : 57 1.1 jmcneill { *(.rela.data) *(.rela.data*) } 58 1.1 jmcneill . = ALIGN(512); 59 1.1 jmcneill _edata = .; 60 1.1 jmcneill _data_size = . - _data; 61 1.1 jmcneill 62 1.1 jmcneill . = ALIGN(4096); 63 1.1 jmcneill .dynsym : 64 1.1 jmcneill { *(.dynsym) } 65 1.1 jmcneill . = ALIGN(4096); 66 1.1 jmcneill .dynstr : 67 1.1 jmcneill { *(.dynstr) } 68 1.1 jmcneill . = ALIGN(4096); 69 1.1 jmcneill .note.gnu.build-id : 70 1.1 jmcneill { *(.note.gnu.build-id) } 71 1.1 jmcneill /DISCARD/ : 72 1.1 jmcneill { 73 1.1 jmcneill *(.rel.reloc) 74 1.1 jmcneill *(.eh_frame) 75 1.1 jmcneill *(.note.GNU-stack) 76 1.1 jmcneill } 77 1.1 jmcneill .comment 0 : 78 1.1 jmcneill { *(.comment) } 79 1.1 jmcneill } 80