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