Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Nov 2001 11:04:13 -0800 (PST)
From:      David Wolfskill <david@catwhisker.org>
To:        current@FreeBSD.ORG, obrien@FreeBSD.ORG
Subject:   Re: buildworld breakage during "make depend" at usr.bin/kdump
Message-ID:  <200111011904.fA1J4D749120@bunrab.catwhisker.org>
In-Reply-To: <200111011543.fA1Fh9A48651@bunrab.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>Date: Thu, 1 Nov 2001 07:43:09 -0800 (PST)
>From: David Wolfskill <david@catwhisker.org>

>This is a quick heads-up.

>If you have built -CURRENT within the last couple of days, and if you try
>to use that (recently-built -CURRENT) as the host system for building
>-CURRENT, the 3 patches I posted last night do appear to get through
>the build process, but the result is a system that does not boot.

Circumvention is to use /boot/loader.old, if it was built with gawk, or
somehow build a new "loader" after applying a patch that accomplishes
what this one does:

Index: sys/boot/ficl/softwords/softcore.awk
===================================================================
RCS file: /cvs/freebsd/src/sys/boot/ficl/softwords/softcore.awk,v
retrieving revision 1.6
diff -u -r1.6 softcore.awk
--- sys/boot/ficl/softwords/softcore.awk	29 Apr 2001 02:36:36 -0000	1.6
+++ sys/boot/ficl/softwords/softcore.awk	1 Nov 2001 15:58:59 -0000
@@ -7,9 +7,6 @@
 # 02-oct-1999:  Cleaned up awk slightly; added some additional logic
 #               suggested by dcs to compress the stored forth program.
 #
-# Note! This script uses strftime() which is a gawk-ism, and the
-# POSIX [[:space:]] character class.
-#
 # $FreeBSD: src/sys/boot/ficl/softwords/softcore.awk,v 1.6 2001/04/29 02:36:36 dcs Exp $
 
 BEGIN \
@@ -37,7 +34,7 @@
 {
   gsub(/\t/, "    ");			# replace each tab with 4 spaces
   gsub(/\"/, "\\\"");			# escape quotes
-  gsub(/\\[[:space:]]+$/, "");		# toss empty comments
+  gsub(/\\[ 	]+$/, "");		# toss empty comments
 }
 
 # strip out empty lines
@@ -47,9 +44,9 @@
 }
 
 # emit / ** lines as multi-line C comments
-/^\\[[:space:]]\*\*/ \
+/^\\[ 	]\*\*/ \
 {
-  sub(/^\\[[:space:]]/, "");
+  sub(/^\\[ 	]/, "");
   if (commenting == 0) printf "/*\n";
   printf "%s\n", $0;
   commenting = 1;
@@ -57,7 +54,7 @@
 }
 
 # strip blank lines
-/^[[:space:]]*$/ \
+/^[ 	]*$/ \
 {
   next;
 }
@@ -70,10 +67,10 @@
 }
 
 # pass commented preprocessor directives
-/^\\[[:space:]]#/ \
+/^\\[ 	]#/ \
 {
   if (commenting) end_comments();
-  sub(/^\\[[:space:]]/, "");
+  sub(/^\\[ 	]/, "");
   printf "%s\n", $0;
   next;
 }
@@ -86,31 +83,31 @@
 }
 
 # lop off trailing \ comments
-/\\[[:space:]]+/ \
+/\\[ 	]+/ \
 {
-  sub(/\\[[:space:]]+.*$/, "");
+  sub(/\\[ 	]+.*$/, "");
 }
 
 # expunge ( ) comments
-/[[:space:]]+\([[:space:]][^)]*\)/ \
+/[ 	]+\([ 	][^)]*\)/ \
 {
-  sub(/[[:space:]]+\([[:space:]][^)]*\)/, "");
+  sub(/[ 	]+\([ 	][^)]*\)/, "");
 }
 
 # remove leading spaces
-/^[[:space:]]+/ \
+/^[ 	]+/ \
 {
-  sub(/^[[:space:]]+/, "");
+  sub(/^[ 	]+/, "");
 }
 
 # removing trailing spaces
-/[[:space:]]+$/ \
+/[ 	]+$/ \
 {
-  sub(/[[:space:]]+$/, "");
+  sub(/[ 	]+$/, "");
 }
 
 # strip out empty lines again (preceding rules may have generated some)
-/^[[:space:]]*$/ \
+/^[ 	]*$/ \
 {
   if (commenting) end_comments();
   next;




Yes, it's another case of not handling the POSIX "bracket expression"
syntax.  The bothersome thing is that at the point where something could
be done about it, it's a silent failure.  (But that's one of the reasons
I'm writing stuff like this, to let folks know before it's a problem for
them.)

As evidence of the efficacy of the patch:

freebeast[1] uname -a
FreeBSD freebeast.catwhisker.org 5.0-CURRENT FreeBSD 5.0-CURRENT #31: Thu Nov  1 10:32:42 PST 2001     root@freebeast.catwhisker.org:/common/S4/obj/usr/src/sys/FREEBEAST  i386

(And my laptop just finished re-booting on today's -CURRENT as well.)

Cheers,
david
-- 
David H. Wolfskill				david@catwhisker.org
As a computing professional, I believe it would be unethical for me to
advise, recommend, or support the use (save possibly for personal
amusement) of any product that is or depends on any Microsoft product.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111011904.fA1J4D749120>