On Tue, 2004-11-23 at 18:28, Christopher Faylor wrote: > On Tue, Nov 23, 2004 at 06:19:33PM +0100, Michael Peppler wrote: > >I'm trying to build sqsh under Cygwin and I'm running into a problem > >with decorate vs. non-decorated library symbols. > > > >Is there a way to direct the linker to match up the [EMAIL PROTECTED] symbols > >with the corresponding _ct_xxx entries in the .a/.dll? > > > >Building sqsh without the __stdcall calling convention results in a > >successful link, but the actual calls into the library fails (obviously > >because the caller and callee don't use the same calling conventions.) > > > >Any ideas and suggestions would be appreciated. > > Have you tried just linking directly to the DLL itself, i.e., use the DLL > on the command line. This should work for non-data references.
I tried it just now - same result: gcc cmd_alias.o ... ... sqsh_sigcld.o sqsh_stdin.o sqsh_strchr.o sqsh_tok.o sqsh_varbuf.o sqsh_main.o -Lc:/sybase/OCS-12_5/dll -lblk -lcs -lct -lreadline -ltermcap -o sqsh cmd_bcp.o(.text+0x486): In function `cmd_bcp': /home/Michael/sqsh-cvs/src/cmd_bcp.c:336: undefined reference to [EMAIL PROTECTED]' ... I've been able to build this with the help of another sqsh user by generating the .def and .a files based on an older version of the Sybase libs - and these *have* the decorated versions of the symbols, and this links and runs fine in my environment (i.e. with the most recent DLLs.) I guess that as long as the calling sequences for each symbol remains the same. Michael -- Michael Peppler Data Migrations, Inc. [EMAIL PROTECTED] http://www.peppler.org/ Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short or long term contract positions - http://www.peppler.org/resume.html -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/