Title: RE: Linux JVM: JNI allow putmsg() syscalls in native code?

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

Reply via email to