delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/10/30/10:41:01

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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?= <horak AT sit DOT plzen-city DOT cz>,
"'cygwin AT sources DOT redhat DOT com'" <cygwin AT sources DOT redhat DOT com>
From: "Larry Hall (RFK Partners, Inc)" <lhall AT rfk DOT com>
Subject: RE: cygwin and InterBase 6.0
In-Reply-To: <15341111706EBF408162655EEEB44ABC0BF663@exchange2.mmp.plzen
-city.cz>
Mime-Version: 1.0

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

- Raw text -


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