Subversion Repositories Kolibri OS

Rev

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

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