Mail Archives: cygwin/1997/07/10/15:31:07
It would appear that the export table of a dll, and the set of defined
symbols from a .lib file, don't always match up. This is causing me
problems trying to run my relocatable dll, which complains it can't
find a symbol in a dll it references. Typically what happens is that
the import mechanism is referencing _foo, whereas the export mechanism
has defined foo. I include some examples of this from kernel32.a It
isn't clear to me, but I assume that ld is responsible for building
the import table of the dll it is producing, in which case I have to
assume that link is doing some magic when producing this in order to
make the matchup work. Can anyone shed any light on this?
nm kernel32.lib | grep " T "
00000000 T _AddAtomA AT 4
00000000 T _AddAtomW AT 4
dumpbin /exports C:\WINNT4.0\system32\kernel32.dll
Microsoft (R) COFF Binary File Dumper Version 4.20.6164
Copyright (C) Microsoft Corp 1992-1996. All rights reserved.
Dump of file C:\WINNT4.0\system32\kernel32.dll
File Type: DLL
Section contains the following Exports for KERNEL32.dll
0 characteristics
31F7E30F time date stamp Thu Jul 25 22:11:43 1996
0.00 version
1 ordinal base
675 number of functions
675 number of names
ordinal hint name
1 0 AddAtomA (000079CA)
2 1 AddAtomW (00004499)
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
- Raw text -