ELF dynamic loader name [was: sbrk(2) broken]

Alexandre "Sunny" Kovalenko alex.kovalenko at verizon.net
Mon Jan 7 19:32:06 PST 2008


On Tue, 2008-01-08 at 10:12 +1100, Andrew Reilly wrote:
> On Mon, 07 Jan 2008 09:49:20 +0200
> Danny Braniss <danny at cs.huji.ac.il> wrote:
> 
> > I'm concerned in trying to solve a problem we are facing here, were 
> > students/researchers
> > write code, and soon will be hit by incompatible platforms.
> 
> Encourage them to write their code in something portable, like
> Java, scheme, python, matlab/octave?  If they have to use
> C/C++/Fortran/ etc, they could get used to distribution in
> source?
> 
> The binary compatibility wheel-of-reincarnation is an interesting
> one to watch.  When I was a student and post-grad at Uni, our
> applications, when shared with colleagues, could very well have
> needed to run on any of Vax, 68k, MIPS (32 or 64 bit), SPARC
> (32-bit), ia32, x86 (16-bit: complicated pointers), with a few
> PowerPC and Alpha systems coming in at the end.  So we used
> matlab or handed around source code.  Before that it was
> all-the-world's-a-vax (unless you were in an IBM shop.)  We've all
> been in a peculiar bubble for a few years where "almost everyone"
> has been using ia32, and it has been easy to think that that's all
> there is (except for weirdos), and that therefore binary
> distribution is OK.  I reckon that we're just coming out of that
> mode, and transiting through something less even, probably until
> amd64 completes it's clean-sweep and becomes the "one and only"
> architecture again (to howls of protest from the ARM/embedded
> crowd...)  That'll be a little way off, though...
> 
> [I'm doing a lot of my own new coding in PLT scheme at the
> moment, and having a ball with it.  (lang/drscheme in ports)

I suspect you are not running contemporary 7.0 there:
twinhead# uname -a 
FreeBSD twinhead.rabbitslawn.verizon.net 7.0-RC1 FreeBSD 7.0-RC1 #0: Tue
Jan  1 19:22:56 EST 2008
root at twinhead.rabbitslawn.verizon.net:/usr/obj/usr/src/sys/TWINHEAD
i386
twinhead# make install
===>  drscheme-370 is marked as broken: Fails to install (signal 11).
*** Error code 1

Stop in /usr/ports/lang/drscheme.
twinhead# 

> Fast enough for what I'm doing, byte-code, static or JIT compiled,
> and runs everywhere (including Windows and OSX).]
> 
> What would be *really* cool would be the ability to have a JVM or
> LLVM back-end in the kernel, as a first-class peer of the ELF
> loader.  Anyone know if anyone has tried such a thing on *BSD (or
> even Linux, I guess)?

If you have Linux distribution handy, you can look
at /usr/src/linux/Documentation/binfmt_misc.txt. At least its Java
incarnation has been around for a while. I have not seen widespread use
of it, but then again, I have not been looking too hard. 

To be fair, compatibility of the JVMs is the story in and of its own,
and most certainly is OT for this list.
> 
> Cheers,
> 

-- 
Alexandre "Sunny" Kovalenko



More information about the freebsd-current mailing list