blob: f018aaf4548601dc777be93914d3c20341135629 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* ld script to make UltraLinux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
4
5OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
6OUTPUT_ARCH(sparc:v9a)
7ENTRY(_start)
8
9jiffies = jiffies_64;
10SECTIONS
11{
David S. Miller56425302005-09-25 16:46:57 -070012 swapper_low_pmd_dir = 0x0000000000402000;
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 . = 0x4000;
14 .text 0x0000000000404000 :
15 {
16 *(.text)
17 SCHED_TEXT
18 LOCK_TEXT
Prasanna S Panchamukhi05e14cb2005-09-06 15:19:30 -070019 KPROBES_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070020 *(.gnu.warning)
21 } =0
22 _etext = .;
23 PROVIDE (etext = .);
24
25 RODATA
26
27 .data :
28 {
29 *(.data)
30 CONSTRUCTORS
31 }
32 .data1 : { *(.data1) }
33 . = ALIGN(64);
34 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
David S. Millerd369ddd2005-07-10 15:45:11 -070035 . = ALIGN(64);
36 .data.read_mostly : { *(.data.read_mostly) }
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 _edata = .;
38 PROVIDE (edata = .);
39 .fixup : { *(.fixup) }
40
41 . = ALIGN(16);
42 __start___ex_table = .;
43 __ex_table : { *(__ex_table) }
44 __stop___ex_table = .;
45
46 . = ALIGN(8192);
David S. Miller74bf4312006-01-31 18:29:18 -080047 swapper_tsb = .;
48 . += 8192;
49 . = ALIGN(8192);
Linus Torvalds1da177e2005-04-16 15:20:36 -070050 __init_begin = .;
51 .init.text : {
52 _sinittext = .;
53 *(.init.text)
54 _einittext = .;
55 }
56 .init.data : { *(.init.data) }
57 . = ALIGN(16);
58 __setup_start = .;
59 .init.setup : { *(.init.setup) }
60 __setup_end = .;
61 __initcall_start = .;
62 .initcall.init : {
63 *(.initcall1.init)
64 *(.initcall2.init)
65 *(.initcall3.init)
66 *(.initcall4.init)
67 *(.initcall5.init)
68 *(.initcall6.init)
69 *(.initcall7.init)
70 }
71 __initcall_end = .;
72 __con_initcall_start = .;
73 .con_initcall.init : { *(.con_initcall.init) }
74 __con_initcall_end = .;
75 SECURITY_INIT
76 . = ALIGN(8192);
77 __initramfs_start = .;
78 .init.ramfs : { *(.init.ramfs) }
79 __initramfs_end = .;
80 . = ALIGN(8192);
81 __per_cpu_start = .;
82 .data.percpu : { *(.data.percpu) }
83 __per_cpu_end = .;
84 . = ALIGN(8192);
85 __init_end = .;
86 __bss_start = .;
87 .sbss : { *(.sbss) *(.scommon) }
88 .bss :
89 {
90 *(.dynbss)
91 *(.bss)
92 *(COMMON)
93 }
94 _end = . ;
95 PROVIDE (end = .);
Linus Torvalds1da177e2005-04-16 15:20:36 -070096 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
David S. Millerd5784b52005-12-28 13:22:54 -080097
98 STABS_DEBUG
99
100 DWARF_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101}