This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Mingw-users] Re: libbfd, libtool & Win32



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 -lgdi32

which 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]