xref: /openbmc/linux/arch/sparc/kernel/vmlinux.lds.S (revision c21b37f6)
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  NOTES
39
40  . = ALIGN(4096);
41  __init_begin = .;
42  _sinittext = .;
43  .init.text : {
44	*(.init.text)
45  }
46  _einittext = .;
47  __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 : {
55	INITCALLS
56  }
57  __initcall_end = .;
58  __con_initcall_start = .;
59  .con_initcall.init : { *(.con_initcall.init) }
60  __con_initcall_end = .;
61  SECURITY_INIT
62
63#ifdef CONFIG_BLK_DEV_INITRD
64  . = ALIGN(4096);
65  __initramfs_start = .;
66  .init.ramfs : { *(.init.ramfs) }
67  __initramfs_end = .;
68#endif
69
70  PERCPU(4096)
71  . = 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 = .);
86  /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
87
88  STABS_DEBUG
89
90  DWARF_DEBUG
91}
92