1 1.8 uebayasi /* $NetBSD: kern.ldscript,v 1.11 2015/08/25 08:08:12 uebayasi 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.6 matt __stub_start = . ; 20 1.6 matt *(.stub*) 21 1.6 matt __stub_end = . ; 22 1.1 jonathan *(.gnu.warning) 23 1.1 jonathan } =0 24 1.1 jonathan _etext = .; 25 1.1 jonathan PROVIDE (etext = .); 26 1.5 tsutsui .rodata : { *(.rodata) *(.rodata.*) } 27 1.1 jonathan .reginfo : { *(.reginfo) } 28 1.4 simonb /* . = . + 0x1000; */ 29 1.1 jonathan .data : 30 1.1 jonathan { 31 1.1 jonathan _fdata = . ; 32 1.1 jonathan *(.data) 33 1.1 jonathan CONSTRUCTORS 34 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 35 1.8 uebayasi *(.data.cacheline_aligned) 36 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 37 1.8 uebayasi *(.data.read_mostly) 38 1.11 uebayasi . = ALIGN(COHERENCY_UNIT); 39 1.1 jonathan } 40 1.1 jonathan _gp = ALIGN(16) + 0x7ff0; 41 1.1 jonathan .lit8 : { *(.lit8) } 42 1.1 jonathan .lit4 : { *(.lit4) } 43 1.1 jonathan .sdata : { *(.sdata) } 44 1.1 jonathan _edata = .; 45 1.1 jonathan PROVIDE (edata = .); 46 1.1 jonathan __bss_start = .; 47 1.1 jonathan _fbss = .; 48 1.1 jonathan .sbss : { *(.sbss) *(.scommon) } 49 1.1 jonathan .bss : 50 1.1 jonathan { 51 1.8 uebayasi *(.bss) 52 1.8 uebayasi *(COMMON) 53 1.1 jonathan } 54 1.1 jonathan _end = . ; 55 1.1 jonathan PROVIDE (end = .); 56 1.1 jonathan } 57