blob: ad0f46d64c0b66a8d6b6cf4f82ffeaeeabbda084 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* ld script to make m68k Linux kernel */
2
3#include <asm-generic/vmlinux.lds.h>
Cyrill Gorcunov97d26e72008-07-17 21:16:11 +02004#include <asm/page.h>
Tim Abbott7c5fd562009-09-27 13:57:55 -04005#include <asm/thread_info.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
7OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
8OUTPUT_ARCH(m68k)
9ENTRY(_start)
10jiffies = jiffies_64 + 4;
11SECTIONS
12{
Sam Creaseya3a79bd2006-12-09 10:34:38 +010013 . = 0xE002000;
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 _text = .; /* Text and read-only data */
15 .text : {
Tim Abbott6f335ca2009-04-25 22:11:03 -040016 HEAD_TEXT
Sam Ravnborg76647092007-05-13 00:31:33 +020017 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 SCHED_TEXT
Al Viro198a4102006-01-12 01:06:11 -080019 LOCK_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070020 *(.fixup)
21 *(.gnu.warning)
22 } :text = 0x4e75
23 RODATA
24
25 _etext = .; /* End of text section */
26
Tim Abbott7c5fd562009-09-27 13:57:55 -040027 EXCEPTION_TABLE(16) :data
Steven Rostedta2d063a2011-05-19 21:34:58 -040028 _sdata = .; /* Start of rw data section */
Tim Abbott7c5fd562009-09-27 13:57:55 -040029 RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) :data
Linus Torvalds1da177e2005-04-16 15:20:36 -070030 /* End of data goes *here* so that freeing init code works properly. */
31 _edata = .;
Al Viro877d5242009-01-05 17:28:10 +000032 NOTES
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34 /* will be freed after init */
Cyrill Gorcunov97d26e72008-07-17 21:16:11 +020035 . = ALIGN(PAGE_SIZE); /* Init code and data */
Linus Torvalds1da177e2005-04-16 15:20:36 -070036__init_begin = .;
Tim Abbott7c5fd562009-09-27 13:57:55 -040037 INIT_TEXT_SECTION(PAGE_SIZE)
38 INIT_DATA_SECTION(16)
Roman Zippelfbe9c962007-05-31 00:40:50 -070039 .m68k_fixup : {
40 __start_fixup = .;
41 *(.m68k_fixup)
42 __stop_fixup = .;
43 }
Cyrill Gorcunov97d26e72008-07-17 21:16:11 +020044 . = ALIGN(PAGE_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070045 __init_end = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070046
Greg Ungerere87c09a2011-10-13 16:59:55 +100047 _sbss = .;
Tim Abbott7c5fd562009-09-27 13:57:55 -040048 BSS_SECTION(0, 0, 0)
Greg Ungerere87c09a2011-10-13 16:59:55 +100049 _ebss = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
51 _end = . ;
52
Tim Abbott7c5fd562009-09-27 13:57:55 -040053 STABS_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
Tejun Heo023bf6f2009-07-09 11:27:40 +090055 /* Sections to be discarded */
56 DISCARDS
Linus Torvalds1da177e2005-04-16 15:20:36 -070057}