blob: ac55b9efa1ce58c9260f194890d8308c3b4195fa [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#include <asm-generic/vmlinux.lds.h>
2
3 .fini : { *(.fini) } =0x9090
4 _etext = .;
5 PROVIDE (etext = .);
6
7 . = ALIGN(4096);
8 _sdata = .;
9 PROVIDE (sdata = .);
10
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 RODATA
12
13 .unprotected : { *(.unprotected) }
14 . = ALIGN(4096);
15 PROVIDE (_unprotected_end = .);
16
17 . = ALIGN(4096);
Paolo 'Blaisorblade' Giarrussoc35e5842007-03-31 03:20:27 +020018 .note : { *(.note.*) }
Tim Abbott5d150a92009-09-24 10:36:20 -040019 EXCEPTION_TABLE(0)
Jeff Dike92eac952005-05-01 08:58:53 -070020
Nick Piggin08932a12007-06-23 17:16:37 -070021 BUG_TABLE
22
Jeff Dikec7ec16d2007-08-30 23:56:17 -070023 .uml.setup.init : {
24 __uml_setup_start = .;
25 *(.uml.setup.init)
26 __uml_setup_end = .;
27 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Jeff Dikec7ec16d2007-08-30 23:56:17 -070029 .uml.help.init : {
30 __uml_help_start = .;
31 *(.uml.help.init)
32 __uml_help_end = .;
33 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070034
Jeff Dikec7ec16d2007-08-30 23:56:17 -070035 .uml.postsetup.init : {
36 __uml_postsetup_start = .;
37 *(.uml.postsetup.init)
38 __uml_postsetup_end = .;
39 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070040
Jeff Dikec7ec16d2007-08-30 23:56:17 -070041 .init.setup : {
Tim Abbott5d150a92009-09-24 10:36:20 -040042 INIT_SETUP(0)
Jeff Dikec7ec16d2007-08-30 23:56:17 -070043 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
Tim Abbott5d150a92009-09-24 10:36:20 -040045 PERCPU(32)
Jeff Dikec7ec16d2007-08-30 23:56:17 -070046
47 .initcall.init : {
Tim Abbott5d150a92009-09-24 10:36:20 -040048 INIT_CALLS
Jeff Dikec7ec16d2007-08-30 23:56:17 -070049 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
Jeff Dikec7ec16d2007-08-30 23:56:17 -070051 .con_initcall.init : {
Tim Abbott5d150a92009-09-24 10:36:20 -040052 CON_INITCALL
Jeff Dikec7ec16d2007-08-30 23:56:17 -070053 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
Jeff Dikec7ec16d2007-08-30 23:56:17 -070055 .uml.initcall.init : {
56 __uml_initcall_start = .;
57 *(.uml.initcall.init)
58 __uml_initcall_end = .;
59 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 __init_end = .;
61
62 SECURITY_INIT
63
Jeff Dikec7ec16d2007-08-30 23:56:17 -070064 .exitcall : {
65 __exitcall_begin = .;
66 *(.exitcall.exit)
67 __exitcall_end = .;
68 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
Jeff Dikec7ec16d2007-08-30 23:56:17 -070070 .uml.exitcall : {
71 __uml_exitcall_begin = .;
72 *(.uml.exitcall.exit)
73 __uml_exitcall_end = .;
74 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
76 . = ALIGN(4);
Jeff Dikec7ec16d2007-08-30 23:56:17 -070077 .altinstructions : {
78 __alt_instructions = .;
79 *(.altinstructions)
80 __alt_instructions_end = .;
81 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 .altinstr_replacement : { *(.altinstr_replacement) }
83 /* .exit.text is discard at runtime, not link time, to deal with references
84 from .altinstructions and .eh_frame */
85 .exit.text : { *(.exit.text) }
86 .exit.data : { *(.exit.data) }
87
Jeff Dikec7ec16d2007-08-30 23:56:17 -070088 .preinit_array : {
89 __preinit_array_start = .;
90 *(.preinit_array)
91 __preinit_array_end = .;
92 }
93 .init_array : {
94 __init_array_start = .;
95 *(.init_array)
96 __init_array_end = .;
97 }
98 .fini_array : {
99 __fini_array_start = .;
100 *(.fini_array)
101 __fini_array_end = .;
102 }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700103
104 . = ALIGN(4096);
Jeff Dikec7ec16d2007-08-30 23:56:17 -0700105 .init.ramfs : {
Tim Abbott5d150a92009-09-24 10:36:20 -0400106 INIT_RAM_FS
Jeff Dikec7ec16d2007-08-30 23:56:17 -0700107 }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108