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