I am trying to link kernel32 and ntdll libraries to my source
code on SPARC Solaris 8.0. My executable does not exit.
It gets stuck after spawning 4 threads. The gdb trace is as
below:
Starting program:
/export/home/mrugan/src/HACore/HaNuanceChannelComRCE/nuancetest.exe
warning:
Lowest section in /usr/lib/libintl.so.1 is .hash at 00000074
warning:
Lowest section in /usr/lib/libw.so.1 is .hash at 00000074
[New LWP
1]
[New LWP 2]
[New LWP 3]
[New LWP 4]
^C
Program received
signal SIGINT, Interrupt.
0xff19b390 in ___lwp_cond_wait () from
/usr/lib/libc.so.1
(gdb) where
#0 0xff19b390 in ___lwp_cond_wait
() from /usr/lib/libc.so.1
#1 0xff192c08 in _lwp_cond_wait () from
/usr/lib/libc.so.1
#2 0xfef8c2f0 in _lrw_wrlock () from
/usr/lib/libthread.so.1
#3 0xff3bdacc in ?? ()
#4 0xff3c34f0
in ?? ()
#5 0xff3b29a0 in ?? ()
#6 0xff0863c8 in
__DTOR_END__ () from /opt/wine/dlls/libkernel32.so
#7 0xff02e140 in
frame_dummy () from /opt/wine/dlls/libkernel32.so
#8 0xff02cf80 in
_init () from /opt/wine/dlls/libkernel32.so
#9 0xff3bada0 in ??
()
#10 0xff3baa18 in ?? ()
#11 0xff3c4da0 in ?? ()
#12 0xff3b2958 in
?? ()
(gdb) inf thr
8 Thread
3 0xfef8d948 in
_reap_wait () from /usr/lib/libthread.so.1
7 Thread 2 (LWP 2)
0xff19ad50 in _signotifywait () from /usr/lib/libc.so.1
6 Thread 1
(LWP 1) 0xff19b390 in ___lwp_cond_wait () from /usr/lib/libc.so.1
* 5
LWP 1
0xff19b390 in ___lwp_cond_wait () from /usr/lib/libc.so.1
4
LWP 4
0xff19b390 in ___lwp_cond_wait () from /usr/lib/libc.so.1
3
LWP 3
0xff1988f4 in door_restart () from /usr/lib/libc.so.1
2
LWP 2
0xff19ad50 in _signotifywait () from /usr/lib/libc.so.1
* 1
LWP 1
0xff19b390 in ___lwp_cond_wait () from /usr/lib/libc.so.1
Note that I had to hit cntl-C to come out of thread message.
I guess this is happening because kernel32 tries to use thread
library. Is there any way I can make it use pthread or is there any other
solution to this?
Any help will be greatly appreciated
Thanks
Mrugan