1/* ld script to make SparcLinux kernel */ 2 3#include <asm-generic/vmlinux.lds.h> 4#include <asm/page.h> 5 6OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc") 7OUTPUT_ARCH(sparc) 8ENTRY(_start) 9jiffies = jiffies_64 + 4; 10SECTIONS 11{ 12 . = 0x10000 + SIZEOF_HEADERS; 13 .text 0xf0004000 : 14 { 15 _text = .; 16 TEXT_TEXT 17 SCHED_TEXT 18 LOCK_TEXT 19 *(.gnu.warning) 20 } = 0 21 _etext = .; 22 PROVIDE (etext = .); 23 RODATA 24 .data : { 25 DATA_DATA 26 CONSTRUCTORS 27 } 28 .data1 : { 29 *(.data1) 30 } 31 _edata = .; 32 PROVIDE (edata = .); 33 34 .fixup : { 35 __start___fixup = .; 36 *(.fixup) 37 __stop___fixup = .; 38 } 39 __ex_table : { 40 __start___ex_table = .; 41 *(__ex_table) 42 __stop___ex_table = .; 43 } 44 45 NOTES 46 47 . = ALIGN(PAGE_SIZE); 48 __init_begin = .; 49 .init.text : { 50 _sinittext = .; 51 INIT_TEXT 52 _einittext = .; 53 } 54 __init_text_end = .; 55 .init.data : { 56 INIT_DATA 57 } 58 . = ALIGN(16); 59 .init.setup : { 60 __setup_start = .; 61 *(.init.setup) 62 __setup_end = .; 63 } 64 .initcall.init : { 65 __initcall_start = .; 66 INITCALLS 67 __initcall_end = .; 68 } 69 .con_initcall.init : { 70 __con_initcall_start = .; 71 *(.con_initcall.init) 72 __con_initcall_end = .; 73 } 74 SECURITY_INIT 75 76#ifdef CONFIG_BLK_DEV_INITRD 77 . = ALIGN(PAGE_SIZE); 78 .init.ramfs : { 79 __initramfs_start = .; 80 *(.init.ramfs) 81 __initramfs_end = .; 82 } 83#endif 84 85 PERCPU(PAGE_SIZE) 86 . = ALIGN(PAGE_SIZE); 87 __init_end = .; 88 . = ALIGN(32); 89 .data.cacheline_aligned : { 90 *(.data.cacheline_aligned) 91 } 92 . = ALIGN(32); 93 .data.read_mostly : { 94 *(.data.read_mostly) 95 } 96 97 __bss_start = .; 98 .sbss : { 99 *(.sbss) 100 *(.scommon) } 101 .bss : { 102 *(.dynbss) 103 *(.bss) 104 *(COMMON) 105 } 106 _end = . ; 107 PROVIDE (end = .); 108 /DISCARD/ : { 109 EXIT_TEXT 110 EXIT_DATA 111 *(.exitcall.exit) 112 } 113 114 STABS_DEBUG 115 DWARF_DEBUG 116} 117