xref: /openbsd-src/sys/arch/loongson/conf/ld.script (revision bd694fdc92c3679f2f75b304162387822064c866)
1/*	$OpenBSD: ld.script,v 1.5 2021/02/18 16:27:07 visa Exp $	*/
2
3OUTPUT_FORMAT("elf64-tradlittlemips")
4OUTPUT_ARCH(mips)
5ENTRY(__start)
6
7PHDRS
8{
9	text PT_LOAD;
10	openbsd_randomize PT_OPENBSD_RANDOMIZE;
11}
12
13SECTIONS
14{
15	.text :
16	{
17		*(.text .text.* .gnu.linkonce.t.*)
18	} :text
19	PROVIDE (etext = .);
20	.rodata :
21	{
22		*(.rodata .rodata.* .gnu.linkonce.r.*)
23	} :text
24
25	. = ALIGN(8);
26	PROVIDE (__kernel_randomdata = .);
27	.openbsd.randomdata :
28	{
29		__retguard_start = ABSOLUTE(.);
30		*(.openbsd.randomdata.retguard .openbsd.randomdata.retguard.*)
31		/* XXX . = ALIGN(0x1000); */
32		__retguard_end = ABSOLUTE(.);
33		*(.openbsd.randomdata .openbsd.randomdata.*)
34	} :text :openbsd_randomize
35	. = ALIGN(8);
36	PROVIDE (__kernel_randomdata_end = .);
37
38	.data :
39	{
40		*(.data .data.* .gnu.linkonce.d.*)
41	} :text
42	PROVIDE (edata = .);
43	.sbss :
44	{
45		*(.sbss .sbss.* .gnu.linkonce.sb.* .scommon)
46	}
47	.bss :
48	{
49		*(.bss .bss.* .gnu.linkonce.b.* COMMON)
50	}
51	. = ALIGN(8);
52	PROVIDE (_end = .);
53	PROVIDE (end = .);
54
55	/DISCARD/ :
56	{
57		*(.pdr)
58		*(.mdebug.abi64)
59		*(.MIPS.options)
60	}
61}
62