|
From: | Guido Draheim |
Subject: | Re: [Mingw-users] Re: libbfd, libtool & Win32 |
Date: | Mon, 16 Sep 2002 22:35:09 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826 |
Earnie Boyd wrote:
Guido Draheim wrote:Earnie Boyd wrote:Oh, that's news to me. So, one can take the _linker_ to produce a def file which contains the --dynamic-export-symbols? How is that? I've looked into dlltool -z too long, it seems... (and btw, _how_ recent that my be? ye know, these things happen to be unresolved for years now....)Here's an example for the mingw-users archives. g++ -shared -Wl,--output-def,lib/example.def -Wl,--out-implib,lib/libexample .dll.a -Wl,--export-all-symbols -Wl,--add-stdcall-alias -o example.dll example.o -lpng12 -ltiff -lz -ljpeg -lungif -lgdi32which simply means that Olofson should stop looking into dlltool, right!? That's because the work would only be useful for setups with an older gcc/binutils pair. And the real work should be done in libtool.m4 to be able to detect the newest format and implant calls as those above. Is the format above the final call-scheme? (or still under change?)This sounds like a question for bintuils. I've added them to the CC list. As for not using dlltool, IIRC the above g++ example won't work in all cases at this time so dlltool should be used for now. Danny Smith, please correct me if that is incorrect.
hmm, perhaps, the LD can now link with dlls directly, and that should be checked throughoughly. That was achieved by pushing code from the dlltool into the LD, what I now wonder if it wouldn't be right to put the other part of dlltool into objdump. The LD is used to create a dll, and objdump is used to examine a dll, that's the scheme. As noted by Rob Collins, the objdump does already exhibit the symbol tables and he did guess that there is also the export table which is fetched with the impgen.c extra code in libtool - but in a format unusable by other compile steps. Now, we have dlltool-z to take a .dll and create a .def file. Can we have a w32-specific objdump call to not only print the export-table, but have in a def-style format? That we can then use for other compile steps? Actually, some other platforms use -no-undefined too, and they do of course examine the other libs with the help of objdump - it's just they need no def files, just map-style functionname lists (for the unresolvable symbols detection made by libtool). Putting a w32-specific output-formatting option into objdump would solve the impgen.c crosscompiler problem too, I hope. And the `objdump -p` does already see an export-table today. See the example in Rob's message: mail.gnu.org/pipermail/libtool/2002-January/005942.html for reference, the description I made back then: http://mail.gnu.org/pipermail/libtool/2002-January/005931.html thanks, and good luck, guido
[Prev in Thread] | Current Thread | [Next in Thread] |