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