C code link-in, some reorganization
[ia32rtools.git] / scr.ld
diff --git a/scr.ld b/scr.ld
deleted file mode 100644 (file)
index 483b7ac..0000000
--- a/scr.ld
+++ /dev/null
@@ -1,222 +0,0 @@
-/* modified from /usr/i586-mingw32msvc/lib/ldscripts/i386pe.x */
-OUTPUT_FORMAT(pei-i386)
-SEARCH_DIR("/usr/i586-mingw32msvc/lib");
-SECTIONS
-{
-  /* Make the virtual address and file offset synced if the alignment is
-     lower than the target page size. */
-  . = SIZEOF_HEADERS;
-  . = ALIGN(__section_alignment__);
-  .text  __image_base__ + (__section_alignment__):
-  {
-    StarCraft.o(.text)
-  }
-  .rdata 0x4fe000:
-  {
-    StarCraft.o(_rdata)
-  }
-  .data  0x50c000:
-  {
-    StarCraft.o(.data)
-  }
-  .text2 BLOCK(__section_alignment__) :
-  {
-     *(.init)
-    *(.text)
-    *(SORT(.text$*))
-     *(.text.*)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-                       LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-                       LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-     *(.fini)
-    /* ??? Why is .gcc_exc here?  */
-     *(.gcc_exc)
-    PROVIDE (etext = .);
-     *(.gcc_except_table)
-  }
-  .rdata2 BLOCK(__section_alignment__) :
-  {
-    *(.rdata)
-             *(SORT(.rdata$*))
-    ___RUNTIME_PSEUDO_RELOC_LIST__ = .;
-    __RUNTIME_PSEUDO_RELOC_LIST__ = .;
-    *(.rdata_runtime_pseudo_reloc)
-    ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-    __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explictly include it after __data_end__. */
-  .data2 BLOCK(__section_alignment__) :
-  {
-    __data_start__ = . ;
-    *(.data)
-    *(.data2)
-    *(SORT(.data$*))
-    *(.jcr)
-    __data_end__ = . ;
-    *(.data_cygwin_nocopy)
-  }
-  .eh_frame BLOCK(__section_alignment__) :
-  {
-    *(.eh_frame)
-  }
-  .pdata BLOCK(__section_alignment__) :
-  {
-    *(.pdata)
-  }
-  .bss BLOCK(__section_alignment__) :
-  {
-    __bss_start__ = . ;
-    *(.bss)
-    *(COMMON)
-    __bss_end__ = . ;
-  }
-  .edata BLOCK(__section_alignment__) :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-  }
-  .idata BLOCK(__section_alignment__) :
-  {
-    /* This cannot currently be handled with grouped sections.
-       See pe.em:sort_sections.  */
-    SORT(*)(.idata$2)
-    SORT(*)(.idata$3)
-    /* These zeroes mark the end of the import list.  */
-    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
-    SORT(*)(.idata$4)
-    SORT(*)(.idata$5)
-    SORT(*)(.idata$6)
-    SORT(*)(.idata$7)
-  }
-  .CRT BLOCK(__section_alignment__) :
-  {
-    ___crt_xc_start__ = . ;
-    *(SORT(.CRT$XC*))  /* C initialization */
-    ___crt_xc_end__ = . ;
-    ___crt_xi_start__ = . ;
-    *(SORT(.CRT$XI*))  /* C++ initialization */
-    ___crt_xi_end__ = . ;
-    ___crt_xl_start__ = . ;
-    *(SORT(.CRT$XL*))  /* TLS callbacks */
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-    ___crt_xp_start__ = . ;
-    *(SORT(.CRT$XP*))  /* Pre-termination */
-    ___crt_xp_end__ = . ;
-    ___crt_xt_start__ = . ;
-    *(SORT(.CRT$XT*))  /* Termination */
-    ___crt_xt_end__ = . ;
-  }
-  .tls BLOCK(__section_alignment__) :
-  {
-    ___tls_start__ = . ;
-    *(.tls)
-    *(.tls$)
-    *(SORT(.tls$*))
-    ___tls_end__ = . ;
-  }
-  .endjunk BLOCK(__section_alignment__) :
-  {
-    /* end is deprecated, don't use it */
-    PROVIDE (end = .);
-    PROVIDE ( _end = .);
-     __end__ = .;
-  }
-  .rsrc BLOCK(__section_alignment__) :
-  {
-    *(.rsrc)
-    *(SORT(.rsrc$*))
-  }
-  .reloc BLOCK(__section_alignment__) :
-  {
-    *(.reloc)
-  }
-  .stab BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stab)
-  }
-  .stabstr BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_aranges)
-  }
-  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubnames)
-  }
-  .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_info) *(.gnu.linkonce.wi.*)
-  }
-  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_abbrev)
-  }
-  .debug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_line)
-  }
-  .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_frame)
-  }
-  .debug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_str)
-  }
-  .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_loc)
-  }
-  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_weaknames)
-  }
-  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_funcnames)
-  }
-  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_typenames)
-  }
-  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_varnames)
-  }
-  /* DWARF 3.  */
-  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_ranges)
-  }
-}