delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/11/24/10:26:11

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Date: Wed, 24 Nov 99 15:23:40 GMT
From: peter AT telnet-research DOT co DOT uk (Peter Hudson +44 1892 541 720)
Message-Id: <9911241523.AA21571@telnet-research.co.uk>
To: cygwin AT sourceware DOT cygnus DOT com
Subject: Dlls @n symbols in Sybase

I am trying to write a Cygwin application that uses a Sybase Open
Client DLL (libsybdb.dll). Just about all of its symbols in the
.lib file end with @<n>

I have created a .a following the standard Cygwin documentation, with the
addition of --add-stdcall-alias .

However, if I then do an 'nm' on the resulting .a , the aliases without @<n>
aren't there, so my link fails with undefined symbols. My exact commands
are:

echo EXPORTS > LIBSYBDB.def
nm LIBSYBDB.lib | grep ' T _' | sed -e 's/.* T _//' >> LIBSYBDB.def
dlltool -v --add-stdcall-alias --def LIBSYBDB.def --dllname LIBSYBDB.dll \
  --output-lib LIBSYBDB.a

I have also experimented with --kill-at , but this makes no difference.

I have also manually edited the .def file, following a suggestion in the
mail archive, by adding this sort of aliasing:

 LIBRARY sample
 EXPORTS
 Bar AT 0
 Bar=Bar AT 0
 Foo AT 24
 Foo=Foo AT 24

This overcomes the undefined symbols at link time. But at runtime, the
stack gets corrupted ('where' in gdb becomes corrupt).

My main issue here is that --add-stdcall-alias does not seem to
have any effect. Why might that be?

Thanks for any suggestions.

Peter Hudson
Telnet Research Ltd

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019