blob: 1dd5bd8a8c599360ae1626b66010c1a18b12145b [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 Abbott5d150a972009-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 Abbott5d150a972009-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
Tejun Heo0415b00d12011-03-24 18:50:09 +010045 PERCPU_SECTION(32)
Jeff Dikec7ec16d2007-08-30 23:56:17 -070046
47 .initcall.init : {
Tim Abbott5d150a972009-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 Abbott5d150a972009-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
61 SECURITY_INIT
62
Jeff Dikec7ec16d2007-08-30 23:56:17 -070063 .exitcall : {
64 __exitcall_begin = .;
65 *(.exitcall.exit)
66 __exitcall_end = .;
67 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
Jeff Dikec7ec16d2007-08-30 23:56:17 -070069 .uml.exitcall : {
70 __uml_exitcall_begin = .;
71 *(.uml.exitcall.exit)
72 __uml_exitcall_end = .;
73 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
75 . = ALIGN(4);
Jeff Dikec7ec16d2007-08-30 23:56:17 -070076 .altinstructions : {
77 __alt_instructions = .;
78 *(.altinstructions)
79 __alt_instructions_end = .;
80 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070081 .altinstr_replacement : { *(.altinstr_replacement) }
82 /* .exit.text is discard at runtime, not link time, to deal with references
83 from .altinstructions and .eh_frame */
84 .exit.text : { *(.exit.text) }
85 .exit.data : { *(.exit.data) }
86
Jeff Dikec7ec16d2007-08-30 23:56:17 -070087 .preinit_array : {
88 __preinit_array_start = .;
89 *(.preinit_array)
90 __preinit_array_end = .;
91 }
92 .init_array : {
93 __init_array_start = .;
94 *(.init_array)
95 __init_array_end = .;
96 }
97 .fini_array : {
98 __fini_array_start = .;
99 *(.fini_array)
100 __fini_array_end = .;
101 }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102
103 . = ALIGN(4096);
Jeff Dikec7ec16d2007-08-30 23:56:17 -0700104 .init.ramfs : {
Tim Abbott5d150a972009-09-24 10:36:20 -0400105 INIT_RAM_FS
Jeff Dikec7ec16d2007-08-30 23:56:17 -0700106 }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107