Subversion Repositories Kolibri OS

Rev

Rev 4940 | Rev 6074 | Go to most recent revision | Details | Compare with Previous | 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
 
5963 serge 82
   .eh_frame BLOCK(16) :
83
   {
84
        PROVIDE (___EH_FRAME_BEGIN__ = .) ;
85
        *(.eh_frame*)
86
   }
87
 
4940 Serge 88
   .idata ALIGN(16):
89
   {
90
      __idata_start = .;
91
      SORT(*)(.idata$2)
92
      SORT(*)(.idata$3)
93
    /* These zeroes mark the end of the import list. */
94
      LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
95
      SORT(*)(.idata$4)
96
      SORT(*)(.idata$5)
97
      SORT(*)(.idata$6)
98
      SORT(*)(.idata$7)
99
      __idata_end = .  ;
100
   }
101
 
102
   bss ALIGN(16):
103
   {
104
        *(.bss)
105
        *(COMMON)
106
        . = ALIGN(16);
107
        ___cmdline = .;
108
        . = . + 256;
109
        ___pgmname = .;
110
        . = . + 1024 + 16;
111
        ___stacktop = .;
112
        ___memsize = . ;
113
   }
114
 
115
  /DISCARD/ :
116
  {
117
    *(.debug$S)
118
    *(.debug$T)
119
    *(.debug$F)
120
    *(.drectve)
121
    *(.note.GNU-stack)
122
    *(.comment)
123
    *(.debug_abbrev)
124
    *(.debug_info)
125
    *(.debug_line)
126
    *(.debug_frame)
127
    *(.debug_loc)
128
    *(.debug_pubnames)
129
    *(.debug_aranges)
130
    *(.debug_ranges)
131
  }
132
 
133
}