Date: Tue, 09 Mar 2010 15:16:09 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-stable@freebsd.org, Robert Watson <rwatson@freebsd.org> Subject: Re: is dtrace usable? Message-ID: <20100309151609.19673jkwuoptzy0w@webmail.leidinger.net> In-Reply-To: <201003090747.00192.jhb@freebsd.org> References: <E1Nnv0H-00020A-9M@kabab.cs.huji.ac.il> <201003081000.12656.jhb@freebsd.org> <20100309092709.16456y55vq0kaa88@webmail.leidinger.net> <201003090747.00192.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting John Baldwin <jhb@freebsd.org> (from Tue, 9 Mar 2010 07:47:00 -0500): > On Tuesday 09 March 2010 3:27:09 am Alexander Leidinger wrote: >> Quoting John Baldwin <jhb@freebsd.org> (from Mon, 8 Mar 2010 >> 10:00:12 -0500): >> >> > On Saturday 06 March 2010 11:00:12 am Robert Watson wrote: >> >> On Sat, 6 Mar 2010, Alexander Leidinger wrote: >> >> >> >> >> Take a look at the DTrace configuration information here: >> >> >> >> >> >> >> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/dtrace.html >> >> > >> >> > I've just reread it (despite the fact that I already used it). Some >> >> > comments: >> >> > >> >> > Last time I tried, I didn't see any problems by adding >> >> > makeoptions WITH_CTF=yes >> >> > to the kernel config instead of doing >> >> > make WITH_CTF=1 kernel >> >> > >> >> > Did I miss something, and if not, shouldn't we tell about the >> >> > makeoptions part instead (a kernel rebuild later will not cause >> >> > trouble when someone forgets to do the WITH_CTF part as it is already >> >> > in the kernel makefile)? >> >> >> >> I'll leave John to answer this one, CC line broadended. >> > >> > I would be very surprised if 'makeoptions WITH_CTF=yes' worked. The many >> > times I and others have tried it it did not work. Do you have a >> log of your >> > build showing the ctfconvert and ctfmerge command lines? >> >> I do not have a log around, it has been a while since I did something >> with dtrace (a year ago) and I can not remember that I always added >> WITH_CTF on a build (but it was about SDT probes, not FBT probes, in >> case it matters). >> >> I had a look again, WITH_CTF=yes is one of the first lines in the >> Makefile, and /usr/share/mk/sys.mk has "if !defined(WITH_CTF)". "make >> -V WITH_CTF" shows "yes", but "make -V NO_CTF" shows "1". This is >> strange, isn't it? I would expect that NO_CTF is undefined. Is this a >> bug in make, or a bug in the man page (neither in the description of >> the different kinds of variables, nor in the description of "defined" >> is something mentioned explaining this behavior). > > It is defined behavior. From the 2nd and 3rd paragraphs of the make(1) > manual page: > > First of all, the initial list of specifications will be read from the > system makefile, sys.mk, unless inhibited with the -r option. The stan- > dard sys.mk as shipped with FreeBSD also handles make.conf(5), the > default path to which can be altered via the make variable __MAKE_CONF. > > Then the first of BSDmakefile, makefile, and Makefile that can be found > in the current directory, object directory (see .OBJDIR), or search path > (see the -I option) will be read for the main list of > dependency specifi- > cations. A different makefile or list of them can be supplied > via the -f > option(s). Finally, if the file .depend can be found in any of the > aforesaid locations, it will also be read (see mkdep(1)). > > From this you can see that sys.mk is included and parsed before 'Makefile', > so the WITH_CTF=yes is not set until after sys.mk has been parsed. I think we need to find a different solution for this. The need to specify WITH_CTF at the command line is very error prone. :( Bye, Alexander. -- Every time I lose weight, it finds me again! http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100309151609.19673jkwuoptzy0w>