blob: 482d1ed87f4da6b59040c9c0818d5a87cb8a920c [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);
47 __init_begin = .;
48 .init.text : {
49 _sinittext = .;
50 *(.init.text)
51 _einittext = .;
52 }
53 .init.data : { *(.init.data) }
54 . = ALIGN(16);
55 __setup_start = .;
56 .init.setup : { *(.init.setup) }
57 __setup_end = .;
58 __initcall_start = .;
59 .initcall.init : {
60 *(.initcall1.init)
61 *(.initcall2.init)
62 *(.initcall3.init)
63 *(.initcall4.init)
64 *(.initcall5.init)
65 *(.initcall6.init)
66 *(.initcall7.init)
67 }
68 __initcall_end = .;
69 __con_initcall_start = .;
70 .con_initcall.init : { *(.con_initcall.init) }
71 __con_initcall_end = .;
72 SECURITY_INIT
David S. Miller517af332006-02-01 15:55:21 -080073 . = ALIGN(4);
74 __tsb_phys_patch = .;
75 .tsb_phys_patch : { *(.tsb_phys_patch) }
76 __tsb_phys_patch_end = .;
David S. Miller92704a12006-02-26 23:27:19 -080077 __cpuid_patch = .;
78 .cpuid_patch : { *(.cpuid_patch) }
79 __cpuid_patch_end = .;
David S. Miller936f4822006-02-05 21:29:28 -080080 __gl_1insn_patch = .;
81 .gl_1insn_patch : { *(.gl_1insn_patch) }
82 __gl_1insn_patch_end = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070083 . = ALIGN(8192);
84 __initramfs_start = .;
85 .init.ramfs : { *(.init.ramfs) }
86 __initramfs_end = .;
87 . = ALIGN(8192);
88 __per_cpu_start = .;
89 .data.percpu : { *(.data.percpu) }
90 __per_cpu_end = .;
91 . = ALIGN(8192);
92 __init_end = .;
93 __bss_start = .;
94 .sbss : { *(.sbss) *(.scommon) }
95 .bss :
96 {
97 *(.dynbss)
98 *(.bss)
99 *(COMMON)
100 }
101 _end = . ;
102 PROVIDE (end = .);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
David S. Millerd5784b52005-12-28 13:22:54 -0800104
105 STABS_DEBUG
106
107 DWARF_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108}