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