FYI: Userspace DTrace MFC to stable/8

Zhihao Yuan lichray at gmail.com
Wed Mar 30 16:49:28 UTC 2011


On Wed, Mar 30, 2011 at 3:56 AM, Nikolay Denev <ndenev at gmail.com> wrote:
>
> On Mar 30, 2011, at 11:24 AM, Zhihao Yuan wrote:
>
> On Wed, Mar 30, 2011 at 2:57 AM, Nikolay Denev <ndenev at gmail.com> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
>
> Hash: SHA1
>
> On Mar 1, 2011, at 12:10 PM, Kostik Belousov wrote:
>
> On Tue, Mar 01, 2011 at 11:03:07AM +0200, Nikolay Denev wrote:
>
> On 1 Mar, 2011, at 01:33 , Robert Watson wrote:
>
> Dear all:
>
> Just an FYI that I've gone ahead and merged userspace DTrace support to
> FreeBSD 8.x from 9.x.  While it appeared to pass build tests locally, boot
> and run, etc, this is a non-trivial merge, and it's possible I've messed up.
>  If so, apologies in advance, and I'll try to resolve any problems as
> quickly as I can!
>
> And of course, many thanks go to Rui Paulo, who did the port of userspace
> DTrace to FreeBSD 9.x with support from the FreeBSD Foundation!
>
> Thanks,
>
> Robert N M Watson
>
> Computer Laboratory
>
> University of Cambridge
>
>
> That's great news! Many thanks to all that made this possible!
>
> I have a quick question though, now do I have to rebuild my world with
> "WITH_CTF" ?
>
> I'm asking because I did that by mistake some months ago on a RELENG_8
> machine, and
>
> the world that was built had some problems, like gcc giving segfault 11
> while compiling world or some ports.
>
> It was a known issue that ctfconvert (I think it is ctfconvert) damages
>
> statically linked binaries. Most likely, it was not fixed yet.
>
> I can confirm this is not fixed yet.
>
> I have two STABLE-8 machines which had their world rebuilt with WITH_CTF
> option,
>
> and now I'm unable to rebuild the world as both machines fail with
> Segmentation Fault: 11 on exactly the same place :
>
> mkdep -f .depend -a    -I/usr/obj/usr/src/tmp/legacy/usr/include
> -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib
> -I/usr/src/gnu/usr.bin/gperf
>  /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/bool-array.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/gen-perf.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/hash-table.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/iterator.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/key-list.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/list-node.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/main.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/options.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/read-line.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/trace.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/vectors.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/version.cc
> /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/hash.cc
>
> cc: Internal error: Segmentation fault: 11 (program cc1plus)
>
> Please submit a full bug report.
>
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>
> mkdep: compile failed
>
> *** Error code 1
>
> Stop in /usr/src/gnu/usr.bin/gperf.
>
> *** Error code 1
>
> Stop in /usr/src.
>
> *** Error code 1
>
> Stop in /usr/src.
>
> *** Error code 1
>
> Stop in /usr/src.
>
> I have met this problem before. WITH_CTF on world is not required to
> use DTrace, and it seems that the gcc is broken. If can get a working
> gcc4.2 in the base system, you are ucky. Or, you can download a base
> system for the FreeBSD FTP site, and install it to a temp path, then
> copy the gcc binary to /usr/bin.
>
>
> Yes, but since now the userspace DTrace portions have been MFCed I believe
> one needs a world WITH_CTF to use it?
> Anyways, I've already fixed my installations, exactly by downloading a ISO
> image and extracting only the
> GCC stuff.
> Regards,
> Nikolay

WITH_CTF adds the DTrace provider support to a program (if I was
wrong, please correct me). So far, DTrace on FreeBSD is intended for
kernel tracing. Some day in the future, we may have DTrace support for
the userland tools (we do have userland providers, but they are used
to debug a program in general).

-- 
Zhihao Yuan
The best way to predict the future is to invent it.


More information about the freebsd-stable mailing list