-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Original 4.3BSD-Quasijarus0 release notes
4.3BSD-Quasijarus0 was released on 1998-12-27. This release exists only as a historical artifact (see Quasijarus Project History). It is practically unusable. Use 4.3BSD-Quasijarus0c instead. For anyone currently running 4.3BSD-Quasijarus0 the upgrade to 4.3BSD-Quasijarus0c is MANDATORY. 4.3BSD-Quasijarus0 and 4.3BSD-Quasijarus0a contain a serious bug in c2, the peephole optimiser, which causes it under certain circumstances to throw out instructions loading registers which are later used in deferred or indexed addressing modes. The resulting misoptimised code thus dereferences bogus addresses, dumping core or even worse, behaving unpredictably. Since all system binaries are compiled with -O this potentially affects every binary in the system. This bug has been fixed in 4.3BSD-Quasijarus0b. @(#)0.html 1.2 04/02/15 Michael Sokolov [email protected]
- Loading branch information
0 parents
commit 0ed28e2
Showing
9,085 changed files
with
1,457,933 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
# | ||
# Copyright (c) 1986, 1988 Regents of the University of California. | ||
# All rights reserved. | ||
# | ||
# Redistribution and use in source and binary forms are permitted | ||
# provided that the above copyright notice and this paragraph are | ||
# duplicated in all such forms and that any documentation, | ||
# advertising materials, and other materials related to such | ||
# distribution and use acknowledge that the software was developed | ||
# by the University of California, Berkeley. The name of the | ||
# University may not be used to endorse or promote products derived | ||
# from this software without specific prior written permission. | ||
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | ||
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | ||
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
# | ||
# @(#)Makefile 4.18 (Berkeley) 6/30/88 | ||
# | ||
# This makefile is designed to be run in one of three ways: | ||
# | ||
# make clean | ||
# make depend | ||
# make build | ||
# make installsrc | ||
# This is the most rigorous way to rebuild the source tree. | ||
# The first two steps will clean the source tree and remake the dependencies. | ||
# The `make build' will compile and install the libraries and the compiler | ||
# twice before building the rest of the sources. The `make installsrc' will | ||
# then install the remaining binaries. | ||
# | ||
# make libthenall | ||
# make installsrc | ||
# The `make libthenall' will compile and install the libraries, compile | ||
# and install the compiler and then compile everything else. Note, | ||
# however, that the libraries will have been built with the old compiler. | ||
# The `make installsrc' will then install the remaining binaries. | ||
# | ||
# make all | ||
# make install | ||
# The `make all' (the default) will compile everything, and install | ||
# nothing. The `make install' will then install everything. | ||
# | ||
# C library options: passed to libc makefile. | ||
# See lib/libc/Makefile for explanation. | ||
# | ||
# HOSTLOOKUP must be either named or hosttable. | ||
# DFLMON must be either mon.o or gmon.o. | ||
# DEFS may include -DLIBC_SCCS, -DSYSLIBC_SCCS, both, or neither. | ||
# | ||
DEFS= -DLIBC_SCCS | ||
DFLMON= mon.o | ||
HOSTLOOKUP= named | ||
LIBCDEFS= HOSTLOOKUP=${HOSTLOOKUP} DFLMON=${DFLMON} DEFS="${DEFS}" | ||
|
||
# global flags | ||
# SRC_MFLAGS are used on makes in command source directories, | ||
# but not in library or compiler directories that will be installed | ||
# for use in compiling everything else. | ||
# | ||
DESTDIR= | ||
CFLAGS= -O | ||
SRC_MFLAGS= -k | ||
|
||
LIBDIR= lib usr.lib | ||
# order is important, old and man must be #1 and #2 | ||
SRCDIR= old man bin usr.bin etc ucb new games local | ||
|
||
all: ${LIBDIR} ${SRCDIR} | ||
|
||
libthenall: buildlib1 buildlib3 src | ||
|
||
build: buildlib1 buildlib2 buildlib3 src | ||
|
||
src: ${SRCDIR} | ||
|
||
lib: FRC | ||
cd lib/libc; make ${MFLAGS} ${LIBCDEFS} | ||
cd lib; make ${MFLAGS} pcc cpp c2 | ||
|
||
usr.lib ${SRCDIR}: FRC | ||
@echo | ||
@echo === compiling $@ | ||
cd $@; make ${MFLAGS} ${SRC_MFLAGS} | ||
|
||
buildlib1: FRC | ||
@echo === installing /usr/include | ||
cd include; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo | ||
@echo === compiling libc.a | ||
cd lib/libc; make ${MFLAGS} ${LIBCDEFS} | ||
@echo === installing /lib/libc.a | ||
cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo | ||
@echo === compiling C compiler | ||
cd lib; make ${MFLAGS} pcc cpp c2 | ||
@echo | ||
@echo === installing C compiler | ||
cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo | ||
|
||
buildlib2: FRC | ||
@echo === cleaning lib | ||
cd lib; make ${MFLAGS} clean | ||
@echo === re-compiling libc.a | ||
cd lib/libc; make ${MFLAGS} ${LIBCDEFS} | ||
@echo === re-installing /lib/libc.a | ||
cd lib/libc; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo | ||
@echo === re-compiling C compiler | ||
cd lib; make ${MFLAGS} pcc cpp c2 | ||
@echo === re-installing C compiler | ||
cd lib/pcc; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
cd lib/cpp; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
cd lib/c2; make ${MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo | ||
|
||
buildlib3: FRC | ||
@echo === compiling usr.lib | ||
cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS} | ||
@echo === installing /usr/lib | ||
cd usr.lib; make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install | ||
@echo === done with libraries | ||
@echo | ||
|
||
install: FRC | ||
-for i in ${LIBDIR} ${SRCDIR}; do \ | ||
echo; \ | ||
echo === installing $$i; \ | ||
(cd $$i; \ | ||
make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \ | ||
done | ||
|
||
installsrc: FRC | ||
-for i in ${SRCDIR}; do \ | ||
echo; \ | ||
echo === installing $$i; \ | ||
(cd $$i; \ | ||
make ${MFLAGS} ${SRC_MFLAGS} DESTDIR=${DESTDIR} install); \ | ||
done | ||
|
||
depend: FRC | ||
for i in ${LIBDIR} ${SRCDIR}; do \ | ||
echo; \ | ||
echo === doing dependencies for $$i; \ | ||
(cd $$i; make ${MFLAGS} depend); \ | ||
done | ||
|
||
tags: FRC | ||
for i in include lib usr.lib; do \ | ||
echo; \ | ||
echo === making tags for $$i; \ | ||
(cd $$i; make ${MFLAGS} TAGSFILE=../tags tags); \ | ||
done | ||
sort -u +0 -1 -o tags tags | ||
|
||
clean: FRC | ||
for i in ${LIBDIR} ${SRCDIR}; do \ | ||
echo; \ | ||
echo === cleaning $$i; \ | ||
(cd $$i; make -k ${MFLAGS} clean); \ | ||
done | ||
|
||
FRC: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
D ADB adb | ||
F AR.C;1 ar.c | ||
D AS as | ||
D AWK awk | ||
F CAT.C;1 cat.c | ||
F CC.C;1 cc.c | ||
F CHMOD.C;1 chmod.c | ||
F CMP.C;1 cmp.c | ||
F CP.C;1 cp.c | ||
D CPIO cpio | ||
D CSH csh | ||
F DATE.C;1 date.c | ||
F DD.C;1 dd.c | ||
F DF.C;1 df.c | ||
D DIFF diff | ||
F DU.C;1 du.c | ||
F ECHO.C;1 echo.c | ||
F ED.C;1 ed.c | ||
F EXPR.Y;1 expr.y | ||
F FALSE.SH;1 false.sh | ||
F HOSTID.C;1 hostid.c | ||
F HOSTNAME.C;1 hostname.c | ||
F KILL.C;1 kill.c | ||
F LD.C;1 ld.c | ||
F LN.C;1 ln.c | ||
F LOGIN.C;1 login.c | ||
F LS.C;1 ls.c | ||
F MACHINE.C;1 machine.c | ||
D MAKE make | ||
F MAKEFILE.;1 Makefile | ||
F MKDIR.C;1 mkdir.c | ||
F MT.C;1 mt.c | ||
F MV.C;1 mv.c | ||
F NICE.C;1 nice.c | ||
F NM.C;1 nm.c | ||
F OD.C;1 od.c | ||
F PAGESIZE.C;1 pagesize.c | ||
D PASSWD passwd | ||
F PR.C;1 pr.c | ||
F PS.C;1 ps.c | ||
F PWD.C;1 pwd.c | ||
F RCP.C;1 rcp.c | ||
F RM.C;1 rm.c | ||
F RMDIR.C;1 rmdir.c | ||
D SED sed | ||
D SH sh | ||
F SIZE.C;1 size.c | ||
F STRIP.C;1 strip.c | ||
F STTY.C;1 stty.c | ||
F SU.C;1 su.c | ||
F SYNC.C;1 sync.c | ||
F TAR.C;1 tar.c | ||
F TEE.C;1 tee.c | ||
F TEST.C;1 test.c | ||
F TIME.C;1 time.c | ||
D TP tp | ||
F TRUE.SH;1 true.sh | ||
F WALL.C;1 wall.c | ||
F WHO.C;1 who.c | ||
F WRITE.C;1 write.c |
Oops, something went wrong.