*BSD News Article 37733


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:14367 comp.os.linux.misc:29407
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!swiss.ans.net!news.ans.net!news.nynexst.com!jalod!hjl
From: hjl@nynexst.com (H.J. Lu)
Newsgroups: comp.os.386bsd.questions,comp.os.linux.misc
Subject: ELF, dynamic loading and Perl 5.000
Date: 11 Nov 1994 07:23:43 GMT
Organization: Nynex Science & Technology, Inc.
Lines: 50
Message-ID: <39v65v$7cp@news.nynexst.com>
References: <39tu2u$o8r@styx.uwa.edu.au> <39uqd6$5uq@news.nynexst.com>
NNTP-Posting-Host: jalod.nynexst.com
X-Newsreader: TIN [version 1.2 PL2]

H.J. Lu (hjl@nynexst.com) wrote:
: Peter Caffin (ptcaffin@uniwa.uwa.edu.au) wrote:
: : I'm thinking of setting up a network of 386s, with a large number of 
: : external modem lines.  At this stage, I'm undecided between 386BSD and 
: : Linux.  Having seen the results of the Linux vs Netware flame-fest, I'd 
: : have to agree that a more open architecture is definitely the go (see 
: : what it did for IBM (resulting in quite nice add-on cards, and continuing 
: : improvement) and that smashing game, Doom.

: : Without wanting to start a flame-war here, what are the comparative 
: : advantages and disadvantages of both systems?  What would you people 
: : suggest is the best OS for my needs?

: If you care about the software development, maybe Linux has an
: edge over xxxBSD. We are finishing the ELF and dynamic loading
: implementation under Linux. Right now, there are two subtle bugs in
: gas and gld which prevent the release of the ELF and dynamic loading
: for Linux. The gas bug has a work around. But the one in gld is
: nasty. As a matter of fact, it cripples our dynamic loading and makes
: Linux just like SVR4. The fix is relatively simple.

It seems those two bugs are fixed now. We have ELF and dynanmic
loading work under Linux. I have built perl 5.000 in ELF with
dynamic loading. It passed all the tests. People are also working
on the kernel in the ELF format. There are ELF versions of
XFree86 3.1, emacs, ....... under Linux. In fact, gcc 2.7.0
will support i486-linuxelf without any changes.

On tsx-11.mit.edu there is ELF.doc.tar.gz under pub/linux/packages/GCC.
With ELF, you build the shared C/C++ library with

#gcc-elf -fPIC ..... -c foo.[cc|c|C]
#gcc-elf -shared -o libfoo.so foo.o
#gcc-elf main.[cc|c|C] ... -lfoo
#a.out

For dynamic loading, just do

#gcc-elf -rdynamic foo.c -ldl
#a.out

I am expecting Linux will move toward ELF very fast in the next
few weeks. Before the end of year, there will be some full
ELF linux distributions.

BTW, all the old a.out binaries will still run fine although
I think you should upgrade to ELF.


H.J.