1 1.3 nonaka /* $NetBSD: ldscript.zaurus,v 1.3 2012/01/20 15:00:27 nonaka Exp $ */ 2 1.1 ober 3 1.1 ober OUTPUT_ARCH(arm) 4 1.1 ober ENTRY(KERNEL_BASE_phys) 5 1.1 ober SECTIONS 6 1.1 ober { 7 1.1 ober KERNEL_BASE_phys = @KERNEL_BASE_PHYS@; 8 1.1 ober KERNEL_BASE_virt = @KERNEL_BASE_VIRT@; 9 1.1 ober 10 1.1 ober /* Kernel start: */ 11 1.1 ober .start (KERNEL_BASE_phys) : 12 1.1 ober { 13 1.1 ober *(.start) 14 1.1 ober } =0 15 1.1 ober 16 1.1 ober /* Read-only sections, merged into text segment: */ 17 1.1 ober .text (KERNEL_BASE_virt + SIZEOF(.start)) : 18 1.1 ober AT (LOADADDR(.start) + SIZEOF(.start)) 19 1.1 ober { 20 1.1 ober *(.text) 21 1.1 ober *(.text.*) 22 1.1 ober *(.stub) 23 1.1 ober *(.glue_7t) *(.glue_7) 24 1.1 ober *(.rodata) *(.rodata.*) 25 1.1 ober } =0 26 1.1 ober PROVIDE (__etext = .); 27 1.1 ober PROVIDE (_etext = .); 28 1.1 ober PROVIDE (etext = .); 29 1.1 ober /* Adjust the address for the data segment to start on the next page 30 1.1 ober boundary. */ 31 1.1 ober . = ALIGN(0x8000); 32 1.1 ober .data : 33 1.1 ober AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) 34 1.1 ober { 35 1.1 ober __data_start = . ; 36 1.1 ober *(.data) 37 1.1 ober *(.data.*) 38 1.1 ober } 39 1.1 ober .sdata : 40 1.1 ober AT (LOADADDR(.data) + (ADDR(.sdata) - ADDR(.data))) 41 1.1 ober { 42 1.1 ober *(.sdata) 43 1.1 ober *(.sdata.*) 44 1.1 ober } 45 1.1 ober _edata = .; 46 1.1 ober PROVIDE (edata = .); 47 1.1 ober __bss_start = .; 48 1.1 ober __bss_start__ = .; 49 1.1 ober .sbss : 50 1.1 ober { 51 1.1 ober PROVIDE (__sbss_start = .); 52 1.1 ober PROVIDE (___sbss_start = .); 53 1.1 ober *(.dynsbss) 54 1.1 ober *(.sbss) 55 1.1 ober *(.sbss.*) 56 1.1 ober *(.scommon) 57 1.1 ober PROVIDE (__sbss_end = .); 58 1.1 ober PROVIDE (___sbss_end = .); 59 1.1 ober } 60 1.1 ober .bss : 61 1.1 ober { 62 1.1 ober *(.dynbss) 63 1.1 ober *(.bss) 64 1.1 ober *(.bss.*) 65 1.1 ober *(COMMON) 66 1.1 ober /* Align here to ensure that the .bss section occupies space up to 67 1.1 ober _end. Align after .bss to ensure correct alignment even if the 68 1.1 ober .bss section disappears because there are no input sections. */ 69 1.1 ober . = ALIGN(32 / 8); 70 1.1 ober } 71 1.1 ober . = ALIGN(32 / 8); 72 1.1 ober _end = .; 73 1.1 ober _bss_end__ = . ; __bss_end__ = . ; __end__ = . ; 74 1.1 ober PROVIDE (end = .); 75 1.3 nonaka .note.netbsd.ident : 76 1.3 nonaka { 77 1.3 nonaka KEEP(*(.note.netbsd.ident)); 78 1.3 nonaka } 79 1.1 ober } 80