243 lines
4.2 KiB
Plaintext
243 lines
4.2 KiB
Plaintext
/* Script for ld -Ur: link w/out relocation, do create constructors */
|
|
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
|
Copying and distribution of this script, with or without modification,
|
|
are permitted in any medium without royalty provided the copyright
|
|
notice and this notice are preserved. */
|
|
OUTPUT_FORMAT(pe-i386)
|
|
SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
|
|
SECTIONS
|
|
{
|
|
.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);
|
|
/* ??? Why is .gcc_exc here? */
|
|
}
|
|
/* 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 explicitly include it after __data_end__. */
|
|
.data :
|
|
{
|
|
*(.data)
|
|
*(.data2)
|
|
KEEP(*(.jcr))
|
|
}
|
|
.rdata :
|
|
{
|
|
*(.rdata)
|
|
KEEP(*(.rdata_runtime_pseudo_reloc))
|
|
}
|
|
.eh_frame :
|
|
{
|
|
KEEP(*(.eh_frame*))
|
|
}
|
|
.pdata :
|
|
{
|
|
KEEP(*(.pdata*))
|
|
}
|
|
.bss :
|
|
{
|
|
*(.bss)
|
|
*(COMMON)
|
|
}
|
|
.edata :
|
|
{
|
|
*(.edata)
|
|
}
|
|
/DISCARD/ :
|
|
{
|
|
*(.debug$S)
|
|
*(.debug$T)
|
|
*(.debug$F)
|
|
*(.drectve)
|
|
}
|
|
.idata :
|
|
{
|
|
/* This cannot currently be handled with grouped sections.
|
|
See pe.em:sort_sections. */
|
|
}
|
|
.CRT :
|
|
{
|
|
/* ___crt_xl_end__ is defined in the TLS Directory support code */
|
|
}
|
|
/* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
|
|
at the end of section. This is important because _tls_start MUST
|
|
be at the beginning of the section to enable SECREL32 relocations with TLS
|
|
data. */
|
|
.tls :
|
|
{
|
|
}
|
|
.endjunk :
|
|
{
|
|
/* end is deprecated, don't use it */
|
|
}
|
|
.rsrc : SUBALIGN(4)
|
|
{
|
|
*(.rsrc)
|
|
}
|
|
.reloc :
|
|
{
|
|
*(.reloc)
|
|
}
|
|
.stab :
|
|
{
|
|
*(.stab)
|
|
}
|
|
.stabstr :
|
|
{
|
|
*(.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 :
|
|
{
|
|
*(.debug_aranges)
|
|
}
|
|
.zdebug_aranges :
|
|
{
|
|
*(.zdebug_aranges)
|
|
}
|
|
.debug_pubnames :
|
|
{
|
|
*(.debug_pubnames)
|
|
}
|
|
.zdebug_pubnames :
|
|
{
|
|
*(.zdebug_pubnames)
|
|
}
|
|
.debug_pubtypes :
|
|
{
|
|
*(.debug_pubtypes)
|
|
}
|
|
.zdebug_pubtypes :
|
|
{
|
|
*(.zdebug_pubtypes)
|
|
}
|
|
/* DWARF 2. */
|
|
.debug_info :
|
|
{
|
|
*(.debug_info)
|
|
}
|
|
.zdebug_info :
|
|
{
|
|
*(.zdebug_info)
|
|
}
|
|
.debug_abbrev :
|
|
{
|
|
*(.debug_abbrev)
|
|
}
|
|
.zdebug_abbrev :
|
|
{
|
|
*(.zdebug_abbrev)
|
|
}
|
|
.debug_line :
|
|
{
|
|
*(.debug_line)
|
|
}
|
|
.zdebug_line :
|
|
{
|
|
*(.zdebug_line)
|
|
}
|
|
.debug_frame :
|
|
{
|
|
*(.debug_frame*)
|
|
}
|
|
.zdebug_frame :
|
|
{
|
|
*(.zdebug_frame*)
|
|
}
|
|
.debug_str :
|
|
{
|
|
*(.debug_str)
|
|
}
|
|
.zdebug_str :
|
|
{
|
|
*(.zdebug_str)
|
|
}
|
|
.debug_loc :
|
|
{
|
|
*(.debug_loc)
|
|
}
|
|
.zdebug_loc :
|
|
{
|
|
*(.zdebug_loc)
|
|
}
|
|
.debug_macinfo :
|
|
{
|
|
*(.debug_macinfo)
|
|
}
|
|
.zdebug_macinfo :
|
|
{
|
|
*(.zdebug_macinfo)
|
|
}
|
|
/* SGI/MIPS DWARF 2 extensions. */
|
|
.debug_weaknames :
|
|
{
|
|
*(.debug_weaknames)
|
|
}
|
|
.zdebug_weaknames :
|
|
{
|
|
*(.zdebug_weaknames)
|
|
}
|
|
.debug_funcnames :
|
|
{
|
|
*(.debug_funcnames)
|
|
}
|
|
.zdebug_funcnames :
|
|
{
|
|
*(.zdebug_funcnames)
|
|
}
|
|
.debug_typenames :
|
|
{
|
|
*(.debug_typenames)
|
|
}
|
|
.zdebug_typenames :
|
|
{
|
|
*(.zdebug_typenames)
|
|
}
|
|
.debug_varnames :
|
|
{
|
|
*(.debug_varnames)
|
|
}
|
|
.zdebug_varnames :
|
|
{
|
|
*(.zdebug_varnames)
|
|
}
|
|
.debug_macro :
|
|
{
|
|
*(.debug_macro)
|
|
}
|
|
.zdebug_macro :
|
|
{
|
|
*(.zdebug_macro)
|
|
}
|
|
/* DWARF 3. */
|
|
.debug_ranges :
|
|
{
|
|
*(.debug_ranges)
|
|
}
|
|
.zdebug_ranges :
|
|
{
|
|
*(.zdebug_ranges)
|
|
}
|
|
/* DWARF 4. */
|
|
.debug_types :
|
|
{
|
|
*(.debug_types)
|
|
}
|
|
.zdebug_types :
|
|
{
|
|
*(.zdebug_types)
|
|
}
|
|
}
|