source: trunk/libs/newlib/src/libgloss/mcore/pe-cmb.ld @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 2.3 KB
Line 
1OUTPUT_FORMAT("pei-mcore-big", "pei-mcore-big",
2                           "pei-mcore-little")
3GROUP(-lc -lcmb -lgcc)
4ENTRY(_mainCRTStartup)
5SECTIONS
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}
Note: See TracBrowser for help on using the repository browser.