Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5809 serge 1
/*OUTPUT_FORMAT("binary")*/
2
 
3
ENTRY(__start)
4
SECTIONS
5
{
6
   .text 0x000000:
7
   {
8
        LONG(0x554e454D);
9
        LONG(0x32305445);
10
        LONG(1);
11
        LONG(__start);
12
        LONG(___iend);
13
        LONG(___memsize);
14
        LONG(___stacktop);
15
        LONG(___cmdline);
16
        LONG(___pgmname);     /*  full path    */
17
        LONG(0);              /*FIXME tls data */
18
        LONG(__idata_start)
19
        LONG(__idata_end)
20
        LONG(_main)
21
 
22
        *(.init)
23
        *(.text)
24
        *(SORT(.text$*))
25
        *(.text.*)
26
        *(.glue_7t)
27
        *(.glue_7)
28
        ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
29
                        LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
30
        ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
31
                        LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
32
        *(.fini)
33
    /* ??? Why is .gcc_exc here?  */
34
        *(.gcc_exc)
35
        PROVIDE (etext = .);
36
        *(.gcc_except_table)
37
   }
38
 
39
   .rdata ALIGN(32) :
40
   {
41
        *(.rdata)
42
        *(SORT(.rdata$*))
43
        ___RUNTIME_PSEUDO_RELOC_LIST__ = .;
44
        __RUNTIME_PSEUDO_RELOC_LIST__ = .;
45
        *(.rdata_runtime_pseudo_reloc)
46
        ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
47
        __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
48
   }
49
 
50
   .CRT ALIGN(32) :
51
   {
52
         ___crt_xc_start__ = . ;
53
        *(SORT(.CRT$XC*))  /* C initialization */
54
        ___crt_xc_end__ = . ;
55
        ___crt_xi_start__ = . ;
56
        *(SORT(.CRT$XI*))  /* C++ initialization */
57
        ___crt_xi_end__ = . ;
58
        ___crt_xl_start__ = . ;
59
        *(SORT(.CRT$XL*))  /* TLS callbacks */
60
    /* ___crt_xl_end__ is defined in the TLS Directory support code */
61
        ___crt_xp_start__ = . ;
62
        *(SORT(.CRT$XP*))  /* Pre-termination */
63
        ___crt_xp_end__ = . ;
64
        ___crt_xt_start__ = . ;
65
        *(SORT(.CRT$XT*))  /* Termination */
66
        ___crt_xt_end__ = . ;
67
   }
68
 
69
   .data ALIGN(32) :
70
   {
71
     	PROVIDE ( __data_start__ = .) ;
72
        *(.data)
73
        *(.data2)
74
        *(SORT(.data$*))
75
        *(.jcr)
76
        __CRT_MT = .;
77
        LONG(0);
78
       	PROVIDE ( __data_end__ = .) ;
79
        *(.data_cygwin_nocopy)
80
        ___iend = . ;
81
   }
82
 
83
   .idata ALIGN(32):
84
   {
85
      __idata_start = .;
86
      SORT(*)(.idata$2)
87
      SORT(*)(.idata$3)
88
    /* These zeroes mark the end of the import list. */
89
      LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
90
      SORT(*)(.idata$4)
91
      SORT(*)(.idata$5)
92
      SORT(*)(.idata$6)
93
      SORT(*)(.idata$7)
94
      __idata_end = .  ;
95
   }
96
 
97
   bss ALIGN(32):
98
   {
99
        *(.bss)
100
        *(COMMON)
101
        . = ALIGN(16);
102
        ___cmdline = .;
103
        . = . + 256;
104
        ___pgmname = .;
105
        . = . + 1024 + 16;
106
        ___stacktop = .;
107
        ___memsize = . ;
108
   }
109
 
110
  /DISCARD/ :
111
  {
112
    *(.debug$S)
113
    *(.debug$T)
114
    *(.debug$F)
115
    *(.drectve)
116
    *(.note.GNU-stack)
117
    *(.eh_frame)
118
    *(.comment)
119
    *(.debug_abbrev)
120
    *(.debug_info)
121
    *(.debug_line)
122
    *(.debug_frame)
123
    *(.debug_loc)
124
    *(.debug_pubnames)
125
    *(.debug_aranges)
126
    *(.debug_ranges)
127
  }
128
 
129
}