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