1/* $NetBSD: kern.ldscript,v 1.2 2014/01/30 15:36:44 matt Exp $ */ 2 3OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", 4 "elf32-littlearm") 5OUTPUT_ARCH(arm) 6SECTIONS 7{ 8 . = 0xf0000020; /* 0x20 == sizeof(a.out header) */ 9 10 /* Read-only sections, merged into text segment: */ 11 .text : 12 { 13 *(.text) 14 *(.text.*) 15 *(.stub) 16 *(.glue_7t) *(.glue_7) 17 *(.rodata) *(.rodata.*) 18 } =0 19 .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } 20 PROVIDE (__exidx_start = .); 21 .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } 22 PROVIDE (__exidx_end = .); 23 PROVIDE (__etext = .); 24 PROVIDE (_etext = .); 25 PROVIDE (etext = .); 26 . = ALIGN(0x1000); 27 .data : 28 { 29 __data_start = . ; 30 *(.data) 31 *(.data.*) 32 *(.sdata) 33 *(.sdata.*) 34 } 35 _edata = .; 36 PROVIDE (edata = .); 37 __bss_start = .; 38 __bss_start__ = .; 39 .bss : 40 { 41 *(.dynbss) 42 *(.bss) 43 *(.bss.*) 44 *(COMMON) 45 /* Align here to ensure that the .bss section occupies space up to 46 _end. Align after .bss to ensure correct alignment even if the 47 .bss section disappears because there are no input sections. */ 48 . = ALIGN(32 / 8); 49 } 50 . = ALIGN(32 / 8); 51 _end = .; 52 _bss_end__ = . ; __bss_end__ = . ; __end__ = . ; 53 PROVIDE (end = .); 54} 55