1 1.12 simonb /* $NetBSD: kern.ldscript,v 1.12 2021/04/23 08:42:25 simonb Exp $ */ 2 1.1 jonathan 3 1.11 uebayasi #include "assym.h" 4 1.11 uebayasi 5 1.4 simonb /* ldscript for NetBSD/mips kernels and LKMs */ 6 1.1 jonathan OUTPUT_ARCH(mips) 7 1.1 jonathan ENTRY(_start) 8 1.1 jonathan /* Do we need any of these? 9 1.1 jonathan __DYNAMIC = 0; */ 10 1.1 jonathan _DYNAMIC_LINK = 0; 11 1.1 jonathan SECTIONS 12 1.1 jonathan { 13 1.2 jonathan /* Read-only sections, merged into text segment. Assumes the 14 1.2 jonathan kernel Makefile sets the start address via -Ttext. */ 15 1.1 jonathan .text : 16 1.1 jonathan { 17 1.1 jonathan _ftext = . ; 18 1.1 jonathan *(.text) 19 1.12 simonb *(.text.*) 20 1.6 matt __stub_start = . ; 21 1.6 matt *(.stub*) 22 1.6 matt __stub_end = . ; 23 1.1 jonathan *(.gnu.warning) 24 1.1 jonathan } =0 25 1.1 jonathan _etext = .; 26 1.1 jonathan PROVIDE (etext = .); 27 1.5 tsutsui .rodata : { *(.rodata) *(.rodata.*) } 28 1.1 jonathan .reginfo : { *(.reginfo) } 29 1.4 simonb /* . = . + 0x1000; */ 30 1.1 jonathan .data : 31 1.1 jonathan { 32 1.1 jonathan _fdata = . ; 33 1.1 jonathan *(.data) 34 1.1 jonathan CONSTRUCTORS 35 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 36 1.8 uebayasi *(.data.cacheline_aligned) 37 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 38 1.8 uebayasi *(.data.read_mostly) 39 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 40 1.1 jonathan } 41 1.1 jonathan _gp = ALIGN(16) + 0x7ff0; 42 1.1 jonathan .lit8 : { *(.lit8) } 43 1.1 jonathan .lit4 : { *(.lit4) } 44 1.1 jonathan .sdata : { *(.sdata) } 45 1.1 jonathan _edata = .; 46 1.1 jonathan PROVIDE (edata = .); 47 1.1 jonathan __bss_start = .; 48 1.1 jonathan _fbss = .; 49 1.1 jonathan .sbss : { *(.sbss) *(.scommon) } 50 1.1 jonathan .bss : 51 1.1 jonathan { 52 1.8 uebayasi *(.bss) 53 1.8 uebayasi *(COMMON) 54 1.1 jonathan } 55 1.1 jonathan _end = . ; 56 1.1 jonathan PROVIDE (end = .); 57 1.1 jonathan } 58