aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/vmlinux.lds.S')
-rw-r--r--arch/sparc64/kernel/vmlinux.lds.S106
1 files changed, 106 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S
new file mode 100644
index 000000000000..382fd6798bb9
--- /dev/null
+++ b/arch/sparc64/kernel/vmlinux.lds.S
@@ -0,0 +1,106 @@
1/* 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{
12 swapper_pmd_dir = 0x0000000000402000;
13 empty_pg_dir = 0x0000000000403000;
14 . = 0x4000;
15 .text 0x0000000000404000 :
16 {
17 *(.text)
18 SCHED_TEXT
19 LOCK_TEXT
20 *(.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) }
35 _edata = .;
36 PROVIDE (edata = .);
37 .fixup : { *(.fixup) }
38
39 . = ALIGN(16);
40 __start___ex_table = .;
41 __ex_table : { *(__ex_table) }
42 __stop___ex_table = .;
43
44 . = ALIGN(8192);
45 __init_begin = .;
46 .init.text : {
47 _sinittext = .;
48 *(.init.text)
49 _einittext = .;
50 }
51 .init.data : { *(.init.data) }
52 . = ALIGN(16);
53 __setup_start = .;
54 .init.setup : { *(.init.setup) }
55 __setup_end = .;
56 __initcall_start = .;
57 .initcall.init : {
58 *(.initcall1.init)
59 *(.initcall2.init)
60 *(.initcall3.init)
61 *(.initcall4.init)
62 *(.initcall5.init)
63 *(.initcall6.init)
64 *(.initcall7.init)
65 }
66 __initcall_end = .;
67 __con_initcall_start = .;
68 .con_initcall.init : { *(.con_initcall.init) }
69 __con_initcall_end = .;
70 SECURITY_INIT
71 . = ALIGN(8192);
72 __initramfs_start = .;
73 .init.ramfs : { *(.init.ramfs) }
74 __initramfs_end = .;
75 . = ALIGN(8192);
76 __per_cpu_start = .;
77 .data.percpu : { *(.data.percpu) }
78 __per_cpu_end = .;
79 . = ALIGN(8192);
80 __init_end = .;
81 __bss_start = .;
82 .sbss : { *(.sbss) *(.scommon) }
83 .bss :
84 {
85 *(.dynbss)
86 *(.bss)
87 *(COMMON)
88 }
89 _end = . ;
90 PROVIDE (end = .);
91 /* Stabs debugging sections. */
92 .stab 0 : { *(.stab) }
93 .stabstr 0 : { *(.stabstr) }
94 .stab.excl 0 : { *(.stab.excl) }
95 .stab.exclstr 0 : { *(.stab.exclstr) }
96 .stab.index 0 : { *(.stab.index) }
97 .stab.indexstr 0 : { *(.stab.indexstr) }
98 .comment 0 : { *(.comment) }
99 .debug 0 : { *(.debug) }
100 .debug_srcinfo 0 : { *(.debug_srcinfo) }
101 .debug_aranges 0 : { *(.debug_aranges) }
102 .debug_pubnames 0 : { *(.debug_pubnames) }
103 .debug_sfnames 0 : { *(.debug_sfnames) }
104 .line 0 : { *(.line) }
105 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
106}