From owner-freebsd-bugs@FreeBSD.ORG Sun Jan 22 03:30:15 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BC3B1065672 for ; Sun, 22 Jan 2012 03:30:15 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 296758FC14 for ; Sun, 22 Jan 2012 03:30:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q0M3UFc3028235 for ; Sun, 22 Jan 2012 03:30:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q0M3UFuI028232; Sun, 22 Jan 2012 03:30:15 GMT (envelope-from gnats) Resent-Date: Sun, 22 Jan 2012 03:30:15 GMT Resent-Message-Id: <201201220330.q0M3UFuI028232@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Stephen Montgomery-Smith Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 318511065670 for ; Sun, 22 Jan 2012 03:23:44 +0000 (UTC) (envelope-from stephen@wilberforce.math.missouri.edu) Received: from wilberforce.math.missouri.edu (wilberforce.math.missouri.edu [128.206.184.213]) by mx1.freebsd.org (Postfix) with ESMTP id ECDF28FC1A for ; Sun, 22 Jan 2012 03:23:43 +0000 (UTC) Received: from wilberforce.math.missouri.edu (localhost [127.0.0.1]) by wilberforce.math.missouri.edu (8.14.5/8.14.5) with ESMTP id q0M3NhoT025122 for ; Sat, 21 Jan 2012 21:23:43 -0600 (CST) (envelope-from stephen@wilberforce.math.missouri.edu) Received: (from stephen@localhost) by wilberforce.math.missouri.edu (8.14.5/8.14.5/Submit) id q0M3Nh1b025121; Sat, 21 Jan 2012 21:23:43 -0600 (CST) (envelope-from stephen) Message-Id: <201201220323.q0M3Nh1b025121@wilberforce.math.missouri.edu> Date: Sat, 21 Jan 2012 21:23:43 -0600 (CST) From: Stephen Montgomery-Smith To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: bin/164361: make handles "+=" incorrectly when the variable has zero length X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Stephen Montgomery-Smith List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 03:30:15 -0000 >Number: 164361 >Category: bin >Synopsis: make handles "+=" incorrectly when the variable has zero length >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: Sun Jan 22 03:30:14 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Stephen Montgomery-Smith >Release: FreeBSD 8.2-STABLE amd64 >Organization: >Environment: System: FreeBSD wilberforce 8.2-STABLE FreeBSD 8.2-STABLE #0: Sat Dec 24 10:10:36 CST 2011 stephen@wilberforce:/usr/obj/usr/src/sys/GENERIC amd64 >Description: make handles "+=" incorrectly when the variable has zero length. This creates a mystery space if one does something like cd /usr/ports/math/lapack make -V LDFLAGS because of many lines in /usr/share/mk/sys.mk like LDFLAGS ?= >How-To-Repeat: Create a Makefile containing XXX= XXX+= xxx all: echo +${XXX}+ make produces the output echo + xxx+ + xxx+ >Fix: diff -ur usr.bin/make/var.c-orig usr.bin/make/var.c --- usr.bin/make/var.c-orig 2012-01-21 21:10:50.000000000 -0600 +++ usr.bin/make/var.c 2012-01-21 21:12:05.000000000 -0600 @@ -1101,7 +1101,8 @@ if (v == NULL) { VarAdd(n, val, ctxt); } else { - Buf_AddByte(v->val, (Byte)' '); + if (Buf_Size(v->val) != 0) + Buf_AddByte(v->val, (Byte)' '); Buf_Append(v->val, val); DEBUGF(VAR, ("%s:%s = %s\n", ctxt->name, n, Buf_Data(v->val))); } >Release-Note: >Audit-Trail: >Unformatted: