Subversion Repositories Kolibri OS

Rev

Rev 6536 | Blame | Compare with Previous | Last modification | View Log | RSS feed

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