Update information about ELF and running DOS binaries.

Note:  I am pulling this out of thin air and should be reviewed by someone
more knowledgeable about -CURRENT (M$-DOS binaries) and the ELF issue.

PR:		docs/5837
This commit is contained in:
David E. O'Brien 1998-02-28 23:03:41 +00:00
parent 8a70b41c47
commit a79b2dca80
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=2499

View file

@ -1,4 +1,4 @@
<!-- $Id: misc.sgml,v 1.1 1997-11-03 08:53:49 max Exp $ -->
<!-- $Id: misc.sgml,v 1.2 1998-02-28 23:03:41 obrien Exp $ -->
<!-- The FreeBSD Documentation Project -->
<sect>
@ -61,13 +61,13 @@
name="brandelf"> for more information.
</itemize>
<p>FreeBSD comes from the "classic" camp and uses the
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
<p>FreeBSD comes from the "classic" camp and has traditionally used
the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
name="a.out"> format, a technology tried and proven through
many generations of BSD releases. Though it has also been possible
for some time to build and run native <tt/ELF/ binaries (and
kernels) on a FreeBSD system, no official "push" to switch to
ELF as the default format has, as yet, been made. Why? Well,
kernels) on a FreeBSD system, FreeBSD initially resisted the "push"
to switch to <tt/ELF/ as the default format. Why? Well,
when the Linux camp made their painful transition to <tt/ELF/, it
was not so much to flee the <tt/a.out/ executable format
as it was their inflexible jump-table based shared library
@ -78,15 +78,19 @@
migration cost was accepted as necessary and the transition
made.
<p>In FreeBSD's case, it's not quite so simple since our shared
<p>In FreeBSD's case, our shared
library mechanism is based more closely on Sun's
<tt>SunOS</tt>-style shared library mechanism and, as such, is very
easy to use. The only thing we actually lack with <tt/a.out/
which <tt/ELF/ would give us is cleaner support for C++ constructors
and destructors, among other similarly esoteric things, and it
simply hasn't become much of a problem yet (and there is quite
a bit of C++ code in FreeBSD's source tree). Should that change,
a migration may, at some point, be more seriously contemplated.
easy to use.
However, starting with 3.0, FreeBSD will offically support <tt/ELF/
binaries as the default format. Even though the <tt/a.out/
executable format has served us well, the GNU people, who author the
compiler tools we use, have dropped support for the <tt/a.out/
format. This has forced us to maintain a divergent version of
the compler and linker, and has kept us from reaping the benefits
of the latest GNU development efforts. Also the demands of
ISO-C++, notably contstructors and destructors, has also led to
native <tt/ELF/ support in future FreeBSD releases.
<sect1>
<heading>Why won't chmod change the permissions on symlinks?</heading>
@ -132,13 +136,13 @@
<sect1>
<heading>Can I run DOS binaries under FreeBSD?</heading>
<p>Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation
subsystem which we're now working on integrating and enhancing. Send
mail to <url url="mailto:emulation@freebsd.org"
<p>Yes, starting with version 3.0 you can using BSDI's <tt/rundos/
DOS emulation which has been integrated and enhanced.
Send mail to <url url="mailto:emulation@freebsd.org"
name="The FreeBSD emulation discussion list"> if you're interested in
joining this effort!
joining this ongoing effort!
<p>For now, there is a neat utility called
<p>For pre-3.0 systems, there is a neat utility called
<htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" name="pcemu">
in the ports collection which emulates an 8088 and enough BIOS services
to run DOS text mode applications. It requires the X Window