d0993594f558b3408317aede57c634c407ea580f
[cascardo/linux.git] / arch / m68k / kernel / vmlinux-std.lds
1 /* ld script to make m68k Linux kernel */
2
3 #include <asm-generic/vmlinux.lds.h>
4 #include <asm/page.h>
5 #include <asm/thread_info.h>
6
7 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
8 OUTPUT_ARCH(m68k)
9 ENTRY(_start)
10 jiffies = jiffies_64 + 4;
11 SECTIONS
12 {
13   . = 0x1000;
14   _text = .;                    /* Text and read-only data */
15   .text : {
16         HEAD_TEXT
17         TEXT_TEXT
18         SCHED_TEXT
19         LOCK_TEXT
20         *(.fixup)
21         *(.gnu.warning)
22         } :text = 0x4e75
23
24   _etext = .;                   /* End of text section */
25
26   EXCEPTION_TABLE(16)
27
28   _sdata = .;                   /* Start of data section */
29
30   RODATA
31
32   RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
33
34   BSS_SECTION(0, 0, 0)
35
36   _edata = .;                   /* End of data section */
37
38   /* will be freed after init */
39   . = ALIGN(PAGE_SIZE);         /* Init code and data */
40   __init_begin = .;
41   INIT_TEXT_SECTION(PAGE_SIZE) :data
42   INIT_DATA_SECTION(16)
43   .m68k_fixup : {
44         __start_fixup = .;
45         *(.m68k_fixup)
46         __stop_fixup = .;
47   }
48   NOTES
49   .init_end : {
50         /* This ALIGN be in a section so that _end is at the end of the
51            load segment. */
52         . = ALIGN(PAGE_SIZE);
53         __init_end = .;
54   }
55
56   _end = . ;
57
58   STABS_DEBUG
59   .comment 0 : { *(.comment) }
60
61   /* Sections to be discarded */
62   DISCARDS
63 }