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