From: Carlo W. <ca...@al...> - 2004-09-04 03:31:19
|
On Sat, Sep 04, 2004 at 02:35:09AM +0200, Hartmut Birr wrote: > Hi, > > something is wrong in dlltool. Linking against an import library which was > created with dlltool from a def file adds always the @-symbol (like > @KfLowerIrql@4 or HalInitSystem@8) to the imported names of the link target. > The parameter '--kill-at' doesn't help. Creating the import library with > dlltool 2.15.90 solves this problem. > > - Hartmut Are you sure the .def file doesn't contain explicit aliases? I recently submitted a patch for dlltool that change the behaviour a bit (actually correction wrong behaviour). If now the .def file contains: exportedname = internalname@8 Then --kill-at will be ignored and the 'internalname@8' will be used as specified. If the .def file contains no 'alias', like: HalInitSystem@8 THEN --kill-at should use 'HalInitSystem@8' as exported name (visible to the application, exported from .lib / dll.a) but 'HalInitSystem' as internal name (which can be seen with link.exe -dump -exported foo.dll ) Regards, -- Carlo Wood <ca...@al...> PS The old behaviour was that the '= ...' part was completely ignored. |