blob: 15109c156e832cf1bd55e71454a29cbd72ba6639 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* 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 {
Eric W. Biedermanfd593d12006-12-07 02:14:04 +010014 _text = .;
Sam Ravnborg76647092007-05-13 00:31:33 +020015 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 SCHED_TEXT
17 LOCK_TEXT
18 *(.gnu.warning)
19 } =0
20 _etext = .;
21 PROVIDE (etext = .);
22 RODATA
23 .data :
24 {
Sam Ravnborgca967252007-05-17 13:38:44 +020025 DATA_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 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
David S. Miller0c0d3452007-07-22 19:19:05 -070038 NOTES
39
Linus Torvalds1da177e2005-04-16 15:20:36 -070040 . = ALIGN(4096);
41 __init_begin = .;
Martin Habetsab5da282006-10-11 14:58:30 -070042 _sinittext = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 .init.text : {
Linus Torvalds1da177e2005-04-16 15:20:36 -070044 *(.init.text)
Linus Torvalds1da177e2005-04-16 15:20:36 -070045 }
Martin Habetsab5da282006-10-11 14:58:30 -070046 _einittext = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070047 __init_text_end = .;
48 .init.data : { *(.init.data) }
49 . = ALIGN(16);
50 __setup_start = .;
51 .init.setup : { *(.init.setup) }
52 __setup_end = .;
53 __initcall_start = .;
54 .initcall.init : {
Andrew Morton61ce1ef2006-10-27 11:41:44 -070055 INITCALLS
Linus Torvalds1da177e2005-04-16 15:20:36 -070056 }
57 __initcall_end = .;
58 __con_initcall_start = .;
59 .con_initcall.init : { *(.con_initcall.init) }
60 __con_initcall_end = .;
61 SECURITY_INIT
Jean-Paul Saman67d38222007-02-10 01:44:44 -080062
63#ifdef CONFIG_BLK_DEV_INITRD
Linus Torvalds1da177e2005-04-16 15:20:36 -070064 . = ALIGN(4096);
65 __initramfs_start = .;
66 .init.ramfs : { *(.init.ramfs) }
67 __initramfs_end = .;
Jean-Paul Saman67d38222007-02-10 01:44:44 -080068#endif
69
Fenghua Yu5fb7dc32007-07-19 01:48:12 -070070 PERCPU(4096)
Linus Torvalds1da177e2005-04-16 15:20:36 -070071 . = ALIGN(4096);
72 __init_end = .;
73 . = ALIGN(32);
74 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
75
76 __bss_start = .;
77 .sbss : { *(.sbss) *(.scommon) }
78 .bss :
79 {
80 *(.dynbss)
81 *(.bss)
82 *(COMMON)
83 }
84 _end = . ;
85 PROVIDE (end = .);
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
David S. Millerd5784b52005-12-28 13:22:54 -080087
88 STABS_DEBUG
89
90 DWARF_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -070091}