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 --> <!-- The FreeBSD Documentation Project -->
<sect> <sect>
@ -61,13 +61,13 @@
name="brandelf"> for more information. name="brandelf"> for more information.
</itemize> </itemize>
<p>FreeBSD comes from the "classic" camp and uses the <p>FreeBSD comes from the "classic" camp and has traditionally used
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
name="a.out"> format, a technology tried and proven through name="a.out"> format, a technology tried and proven through
many generations of BSD releases. Though it has also been possible many generations of BSD releases. Though it has also been possible
for some time to build and run native <tt/ELF/ binaries (and for some time to build and run native <tt/ELF/ binaries (and
kernels) on a FreeBSD system, no official "push" to switch to kernels) on a FreeBSD system, FreeBSD initially resisted the "push"
ELF as the default format has, as yet, been made. Why? Well, to switch to <tt/ELF/ as the default format. Why? Well,
when the Linux camp made their painful transition to <tt/ELF/, it when the Linux camp made their painful transition to <tt/ELF/, it
was not so much to flee the <tt/a.out/ executable format was not so much to flee the <tt/a.out/ executable format
as it was their inflexible jump-table based shared library as it was their inflexible jump-table based shared library
@ -78,15 +78,19 @@
migration cost was accepted as necessary and the transition migration cost was accepted as necessary and the transition
made. 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 library mechanism is based more closely on Sun's
<tt>SunOS</tt>-style shared library mechanism and, as such, is very <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/ easy to use.
which <tt/ELF/ would give us is cleaner support for C++ constructors However, starting with 3.0, FreeBSD will offically support <tt/ELF/
and destructors, among other similarly esoteric things, and it binaries as the default format. Even though the <tt/a.out/
simply hasn't become much of a problem yet (and there is quite executable format has served us well, the GNU people, who author the
a bit of C++ code in FreeBSD's source tree). Should that change, compiler tools we use, have dropped support for the <tt/a.out/
a migration may, at some point, be more seriously contemplated. 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> <sect1>
<heading>Why won't chmod change the permissions on symlinks?</heading> <heading>Why won't chmod change the permissions on symlinks?</heading>
@ -132,13 +136,13 @@
<sect1> <sect1>
<heading>Can I run DOS binaries under FreeBSD?</heading> <heading>Can I run DOS binaries under FreeBSD?</heading>
<p>Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation <p>Yes, starting with version 3.0 you can using BSDI's <tt/rundos/
subsystem which we're now working on integrating and enhancing. Send DOS emulation which has been integrated and enhanced.
mail to <url url="mailto:emulation@freebsd.org" Send mail to <url url="mailto:emulation@freebsd.org"
name="The FreeBSD emulation discussion list"> if you're interested in 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"> <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" name="pcemu">
in the ports collection which emulates an 8088 and enough BIOS services in the ports collection which emulates an 8088 and enough BIOS services
to run DOS text mode applications. It requires the X Window to run DOS text mode applications. It requires the X Window