2012/12/9 Václav Šmilauer <e...@doxos.eu>:
> Hi,
>
> I understand gendef generates symbols from non-mingw DLLs so that linker
> knows which symbols are defined.

This feature is already in ld.  And this feature of ld shows also why
.def files are to be preferred.

1.) A .def file can be used to generate an import-library without the
need of having *its* corresponding DLL-fille also on the system.
2.)  Think about 64-bit Windows OSes, where ld either is able to see
32-bit or 64-bit system-dlls, as it is either a 32-bit or a 64-bit
process.
3.)  By a .def file you can generate easily also delayed-import-libraries.
4.)  By a .def file you have the ability to mark explicit addtional
symobol-properties, like DATA etc.  You can't get this information
always correct by the DLL itself.

There are more advantages of .def files over the direct use of DLL files.

> What is the reason to have gendef, instead of making the linker understand
> the PE(+) formats so that it can read exported symbols from the DLL
> directly, at link time? Technical reasons? Lack of manpower? Historical?

And this aren't historical reasons. See above.  The use of .def files
has simply none-avoidable technical causes.

> Would it make sense to package gendef with the compiler, just like e.g.
> dlltool?

Hmm, it is release by us - mingw-w64 - as a standalong tool (we have
more like that, but well the use of gendef is wider spreaded).  I am
working also on binutils - what you might mean by "package ... with
the compiler", and well, gendef  has no equivalence to an MS-tool, so
I don't think it makes sense to add it there.  As far as I know is
gendef provided by us as cygwin-package - available through cygwin's
setup - and Ruben provides it - IIRC - within his personal-build, too.

> Cheers, Vaclav

Hope I could answer your questions.

Regards,
Kai

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to