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]

Re: Stdcall support in binutils


"DJ Delorie" <dj@delorie.com> wrote:

> > But in Windows all function names exported from the standartd libraries
> > (kernel32, gdi32, user32, etc.) have no any suffix at all, despite the fact
> > that they use stdcall calling convention. I need the same effect.
> 
> Use dlltool's -k option.  It means that the export has no @ while the
> symbol you link against in the import library does.  Then, give the
> stdcall name in the def file.

dlltools -k option (mentioned by me as --kill-at) helps to create a usable
import library (.a), but not the dll itself.

I wrote in the very first mail:
> Using decorated function names in the .def files (MyFunction1@4) and using
> --kill-at switch allows create the import libraries which solve the problem
> described above, but the use of the same .def file while building the dll
> itself leads to the decorated function names in the dll export table and
> impossibility to run.

So the questions remain the same:
1. How to use the same .def file for building the import library (.a) *and*
creating the .dll file itself? (requirement: Import library should contain
both decorated and not decorated names, while .dll file should have undecorated
names in the its export and import tables).

2. How to force dllwrap to successfully link with .dll files, whose export tables
have no stdcall @ decorations?

Thanks for your help.
--
Dmitry.


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