9c: ignore autolib symbols
9l: use autolib symbols
diff --git a/bin/9c b/bin/9c
index cc6ec8e..cbd67ce 100755
--- a/bin/9c
+++ b/bin/9c
@@ -27,7 +27,7 @@
cflags="$ngflags -g3 -no-cpp-precomp" ;;
*HP-UX*) cc=cc; cflags="-g -O -c -Ae" ;;
*Linux*) usegcc
- case "`uname -r`" in
+ case "${SYSVERSION:-`uname -r`}" in
2.6.*)
cflags="$cflags -D__Linux26__"
;;
@@ -53,12 +53,20 @@
exit 1
esac
+# N.B. Must use temp file to avoid pipe; pipe loses status.
+xtmp=/tmp/9c.$$.$USER.out
+status=x
case "$tag" in
*SunOS*-cc)
- exec $cc -DPLAN9PORT -I$PLAN9/include $cflags "$@" 2>&1 |
+ $cc -DPLAN9PORT -I$PLAN9/include $cflags "$@" 2>&1 |
/bin/sed 's/\"\([^\"][^\"]*\)\", line \([0-9][0-9]*\)/\1:\2/g' 1>&2
+ status=$?
;;
*)
- exec $cc -DPLAN9PORT -I$PLAN9/include $cflags "$@"
+ $cc -DPLAN9PORT -I$PLAN9/include $cflags "$@"
+ status=$?
;;
-esac
+esac >$xtmp 2>&1
+grep -v '__p9l_autolib_' $xtmp
+rm -f $xtmp
+exit $status