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