[comp.os.minix] 1.5.5 liborder, need of .. also checking crc values

bill@chinet.chi.il.us (Bill Mitchell) (03/13/90)

After an upgrade posting, there are usually many requests for
a workable library ordering.  I haven't seen this asked since the
1.5.5 posting, and so hope everyone but me has one.

I upgraded my #includes, then upgraded my lib files, then couldn't
get lorder and tsort from 1.5.3 to produce a good libc.a.

I then compiled all the standalone commands using the 1.5.5 includes
and the 1.5.3 libc.a.  All seemed to compile OK except for more.c,
which reported __exit as undefined.

I then used the resulting 1.5.5 (sort-of) lorder and tsort to get
a new libc.a.  more.c then reported __exit and _vectab as undefined
when compiled.

I then edited the tsort output, moving vectab.s and exit.s to the top.
more.c then reported ___vecta, __exit, and _vectab as undefined when
compiled.

Things are not improving.  Anybody got a good library ordering?  How
did you come up with it?

BTW, I found the following shell script very useful for checking crc
values:

---------------------- cut here ------------------

# check crc values against correct values in $1
# report any mismatches

crcfile="$1"
if test -z "$crcfile"
then
	echo usage crctest crcfile
	exit 1
fi
if test ! -r $crcfile
then
	echo cannot read $crcfile
	exit 1
fi
for file in `cat $crcfile | rev | cut -f1 -d/ | rev`
do
	if test ! -r $file
	then
		echo missing:$file
	else
		x=`crc $file`
		crc=`echo $x | cut -d' ' -f1`
		x=`grep /$file'$' $crcfile`
		ref=`echo $x | cut -d' ' -f1`
		if test ! -z "$ref"
		then
			if test $crc != $ref
			then
				echo crc:$crc NOT $x
			fi
		fi
	fi
done