home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 186 / DPCS0803.ISO / Café / Dev-C++ / devcpp4980.exe / $INSTDIR / mingw32 / lib / ldscripts / i386pe.xbn < prev    next >
Encoding:
Text File  |  2003-05-15  |  2.7 KB  |  113 lines

  1. /* Script for -N: mix text and data on same page; don't align data */
  2. OUTPUT_FORMAT(pei-i386)
  3. SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
  4. ENTRY(_mainCRTStartup)
  5. SECTIONS
  6. {
  7.   .text  __image_base__ + __section_alignment__  :
  8.   {
  9.      *(.init)
  10.     *(.text)
  11.     *(SORT(.text$*))
  12.     *(.glue_7t)
  13.     *(.glue_7)
  14.      ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
  15.             LONG (-1); *(SORT(.ctors.*)); *(.ctors); *(.ctor); LONG (0);
  16.      ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
  17.             LONG (-1); *(SORT(.dtors.*)); *(.dtors); *(.dtor);  LONG (0);
  18.      *(.fini)
  19.     /* ??? Why is .gcc_exc here?  */
  20.      *(.gcc_exc)
  21.      etext = .;
  22.     *(.gcc_except_table)
  23.   }
  24.   /* The Cygwin32 library uses a section to avoid copying certain data
  25.      on fork.  This used to be named ".data".  The linker used
  26.      to include this between __data_start__ and __data_end__, but that
  27.      breaks building the cygwin32 dll.  Instead, we name the section
  28.      ".data_cygwin_nocopy" and explictly include it after __data_end__. */
  29.   .data BLOCK(__section_alignment__) :
  30.   {
  31.     __data_start__ = . ;
  32.     *(.data)
  33.     *(.data2)
  34.     *(SORT(.data$*))
  35.     __data_end__ = . ;
  36.     *(.data_cygwin_nocopy)
  37.   }
  38.   .rdata BLOCK(__section_alignment__) :
  39.   {
  40.     *(.rdata)
  41.     *(SORT(.rdata$*))
  42.     *(.eh_frame)
  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.   .pdata BLOCK(__section_alignment__) :
  50.   {
  51.     *(.pdata)
  52.   }
  53.   .bss BLOCK(__section_alignment__) :
  54.   {
  55.     __bss_start__ = . ;
  56.     *(.bss)
  57.     *(COMMON)
  58.     __bss_end__ = . ;
  59.   }
  60.   .edata BLOCK(__section_alignment__) :
  61.   {
  62.     *(.edata)
  63.   }
  64.   /DISCARD/ :
  65.   {
  66.     *(.debug$S)
  67.     *(.debug$T)
  68.     *(.debug$F)
  69.     *(.drectve)
  70.   }
  71.   .idata BLOCK(__section_alignment__) :
  72.   {
  73.     /* This cannot currently be handled with grouped sections.
  74.     See pe.em:sort_sections.  */
  75.     SORT(*)(.idata$2)
  76.     SORT(*)(.idata$3)
  77.     /* These zeroes mark the end of the import list.  */
  78.     LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
  79.     SORT(*)(.idata$4)
  80.     SORT(*)(.idata$5)
  81.     SORT(*)(.idata$6)
  82.     SORT(*)(.idata$7)
  83.   }
  84.   .CRT BLOCK(__section_alignment__) :
  85.   {
  86.     *(SORT(.CRT$*))
  87.   }
  88.   .endjunk BLOCK(__section_alignment__) :
  89.   {
  90.     /* end is deprecated, don't use it */
  91.      end = .;
  92.      _end = .;
  93.      __end__ = .;
  94.   }
  95.   .rsrc BLOCK(__section_alignment__) :
  96.   {
  97.     *(.rsrc)
  98.     *(SORT(.rsrc$*))
  99.   }
  100.   .reloc BLOCK(__section_alignment__) :
  101.   {
  102.     *(.reloc)
  103.   }
  104.   .stab BLOCK(__section_alignment__) (NOLOAD) :
  105.   {
  106.     [ .stab ]
  107.   }
  108.   .stabstr BLOCK(__section_alignment__) (NOLOAD) :
  109.   {
  110.     [ .stabstr ]
  111.   }
  112. }
  113.