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