2efa7dfc798a9577815244b68ee0da3bea316d06
[linux-block.git] / arch / alpha / kernel / vmlinux.lds.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2
3 #define EMITS_PT_NOTE
4 #define RO_EXCEPTION_TABLE_ALIGN        16
5
6 #include <asm-generic/vmlinux.lds.h>
7 #include <asm/thread_info.h>
8 #include <asm/cache.h>
9 #include <asm/page.h>
10 #include <asm/setup.h>
11
12 OUTPUT_FORMAT("elf64-alpha")
13 OUTPUT_ARCH(alpha)
14 ENTRY(__start)
15 PHDRS { text PT_LOAD; note PT_NOTE; }
16 jiffies = jiffies_64;
17 SECTIONS
18 {
19 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
20         . = 0xfffffc0000310000;
21 #else
22         . = 0xfffffc0001010000;
23 #endif
24
25         _text = .;      /* Text and read-only data */
26         .text : {
27                 HEAD_TEXT
28                 TEXT_TEXT
29                 SCHED_TEXT
30                 LOCK_TEXT
31                 *(.fixup)
32                 *(.gnu.warning)
33         } :text
34         swapper_pg_dir = SWAPPER_PGD;
35         _etext = .;     /* End of text section */
36
37         RO_DATA(4096)
38
39         /* Will be freed after init */
40         __init_begin = ALIGN(PAGE_SIZE);
41         INIT_TEXT_SECTION(PAGE_SIZE)
42         INIT_DATA_SECTION(16)
43         PERCPU_SECTION(L1_CACHE_BYTES)
44         /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
45            needed for the THREAD_SIZE aligned init_task gets freed after init */
46         . = ALIGN(THREAD_SIZE);
47         __init_end = .;
48         /* Freed after init ends here */
49
50         _sdata = .;     /* Start of rw data section */
51         _data = .;
52         RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
53
54         .got : {
55                 *(.got)
56         }
57         .sdata : {
58                 *(.sdata)
59         }
60         _edata = .;     /* End of data section */
61
62         BSS_SECTION(0, 0, 0)
63         _end = .;
64
65         .mdebug 0 : {
66                 *(.mdebug)
67         }
68         .note 0 : {
69                 *(.note)
70         }
71
72         STABS_DEBUG
73         DWARF_DEBUG
74         ELF_DETAILS
75
76         DISCARDS
77 }