updated Cygwin x86 linker script to match its x86_64 counterpart
This commit is contained in:
parent
2191f1be0d
commit
5a5824ad37
|
@ -24,6 +24,7 @@ SECTIONS
|
||||||
/* ??? Why is .gcc_exc here? */
|
/* ??? Why is .gcc_exc here? */
|
||||||
*(.gcc_exc)
|
*(.gcc_exc)
|
||||||
PROVIDE (etext = .);
|
PROVIDE (etext = .);
|
||||||
|
PROVIDE (_etext = .);
|
||||||
*(.gcc_except_table)
|
*(.gcc_except_table)
|
||||||
}
|
}
|
||||||
/* The Cygwin32 library uses a section to avoid copying certain data
|
/* The Cygwin32 library uses a section to avoid copying certain data
|
||||||
|
@ -40,7 +41,7 @@ SECTIONS
|
||||||
*(.jcr)
|
*(.jcr)
|
||||||
__eeprom_start__ = . ;
|
__eeprom_start__ = . ;
|
||||||
*(.eeprom)
|
*(.eeprom)
|
||||||
__game_descriptors_start__ = . ;
|
__game_descriptors_start__ = . ;
|
||||||
*(.game_descriptors)
|
*(.game_descriptors)
|
||||||
__game_descriptors_end__ = . ;
|
__game_descriptors_end__ = . ;
|
||||||
__data_end__ = . ;
|
__data_end__ = . ;
|
||||||
|
@ -120,12 +121,18 @@ SECTIONS
|
||||||
*(SORT(.CRT$XT*)) /* Termination */
|
*(SORT(.CRT$XT*)) /* Termination */
|
||||||
___crt_xt_end__ = . ;
|
___crt_xt_end__ = . ;
|
||||||
}
|
}
|
||||||
|
/* 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 BLOCK(__section_alignment__) :
|
.tls BLOCK(__section_alignment__) :
|
||||||
{
|
{
|
||||||
___tls_start__ = . ;
|
___tls_start__ = . ;
|
||||||
|
*(.tls$AAA)
|
||||||
*(.tls)
|
*(.tls)
|
||||||
*(.tls$)
|
*(.tls$)
|
||||||
*(SORT(.tls$*))
|
*(SORT(.tls$*))
|
||||||
|
*(.tls$ZZZ)
|
||||||
___tls_end__ = . ;
|
___tls_end__ = . ;
|
||||||
}
|
}
|
||||||
.endjunk BLOCK(__section_alignment__) :
|
.endjunk BLOCK(__section_alignment__) :
|
||||||
|
@ -161,72 +168,140 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(.debug_aranges)
|
*(.debug_aranges)
|
||||||
}
|
}
|
||||||
|
.zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_aranges)
|
||||||
|
}
|
||||||
.debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_pubnames)
|
*(.debug_pubnames)
|
||||||
}
|
}
|
||||||
|
.zdebug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_pubnames)
|
||||||
|
}
|
||||||
.debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_pubtypes)
|
*(.debug_pubtypes)
|
||||||
}
|
}
|
||||||
|
.zdebug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_pubtypes)
|
||||||
|
}
|
||||||
/* DWARF 2. */
|
/* DWARF 2. */
|
||||||
.debug_info BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_info BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_info .gnu.linkonce.wi.*)
|
*(.debug_info .gnu.linkonce.wi.*)
|
||||||
}
|
}
|
||||||
|
.zdebug_info BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_info .zdebug.gnu.linkonce.wi.*)
|
||||||
|
}
|
||||||
.debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_abbrev)
|
*(.debug_abbrev)
|
||||||
}
|
}
|
||||||
|
.zdebug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_abbrev)
|
||||||
|
}
|
||||||
.debug_line BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_line BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_line)
|
*(.debug_line)
|
||||||
}
|
}
|
||||||
|
.zdebug_line BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_line)
|
||||||
|
}
|
||||||
.debug_frame BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_frame BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_frame*)
|
*(.debug_frame*)
|
||||||
}
|
}
|
||||||
|
.zdebug_frame BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_frame*)
|
||||||
|
}
|
||||||
.debug_str BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_str BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_str)
|
*(.debug_str)
|
||||||
}
|
}
|
||||||
|
.zdebug_str BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_str)
|
||||||
|
}
|
||||||
.debug_loc BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_loc BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_loc)
|
*(.debug_loc)
|
||||||
}
|
}
|
||||||
|
.zdebug_loc BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_loc)
|
||||||
|
}
|
||||||
.debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_macinfo)
|
*(.debug_macinfo)
|
||||||
}
|
}
|
||||||
|
.zdebug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_macinfo)
|
||||||
|
}
|
||||||
/* SGI/MIPS DWARF 2 extensions. */
|
/* SGI/MIPS DWARF 2 extensions. */
|
||||||
.debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_weaknames)
|
*(.debug_weaknames)
|
||||||
}
|
}
|
||||||
|
.zdebug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_weaknames)
|
||||||
|
}
|
||||||
.debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_funcnames)
|
*(.debug_funcnames)
|
||||||
}
|
}
|
||||||
|
.zdebug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_funcnames)
|
||||||
|
}
|
||||||
.debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_typenames)
|
*(.debug_typenames)
|
||||||
}
|
}
|
||||||
|
.zdebug_typenames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_typenames)
|
||||||
|
}
|
||||||
.debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_varnames)
|
*(.debug_varnames)
|
||||||
}
|
}
|
||||||
|
.zdebug_varnames BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_varnames)
|
||||||
|
}
|
||||||
.debug_macro BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_macro BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_macro)
|
*(.debug_macro)
|
||||||
}
|
}
|
||||||
|
.zdebug_macro BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_macro)
|
||||||
|
}
|
||||||
/* DWARF 3. */
|
/* DWARF 3. */
|
||||||
.debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_ranges)
|
*(.debug_ranges)
|
||||||
}
|
}
|
||||||
|
.zdebug_ranges BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_ranges)
|
||||||
|
}
|
||||||
/* DWARF 4. */
|
/* DWARF 4. */
|
||||||
.debug_types BLOCK(__section_alignment__) (NOLOAD) :
|
.debug_types BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
{
|
{
|
||||||
*(.debug_types .gnu.linkonce.wt.*)
|
*(.debug_types .gnu.linkonce.wt.*)
|
||||||
}
|
}
|
||||||
|
.zdebug_types BLOCK(__section_alignment__) (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.zdebug_types .gnu.linkonce.wt.*)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue