1 | OUTPUT_FORMAT("pei-mcore-big", "pei-mcore-big", |
---|
2 | "pei-mcore-little") |
---|
3 | GROUP(-lc -lcmb -lgcc) |
---|
4 | ENTRY(_mainCRTStartup) |
---|
5 | SECTIONS |
---|
6 | { |
---|
7 | .text 0x2f000000 : |
---|
8 | { |
---|
9 | *(.init) |
---|
10 | *(.text) |
---|
11 | *(SORT(.text$*)) |
---|
12 | *(.glue_7t) |
---|
13 | *(.glue_7) |
---|
14 | ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; |
---|
15 | LONG (-1); *(.ctors); *(.ctor); LONG (0); |
---|
16 | ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; |
---|
17 | LONG (-1); *(.dtors); *(.dtor); LONG (0); |
---|
18 | *(.fini) |
---|
19 | /* ??? Why is .gcc_exc here? */ |
---|
20 | *(.gcc_exc) |
---|
21 | etext = .; |
---|
22 | *(.gcc_except_table) |
---|
23 | } |
---|
24 | /* The Cygwin32 library uses a section to avoid copying certain data |
---|
25 | on fork. This used to be named ".data". The linker used |
---|
26 | to include this between __data_start__ and __data_end__, but that |
---|
27 | breaks building the cygwin32 dll. Instead, we name the section |
---|
28 | ".data_cygwin_nocopy" and explictly include it after __data_end__. */ |
---|
29 | .data BLOCK(__section_alignment__) : |
---|
30 | { |
---|
31 | __data_start__ = . ; |
---|
32 | *(.data) |
---|
33 | *(.data2) |
---|
34 | *(SORT(.data$*)) |
---|
35 | __data_end__ = . ; |
---|
36 | *(.data_cygwin_nocopy) |
---|
37 | } |
---|
38 | .bss BLOCK(__section_alignment__) : |
---|
39 | { |
---|
40 | __bss_start__ = . ; |
---|
41 | *(.bss) |
---|
42 | *(COMMON) |
---|
43 | __bss_end__ = . ; |
---|
44 | } |
---|
45 | .rdata BLOCK(__section_alignment__) : |
---|
46 | { |
---|
47 | *(.rdata) |
---|
48 | *(SORT(.rdata$*)) |
---|
49 | *(.eh_frame) |
---|
50 | } |
---|
51 | .edata BLOCK(__section_alignment__) : |
---|
52 | { |
---|
53 | *(.edata) |
---|
54 | } |
---|
55 | /DISCARD/ : |
---|
56 | { |
---|
57 | *(.debug$S) |
---|
58 | *(.debug$T) |
---|
59 | *(.debug$F) |
---|
60 | *(.drectve) |
---|
61 | } |
---|
62 | .idata BLOCK(__section_alignment__) : |
---|
63 | { |
---|
64 | /* This cannot currently be handled with grouped sections. |
---|
65 | See pe.em:sort_sections. */ |
---|
66 | SORT(*)(.idata$2) |
---|
67 | SORT(*)(.idata$3) |
---|
68 | /* These zeroes mark the end of the import list. */ |
---|
69 | LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); |
---|
70 | SORT(*)(.idata$4) |
---|
71 | SORT(*)(.idata$5) |
---|
72 | SORT(*)(.idata$6) |
---|
73 | SORT(*)(.idata$7) |
---|
74 | } |
---|
75 | .CRT BLOCK(__section_alignment__) : |
---|
76 | { |
---|
77 | *(SORT(.CRT$*)) |
---|
78 | } |
---|
79 | .endjunk BLOCK(__section_alignment__) : |
---|
80 | { |
---|
81 | /* end is deprecated, don't use it */ |
---|
82 | end = .; |
---|
83 | _end = .; |
---|
84 | __end__ = .; |
---|
85 | } |
---|
86 | .reloc BLOCK(__section_alignment__) : |
---|
87 | { |
---|
88 | *(.reloc) |
---|
89 | } |
---|
90 | .rsrc BLOCK(__section_alignment__) : |
---|
91 | { |
---|
92 | *(.rsrc) |
---|
93 | *(SORT(.rsrc$*)) |
---|
94 | } |
---|
95 | .stab BLOCK(__section_alignment__) (NOLOAD) : |
---|
96 | { |
---|
97 | [ .stab ] |
---|
98 | } |
---|
99 | .stabstr BLOCK(__section_alignment__) (NOLOAD) : |
---|
100 | { |
---|
101 | [ .stabstr ] |
---|
102 | } |
---|
103 | .stack 0x2f0ffffc : |
---|
104 | { |
---|
105 | _stack = .; |
---|
106 | *(.stack) |
---|
107 | } |
---|
108 | } |
---|