1 1.4 simonb /* $NetBSD: kern.ldscript,v 1.4 2001/10/05 05:03:27 simonb Exp $ */ 2 1.1 jonathan 3 1.4 simonb /* ldscript for NetBSD/mips kernels and LKMs */ 4 1.1 jonathan OUTPUT_ARCH(mips) 5 1.1 jonathan ENTRY(_start) 6 1.1 jonathan SEARCH_DIR(/lib); 7 1.1 jonathan /* Do we need any of these? 8 1.1 jonathan __DYNAMIC = 0; */ 9 1.1 jonathan _DYNAMIC_LINK = 0; 10 1.1 jonathan SECTIONS 11 1.1 jonathan { 12 1.2 jonathan /* Read-only sections, merged into text segment. Assumes the 13 1.2 jonathan kernel Makefile sets the start address via -Ttext. */ 14 1.1 jonathan .text : 15 1.1 jonathan { 16 1.1 jonathan _ftext = . ; 17 1.1 jonathan *(.text) 18 1.1 jonathan *(.gnu.warning) 19 1.1 jonathan } =0 20 1.1 jonathan _etext = .; 21 1.1 jonathan PROVIDE (etext = .); 22 1.1 jonathan .rodata : { *(.rodata) } 23 1.1 jonathan .reginfo : { *(.reginfo) } 24 1.4 simonb /* . = . + 0x1000; */ 25 1.1 jonathan .data : 26 1.1 jonathan { 27 1.1 jonathan _fdata = . ; 28 1.1 jonathan *(.data) 29 1.1 jonathan CONSTRUCTORS 30 1.1 jonathan } 31 1.1 jonathan _gp = ALIGN(16) + 0x7ff0; 32 1.1 jonathan .lit8 : { *(.lit8) } 33 1.1 jonathan .lit4 : { *(.lit4) } 34 1.1 jonathan .sdata : { *(.sdata) } 35 1.1 jonathan _edata = .; 36 1.1 jonathan PROVIDE (edata = .); 37 1.1 jonathan __bss_start = .; 38 1.1 jonathan _fbss = .; 39 1.1 jonathan .sbss : { *(.sbss) *(.scommon) } 40 1.1 jonathan .bss : 41 1.1 jonathan { 42 1.1 jonathan *(.bss) 43 1.1 jonathan *(COMMON) 44 1.1 jonathan } 45 1.1 jonathan _end = . ; 46 1.1 jonathan PROVIDE (end = .); 47 1.1 jonathan /* These are needed for ELF backends which have not yet been 48 1.1 jonathan converted to the new style linker. */ 49 1.1 jonathan .stab 0 : { *(.stab) } 50 1.1 jonathan .stabstr 0 : { *(.stabstr) } 51 1.1 jonathan /* DWARF debug sections. 52 1.1 jonathan Symbols in the .debug DWARF section are relative to the beginning of the 53 1.1 jonathan section so we begin .debug at 0. It's not clear yet what needs to happen 54 1.1 jonathan for the others. */ 55 1.1 jonathan .debug 0 : { *(.debug) } 56 1.1 jonathan .debug_srcinfo 0 : { *(.debug_srcinfo) } 57 1.1 jonathan .debug_aranges 0 : { *(.debug_aranges) } 58 1.1 jonathan .debug_pubnames 0 : { *(.debug_pubnames) } 59 1.1 jonathan .debug_sfnames 0 : { *(.debug_sfnames) } 60 1.1 jonathan .line 0 : { *(.line) } 61 1.1 jonathan /* These must appear regardless of . */ 62 1.1 jonathan .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } 63 1.1 jonathan .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } 64 1.1 jonathan } 65