Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Subject: Re: Using Sybase DLLs from Cygwin apps From: Michael Peppler To: cygwin AT cygwin DOT com In-Reply-To: <41A702DC.5000708@familiehaase.de> References: <1101230373 DOT 3390 DOT 59 DOT camel AT localhost DOT localdomain> <41A702DC DOT 5000708 AT familiehaase DOT de> Content-Type: text/plain Message-Id: <1101466186.3327.10.camel@localhost.localdomain> Mime-Version: 1.0 Date: Fri, 26 Nov 2004 11:49:46 +0100 Content-Transfer-Encoding: 7bit X-Greylist: Sender succeded SMTP AUTH authentication, not delayed by milter-greylist-1.5.11 (gw.peppler.org [207.234.209.79]); Fri, 26 Nov 2004 05:49:49 -0500 (EST) X-Virus-Scanned: ClamAV 0.80/550/Mon Oct 25 11:39:01 2004 clamav-milter version 0.80j on gw.peppler.org X-Virus-Status: Clean X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.64 X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on gw.peppler.org X-IsSubscribed: yes On Fri, 2004-11-26 at 11:18, Gerrit P. Haase wrote: > Michael Peppler wrote: > > > [ Note - I'm a Unix/linux person and know very little about Windows ] > > > > I'm trying to build sqsh under Cygwin and I'm running into a problem > > with decorate vs. non-decorated library symbols. > > > > Sybase uses the __stdcall calling convention for its libraries under > > Windows, so gcc generates symbols like _ct_results AT 8. > > > > I've gone through the Cygwin docs on linking with Windows DLLs, and I've > > generated three .def files and .a files using the following: > > > > cd $SYBASE/OCS-12_5/lib > > for i in libblk libcs libct; do > > echo "EXPORTS" >${i}.def > > nm ${i}.lib | grep 'T _' | sed 's/.* T _//' >>${i}.def > > dlltool --dllname ${i}.dll --def ${i}.def --output-lib ${i}.a > > done > > > > This generates what looks like valid .a files, *but* they are all with > > non-decorated symbols, and of course the link phase fails. > > > > Is there a way to direct the linker to match up the _ct_xxx AT y symbols > > with the corresponding _ct_xxx entries in the .a/.dll? > > Have you tried the ld flag '--enable-stdcall-fixup'? Thanks, but a quick test doesn't appear to show any improvements. I'll try some more permutations when I have more time. Michael -- Michael Peppler Data Migrations, Inc. mpeppler AT peppler DOT org 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/