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: <15341111706EBF408162655EEEB44ABC0BF663@exchange2.mmp.plzen-city.cz> From: =?iso-8859-2?Q?Hor=E1k_Daniel?= To: "'cygwin AT sources DOT redhat DOT 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_ 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 -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com