| 1 | /* Script for ld -Ur: link w/out relocation, do create constructors */ | 
 
 
 
 
 | 2 | /* Copyright (C) 2014 Free Software Foundation, Inc. | 
 
 
 
 
 | 3 | Copying and distribution of this script, with or without modification, | 
 
 
 
 
 | 4 | are permitted in any medium without royalty provided the copyright | 
 
 
 
 
 | 5 | notice and this notice are preserved.  */ | 
 
 
 
 
 | 6 | OUTPUT_FORMAT(pe-i386) | 
 
 
 
 
 | 7 | SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); | 
 
 
 
 
 | 8 | SECTIONS | 
 
 
 
 
 | 9 | { | 
 
 
 
 
 | 10 | .text  : | 
 
 
 
 
 | 11 | { | 
 
 
 
 
 | 12 | *(.text) | 
 
 
 
 
 | 13 | *(.glue_7t) | 
 
 
 
 
 | 14 | *(.glue_7) | 
 
 
 
 
 | 15 | ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; | 
 
 
 
 
 | 16 | LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0); | 
 
 
 
 
 | 17 | ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; | 
 
 
 
 
 | 18 | LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0); | 
 
 
 
 
 | 19 | /* ??? Why is .gcc_exc here?  */ | 
 
 
 
 
 | 20 | } | 
 
 
 
 
 | 21 | /* The Cygwin32 library uses a section to avoid copying certain data | 
 
 
 
 
 | 22 | on fork.  This used to be named ".data".  The linker used | 
 
 
 
 
 | 23 | to include this between __data_start__ and __data_end__, but that | 
 
 
 
 
 | 24 | breaks building the cygwin32 dll.  Instead, we name the section | 
 
 
 
 
 | 25 | ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ | 
 
 
 
 
 | 26 | .data  : | 
 
 
 
 
 | 27 | { | 
 
 
 
 
 | 28 | *(.data) | 
 
 
 
 
 | 29 | *(.data2) | 
 
 
 
 
 | 30 | *(.jcr) | 
 
 
 
 
 | 31 | } | 
 
 
 
 
 | 32 | .rdata  : | 
 
 
 
 
 | 33 | { | 
 
 
 
 
 | 34 | *(.rdata) | 
 
 
 
 
 | 35 | *(.rdata_runtime_pseudo_reloc) | 
 
 
 
 
 | 36 | } | 
 
 
 
 
 | 37 | .eh_frame  : | 
 
 
 
 
 | 38 | { | 
 
 
 
 
 | 39 | *(.eh_frame*) | 
 
 
 
 
 | 40 | } | 
 
 
 
 
 | 41 | .pdata  : | 
 
 
 
 
 | 42 | { | 
 
 
 
 
 | 43 | *(.pdata) | 
 
 
 
 
 | 44 | } | 
 
 
 
 
 | 45 | .bss  : | 
 
 
 
 
 | 46 | { | 
 
 
 
 
 | 47 | *(.bss) | 
 
 
 
 
 | 48 | *(COMMON) | 
 
 
 
 
 | 49 | } | 
 
 
 
 
 | 50 | .edata  : | 
 
 
 
 
 | 51 | { | 
 
 
 
 
 | 52 | *(.edata) | 
 
 
 
 
 | 53 | } | 
 
 
 
 
 | 54 | /DISCARD/ : | 
 
 
 
 
 | 55 | { | 
 
 
 
 
 | 56 | *(.debug$S) | 
 
 
 
 
 | 57 | *(.debug$T) | 
 
 
 
 
 | 58 | *(.debug$F) | 
 
 
 
 
 | 59 | *(.drectve) | 
 
 
 
 
 | 60 | } | 
 
 
 
 
 | 61 | .idata  : | 
 
 
 
 
 | 62 | { | 
 
 
 
 
 | 63 | /* This cannot currently be handled with grouped sections. | 
 
 
 
 
 | 64 | See pe.em:sort_sections.  */ | 
 
 
 
 
 | 65 | } | 
 
 
 
 
 | 66 | .CRT  : | 
 
 
 
 
 | 67 | { | 
 
 
 
 
 | 68 | /* ___crt_xl_end__ is defined in the TLS Directory support code */ | 
 
 
 
 
 | 69 | } | 
 
 
 
 
 | 70 | /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be | 
 
 
 
 
 | 71 | at the end of section.  This is important because _tls_start MUST | 
 
 
 
 
 | 72 | be at the beginning of the section to enable SECREL32 relocations with TLS | 
 
 
 
 
 | 73 | data.  */ | 
 
 
 
 
 | 74 | .tls  : | 
 
 
 
 
 | 75 | { | 
 
 
 
 
 | 76 | } | 
 
 
 
 
 | 77 | .endjunk  : | 
 
 
 
 
 | 78 | { | 
 
 
 
 
 | 79 | /* end is deprecated, don't use it */ | 
 
 
 
 
 | 80 | } | 
 
 
 
 
 | 81 | .rsrc  : SUBALIGN(4) | 
 
 
 
 
 | 82 | { | 
 
 
 
 
 | 83 | *(.rsrc) | 
 
 
 
 
 | 84 | } | 
 
 
 
 
 | 85 | .reloc  : | 
 
 
 
 
 | 86 | { | 
 
 
 
 
 | 87 | *(.reloc) | 
 
 
 
 
 | 88 | } | 
 
 
 
 
 | 89 | .stab   : | 
 
 
 
 
 | 90 | { | 
 
 
 
 
 | 91 | *(.stab) | 
 
 
 
 
 | 92 | } | 
 
 
 
 
 | 93 | .stabstr   : | 
 
 
 
 
 | 94 | { | 
 
 
 
 
 | 95 | *(.stabstr) | 
 
 
 
 
 | 96 | } | 
 
 
 
 
 | 97 | /* DWARF debug sections. | 
 
 
 
 
 | 98 | Symbols in the DWARF debugging sections are relative to the beginning | 
 
 
 
 
 | 99 | of the section.  Unlike other targets that fake this by putting the | 
 
 
 
 
 | 100 | section VMA at 0, the PE format will not allow it.  */ | 
 
 
 
 
 | 101 | /* DWARF 1.1 and DWARF 2.  */ | 
 
 
 
 
 | 102 | .debug_aranges   : | 
 
 
 
 
 | 103 | { | 
 
 
 
 
 | 104 | *(.debug_aranges) | 
 
 
 
 
 | 105 | } | 
 
 
 
 
 | 106 | .zdebug_aranges   : | 
 
 
 
 
 | 107 | { | 
 
 
 
 
 | 108 | *(.zdebug_aranges) | 
 
 
 
 
 | 109 | } | 
 
 
 
 
 | 110 | .debug_pubnames   : | 
 
 
 
 
 | 111 | { | 
 
 
 
 
 | 112 | *(.debug_pubnames) | 
 
 
 
 
 | 113 | } | 
 
 
 
 
 | 114 | .zdebug_pubnames   : | 
 
 
 
 
 | 115 | { | 
 
 
 
 
 | 116 | *(.zdebug_pubnames) | 
 
 
 
 
 | 117 | } | 
 
 
 
 
 | 118 | .debug_pubtypes   : | 
 
 
 
 
 | 119 | { | 
 
 
 
 
 | 120 | *(.debug_pubtypes) | 
 
 
 
 
 | 121 | } | 
 
 
 
 
 | 122 | .zdebug_pubtypes   : | 
 
 
 
 
 | 123 | { | 
 
 
 
 
 | 124 | *(.zdebug_pubtypes) | 
 
 
 
 
 | 125 | } | 
 
 
 
 
 | 126 | /* DWARF 2.  */ | 
 
 
 
 
 | 127 | .debug_info   : | 
 
 
 
 
 | 128 | { | 
 
 
 
 
 | 129 | *(.debug_info) | 
 
 
 
 
 | 130 | } | 
 
 
 
 
 | 131 | .zdebug_info   : | 
 
 
 
 
 | 132 | { | 
 
 
 
 
 | 133 | *(.zdebug_info) | 
 
 
 
 
 | 134 | } | 
 
 
 
 
 | 135 | .debug_abbrev   : | 
 
 
 
 
 | 136 | { | 
 
 
 
 
 | 137 | *(.debug_abbrev) | 
 
 
 
 
 | 138 | } | 
 
 
 
 
 | 139 | .zdebug_abbrev   : | 
 
 
 
 
 | 140 | { | 
 
 
 
 
 | 141 | *(.zdebug_abbrev) | 
 
 
 
 
 | 142 | } | 
 
 
 
 
 | 143 | .debug_line   : | 
 
 
 
 
 | 144 | { | 
 
 
 
 
 | 145 | *(.debug_line) | 
 
 
 
 
 | 146 | } | 
 
 
 
 
 | 147 | .zdebug_line   : | 
 
 
 
 
 | 148 | { | 
 
 
 
 
 | 149 | *(.zdebug_line) | 
 
 
 
 
 | 150 | } | 
 
 
 
 
 | 151 | .debug_frame   : | 
 
 
 
 
 | 152 | { | 
 
 
 
 
 | 153 | *(.debug_frame*) | 
 
 
 
 
 | 154 | } | 
 
 
 
 
 | 155 | .zdebug_frame   : | 
 
 
 
 
 | 156 | { | 
 
 
 
 
 | 157 | *(.zdebug_frame*) | 
 
 
 
 
 | 158 | } | 
 
 
 
 
 | 159 | .debug_str   : | 
 
 
 
 
 | 160 | { | 
 
 
 
 
 | 161 | *(.debug_str) | 
 
 
 
 
 | 162 | } | 
 
 
 
 
 | 163 | .zdebug_str   : | 
 
 
 
 
 | 164 | { | 
 
 
 
 
 | 165 | *(.zdebug_str) | 
 
 
 
 
 | 166 | } | 
 
 
 
 
 | 167 | .debug_loc   : | 
 
 
 
 
 | 168 | { | 
 
 
 
 
 | 169 | *(.debug_loc) | 
 
 
 
 
 | 170 | } | 
 
 
 
 
 | 171 | .zdebug_loc   : | 
 
 
 
 
 | 172 | { | 
 
 
 
 
 | 173 | *(.zdebug_loc) | 
 
 
 
 
 | 174 | } | 
 
 
 
 
 | 175 | .debug_macinfo   : | 
 
 
 
 
 | 176 | { | 
 
 
 
 
 | 177 | *(.debug_macinfo) | 
 
 
 
 
 | 178 | } | 
 
 
 
 
 | 179 | .zdebug_macinfo   : | 
 
 
 
 
 | 180 | { | 
 
 
 
 
 | 181 | *(.zdebug_macinfo) | 
 
 
 
 
 | 182 | } | 
 
 
 
 
 | 183 | /* SGI/MIPS DWARF 2 extensions.  */ | 
 
 
 
 
 | 184 | .debug_weaknames   : | 
 
 
 
 
 | 185 | { | 
 
 
 
 
 | 186 | *(.debug_weaknames) | 
 
 
 
 
 | 187 | } | 
 
 
 
 
 | 188 | .zdebug_weaknames   : | 
 
 
 
 
 | 189 | { | 
 
 
 
 
 | 190 | *(.zdebug_weaknames) | 
 
 
 
 
 | 191 | } | 
 
 
 
 
 | 192 | .debug_funcnames   : | 
 
 
 
 
 | 193 | { | 
 
 
 
 
 | 194 | *(.debug_funcnames) | 
 
 
 
 
 | 195 | } | 
 
 
 
 
 | 196 | .zdebug_funcnames   : | 
 
 
 
 
 | 197 | { | 
 
 
 
 
 | 198 | *(.zdebug_funcnames) | 
 
 
 
 
 | 199 | } | 
 
 
 
 
 | 200 | .debug_typenames   : | 
 
 
 
 
 | 201 | { | 
 
 
 
 
 | 202 | *(.debug_typenames) | 
 
 
 
 
 | 203 | } | 
 
 
 
 
 | 204 | .zdebug_typenames   : | 
 
 
 
 
 | 205 | { | 
 
 
 
 
 | 206 | *(.zdebug_typenames) | 
 
 
 
 
 | 207 | } | 
 
 
 
 
 | 208 | .debug_varnames   : | 
 
 
 
 
 | 209 | { | 
 
 
 
 
 | 210 | *(.debug_varnames) | 
 
 
 
 
 | 211 | } | 
 
 
 
 
 | 212 | .zdebug_varnames   : | 
 
 
 
 
 | 213 | { | 
 
 
 
 
 | 214 | *(.zdebug_varnames) | 
 
 
 
 
 | 215 | } | 
 
 
 
 
 | 216 | .debug_macro   : | 
 
 
 
 
 | 217 | { | 
 
 
 
 
 | 218 | *(.debug_macro) | 
 
 
 
 
 | 219 | } | 
 
 
 
 
 | 220 | .zdebug_macro   : | 
 
 
 
 
 | 221 | { | 
 
 
 
 
 | 222 | *(.zdebug_macro) | 
 
 
 
 
 | 223 | } | 
 
 
 
 
 | 224 | /* DWARF 3.  */ | 
 
 
 
 
 | 225 | .debug_ranges   : | 
 
 
 
 
 | 226 | { | 
 
 
 
 
 | 227 | *(.debug_ranges) | 
 
 
 
 
 | 228 | } | 
 
 
 
 
 | 229 | .zdebug_ranges   : | 
 
 
 
 
 | 230 | { | 
 
 
 
 
 | 231 | *(.zdebug_ranges) | 
 
 
 
 
 | 232 | } | 
 
 
 
 
 | 233 | /* DWARF 4.  */ | 
 
 
 
 
 | 234 | .debug_types   : | 
 
 
 
 
 | 235 | { | 
 
 
 
 
 | 236 | *(.debug_types) | 
 
 
 
 
 | 237 | } | 
 
 
 
 
 | 238 | .zdebug_types   : | 
 
 
 
 
 | 239 | { | 
 
 
 
 
 | 240 | *(.zdebug_types) | 
 
 
 
 
 | 241 | } | 
 
 
 
 
 | 242 | } |