This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [opensuse-mingw] RFH: Strange mingw behaviour
- From: Martin Koegler <martin dot koegler at chello dot at>
- To: Martin Koegler <martin dot koegler at chello dot at>
- Cc: Nick Clifton <nickc at redhat dot com>, binutils at sourceware dot org, opensuse-mingw at opensuse dot org
- Date: Sat, 12 Mar 2016 13:47:45 +0100
- Subject: Re: [opensuse-mingw] RFH: Strange mingw behaviour
- Authentication-results: sourceware.org; auth=none
- References: <20160307194610 dot GA11986 at mail dot zuhause> <20160309212756 dot GA21220 at mail dot zuhause> <56E17FE9 dot 2070602 at redhat dot com> <20160310214948 dot GA24855 at mail dot zuhause> <56E2A30A dot 2030501 at redhat dot com> <20160311184953 dot GB1717 at mail dot zuhause>
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