I'm trying to debug a mingw crash. My program failed to start with a acess violation on Windows.
I was able to track it down to:
====
#include
On Mon, Mar 07, 2016 at 08:46:10PM +0100, Martin Koegler wrote:
I'm trying to debug a mingw crash. My program failed to start with a acess violation on Windows.
It is the ld option --gc-sections:
d1.cpp:
====
extern const long testval[2] = {1, 2};
====
d2.cpp:
===
#include
Hi Martin,
I'm trying to debug a mingw crash. My program failed to start with a acess violation on Windows.
It is the ld option --gc-sections:
Take a look at these bug reports. They have patches that you can try out and see if they fix the problem... https://sourceware.org/bugzilla/show_bug.cgi?id=19531 https://sourceware.org/bugzilla/show_bug.cgi?id=19480 Cheers Nick -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-mingw+owner@opensuse.org
On Thu, Mar 10, 2016 at 02:08:41PM +0000, Nick Clifton wrote:
I'm trying to debug a mingw crash. My program failed to start with a acess violation on Windows.
It is the ld option --gc-sections:
Take a look at these bug reports. They have patches that you can try out and see if they fix the problem...
https://sourceware.org/bugzilla/show_bug.cgi?id=19531 https://sourceware.org/bugzilla/show_bug.cgi?id=19480
master (00dbd492e462565366a2691e0579b510ce4c3733) with both patches: ld still produces executables showing the same error. $ x86_64-w64-mingw32-objdump -xSd d1.o d1.o: file format pe-x86-64 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000000 0000000000000000 0000000000000000 00000000 2**4 ALLOC, LOAD, READONLY, CODE 1 .data 00000000 0000000000000000 0000000000000000 00000000 2**4 ALLOC, LOAD, DATA 2 .bss 00000000 0000000000000000 0000000000000000 00000000 2**4 ALLOC 3 .rdata 00000010 0000000000000000 0000000000000000 000000dc 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .rdata$zzz 00000020 0000000000000000 0000000000000000 000000ec 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA SYMBOL TABLE: [ 0](sec -2)(fl 0x00)(ty 0)(scl 103) (nx 1) 0x0000000000000000 d1.cpp File [ 2](sec 1)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x0000000000000000 .text AUX scnlen 0x0 nreloc 0 nlnno 0 [ 4](sec 2)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x0000000000000000 .data AUX scnlen 0x0 nreloc 0 nlnno 0 [ 6](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x0000000000000000 .bss AUX scnlen 0x0 nreloc 0 nlnno 0 [ 8](sec 4)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x0000000000000000 .rdata AUX scnlen 0x8 nreloc 0 nlnno 0 [ 10](sec 5)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x0000000000000000 .rdata$zzz AUX scnlen 0x11 nreloc 0 nlnno 0 [ 12](sec 4)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 testval Contents of section .rdata: 0000 01000000 02000000 00000000 00000000 ................ Contents of section .rdata$zzz: 0000 4743433a 2028474e 55292035 2e332e30 GCC: (GNU) 5.3.0 0010 00000000 00000000 00000000 00000000 ................ It looks like, ld is removing the .rdata + .rdata$zzz section: /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata' in file '/tmp/ccmBHoSC.o' /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata$zzz' in file '/tmp/ccmBHoSC.o' Regards, Martin -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-mingw+owner@opensuse.org
Hi Martin,
ld still produces executables showing the same error.
It looks like, ld is removing the .rdata + .rdata$zzz section: /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata' in file '/tmp/ccmBHoSC.o' /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata$zzz' in file '/tmp/ccmBHoSC.o'
Is this wrong ? Ie why should these sections be retained ? Presumably the linker has not found any relocations that point into these sections, so it deduces that they are not needed and discards them. Cheers Nick -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-mingw+owner@opensuse.org
On Fri, Mar 11, 2016 at 10:50:50AM +0000, Nick Clifton wrote:
ld still produces executables showing the same error.
It looks like, ld is removing the .rdata + .rdata$zzz section: /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata' in file '/tmp/ccmBHoSC.o' /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata$zzz' in file '/tmp/ccmBHoSC.o'
Is this wrong ? Ie why should these sections be retained ?
Presumably the linker has not found any relocations that point into these sections, so it deduces that they are not needed and discards them.
The problem is, that the symbols of deleted sections are still exported: ===== d1a.dll: file format pei-x86-64 Export Address Table -- Ordinal Base 1 [ 0] +base[ 1] 94880000 Export RVA [Ordinal/Name Pointer] Table [ 0] testval SYMBOL TABLE: [1023](sec 0)(fl 0x00)(ty 0)(scl 106) (nx 0) 0x0000000000000000 testval ==== or in the import library: ==== SYMBOL TABLE: [ 0](sec 1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .text [ 1](sec 2)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$7 [ 2](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$5 [ 3](sec 4)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$4 [ 4](sec 5)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$6 [ 5](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __imp_testval [ 6](sec 5)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __nm_testval [ 7](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head_d1a_dll Contents of section .idata$7: 0000 00000000 .... Contents of section .idata$5: 0000 00000000 00000000 ........ Contents of section .idata$4: 0000 00000000 00000000 ........ Contents of section .idata$6: 0000 00007465 73747661 6c000000 ..testval... ==== I can't answer, if ld should delete/or keep that sections, but it should not export deleted symbols with bogus values. Regards, Martin -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-mingw+owner@opensuse.org
On Fri, Mar 11, 2016 at 07:49:53PM +0100, Martin Koegler wrote:
On Fri, Mar 11, 2016 at 10:50:50AM +0000, Nick Clifton wrote:
ld still produces executables showing the same error.
It looks like, ld is removing the .rdata + .rdata$zzz section: /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata' in file '/tmp/ccmBHoSC.o' /tmp/binutils-gdb/inst/usr/local/bin/x86_64-w64-mingw32-ld: Removing unused section '.rdata$zzz' in file '/tmp/ccmBHoSC.o'
Is this wrong ? Ie why should these sections be retained ?
Presumably the linker has not found any relocations that point into these sections, so it deduces that they are not needed and discards them.
The problem is, that the symbols of deleted sections are still exported:
A minimal example: dx.s: ============= .text .globl DllMainCRTStartup DllMainCRTStartup: movl $1, %eax ret .globl testval .section .rdata,"dr" testval: .long 1 .long 2 ================ x86_64-w64-mingw32-as -o dx.o dx.s x86_64-w64-mingw32-ld -o dx.dll -shared dx.o --print-gc-sections --out-implib dx.dll.a --gc-sections | Removing unused section '.text' in file 'dx.o' | Removing unused section '.rdata' in file 'dx.o' The dll is missing the the content, as .text + .rdata got removed, but still contains bogus symbols: dx.dll: file format pei-x86-64 dx.dll architecture: i386:x86-64, flags 0x00000133: HAS_RELOC, EXEC_P, HAS_SYMS, HAS_LOCALS, D_PAGED start address 0x0000000000000000 Characteristics 0x2226 executable line numbers stripped large address aware debugging information removed DLL Time/Date Sat Mar 12 12:37:18 2016 Magic 020b (PE32+) MajorLinkerVersion 2 MinorLinkerVersion 26 SizeOfCode 00000000 SizeOfInitializedData 00000400 SizeOfUninitializedData 00000000 AddressOfEntryPoint 0000000000000000 BaseOfCode 0000000000001000 ImageBase 0000000010000000 SectionAlignment 0000000000001000 FileAlignment 0000000000000200 MajorOSystemVersion 4 MinorOSystemVersion 0 MajorImageVersion 0 MinorImageVersion 0 MajorSubsystemVersion 5 MinorSubsystemVersion 2 Win32Version 00000000 SizeOfImage 00004000 SizeOfHeaders 00000400 CheckSum 0000a0ed Subsystem 00000003 (Windows CUI) DllCharacteristics 00000000 SizeOfStackReserve 0000000000200000 SizeOfStackCommit 0000000000001000 SizeOfHeapReserve 0000000000100000 SizeOfHeapCommit 0000000000001000 LoaderFlags 00000000 NumberOfRvaAndSizes 00000010 The Data Directory Entry 0 0000000000002000 00000041 Export Directory [.edata (or where ever we found it)] Entry 1 0000000000003000 00000014 Import Directory [parts of .idata] Entry 2 0000000000000000 00000000 Resource Directory [.rsrc] Entry 3 0000000000000000 00000000 Exception Directory [.pdata] Entry 4 0000000000000000 00000000 Security Directory Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc] Entry 6 0000000000000000 00000000 Debug Directory Entry 7 0000000000000000 00000000 Description Directory Entry 8 0000000000000000 00000000 Special Directory Entry 9 0000000000000000 00000000 Thread Storage Directory [.tls] Entry a 0000000000000000 00000000 Load Configuration Directory Entry b 0000000000000000 00000000 Bound Import Directory Entry c 0000000000000000 00000000 Import Address Table Directory Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved There is an import table in .idata at 0x10003000 The Import Tables (interpreted .idata section contents) vma: Hint Time Forward DLL First Table Stamp Chain Name Thunk 00003000 00000000 00000000 00000000 00000000 00000000 There is an export table in .edata at 0x10002000 The Export Tables (interpreted .edata section contents) Export Flags 0 Time/Date stamp 56e40d7e Major/Minor 0/0 Name 0000000000002032 dx.dll Ordinal Base 1 Number in: Export Address Table 00000001 [Name Pointer/Ordinal] Table 00000001 Table Addresses Export Address Table 0000000000002028 Name Pointer Table 000000000000202c Ordinal Table 0000000000002030 Export Address Table -- Ordinal Base 1 [ 0] +base[ 1] f0000000 Export RVA [Ordinal/Name Pointer] Table [ 0] testval Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000020 0000000010001000 0000000010001000 00000400 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .edata 00000041 0000000010002000 0000000010002000 00000600 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .idata 00000014 0000000010003000 0000000010003000 00000800 2**2 CONTENTS, ALLOC, LOAD, DATA SYMBOL TABLE: [ 0](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 ___RUNTIME_PSEUDO_RELOC_LIST__ [ 1](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_start__ [ 2](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___DTOR_LIST__ [ 3](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_start__ [ 4](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000010000000 __ImageBase [ 5](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_start [ 6](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __dll_characteristics__ [ 7](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_stack_commit__ [ 8](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__ [ 9](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000005 __major_subsystem_version__ [ 10](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xl_start__ [ 11](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xi_start__ [ 12](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xi_end__ [ 13](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_start__ [ 14](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 ___RUNTIME_PSEUDO_RELOC_LIST_END__ [ 15](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_heap_commit__ [ 16](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xp_start__ [ 17](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xp_end__ [ 18](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __dll__ [ 19](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_os_version__ [ 20](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000010000000 __image_base__ [ 21](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __section_alignment__ [ 22](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 __IAT_end__ [ 23](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __RUNTIME_PSEUDO_RELOC_LIST__ [ 24](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_end__ [ 25](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __CTOR_LIST__ [ 26](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_end__ [ 27](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xc_end__ [ 28](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xc_start__ [ 29](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___CTOR_LIST__ [ 30](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_size [ 31](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000200 __file_alignment__ [ 32](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000004 __major_os_version__ [ 33](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 __IAT_start__ [ 34](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __end__ [ 35](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 __DTOR_LIST__ [ 36](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__ [ 37](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xt_start__ [ 38](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000003 __subsystem__ [ 39](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_end__ [ 40](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __major_image_version__ [ 41](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __loader_flags__ [ 42](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_end [ 43](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000002 __minor_subsystem_version__ [ 44](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_image_version__ [ 45](sec 0)(fl 0x00)(ty 0)(scl 106) (nx 0) 0x0000000000000000 DllMainCRTStartup [ 46](sec 0)(fl 0x00)(ty 0)(scl 106) (nx 0) 0x0000000000000000 testval [ 47](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __RUNTIME_PSEUDO_RELOC_LIST_END__ [ 48](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___crt_xt_end__ Contents of section .text: 10001000 ffffffff ffffffff 00000000 00000000 ................ 10001010 ffffffff ffffffff 00000000 00000000 ................ Contents of section .edata: 10002000 00000000 7e0de456 00000000 32200000 ....~..V....2 .. 10002010 01000000 01000000 01000000 28200000 ............( .. 10002020 2c200000 30200000 000000f0 39200000 , ..0 ......9 .. 10002030 00006478 2e646c6c 00746573 7476616c ..dx.dll.testval 10002040 00 . Contents of section .idata: 10003000 00000000 00000000 00000000 00000000 ................ 10003010 00000000 .... Disassembly of section .text: 0000000010001000 <__CTOR_LIST__>: 10001000: ff (bad) 10001001: ff (bad) 10001002: ff (bad) 10001003: ff (bad) 10001004: ff (bad) 10001005: ff (bad) 10001006: ff (bad) 10001007: ff 00 incl (%rax) 10001009: 00 00 add %al,(%rax) 1000100b: 00 00 add %al,(%rax) 1000100d: 00 00 add %al,(%rax) ... 0000000010001010 <__DTOR_LIST__>: 10001010: ff (bad) 10001011: ff (bad) 10001012: ff (bad) 10001013: ff (bad) 10001014: ff (bad) 10001015: ff (bad) 10001016: ff (bad) 10001017: ff 00 incl (%rax) 10001019: 00 00 add %al,(%rax) 1000101b: 00 00 add %al,(%rax) 1000101d: 00 00 add %al,(%rax) ... The import library: In archive dx.dll.a: d000002.o: file format pe-x86-64 rw-r--r-- 1000/1000 253 Mar 12 12:37 2016 d000002.o architecture: i386:x86-64, flags 0x00000038: HAS_DEBUG, HAS_SYMS, HAS_LOCALS start address 0x0000000000000000 Characteristics 0x5 relocations stripped line numbers stripped Time/Date Thu Jan 1 00:00:00 1970 Magic 0000 MajorLinkerVersion 0 MinorLinkerVersion 0 SizeOfCode 00000000 SizeOfInitializedData 00000000 SizeOfUninitializedData 00000000 AddressOfEntryPoint 0000000000000000 BaseOfCode 0000000000000000 ImageBase 0000000000000000 SectionAlignment 0000000000000000 FileAlignment 0000000000000000 MajorOSystemVersion 0 MinorOSystemVersion 0 MajorImageVersion 0 MinorImageVersion 0 MajorSubsystemVersion 0 MinorSubsystemVersion 0 Win32Version 00000000 SizeOfImage 00000000 SizeOfHeaders 00000000 CheckSum 00000000 Subsystem 00000000 (unspecified) DllCharacteristics 00000000 SizeOfStackReserve 0000000000000000 SizeOfStackCommit 0000000000000000 SizeOfHeapReserve 0000000000000000 SizeOfHeapCommit 0000000000000000 LoaderFlags 00000000 NumberOfRvaAndSizes 00000000 The Data Directory Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)] Entry 1 0000000000000000 00000000 Import Directory [parts of .idata] Entry 2 0000000000000000 00000000 Resource Directory [.rsrc] Entry 3 0000000000000000 00000000 Exception Directory [.pdata] Entry 4 0000000000000000 00000000 Security Directory Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc] Entry 6 0000000000000000 00000000 Debug Directory Entry 7 0000000000000000 00000000 Description Directory Entry 8 0000000000000000 00000000 Special Directory Entry 9 0000000000000000 00000000 Thread Storage Directory [.tls] Entry a 0000000000000000 00000000 Load Configuration Directory Entry b 0000000000000000 00000000 Bound Import Directory Entry c 0000000000000000 00000000 Import Address Table Directory Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved Sections: Idx Name Size VMA LMA File off Algn 0 .idata$4 00000008 0000000000000000 0000000000000000 0000008c 2**2 CONTENTS 1 .idata$5 00000008 0000000000000000 0000000000000000 00000094 2**2 CONTENTS 2 .idata$7 00000008 0000000000000000 0000000000000000 0000009c 2**2 CONTENTS SYMBOL TABLE: [ 0](sec 1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$4 [ 1](sec 2)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$5 [ 2](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$7 [ 3](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 dx_dll_iname Contents of section .idata$4: 0000 00000000 00000000 ........ Contents of section .idata$5: 0000 00000000 00000000 ........ Contents of section .idata$7: 0000 64782e64 6c6c0000 dx.dll.. d000000.o: file format pe-x86-64 rw-r--r-- 1000/1000 310 Mar 12 12:37 2016 d000000.o architecture: i386:x86-64, flags 0x00000039: HAS_RELOC, HAS_DEBUG, HAS_SYMS, HAS_LOCALS start address 0x0000000000000000 Characteristics 0x4 line numbers stripped Time/Date Thu Jan 1 00:00:00 1970 Magic 0000 MajorLinkerVersion 0 MinorLinkerVersion 0 SizeOfCode 00000000 SizeOfInitializedData 00000000 SizeOfUninitializedData 00000000 AddressOfEntryPoint 0000000000000000 BaseOfCode 0000000000000000 ImageBase 0000000000000000 SectionAlignment 0000000000000000 FileAlignment 0000000000000000 MajorOSystemVersion 0 MinorOSystemVersion 0 MajorImageVersion 0 MinorImageVersion 0 MajorSubsystemVersion 0 MinorSubsystemVersion 0 Win32Version 00000000 SizeOfImage 00000000 SizeOfHeaders 00000000 CheckSum 00000000 Subsystem 00000000 (unspecified) DllCharacteristics 00000000 SizeOfStackReserve 0000000000000000 SizeOfStackCommit 0000000000000000 SizeOfHeapReserve 0000000000000000 SizeOfHeapCommit 0000000000000000 LoaderFlags 00000000 NumberOfRvaAndSizes 00000000 The Data Directory Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)] Entry 1 0000000000000000 00000000 Import Directory [parts of .idata] Entry 2 0000000000000000 00000000 Resource Directory [.rsrc] Entry 3 0000000000000000 00000000 Exception Directory [.pdata] Entry 4 0000000000000000 00000000 Security Directory Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc] Entry 6 0000000000000000 00000000 Debug Directory Entry 7 0000000000000000 00000000 Description Directory Entry 8 0000000000000000 00000000 Special Directory Entry 9 0000000000000000 00000000 Thread Storage Directory [.tls] Entry a 0000000000000000 00000000 Load Configuration Directory Entry b 0000000000000000 00000000 Bound Import Directory Entry c 0000000000000000 00000000 Import Address Table Directory Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved Sections: Idx Name Size VMA LMA File off Algn 0 .idata$2 00000014 0000000000000000 0000000000000000 0000008c 2**2 CONTENTS, RELOC 1 .idata$5 00000000 0000000000000000 0000000000000000 00000000 2**2 2 .idata$4 00000000 0000000000000000 0000000000000000 00000000 2**2 SYMBOL TABLE: [ 0](sec 1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$2 [ 1](sec 2)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$5 [ 2](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$4 [ 3](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head_dx_dll [ 4](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 dx_dll_iname Contents of section .idata$2: 0000 00000000 00000000 00000000 00000000 ................ 0010 00000000 .... d000001.o: file format pe-x86-64 rw-r--r-- 1000/1000 470 Mar 12 12:37 2016 d000001.o architecture: i386:x86-64, flags 0x00000039: HAS_RELOC, HAS_DEBUG, HAS_SYMS, HAS_LOCALS start address 0x0000000000000000 Characteristics 0x4 line numbers stripped Time/Date Thu Jan 1 00:00:00 1970 Magic 0000 MajorLinkerVersion 0 MinorLinkerVersion 0 SizeOfCode 00000000 SizeOfInitializedData 00000000 SizeOfUninitializedData 00000000 AddressOfEntryPoint 0000000000000000 BaseOfCode 0000000000000000 ImageBase 0000000000000000 SectionAlignment 0000000000000000 FileAlignment 0000000000000000 MajorOSystemVersion 0 MinorOSystemVersion 0 MajorImageVersion 0 MinorImageVersion 0 MajorSubsystemVersion 0 MinorSubsystemVersion 0 Win32Version 00000000 SizeOfImage 00000000 SizeOfHeaders 00000000 CheckSum 00000000 Subsystem 00000000 (unspecified) DllCharacteristics 00000000 SizeOfStackReserve 0000000000000000 SizeOfStackCommit 0000000000000000 SizeOfHeapReserve 0000000000000000 SizeOfHeapCommit 0000000000000000 LoaderFlags 00000000 NumberOfRvaAndSizes 00000000 The Data Directory Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)] Entry 1 0000000000000000 00000000 Import Directory [parts of .idata] Entry 2 0000000000000000 00000000 Resource Directory [.rsrc] Entry 3 0000000000000000 00000000 Exception Directory [.pdata] Entry 4 0000000000000000 00000000 Security Directory Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc] Entry 6 0000000000000000 00000000 Debug Directory Entry 7 0000000000000000 00000000 Description Directory Entry 8 0000000000000000 00000000 Special Directory Entry 9 0000000000000000 00000000 Thread Storage Directory [.tls] Entry a 0000000000000000 00000000 Load Configuration Directory Entry b 0000000000000000 00000000 Bound Import Directory Entry c 0000000000000000 00000000 Import Address Table Directory Entry d 0000000000000000 00000000 Delay Import Directory Entry e 0000000000000000 00000000 CLR Runtime Header Entry f 0000000000000000 00000000 Reserved Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000000 0000000000000000 0000000000000000 00000000 2**2 ALLOC, LOAD, READONLY, CODE 1 .idata$7 00000004 0000000000000000 0000000000000000 000000dc 2**2 CONTENTS, RELOC 2 .idata$5 00000008 0000000000000000 0000000000000000 000000e0 2**2 CONTENTS, RELOC 3 .idata$4 00000008 0000000000000000 0000000000000000 000000e8 2**2 CONTENTS, RELOC 4 .idata$6 0000000c 0000000000000000 0000000000000000 000000f0 2**2 CONTENTS SYMBOL TABLE: [ 0](sec 1)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .text [ 1](sec 2)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$7 [ 2](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$5 [ 3](sec 4)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$4 [ 4](sec 5)(fl 0x00)(ty 0)(scl 3) (nx 0) 0x0000000000000000 .idata$6 [ 5](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __imp_testval [ 6](sec 5)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __nm_testval [ 7](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head_dx_dll Contents of section .idata$7: 0000 00000000 .... Contents of section .idata$5: 0000 00000000 00000000 ........ Contents of section .idata$4: 0000 00000000 00000000 ........ Contents of section .idata$6: 0000 00007465 73747661 6c000000 ..testval... Regards, Martin -- To unsubscribe, e-mail: opensuse-mingw+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-mingw+owner@opensuse.org
participants (2)
-
Martin Koegler
-
Nick Clifton