Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

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