Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@sources.redhat.com Delivered-To: mailing list cygwin@sources.redhat.com Message-ID: <15341111706EBF408162655EEEB44ABC0BF663@exchange2.mmp.plzen-city.cz> From: =?iso-8859-2?Q?Hor=E1k_Daniel?= To: "'cygwin@sources.redhat.com'" Subject: RE: cygwin and InterBase 6.0 Date: Mon, 30 Oct 2000 12:54:27 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-2" > 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_...@xy from the import library. But when I created the import library with isc_...@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 -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com