Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
4940 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(16) :
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
   .CRT ALIGN(16) :
50
   {
51
         ___crt_xc_start__ = . ;
52
        *(SORT(.CRT$XC*))  /* C initialization */
53
        ___crt_xc_end__ = . ;
54
        ___crt_xi_start__ = . ;
55
        *(SORT(.CRT$XI*))  /* C++ initialization */
56
        ___crt_xi_end__ = . ;
57
        ___crt_xl_start__ = . ;
58
        *(SORT(.CRT$XL*))  /* TLS callbacks */
59
    /* ___crt_xl_end__ is defined in the TLS Directory support code */
60
        ___crt_xp_start__ = . ;
61
        *(SORT(.CRT$XP*))  /* Pre-termination */
62
        ___crt_xp_end__ = . ;
63
        ___crt_xt_start__ = . ;
64
        *(SORT(.CRT$XT*))  /* Termination */
65
        ___crt_xt_end__ = . ;
66
   }
67
 
68
   .data ALIGN(64) :
69
   {
70
     	PROVIDE ( __data_start__ = .) ;
71
        *(.data)
72
        *(.data2)
73
        *(SORT(.data$*))
74
        *(.jcr)
75
        __CRT_MT = .;
76
        LONG(0);
77
       	PROVIDE ( __data_end__ = .) ;
78
        *(.data_cygwin_nocopy)
79
        ___iend = . ;
80
   }
81
 
82
   .idata ALIGN(16):
83
   {
84
      __idata_start = .;
85
      SORT(*)(.idata$2)
86
      SORT(*)(.idata$3)
87
    /* These zeroes mark the end of the import list. */
88
      LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
89
      SORT(*)(.idata$4)
90
      SORT(*)(.idata$5)
91
      SORT(*)(.idata$6)
92
      SORT(*)(.idata$7)
93
      __idata_end = .  ;
94
   }
95
 
96
   bss ALIGN(16):
97
   {
98
        *(.bss)
99
        *(COMMON)
100
        . = ALIGN(16);
101
        ___cmdline = .;
102
        . = . + 256;
103
        ___pgmname = .;
104
        . = . + 1024 + 16;
105
        ___stacktop = .;
106
        ___memsize = . ;
107
   }
108
 
109
  /DISCARD/ :
110
  {
111
    *(.debug$S)
112
    *(.debug$T)
113
    *(.debug$F)
114
    *(.drectve)
115
    *(.note.GNU-stack)
116
    *(.eh_frame)
117
    *(.comment)
118
    *(.debug_abbrev)
119
    *(.debug_info)
120
    *(.debug_line)
121
    *(.debug_frame)
122
    *(.debug_loc)
123
    *(.debug_pubnames)
124
    *(.debug_aranges)
125
    *(.debug_ranges)
126
  }
127
 
128
}