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