Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jan 2012 18:07:33 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Jung-uk Kim <jkim@FreeBSD.org>
Cc:        src-committers@freebsd.org, Rui Paulo <rpaulo@freebsd.org>, John Baldwin <jhb@freebsd.org>, svn-src-all@freebsd.org, Dmitry Morozovsky <marck@rinet.ru>, svn-src-head@freebsd.org, John Nielsen <john@jnielsen.net>, Peter Grehan <grehan@FreeBSD.org>
Subject:   Re: svn commit: r213765 - head/sys/dev/aic7xxx/aicasm
Message-ID:  <4F0F1355.2010709@FreeBSD.org>
In-Reply-To: <201010141523.29842.jkim@FreeBSD.org>
References:  <201010131033.o9DAX1EE080534@svn.freebsd.org> <201010141505.14869.jkim@FreeBSD.org> <alpine.BSF.2.00.1010142308070.86954@woozle.rinet.ru> <201010141523.29842.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------020707010109000404020808
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 2010-10-14 21:23, Jung-uk Kim wrote:
> On Thursday 14 October 2010 03:11 pm, Dmitry Morozovsky wrote:
>> On Thu, 14 Oct 2010, Jung-uk Kim wrote:
...
>> cc -O2 -pipe -nostdinc -I/usr/include -I.
>> -I/FreeBSD/src.current.svn/sys/dev/aic7xxx/aicasm -std=gnu99
>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W
>> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes
>> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch
>> -Wshadow -Wunused-parameter -Wcast-align -Wno-pointer-sign -c
>> aicasm_scan.c
>> cc1: warnings being treated as errors
>> /FreeBSD/src.current.svn/sys/dev/aic7xxx/aicasm/aicasm_scan.l:840:
>> warning: function declaration isn't a prototype
...
> Hmm...  That means "make buildkernel" did not pick up newly built lex.
> That's bad. :-(

I know it's very, very late to respond to this, but I just had an email
conversation with Peter Grehan, where he ran into this problem when
attempting to build -CURRENT on 8.1-RELEASE.  This doesn't have the
followup r214779 yet, where the needed update to lex is merged.

Of course, I also know that building -CURRENT on 8.1-RELEASE is
officially not supported, but if there is a relatively simple fix to
make it work, it should not be a problem to apply, right? :)

The root of the problem is that, even if buildworld is completed, the
"stage 2.3: build tools" (kernel-specific) part of Makefile.inc1 uses
lex and yacc from /usr/bin, *not* the ones built under ${WORLDTMP}
(usually in /usr/obj/usr/src/tmp/legacy/usr/bin).

Therefore, I propose to set PATH to ${BPATH}:${PATH} in this stage, so
the "good" versions of lex and yacc are used.  As per attached diff.

(NOTE: even with this diff applied, doing 'make buildkernel' without
first doing 'make buildworld' or 'make kernel-toolchain' will not work,
because there will be no copy of lex and yacc in /usr/obj.)

--------------020707010109000404020808
Content-Type: text/x-diff;
 name="fix-aicasm-lex-yacc-1.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="fix-aicasm-lex-yacc-1.diff"

Index: Makefile.inc1
===================================================================
--- Makefile.inc1	(revision 229979)
+++ Makefile.inc1	(working copy)
@@ -832,6 +832,7 @@
 	@echo ">>> stage 2.3: build tools"
 	@echo "--------------------------------------------------------------"
 	cd ${KRNLOBJDIR}/${_kernel}; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \
 	    -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
@@ -839,6 +840,7 @@
 .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
 .for target in obj depend all
 	cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF ${target}
 .endfor

--------------020707010109000404020808--



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