1/* ld script to make m68k Linux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
4
5OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
6OUTPUT_ARCH(m68k)
7ENTRY(_start)
8jiffies = jiffies_64 + 4;
9SECTIONS
10{
11  . = 0xE002000;
12  _text = .;			/* Text and read-only data */
13  .text : {
14	*(.head)
15	TEXT_TEXT
16	SCHED_TEXT
17	LOCK_TEXT
18	*(.fixup)
19	*(.gnu.warning)
20	} :text = 0x4e75
21	RODATA
22
23  _etext = .;			/* End of text section */
24
25  .data : {			/* Data */
26	DATA_DATA
27	CONSTRUCTORS
28	. = ALIGN(16);		/* Exception table */
29	__start___ex_table = .;
30	*(__ex_table)
31	__stop___ex_table = .;
32	} :data
33  /* End of data goes *here* so that freeing init code works properly. */
34  _edata = .;
35
36  /* will be freed after init */
37  . = ALIGN(8192);	/* Init code and data */
38__init_begin = .;
39	.init.text : {
40		_sinittext = .;
41		*(.init.text)
42		_einittext = .;
43	}
44	.init.data : { *(.init.data) }
45	. = ALIGN(16);
46	__setup_start = .;
47	.init.setup : { *(.init.setup) }
48	__setup_end = .;
49	__initcall_start = .;
50	.initcall.init : {
51		INITCALLS
52	}
53	__initcall_end = .;
54	__con_initcall_start = .;
55	.con_initcall.init : { *(.con_initcall.init) }
56	__con_initcall_end = .;
57	.m68k_fixup : {
58		__start_fixup = .;
59		*(.m68k_fixup)
60		__stop_fixup = .;
61	}
62	SECURITY_INIT
63#ifdef CONFIG_BLK_DEV_INITRD
64	. = ALIGN(8192);
65	__initramfs_start = .;
66	.init.ramfs : { *(.init.ramfs) }
67	__initramfs_end = .;
68#endif
69	. = ALIGN(8192);
70	__init_end = .;
71	.data.init.task : { *(.data.init_task) }
72
73
74  .bss : { *(.bss) }		/* BSS */
75
76  _end = . ;
77
78  /* Sections to be discarded */
79  /DISCARD/ : {
80	*(.exit.text)
81	*(.exit.data)
82	*(.exitcall.exit)
83	}
84
85  .crap : {
86	/* Stabs debugging sections.  */
87	*(.stab)
88	*(.stabstr)
89	*(.stab.excl)
90	*(.stab.exclstr)
91	*(.stab.index)
92	*(.stab.indexstr)
93	*(.comment)
94	*(.note)
95  }
96
97}
98