/*OUTPUT_FORMAT("binary")*/ ENTRY(__start) SECTIONS { .text 0x000000: { LONG(0x554e454D); LONG(0x32305445); LONG(1); LONG(__start); LONG(___iend); LONG(___memsize); LONG(___stacktop); LONG(___cmdline); LONG(___pgmname); /* full path */ LONG(0); /*FIXME tls data */ LONG(__idata_start) LONG(__idata_end) LONG(_main) *(.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) } .rdata ALIGN(16) : { *(.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__ = .; } .eh_frame ALIGN(16) : { ___EH_FRAME_BEGIN___ = .; *(.eh_frame*); __EH_FRAME_END__ = .; } .CRT ALIGN(16) : { ___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__ = . ; } .data ALIGN(64) : { PROVIDE ( __data_start__ = .) ; *(.data) *(.data2) *(SORT(.data$*)) *(.jcr) __CRT_MT = .; LONG(0); PROVIDE ( __data_end__ = .) ; *(.data_cygwin_nocopy) ___iend = . ; } .idata ALIGN(16): { __idata_start = .; 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) __idata_end = . ; } bss ALIGN(16): { *(.bss) *(COMMON) . = ALIGN(16); ___cmdline = .; . = . + 256; ___pgmname = .; . = . + 1024 + 16; ___stacktop = .; ___memsize = . ; } /DISCARD/ : { *(.debug$S) *(.debug$T) *(.debug$F) *(.drectve) *(.note.GNU-stack) *(.comment) *(.debug_abbrev) *(.debug_info) *(.debug_line) *(.debug_frame) *(.debug_loc) *(.debug_pubnames) *(.debug_aranges) *(.debug_ranges) } }