1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #include <asm-generic/vmlinux.lds.h> |
3 | |
4 | .fini : { *(.fini) } =0x9090 |
5 | _etext = .; |
6 | PROVIDE (etext = .); |
7 | |
8 | . = ALIGN(4096); |
9 | _sdata = .; |
10 | PROVIDE (sdata = .); |
11 | |
12 | RO_DATA(4096) |
13 | |
14 | .unprotected : { *(.unprotected) } |
15 | . = ALIGN(4096); |
16 | PROVIDE (_unprotected_end = .); |
17 | |
18 | . = ALIGN(4096); |
19 | EXCEPTION_TABLE(0) |
20 | |
21 | BUG_TABLE |
22 | |
23 | .uml.setup.init : { |
24 | __uml_setup_start = .; |
25 | *(.uml.setup.init) |
26 | __uml_setup_end = .; |
27 | } |
28 | |
29 | .uml.help.init : { |
30 | __uml_help_start = .; |
31 | *(.uml.help.init) |
32 | __uml_help_end = .; |
33 | } |
34 | |
35 | .uml.postsetup.init : { |
36 | __uml_postsetup_start = .; |
37 | *(.uml.postsetup.init) |
38 | __uml_postsetup_end = .; |
39 | } |
40 | |
41 | .init.setup : { |
42 | INIT_SETUP(0) |
43 | } |
44 | |
45 | PERCPU_SECTION(32) |
46 | |
47 | .initcall.init : { |
48 | INIT_CALLS |
49 | } |
50 | |
51 | .con_initcall.init : { |
52 | CON_INITCALL |
53 | } |
54 | |
55 | .exitcall : { |
56 | __exitcall_begin = .; |
57 | *(.exitcall.exit) |
58 | __exitcall_end = .; |
59 | } |
60 | |
61 | .uml.exitcall : { |
62 | __uml_exitcall_begin = .; |
63 | *(.uml.exitcall.exit) |
64 | __uml_exitcall_end = .; |
65 | } |
66 | |
67 | . = ALIGN(4); |
68 | .altinstructions : { |
69 | __alt_instructions = .; |
70 | *(.altinstructions) |
71 | __alt_instructions_end = .; |
72 | } |
73 | .altinstr_replacement : { *(.altinstr_replacement) } |
74 | /* .exit.text is discard at runtime, not link time, to deal with references |
75 | from .altinstructions and .eh_frame */ |
76 | .exit.text : { EXIT_TEXT } |
77 | .exit.data : { *(.exit.data) } |
78 | |
79 | .preinit_array : { |
80 | __preinit_array_start = .; |
81 | *(.preinit_array) |
82 | __preinit_array_end = .; |
83 | } |
84 | .init_array : { |
85 | __init_array_start = .; |
86 | *(.kasan_init) |
87 | *(.init_array.*) |
88 | *(.init_array) |
89 | __init_array_end = .; |
90 | } |
91 | .fini_array : { |
92 | __fini_array_start = .; |
93 | *(.fini_array) |
94 | __fini_array_end = .; |
95 | } |
96 | |
97 | . = ALIGN(4096); |
98 | .init.ramfs : { |
99 | INIT_RAM_FS |
100 | } |
101 | |
102 | |