Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2018 17:29:25 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net>
To:        "Simon J. Gerraty" <sjg@juniper.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Module compiles looking in /usr/src when alternate src tree is in use
Message-ID:  <201804110029.w3B0TPUf025467@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <3030.1523404597@kaos.jnpr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> Rodney W. Grimes <freebsd-rwg@pdx.rh.CN85.dnsmgr.net> wrote:
> 
> > I am having a compile time issue for a patched that compiled fine on my
> > r329294 system, but now failes to compile with what looks like a wrong
> > header being included.
> 
> You may find it helpful to do something like:
> 
> make -dv -C sys/modules/vmm -V CFLAGS > /tmp/dvo 2>&1
> egrep ':.PARSE|/usr/src/sys' /tmp/dvo | grep -B1 usr/src | more
> 
> The arg to -V doesn't matter btw.
> You could narrow that down if you know what var -I/usr/src/sys is in
> (probably CFLAGS but you never know)
> the above should help find the makefile that is introducing the bogus -I
> 

Thank you, that does help narrow it down:  (I backed up a vew lines
from the first place I saw src/.)

...
Global:.PARSEFILE = bsd.kmod.mk
Global:.PARSEDIR = /usr/src-topo/share/mk
Global:.PARSEFILE = bsd.kmod.mk
Result[] of :U is "/usr/src/sys"
Result[] of :U is "/usr/src/sys"
Global:SYSDIR = ${:U/usr/src/sys:tA}
Global:.PARSEDIR = /usr/src-topo/share/mk
Global:.PARSEFILE = bsd.kmod.mk
Result[] of :U is "/usr/src/sys"
Applying[] :t to "/usr/src/sys"
Result[] of :t is "/usr/src/sys"
Result[] of :U is "/usr/src/sys"
Applying[] :t to "/usr/src/sys"
Result[] of :t is "/usr/src/sys"
Result[] of :U is "/usr/src/sys"
Applying[] :t to "/usr/src/sys"
Result[] of :t is "/usr/src/sys"
Global:.MAKE.MAKEFILES = /usr/src-topo/share/mk/sys.mk /usr/src-topo/share/mk/local.sys.env.mk /usr/src-topo/share/mk/src.sys.env.mk /usr/src-topo/share/mk/bsd.mkopt.m
k /usr/src-topo/share/mk/src.sys.obj.mk /usr/src-topo/share/mk/auto.obj.mk /usr/src-topo/share/mk/bsd.suffixes.mk /usr/src-topo/share/mk/local.sys.mk /usr/src-topo/sha
re/mk/src.sys.mk /usr/src-topo/sys/modules/vmm/Makefile /usr/src-topo/share/mk/bsd.kmod.mk /usr/src/sys/conf/kmod.mk
                                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^
Thats gona bust something some day....

Global:.PARSEDIR = /usr/src/sys/conf
Global:.PARSEFILE = kmod.mk
Global:.INCLUDEDFROMDIR = /usr/src/sys/conf
Oh my!  Uggggg


So something in bsd.kmod.mk is going very wrong... it looks like it
starts to pull all sorts of stuff from /usr/src/sys!

> > 
> > I have wrapped the long line so I can point to a difference between
> > r329294 and r332262 make log of this file.
> > 
> > r329294 make output:
> > 
> > cc  -O2 -pipe -DVMM_KEEP_STATS -DSMP  -fno-strict-aliasing -Werror -D_KERNEL \
> > -DKLD_MODULE -nostdinc  -I/usr/src-topo/sys/amd64/vmm \
> > -I/usr/src-topo/sys/amd64/vmm/io -I/usr/src-topo/sys/amd64/vmm/intel \
> > -I/usr/src-topo/sys/amd64/vmm/amd -I. -I/usr/src-topo/sys -fno-common  \
> >                                        ^^^^^^^^^^^^^^^^^ this is what I would expect
> 
> 

-- 
Rod Grimes                                                 rgrimes@freebsd.org



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