| 1 | /* Script for -r */ | 
 
 
 
 
 | 2 | /* Copyright (C) 2014-2021 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("=/mingw32/i686-w64-mingw32/lib"); SEARCH_DIR("=/mingw32/lib"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); | 
 
 
 
 
 | 8 | SECTIONS | 
 
 
 
 
 | 9 | { | 
 
 
 
 
 | 10 | .text  : | 
 
 
 
 
 | 11 | { | 
 
 
 
 
 | 12 | *(.text) | 
 
 
 
 
 | 13 | } | 
 
 
 
 
 | 14 | /* The Cygwin32 library uses a section to avoid copying certain data | 
 
 
 
 
 | 15 | on fork.  This used to be named ".data".  The linker used | 
 
 
 
 
 | 16 | to include this between __data_start__ and __data_end__, but that | 
 
 
 
 
 | 17 | breaks building the cygwin32 dll.  Instead, we name the section | 
 
 
 
 
 | 18 | ".data_cygwin_nocopy" and explicitly include it after __data_end__. */ | 
 
 
 
 
 | 19 | .data  : | 
 
 
 
 
 | 20 | { | 
 
 
 
 
 | 21 | *(.data) | 
 
 
 
 
 | 22 | KEEP(*(.jcr)) | 
 
 
 
 
 | 23 | } | 
 
 
 
 
 | 24 | .rdata  : | 
 
 
 
 
 | 25 | { | 
 
 
 
 
 | 26 | *(.rdata) | 
 
 
 
 
 | 27 | . = ALIGN(4); | 
 
 
 
 
 | 28 | } | 
 
 
 
 
 | 29 | .eh_frame  : | 
 
 
 
 
 | 30 | { | 
 
 
 
 
 | 31 | KEEP(*(.eh_frame)) | 
 
 
 
 
 | 32 | } | 
 
 
 
 
 | 33 | .pdata  : | 
 
 
 
 
 | 34 | { | 
 
 
 
 
 | 35 | KEEP(*(.pdata)) | 
 
 
 
 
 | 36 | } | 
 
 
 
 
 | 37 | .bss  : | 
 
 
 
 
 | 38 | { | 
 
 
 
 
 | 39 | *(.bss) | 
 
 
 
 
 | 40 | *(COMMON) | 
 
 
 
 
 | 41 | } | 
 
 
 
 
 | 42 | .edata  : | 
 
 
 
 
 | 43 | { | 
 
 
 
 
 | 44 | *(.edata) | 
 
 
 
 
 | 45 | } | 
 
 
 
 
 | 46 | /DISCARD/ : | 
 
 
 
 
 | 47 | { | 
 
 
 
 
 | 48 | *(.debug$S) | 
 
 
 
 
 | 49 | *(.debug$T) | 
 
 
 
 
 | 50 | *(.debug$F) | 
 
 
 
 
 | 51 | *(.drectve) | 
 
 
 
 
 | 52 | } | 
 
 
 
 
 | 53 | .idata  : | 
 
 
 
 
 | 54 | { | 
 
 
 
 
 | 55 | /* This cannot currently be handled with grouped sections. | 
 
 
 
 
 | 56 | See pe.em:sort_sections.  */ | 
 
 
 
 
 | 57 | } | 
 
 
 
 
 | 58 | .CRT  : | 
 
 
 
 
 | 59 | { | 
 
 
 
 
 | 60 | /* ___crt_xl_end__ is defined in the TLS Directory support code */ | 
 
 
 
 
 | 61 | } | 
 
 
 
 
 | 62 | /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be | 
 
 
 
 
 | 63 | at the end of section.  This is important because _tls_start MUST | 
 
 
 
 
 | 64 | be at the beginning of the section to enable SECREL32 relocations with TLS | 
 
 
 
 
 | 65 | data.  */ | 
 
 
 
 
 | 66 | .tls  : | 
 
 
 
 
 | 67 | { | 
 
 
 
 
 | 68 | *(.tls) | 
 
 
 
 
 | 69 | } | 
 
 
 
 
 | 70 | .endjunk  : | 
 
 
 
 
 | 71 | { | 
 
 
 
 
 | 72 | /* end is deprecated, don't use it */ | 
 
 
 
 
 | 73 | } | 
 
 
 
 
 | 74 | .rsrc  : SUBALIGN(4) | 
 
 
 
 
 | 75 | { | 
 
 
 
 
 | 76 | *(.rsrc) | 
 
 
 
 
 | 77 | } | 
 
 
 
 
 | 78 | .reloc  : | 
 
 
 
 
 | 79 | { | 
 
 
 
 
 | 80 | *(.reloc) | 
 
 
 
 
 | 81 | } | 
 
 
 
 
 | 82 | .stab   : | 
 
 
 
 
 | 83 | { | 
 
 
 
 
 | 84 | *(.stab) | 
 
 
 
 
 | 85 | } | 
 
 
 
 
 | 86 | .stabstr   : | 
 
 
 
 
 | 87 | { | 
 
 
 
 
 | 88 | *(.stabstr) | 
 
 
 
 
 | 89 | } | 
 
 
 
 
 | 90 | /* DWARF debug sections. | 
 
 
 
 
 | 91 | Symbols in the DWARF debugging sections are relative to the beginning | 
 
 
 
 
 | 92 | of the section.  Unlike other targets that fake this by putting the | 
 
 
 
 
 | 93 | section VMA at 0, the PE format will not allow it.  */ | 
 
 
 
 
 | 94 | /* DWARF 1.1 and DWARF 2.  */ | 
 
 
 
 
 | 95 | .debug_aranges   : | 
 
 
 
 
 | 96 | { | 
 
 
 
 
 | 97 | *(.debug_aranges) | 
 
 
 
 
 | 98 | } | 
 
 
 
 
 | 99 | .zdebug_aranges   : | 
 
 
 
 
 | 100 | { | 
 
 
 
 
 | 101 | *(.zdebug_aranges) | 
 
 
 
 
 | 102 | } | 
 
 
 
 
 | 103 | .debug_pubnames   : | 
 
 
 
 
 | 104 | { | 
 
 
 
 
 | 105 | *(.debug_pubnames) | 
 
 
 
 
 | 106 | } | 
 
 
 
 
 | 107 | .zdebug_pubnames   : | 
 
 
 
 
 | 108 | { | 
 
 
 
 
 | 109 | *(.zdebug_pubnames) | 
 
 
 
 
 | 110 | } | 
 
 
 
 
 | 111 | /* DWARF 2.  */ | 
 
 
 
 
 | 112 | .debug_info   : | 
 
 
 
 
 | 113 | { | 
 
 
 
 
 | 114 | *(.debug_info) | 
 
 
 
 
 | 115 | } | 
 
 
 
 
 | 116 | .zdebug_info   : | 
 
 
 
 
 | 117 | { | 
 
 
 
 
 | 118 | *(.zdebug_info) | 
 
 
 
 
 | 119 | } | 
 
 
 
 
 | 120 | .debug_abbrev   : | 
 
 
 
 
 | 121 | { | 
 
 
 
 
 | 122 | *(.debug_abbrev) | 
 
 
 
 
 | 123 | } | 
 
 
 
 
 | 124 | .zdebug_abbrev   : | 
 
 
 
 
 | 125 | { | 
 
 
 
 
 | 126 | *(.zdebug_abbrev) | 
 
 
 
 
 | 127 | } | 
 
 
 
 
 | 128 | .debug_line   : | 
 
 
 
 
 | 129 | { | 
 
 
 
 
 | 130 | *(.debug_line) | 
 
 
 
 
 | 131 | } | 
 
 
 
 
 | 132 | .zdebug_line   : | 
 
 
 
 
 | 133 | { | 
 
 
 
 
 | 134 | *(.zdebug_line) | 
 
 
 
 
 | 135 | } | 
 
 
 
 
 | 136 | .debug_frame   : | 
 
 
 
 
 | 137 | { | 
 
 
 
 
 | 138 | *(.debug_frame*) | 
 
 
 
 
 | 139 | } | 
 
 
 
 
 | 140 | .zdebug_frame   : | 
 
 
 
 
 | 141 | { | 
 
 
 
 
 | 142 | *(.zdebug_frame*) | 
 
 
 
 
 | 143 | } | 
 
 
 
 
 | 144 | .debug_str   : | 
 
 
 
 
 | 145 | { | 
 
 
 
 
 | 146 | *(.debug_str) | 
 
 
 
 
 | 147 | } | 
 
 
 
 
 | 148 | .zdebug_str   : | 
 
 
 
 
 | 149 | { | 
 
 
 
 
 | 150 | *(.zdebug_str) | 
 
 
 
 
 | 151 | } | 
 
 
 
 
 | 152 | .debug_loc   : | 
 
 
 
 
 | 153 | { | 
 
 
 
 
 | 154 | *(.debug_loc) | 
 
 
 
 
 | 155 | } | 
 
 
 
 
 | 156 | .zdebug_loc   : | 
 
 
 
 
 | 157 | { | 
 
 
 
 
 | 158 | *(.zdebug_loc) | 
 
 
 
 
 | 159 | } | 
 
 
 
 
 | 160 | .debug_macinfo   : | 
 
 
 
 
 | 161 | { | 
 
 
 
 
 | 162 | *(.debug_macinfo) | 
 
 
 
 
 | 163 | } | 
 
 
 
 
 | 164 | .zdebug_macinfo   : | 
 
 
 
 
 | 165 | { | 
 
 
 
 
 | 166 | *(.zdebug_macinfo) | 
 
 
 
 
 | 167 | } | 
 
 
 
 
 | 168 | /* SGI/MIPS DWARF 2 extensions.  */ | 
 
 
 
 
 | 169 | .debug_weaknames   : | 
 
 
 
 
 | 170 | { | 
 
 
 
 
 | 171 | *(.debug_weaknames) | 
 
 
 
 
 | 172 | } | 
 
 
 
 
 | 173 | .zdebug_weaknames   : | 
 
 
 
 
 | 174 | { | 
 
 
 
 
 | 175 | *(.zdebug_weaknames) | 
 
 
 
 
 | 176 | } | 
 
 
 
 
 | 177 | .debug_funcnames   : | 
 
 
 
 
 | 178 | { | 
 
 
 
 
 | 179 | *(.debug_funcnames) | 
 
 
 
 
 | 180 | } | 
 
 
 
 
 | 181 | .zdebug_funcnames   : | 
 
 
 
 
 | 182 | { | 
 
 
 
 
 | 183 | *(.zdebug_funcnames) | 
 
 
 
 
 | 184 | } | 
 
 
 
 
 | 185 | .debug_typenames   : | 
 
 
 
 
 | 186 | { | 
 
 
 
 
 | 187 | *(.debug_typenames) | 
 
 
 
 
 | 188 | } | 
 
 
 
 
 | 189 | .zdebug_typenames   : | 
 
 
 
 
 | 190 | { | 
 
 
 
 
 | 191 | *(.zdebug_typenames) | 
 
 
 
 
 | 192 | } | 
 
 
 
 
 | 193 | .debug_varnames   : | 
 
 
 
 
 | 194 | { | 
 
 
 
 
 | 195 | *(.debug_varnames) | 
 
 
 
 
 | 196 | } | 
 
 
 
 
 | 197 | .zdebug_varnames   : | 
 
 
 
 
 | 198 | { | 
 
 
 
 
 | 199 | *(.zdebug_varnames) | 
 
 
 
 
 | 200 | } | 
 
 
 
 
 | 201 | /* DWARF 3.  */ | 
 
 
 
 
 | 202 | .debug_pubtypes   : | 
 
 
 
 
 | 203 | { | 
 
 
 
 
 | 204 | *(.debug_pubtypes) | 
 
 
 
 
 | 205 | } | 
 
 
 
 
 | 206 | .zdebug_pubtypes   : | 
 
 
 
 
 | 207 | { | 
 
 
 
 
 | 208 | *(.zdebug_pubtypes) | 
 
 
 
 
 | 209 | } | 
 
 
 
 
 | 210 | .debug_ranges   : | 
 
 
 
 
 | 211 | { | 
 
 
 
 
 | 212 | *(.debug_ranges) | 
 
 
 
 
 | 213 | } | 
 
 
 
 
 | 214 | .zdebug_ranges   : | 
 
 
 
 
 | 215 | { | 
 
 
 
 
 | 216 | *(.zdebug_ranges) | 
 
 
 
 
 | 217 | } | 
 
 
 
 
 | 218 | /* DWARF 4.  */ | 
 
 
 
 
 | 219 | .debug_types   : | 
 
 
 
 
 | 220 | { | 
 
 
 
 
 | 221 | *(.debug_types) | 
 
 
 
 
 | 222 | } | 
 
 
 
 
 | 223 | .zdebug_types   : | 
 
 
 
 
 | 224 | { | 
 
 
 
 
 | 225 | *(.zdebug_types) | 
 
 
 
 
 | 226 | } | 
 
 
 
 
 | 227 | /* DWARF 5.  */ | 
 
 
 
 
 | 228 | .debug_addr   : | 
 
 
 
 
 | 229 | { | 
 
 
 
 
 | 230 | *(.debug_addr) | 
 
 
 
 
 | 231 | } | 
 
 
 
 
 | 232 | .zdebug_addr   : | 
 
 
 
 
 | 233 | { | 
 
 
 
 
 | 234 | *(.zdebug_addr) | 
 
 
 
 
 | 235 | } | 
 
 
 
 
 | 236 | .debug_line_str   : | 
 
 
 
 
 | 237 | { | 
 
 
 
 
 | 238 | *(.debug_line_str) | 
 
 
 
 
 | 239 | } | 
 
 
 
 
 | 240 | .zdebug_line_str   : | 
 
 
 
 
 | 241 | { | 
 
 
 
 
 | 242 | *(.zdebug_line_str) | 
 
 
 
 
 | 243 | } | 
 
 
 
 
 | 244 | .debug_loclists   : | 
 
 
 
 
 | 245 | { | 
 
 
 
 
 | 246 | *(.debug_loclists) | 
 
 
 
 
 | 247 | } | 
 
 
 
 
 | 248 | .zdebug_loclists   : | 
 
 
 
 
 | 249 | { | 
 
 
 
 
 | 250 | *(.zdebug_loclists) | 
 
 
 
 
 | 251 | } | 
 
 
 
 
 | 252 | .debug_macro   : | 
 
 
 
 
 | 253 | { | 
 
 
 
 
 | 254 | *(.debug_macro) | 
 
 
 
 
 | 255 | } | 
 
 
 
 
 | 256 | .zdebug_macro   : | 
 
 
 
 
 | 257 | { | 
 
 
 
 
 | 258 | *(.zdebug_macro) | 
 
 
 
 
 | 259 | } | 
 
 
 
 
 | 260 | .debug_names   : | 
 
 
 
 
 | 261 | { | 
 
 
 
 
 | 262 | *(.debug_names) | 
 
 
 
 
 | 263 | } | 
 
 
 
 
 | 264 | .zdebug_names   : | 
 
 
 
 
 | 265 | { | 
 
 
 
 
 | 266 | *(.zdebug_names) | 
 
 
 
 
 | 267 | } | 
 
 
 
 
 | 268 | .debug_rnglists   : | 
 
 
 
 
 | 269 | { | 
 
 
 
 
 | 270 | *(.debug_rnglists) | 
 
 
 
 
 | 271 | } | 
 
 
 
 
 | 272 | .zdebug_rnglists   : | 
 
 
 
 
 | 273 | { | 
 
 
 
 
 | 274 | *(.zdebug_rnglists) | 
 
 
 
 
 | 275 | } | 
 
 
 
 
 | 276 | .debug_str_offsets   : | 
 
 
 
 
 | 277 | { | 
 
 
 
 
 | 278 | *(.debug_str_offsets) | 
 
 
 
 
 | 279 | } | 
 
 
 
 
 | 280 | .zdebug_str_offsets   : | 
 
 
 
 
 | 281 | { | 
 
 
 
 
 | 282 | *(.zdebug_str_offsets) | 
 
 
 
 
 | 283 | } | 
 
 
 
 
 | 284 | .debug_sup   : | 
 
 
 
 
 | 285 | { | 
 
 
 
 
 | 286 | *(.debug_sup) | 
 
 
 
 
 | 287 | } | 
 
 
 
 
 | 288 | /* For Go and Rust.  */ | 
 
 
 
 
 | 289 | .debug_gdb_scripts   : | 
 
 
 
 
 | 290 | { | 
 
 
 
 
 | 291 | *(.debug_gdb_scripts) | 
 
 
 
 
 | 292 | } | 
 
 
 
 
 | 293 | .zdebug_gdb_scripts   : | 
 
 
 
 
 | 294 | { | 
 
 
 
 
 | 295 | *(.zdebug_gdb_scripts) | 
 
 
 
 
 | 296 | } | 
 
 
 
 
 | 297 | } |