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