[SYSSETUP]
[reactos.git] / reactos / global.lds
1 OUTPUT_FORMAT(pei-i386)
2 SECTIONS
3 {
4 .text __image_base__ + __section_alignment__ :
5 {
6 __text_start__ = .;
7 *(.init)
8 *(.text)
9 *(SORT(.text$*))
10 *(.glue_7t)
11 *(.glue_7)
12 *(.jcr)
13 ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
14 LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0);
15 ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
16 LONG (-1);*(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0);
17 *(.fini)
18 *(.gcc_exc)
19 __text_end__ = .;
20 *(.gcc_except_table)
21 }
22 init BLOCK(__section_alignment__) :
23 {
24 __init_start__ = . ;
25 *(init)
26 __init_end__ = . ;
27 }
28 .data BLOCK(__section_alignment__) :
29 {
30 __data_start__ = . ;
31 *(.data)
32 *(.data2)
33 *(SORT(.data$*))
34 __data_end__ = . ;
35 __bss_start__ = . ;
36 *(.bss)
37 *(COMMON)
38 __bss_end__ = . ;
39 *(SORT(.CRT$*))
40 }
41 .rdata BLOCK(__section_alignment__) :
42 {
43 *(.rdata)
44 *(SORT(.rdata$*))
45 *(.eh_frame)
46 }
47 .edata BLOCK(__section_alignment__) : { *(.edata) }
48 .idata BLOCK(__section_alignment__) :
49 {
50 /* This cannot currently be handled with grouped sections.
51 See pe.em:sort_sections. */
52 SORT(*)(.idata$2)
53 SORT(*)(.idata$3)
54 /* These zeroes mark the end of the import list. */
55 LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
56 SORT(*)(.idata$4)
57 SORT(*)(.idata$5)
58 SORT(*)(.idata$6)
59 SORT(*)(.idata$7)
60 }
61 .tls BLOCK(__section_alignment__) :
62 {
63 *(.tls)
64 *(.tls$)
65 *(SORT(.tls$*))
66 }
67 /DISCARD/ :
68 {
69 *(.debug$S)
70 *(.debug$T)
71 *(.debug$F)
72 *(.drectve)
73 *(.debug_loc)
74 *(.debug_ranges)
75 *(.debug_aranges)
76 *(.debug_str)
77 *(.debug_frame)
78 *(.debug_pubnames)
79 *(.debug_pubtypes)
80 *(.gnu.linkonce.wt.*)
81 }
82 .rsrc BLOCK(__section_alignment__) :
83 {
84 *(.rsrc)
85 *(SORT(.rsrc$*))
86 }
87 .reloc BLOCK(__section_alignment__) :
88 {
89 *(.reloc)
90 }
91 .debug_info BLOCK(__section_alignment__) (NOLOAD) :
92 {
93 [ .debug_info ]
94 }
95 .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
96 {
97 [ .debug_abbrev ]
98 }
99 .debug_line BLOCK(__section_alignment__) (NOLOAD) :
100 {
101 [ .debug_line ]
102 }
103 }