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