Date: Tue, 9 Oct 2012 10:57:55 +1100 (EST) From: Peter Jeremy <peter@rulingia.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: peter@server.rulingia.com Subject: bin/172534: [patch] FICL - correct handling of bare comment lines Message-ID: <201210082357.q98Nvt4e080415@server.rulingia.com> Resent-Message-ID: <201210092230.q99MUHI0043491@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 172534 >Category: bin >Synopsis: [patch] FICL - correct handling of bare comment lines >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Oct 09 22:30:16 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Peter Jeremy >Release: FreeBSD 8.3-STABLE amd64 >Organization: n/a >Environment: System: FreeBSD server.rulingia.com 8.3-STABLE FreeBSD 8.3-STABLE #18 r237444M: Sun Jul 8 10:47:08 EST 2012 root@server.rulingia.com:/var/obj/usr/src/sys/server amd64 >Description: Various forth files in sys/boot/ficl/softwords/ are converted to a C string code for embedding into the FICL binary using an awk script softcore.awk. This script fails to strip out comments that consist of a sole backslash. Whilst this isn't a problem for the standard set of SOFTWORDS, the not-normally-included oo.fr contains comments in the array-init definition that cause softcore.awk to emit the string "\ " - which gcc rejects. >How-To-Repeat: # cd /sys/boot/ficl uncomment the line 'SOFTWORDS+= oo.fr classes.fr' in Makefile # make testmain fails with: (cd /home/peter/forth/boot/ficl/softwords; cat softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr ifbrack.fr oo.fr classes.fr | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > softcore.c cc -O2 -pipe -ffreestanding -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -std=gnu99 -m32 -march=i386 -I. -I/home/peter/forth/boot/ficl -I/home/peter/forth/boot/ficl/i386 -I/home/peter/forth/boot/ficl/../common -c softcore.c softcore.c:917:5: warning: unknown escape sequence: '\040' softcore.c:917:5: warning: unknown escape sequence: '\040' >Fix: According to diff on stable-8, the following patch does not result in any change to the default softcore.c and only removes the two "\ " lines when the optional object-oriented words are added. Index: sys/boot/ficl/softwords/softcore.awk =================================================================== --- sys/boot/ficl/softwords/softcore.awk (revision 241347) +++ sys/boot/ficl/softwords/softcore.awk (working copy) @@ -75,7 +75,7 @@ { gsub(/\t/, " "); # replace each tab with 4 spaces gsub(/\"/, "\\\""); # escape quotes - gsub(/\\[[:space:]]+$/, ""); # toss empty comments + gsub(/\\[[:space:]]*$/, ""); # toss empty comments } # strip out empty lines >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210082357.q98Nvt4e080415>