thread with 32bit compatible binary

Peter Wemm peter at wemm.org
Wed Jan 12 21:50:19 PST 2005


On Monday 10 January 2005 08:51 pm, Shunsuke SHINOMIYA wrote:
>  Hello,
>
>  I try to run FreeBSD 32bit native JDK 1.4.2 with FreeBSD/amd64 5-stable,
> but ld-elf.so.1 says `/usr/lib32/libpthread.so.1: Undefined symbol
> "i386_set_ldt"'.
>
> > ~> java
> > /libexec/ld-elf.so.1: /usr/lib32/libpthread.so.1: Undefined symbol
> > "i386_set_ldt"
>
> I set /etc/libmap32.conf to use lib32/libthr or libc_r instead of
> lib32/libpthread, but java did not run too.

Unfortunately, there is zero chance of getting this binary to work with 
libpthread because the 32bit mailbox interface is layed out differently on 
the 64 bit kernel due to differences in pointer sizes, alignment etc.  The 
chances of getting kse apps to run in any form is pretty remote at the 
moment.

> In case of lib32/libthr.
> ~> java
> /libexec/ld-elf.so.1: /usr/lib32/libthr.so.1: Undefined symbol
> "i386_set_ldt"
>
> In case of lib32/libc_r.
> ~> java
> yp_match: clnt_call: RPC: Unable to receive; errno = Unknown error:
> 671557860 yp_match: clnt_call: RPC: Unable to receive; errno = Unknown
> error: -1 yp_match: clnt_call: RPC: Unable to receive; errno = Unknown
> error: -1 yp_match: clnt_call: RPC: Unable to receive; errno = Unknown
> error: -1 yp_match: clnt_call: RPC: Unable to receive; errno = Unknown
> error: -1 yp_match: clnt_call: RPC: Unable to receive; errno = Unknown
> error: -1 ...
>
>  Are there any ways to use 32bit compatible thread library with 5-stable?
>  Is this problem corrected with 6-current?

Finding out what the problem is with libc_r is the best short-term chance of 
success for running threaded apps.  libthr and libpthread are out of reach 
for now because we don't have ldt support.  I think I MFC'ed patches to make 
the compat shim libraries use _amd64_set_gsbase() etc, but that won't make 
the kernel thread stuff work.

>  Thank you in advance.


More information about the freebsd-amd64 mailing list