Date: Mon, 13 Dec 2004 18:09:55 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Marcel Moolenaar <marcel@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src Makefile Message-ID: <200412131809.55580.jhb@FreeBSD.org> In-Reply-To: <200412130049.iBD0nq8o095802@repoman.freebsd.org> References: <200412130049.iBD0nq8o095802@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 12 December 2004 07:49 pm, Marcel Moolenaar wrote: > marcel 2004-12-13 00:49:52 UTC > > FreeBSD src repository > > Modified files: > . Makefile > Log: > Unbreak the MAKEOBJDIRPREFIX variable check by avoiding bugs in make(1). > When make flags are passed to make in the environment, the string is > chopped up in an (argc,argv) vector. This happens in brk_string() and > the chopped up string is stored in static buffer. When this includes > something like "-V BINMAKE", then a pointer into the static buffer is > put on the variables list for evaluation later. However, brk_string() > is used for more than just chopping up the MAKEFLAGS env. variable, so > it's very likely that the static buffer is clobbered. In fact, this is > exactly what happens. > The result is that _MAKEOBJDIRPREFIX gets assigned whatever garbage > the child make happens to emit, causing the test to fail. Like this: > > pluto2% cd /usr/src > pluto2% make -V BINMAKE > "/q/6.x/src/Makefile", line 94: MAKEOBJDIRPREFIX can only be set in > environment, not as a global (in /etc/make.conf) or command-line variable. > pluto2% make -dv -V BINMAKE | & grep _MAKEOBJDIRPREFIX > Global:_MAKEOBJDIRPREFIX = } > > The fix is to not use MAKEFLAGS for this, but simple pass the flags > as arguments. Ideally make(1) should be fixed but that's beyond the > scope of my attention span. > > This fixes release. Thanks! This should also fix anyone upgrading their sparc to 64-bit time_t using the installworld_newk script. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412131809.55580.jhb>