xref: /openbsd-src/sys/arch/octeon/conf/ld.script (revision 5b34c8b171a4ddaff75b436d37df77a3c2241a24)
1*5b34c8b1Svisa/*	$OpenBSD: ld.script,v 1.7 2021/02/11 14:44:13 visa Exp $	*/
2f177a60aSvisa
3c6b2ceb4SsyuuOUTPUT_FORMAT("elf64-tradbigmips")
4c6b2ceb4SsyuuOUTPUT_ARCH(mips)
5c6b2ceb4SsyuuENTRY(__start)
6c6b2ceb4Ssyuu
747fbd58eSvisa/*
847fbd58eSvisa * When the kernel is built with option NO_RANDOMIZE, PT_OPENBSD_RANDOMIZE
947fbd58eSvisa * and :openbsd_randomize are removed by the Makefile.
1047fbd58eSvisa */
1147fbd58eSvisa
1247fbd58eSvisaPHDRS
1347fbd58eSvisa{
1447fbd58eSvisa	text PT_LOAD;
1547fbd58eSvisa	openbsd_randomize PT_OPENBSD_RANDOMIZE;
1647fbd58eSvisa}
1747fbd58eSvisa
18c6b2ceb4SsyuuSECTIONS
19c6b2ceb4Ssyuu{
2047fbd58eSvisa	.text :
2147fbd58eSvisa	{
2247fbd58eSvisa		*(.text .text.* .gnu.linkonce.t.*)
2347fbd58eSvisa	} :text
24c6b2ceb4Ssyuu	PROVIDE (etext = .);
2547fbd58eSvisa	.rodata :
2647fbd58eSvisa	{
2747fbd58eSvisa		*(.rodata .rodata.* .gnu.linkonce.r.*)
2847fbd58eSvisa	} :text
2947fbd58eSvisa
3047fbd58eSvisa	. = ALIGN(8);
3147fbd58eSvisa	PROVIDE (__kernel_randomdata = .);
32767cdb76Smiod	.openbsd.randomdata :
33f1bfbdc7Sguenther	{
34f1bfbdc7Sguenther		__retguard_start = ABSOLUTE(.);
35f1bfbdc7Sguenther		*(.openbsd.randomdata.retguard .openbsd.randomdata.retguard.*)
36f1bfbdc7Sguenther		/* XXX . = ALIGN(0x1000); */
37f1bfbdc7Sguenther		__retguard_end = ABSOLUTE(.);
38f1bfbdc7Sguenther		*(.openbsd.randomdata .openbsd.randomdata.*)
3947fbd58eSvisa	} :text :openbsd_randomize
4047fbd58eSvisa	. = ALIGN(8);
4147fbd58eSvisa	PROVIDE (__kernel_randomdata_end = .);
4247fbd58eSvisa
4347fbd58eSvisa	.data :
4447fbd58eSvisa	{
4547fbd58eSvisa		*(.data .data.* .gnu.linkonce.d.*)
4647fbd58eSvisa	} :text
47c6b2ceb4Ssyuu	PROVIDE (edata = .);
4847fbd58eSvisa	.sbss :
4947fbd58eSvisa	{
5047fbd58eSvisa		*(.sbss .sbss.* .gnu.linkonce.sb.* .scommon)
5147fbd58eSvisa	}
5247fbd58eSvisa	.bss :
5347fbd58eSvisa	{
5447fbd58eSvisa		*(.bss .bss.* .gnu.linkonce.b.* COMMON)
5547fbd58eSvisa	}
5647fbd58eSvisa	. = ALIGN(8);
57c6b2ceb4Ssyuu	PROVIDE (_end = .);
58c6b2ceb4Ssyuu	PROVIDE (end = .);
5947fbd58eSvisa
60c6b2ceb4Ssyuu	/DISCARD/ :
61c6b2ceb4Ssyuu	{
62c6b2ceb4Ssyuu		*(.pdr)
63c6b2ceb4Ssyuu		*(.mdebug.abi64)
64c6b2ceb4Ssyuu		*(.MIPS.options)
65c6b2ceb4Ssyuu	}
66c6b2ceb4Ssyuu}
67