Subversion Repositories Kolibri OS

Rev

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