Newbie questions about Pliant

Newbie questions about Pliant

compiling vncchallenge.dll (-mrtd)

trouble compiling vncchallenge.dll with -mrtd flag
Message posted by maybe Boris Reitman on 2008/03/21 18:27:20
If I remove the -mrtd flag it compiles but pliant can't load the DLL.

Here is the build script. I run this from inside cygwin bash window:

-- 8< --
set -x
gcc -O2 -m486 -mregparm=3 -mrtd -D_REGISTERS_ -U__stdcall -D_NOCHECK_ -fomit-frame-pointer -D_LISTING_ -Dc_debugging_level=0 -D_i386_ -D_WIN32_API_ -D_WIN32_ -D_GCC_ -D_DLL_ -nostdlib -c -o /tmp/vncchallenge.o vncauth.c d3des.c
echo EXPORTS>/tmp/vnc.def
echo vncEncryptBytes>>/tmp/vnc.def
dlltool --def /tmp/vnc.def --output-exp /tmp/vnc.exp --dllname vncchallenge.dll
ld --dll --enable-stdcall-fixup -s -o vncchallenge.dll /tmp/vnc.exp /tmp/vncchallenge.o #/usr/lib/libkernel32.a

--->8---


The error with -mrtd flag enabled:

---8<-----

+ gcc -O2 -m486 -mregparm=3 -mrtd -D_REGISTERS_ -U__stdcall -D_NOCHECK_ -fomit-frame-pointer -D_LISTING_ -Dc_debugging_level=0 -D_i386_ -D_WIN32_API_ -D_WIN32_ -D_GCC_ -D_DLL_ -nostdlib -c -o /tmp/vncchallenge.o vncauth.c d3des.c
In file included from /usr/include/sys/stat.h:9,
                 from vncauth.c:29:
/usr/include/time.h:150: error: conflicting types for 'clock_getres'
/usr/include/cygwin/time.h:20: error: previous declaration of 'clock_getres' was here
/usr/include/time.h:150: error: conflicting types for 'clock_getres'
/usr/include/cygwin/time.h:20: error: previous declaration of 'clock_getres' was here
/usr/include/time.h:171: error: conflicting types for 'nanosleep'
/usr/include/cygwin/time.h:18: error: previous declaration of 'nanosleep' was here
/usr/include/time.h:171: error: conflicting types for 'nanosleep'
/usr/include/cygwin/time.h:18: error: previous declaration of 'nanosleep' was here
+ echo EXPORTS
+ echo vncEncryptBytes
+ dlltool --def /tmp/vnc.def --output-exp /tmp/vnc.exp --dllname vncchallenge.dll
+ ld --dll --enable-stdcall-fixup -s -o vncchallenge.dll /tmp/vnc.exp /tmp/vncchallenge.o
----->8----


Also, where do I get /usr/lib/libkernel32.a (which cygwin package?) 
and do I need it ?

Thanks,
Boris
Message posted by maybe Boris Reitman on 2008/03/21 20:34:54
Note: I found libkernel32.a in my cygwin installation in /usr/lib/w32api/libkernel32.a