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 [EMAIL PROTECTED]
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 [EMAIL PROTECTED] symbols with the corresponding _ct_xxx entries in the .a/.dll?
Have you tried the ld flag '--enable-stdcall-fixup'?
Gerrit -- =^..^=
-- 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/