Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <4.3.1.2.20001030103046.02207f00@pop.ma.ultranet.com> X-Sender: lhall AT pop DOT ma DOT ultranet DOT com X-Mailer: QUALCOMM Windows Eudora Version 4.3.1 Date: Mon, 30 Oct 2000 10:31:50 -0500 To: =?iso-8859-2?Q?Hor=E1k_Daniel?= , "'cygwin AT sources DOT redhat DOT com'" From: "Larry Hall (RFK Partners, Inc)" Subject: RE: cygwin and InterBase 6.0 In-Reply-To: <15341111706EBF408162655EEEB44ABC0BF663@exchange2.mmp.plzen -city.cz> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 06:54 AM 10/30/2000, =?iso-8859-2?Q?Hor=E1k_Daniel?= wrote: > > I have a problem with linking InterBase client library with > > my program. I > > was not able to use their import libraries (the MS C version > > uses a strange > > first character (a small house?) in the symbol name) so I > > must link directly > > with gds32.dll (the shared client library). And the problem > > is that when I > > call isc_dsql_describe() function (from IB client API) my > > programs crashes > > (with message from cygwin about "possibly corrupted stack"). > > I cannot say > > that it really corrupts the stack but it corrupts data > > structures that are > > passed into this function. But some other functions are > > working as expected. > > Can this crash be caused by a wrong use of exported data from the DLL? > > > > Has anybody experiences with Cygwin and InterBase? > > > > cygwin 1.1.4 > > binutils 20000722-1 > > gcc 2.95.2-2 > > InterBase 6.01 > > > >The problem was that both caller and callee removed function argument from >the stack. I have already solved this situation - I had to use MS C compiler >and linker. > >The InterBase client library gds32.dll exports the functions with names as >isc_dsql_describe etc., but the functions are compiled with __stdcall >convention (there are no @xy suffixes). When I included the header file with >stdcall set for the functions, I have got .o file. But this file must be >linked with functions isc_ DOT DOT DOT AT xy from the import library. But when I created >the import library with isc_ DOT DOT DOT AT xy functions that functions were not found >in the DLL. > >So is there any possibility in gcc to create the .o file where stdcall >functions will not have @xy suffix? Or is there a possibility to link >stdcall functions (with @xy suffix) with functions from import library >without @xy suffix? > > Dan If this is what you really want to do, why not map the name without @xy to the function name with @xy in your .def file? Larry Hall lhall AT rfk DOT com RFK Partners, Inc. http://www.rfk.com 118 Washington Street (508) 893-9779 - RFK Office Holliston, MA 01746 (508) 893-9889 - FAX -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com