summaryrefslogtreecommitdiff
path: root/bin86
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>1998-09-22 17:44:32 +0200
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:40:35 +0200
commit2233d47f9d89c107b6c425626d6eb2669363b055 (patch)
tree429df42a8f6ed7174868af04edd364cd778a4d54 /bin86
parentec5f28e3f1400b5dacb88eda2d9db472a20b4349 (diff)
downloaddev86-2233d47f9d89c107b6c425626d6eb2669363b055.tar.gz
Import Dev86src-0.14.5.tar.gzv0.14.5
Diffstat (limited to 'bin86')
-rw-r--r--bin86/ChangeLog111
-rw-r--r--bin86/Makefile49
-rw-r--r--bin86/README27
-rw-r--r--bin86/README-0.479
4 files changed, 266 insertions, 0 deletions
diff --git a/bin86/ChangeLog b/bin86/ChangeLog
new file mode 100644
index 0000000..a09114b
--- /dev/null
+++ b/bin86/ChangeLog
@@ -0,0 +1,111 @@
+Fri Jul 31 09:33:18 BST 1998 Robert de Bath (rdebath@poboxes.com)
+
+ * version 0.14.4, This package is based on the ELKS dev86 package
+ of the same version number.
+
+ * Improved documentation (There's actually a man page!)
+
+ * The linker will produce either Linux-8086, DOS-COM
+ or Native Linux-386 OMAGIC executable files.
+
+ * The assembler has many instruction fixes:
+ jmp near, jmpi dword x,y, org, use32/use16 ... etc
+ and can also read source from stdin.
+
+ * Assembler macros work.
+
+ * The assembler command 'include' works.
+
+ * Conditionals and string conditionals work.
+
+ * Various additions for multi-segment work.
+
+ * The assembler can create bare binary files with simple ASCII symbol
+ files, these are ideal for generating encapsulated binaries and a
+ simple script for doing this is included.
+
+ * The assembler will generate warning messages when 386
+ instructions are used with the assembler in an 8086 mode.
+
+ * Many minor bug fixes and portability fixes.
+
+Sat Nov 16 18:38:14 1995 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * version 0.4 is released.
+
+ * Makefile (CFLAGS): add _POSIX_SOURCE.
+
+ * as/as.c, as/flag.h, as/genlist.c, as/pops.c,v,
+ as/readsrc.c: change warn to warning.
+
+Fri Jun 16 02:02:03 1995 Michael Shields (shields@tembel.org)
+
+ * as/Makefile (endian.h): Don't rely on . being in $PATH.
+
+Tue May 16 22:01:05 1995 H.J. Lu (hjl@nynexst.com)
+
+ * version 0.3 is released.
+
+ * Makefile: fix a few typos.
+
+ * as/const.h: include "endian.h".
+ (LOW_BYTE): check the byte order.
+
+ * as/Makefile (endian.h): new target.
+ (const.h): depend on endian.h.
+
+ * as/det_endian.c: new from glibc.
+
+Sat Mar 18 16:39:19 1995 Francois-Rene Rideau (rideau@clipper.ens.fr)
+
+ * as/pops.c (doif): support nested conditionals.
+
+Mon Nov 21 22:48:26 1994 H.J. Lu (hlu@nighthawk)
+
+ * version 0.2 is released.
+
+ * Makefile (MFLAGS): new. add BINDIR and CC.
+
+Fri Nov 18 22:25:24 1994 Package Maintainer (opt@calum.csclub.uwaterloo.ca)
+
+ * ./as/Makefile:
+ * ./as/const.h:
+ * ./as/proto.h:
+ * ./as/readsrc.c:
+ * ./as/type.h:
+ * ./ld/Makefile:
+ * ./ld/align.h:
+ * ./ld/config.h:
+ * ./ld/type.h:
+ * ./ld/typeconv.c: remove endian dependency.
+
+Thu Mar 3 15:12:23 1994 H.J. Lu (hlu@nighthawk)
+
+ * version 0.1 is released.
+
+ * Makefile: new.
+
+ * a.out.h/bsd-a.out.h (struct exec): use short form if
+ __linux__ is defined.
+
+ * as/Makefile: minor changes.
+ (CLFAGS): add -I../a.out.h.
+
+ * ld/Makefile: minor changes.
+ (CLFAGS): add -I../a.out.h.
+
+ * ld/io.c (MY_STAT_H): don't define it if __linux__ is
+ defined.
+
+ * ld/ld.c (flag['z']): initialized to 0 if __linux__ is
+ defined.
+
+ * ld/obj.h (roundup):
+ * ld/writebin.c (roundup):
+ ld/readobj.c (roundup): change that to ld_roundup to avoid the
+ conflict with the system's roundup.
+
+ * ld/writebin.c: cleanup for the latest Linux C library.
+ (FILEHEADERLENGTH): change to sizeof (struct exec).
+ don't write a_trsize and its friends.
+
diff --git a/bin86/Makefile b/bin86/Makefile
new file mode 100644
index 0000000..5cd0ce8
--- /dev/null
+++ b/bin86/Makefile
@@ -0,0 +1,49 @@
+
+CFLAGS=-O2 -D_POSIX_SOURCE
+LDFLAGS=
+DIRS=ld as
+
+PREFIX=/usr/local
+BINDIR=$(PREFIX)/bin
+LIBDIR=$(PREFIX)/lib
+MANDIR=$(PREFIX)/man/man1
+SUF=86
+
+INSTALL_OPT=-m 755 -s
+MAN_OPTS =-m 644
+
+MFLAGS= "LIBS=$(LIBS)" \
+ "CFLAGS=$(CFLAGS)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "BINDIR=$(BINDIR)" \
+ "LIBDIR=$(LIBDIR)" \
+ "CC=$(CC)"
+
+all:
+ for d in $(DIRS); do \
+ (cd $$d; $(MAKE) $(MFLAGS) $@;); \
+ done
+
+install: all
+ install $(INSTALL_OPTS) as/as86 $(BINDIR)/as$(SUF)
+ install $(INSTALL_OPTS) as/as86_encap $(BINDIR)/as$(SUF)_encap
+ install $(INSTALL_OPTS) ld/ld86 $(BINDIR)/ld$(SUF)
+ install $(INSTALL_OPTS) ld/objdump86 $(BINDIR)/objdump$(SUF)
+ install $(MAN_OPTS) man/*.1 $(MANDIR)
+ ln -s objdump$(SUF) $(BINDIR)/nm$(SUF)
+ ln -s objdump$(SUF) $(BINDIR)/size$(SUF)
+
+depend clean clobber:
+ for d in $(DIRS); do \
+ (cd $$d; $(MAKE) $(MFLAGS) $@;); \
+ done
+
+ungrab:
+ rm -rf as ld man
+grab:
+ cp -a ../as ../ld .
+ rm -f ld/ar.h ; cp -p ../libc/include/ar.h ld/ar.h
+ mkdir man
+ cp -p ../man/ld86.1 man
+ cp -p ../man/as86.1 man
+
diff --git a/bin86/README b/bin86/README
new file mode 100644
index 0000000..b6fb3ff
--- /dev/null
+++ b/bin86/README
@@ -0,0 +1,27 @@
+
+This is a simple assember and linker for 8086 - 80386 machine code.
+There have been a large number of changes since bin86-0.4 so I strongly
+suggest you read the manpages.
+
+To install:
+ make PREFIX=/usr install
+or
+ make PREFIX=/usr/local install
+
+This version has been tested under Linux, older versions were also tested
+and working under SunOS and AIX.
+
+-------------
+
+This is based on the as86 and ld86 distribution written by Bruce Evans.
+Bruce has released this under the GPL and the changes I've made are
+also under the same license
+
+The BCC components that were distributed in this package are now in
+the dev86 package along with a working C compiler and libc for 8086
+ELKS, DOS and standalone code.
+
+The most recent address I have for Bruce is <bde@FreeBSD.org>
+
+Robert de Bath <rdebath@poboxes.com>
+1998/7/31
diff --git a/bin86/README-0.4 b/bin86/README-0.4
new file mode 100644
index 0000000..f91a9dc
--- /dev/null
+++ b/bin86/README-0.4
@@ -0,0 +1,79 @@
+To build this real mode as/ld for x86, just edit Makefile and then
+do
+
+make install
+
+It is only tested under SunOS 4.1.3 and Linux.
+
+H.J. Lu
+hjl@nynexst.com
+11/21/94
+------
+We seem to have cross bin86 for Solaris working. The most important
+changes involve alignment (it needs to be on) and byte ordering.
+Some of the patches just eliminate compiler warnings (conversion of
+pointer to integer without a cast, etc.) and some (in the Makefiles)
+reflect the local setup, and can probably be ignored (the change to $BINDIR,
+for example).
+
+ - Ian (iagoldbe@csclub.uwaterloo.ca)
+
+----
+I modified it for the latest Linux C library 4.5.21 and released it as
+bin86 0.1. It is only tested for building the Linux kernel and is not
+intended for any other purposes. To build it under Linux, just type
+
+make all
+make install
+
+It is not tested for cross-compiling. If you have any patches for
+cross-compiling, please send them to me.
+
+Thanks.
+
+
+H.J. Lu
+hjl@nynexst.com
+03/03/94
+-------------
+This is the as86 and ld86 distribution written by Bruce Evans. It's
+copyright Bruce Evans, all rights reserved although you may use and copy
+it for your personal use. It's a complete 8086 assembler and loader
+which can make 32-bit code for the 386+ processors (under linux it's
+used only to create the 16-bit bootsector and setup binaries). The
+syntax is not compatible with the GNU assembler, but closer to intel
+syntax ("wrong" order of operands etc).
+
+Hints for compiling:
+
+ - you'll need the a.out.h-files from the a.out.h directory for the
+linker. These aren't really part of the distribution, but I included
+them for ease of setup (in case you need to crosscompile etc). Do a
+ cp a.out.h/* ld/
+or similar before compiling the linker.
+
+ - the assembler needs the typeconv.o file produced by the linker
+compilation. So compile the linker first, and then do a
+ cp ld/typeconv.o as/
+before making the assembler.
+
+This distribution also contains some test-files etc that aren't actually
+needed, but as they also give some idea of the assembler syntax, I left
+them in. The directories are as follows:
+
+ as - the assembler sources (minus typeconv.c)
+ ld - linker sources
+ bcc - bruce evans' cc frontend sources (the actual compiler isn't
+ included).
+ bccfp - assembly floating point routines written by bruce evans. Note
+ that these use integer register returns, and won't work with the
+ linux libraries. They can be used as examples of as86 code.
+ a.out.h - header files for crosscompilation.
+
+Note that I am NOT the author of this package, but I'll forward any
+comments to bruce evans and I'll try to answer any questions about the
+assembler/linker I can. I just made it available as bde doesn't have
+ftp capability right now. Bruce Evans does have mail as
+<bde@runx.oz.au>.
+
+ Linus Torvalds