Juergen,
Thanks for your help.
The LD_DEBUG shows the following:
31212: symbol=putpmsg; lookup in file=/lib/libc.so.6
31212: binding file /home/imslab/jets1000dev/dlpi/libdlpi.so to /lib/libc.so.6: symbol `putpmsg'
do_attach: put_msg(): Function not implemented
This is exactly as predicted.
However, when I attempt to do the command: 'LD_PRELOAD=/usr/lib/libLiS.so ... java'
The process hangs(long pause and no sign of completion in sight)- so i kill the process.
Q3.)Any ideas as to what might be the cause for this hangup using LD_PRELOAD?
Q4.)How do I build my own startup program for the linux JVM, linked against libLiS.so ??
This sounds like I need to rebuild the java executable? Am I understanding you correctly?
-----Original Message-----
From: Juergen Kreileder [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 25, 2002 4:37 PM
To: Quan, William [NGC:B866:EXCH]
Cc: '[EMAIL PROTECTED]'
Subject: Re: Linux JVM: JNI allow putmsg() syscalls in native code?
William Quan <[EMAIL PROTECTED]> writes:
> Q1.) Why is the JVM eclipsing my getmsg() and putmsg() syscalls with
> this from libc?
This not Java specific, you'll get the same problem when dlopening a
library which is linked against libLiS.so. The first getmsg which
gets found is from libc.
If you set LD_DEBUG=symbols,bindings you can see what's happening.
(E.g. "LD_DEBUG=symbols,bindings java ... 2>&1 | grep getmsg")
In order to get getmsg() from libLiS.so you either have to set
LD_PRELOAD=libLiS.so or create a new startup program (which you'll use
instead of "java") that is linked with libLiS.so.
> Q2.) Does the following restriction apply to the linux 1.3.1 (native
> threads)?
No, the restriction only applies to the green threads VM.
Juergen
--
Juergen Kreileder, Blackdown Java-Linux Team
http://www.blackdown.org/java-linux.html
Run Java 2 SE v1.3.1 on your iPAQ:
http://www.handhelds.org/pipermail/ipaq/2001-June/007221.html