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