Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jan 1999 15:26:38 -0700
From:      Nate Williams <nate@mt.sri.com>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        Nate@primenet.com, Williams@primenet.com, <nate@mt.sri.com>, Mats@primenet.com, Lofkvist@primenet.com, <mal@algonet.se>, java@FreeBSD.ORG
Subject:   Re: TowerJ for FreeBSD
Message-ID:  <199901262226.PAA14679@mt.sri.com>
In-Reply-To: <199901262216.PAA01731@usr07.primenet.com>
References:  <199901262216.PAA01731@usr07.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> > > And how hard is it to add a feature allowing a FreeBSD binary (java) 
> > > load and run a Solaris shared library (the Solaris JIT) with/without
> > > Solaris binary compatibility to begin with?
> > 
> > Really hard.  Hard enough that it will probably never be done.  See
> > postings on hackers on this where Terry Lambert bogusly declared it was
> > trivial without understanding the details.
> 
> The library is ELF, and is unrelocated, so it isn't Solaris specific
> excepet for partially preresolved jump table vector names.

Wrong.  It makes Solaris system calls, using Solaris parameters and
Solaris defines.

> In general, the dependency is that most of these libraries are linked
> against the Solais libc, and bring in symbols from there.

Right.  A FreeBSD 'binary' can't make Solaris libc calls correctly.

> For example, a number of people have been using the Solaris CDE ELF
> library to get an ELF Motif 2.0 implementation that they can link
> against, since Sun used to offer the thing for download from their
> WWW site, and you can get it on the Solaris "free" ($15) CDROM.

Nobody has been using the Solaris CDE ELF library to build FreeBSD
binaries.  As was pointed a while back, you can't 'mix' a Solaris
library and a FreeBSD binary.  I'd even buy you dinner if you can
make anything beyond a simple toy application work with the Solaris
library.  

I've got a FreeBSD native application that uses Motif.  I'll bet you
dinner that you can't make it work with the Solaris ELF library.

> It's pretty trivial (contrary to Nate's claims) to find the list of
> interfaces affected by just truing to link the Motif library
> directly.  You'll get a list of unresolved externals.

Prove it.  Really, I'd love for you to prove me wrong.

Hand-waving a long email messages stating that it's trivial mean nothing
when in fact it doesn't work.

Issues such as system calls (which are the biggest problem), different
library functions, etc.. can all be worked around, but not 'trivialy'.
If SVR4/Solaris emulation was a worthwhile goal, someone could
continually maintain it like we do with the Linux emulation, but the
fact of the matter is that it's not worth it (both in terms of the code
required as well as the complexity in trying to switch to 'Solaris'
mode from 'FreeBSD' mode and back in a single binary.)





Nate

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901262226.PAA14679>