OSDN Git Service

r288@cf-ppc-macosx: monabuilder | 2008-12-07 13:17:34 +0900
[pf3gnuchains/pf3gnuchains3x.git] / libgloss / mcore / pe-cmb.ld
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 }