New DTrace source snapshot
Niki Denev
nike_d at cytexbg.com
Fri Feb 15 19:48:26 UTC 2008
On Tue, Feb 12, 2008 at 12:11 PM, Alexey Shuvaev
<shuvaev at physik.uni-wuerzburg.de> wrote:
>
> On Sun, Feb 10, 2008 at 10:42:47PM +0000, John Birrell wrote:
> > This one fixes problems with the previous one:
> >
> > - buildkernel would fail because NO_CTF=1 was not set when
> > building the lone kernel build tool.
> > - A number of things were missing from the dtrace kernel
> > module on i386.
> > - Missing syscall names in the kernel without witness have
> > been resolved so this snapshot should build with and without
> > witness, invariants, smp etc.
> >
> > <http://people.freebsd.org/~jb/dtrace/dtrace-20080211.tar.bz>
> >
> > Known problems:
> > - This is a snapshot of current which contains lock order
> > reversal warnings. These are not related to the DTrace-specific
> > code.
> > - ustack() as reported by Drew hasn't been ported yet, so don't
> > expect it to do anything.
> > - On i386 mp_maxid in the kernel doesn't behave the same way that
> > it does on amd64. Work-around code exists for this, but it is
> > less than optimal.
> > - A few of the tests that pass on amd64 don't work on i386. The
> > causes are under investigation. The worst one is the tailcall
> > test which causes the machine to reboot. Ugh.
> >
> > Note:
> > - This snapshot should build cleanly on either a CURRENT or a
> > RELENG_7 system. If not, please tell me. RELENG_6 users should
> > upgrade to RELENG_7 first or contact me. The tool bootstrap
> > will fail to build when hosted on RELENG_6.
> > - It should be ABI compatible with CURRENT and RELENG_7. If
> > not, please tell me.
> > - This snapshot extends the basic OpenSolaris DTrace functionality
> > to support:
> >
> > printm(const size_t bufrsize, uintptr_t *memref);
> >
> > where:
> >
> > 'memref' is an an array of 2 uintptr_t entries -- address and
> > size.
> >
> > [snip]
> >
> > Target audience:
> >
> > I'd like to get more people involved with running this code.
> > If you just like to follow FreeBSD current and don't even try
> > to contribute stuff back... this snapshot is something you
> > could try. I need some feeback from people who just use
> > FreeBSD-CURRENT.
> >
> > --
> > John Birrell
> >
>
> Hello!
>
> The procedure I went through:
> # cd /usr
> # rm -R src
> # tar -xvf /path/to/dtrace-20080211.tar.bz
> # cd src
> # time make buildworld
>
> Buildworld failed in:
> --------------------------------------------------------------
> >>> stage 5.1: building 32 bit shim libraries
> --------------------------------------------------------------
> mkdir -p /usr/obj/usr/src/lib32/usr/include
> mkdir -p /usr/obj/usr/src/lib32/usr/lib32
> mkdir -p /usr/obj/usr/src/lib32/usr/share/misc
> mtree -deU -f /usr/src/etc/mtree/BSD.include.dist -p /usr/obj/usr/src/lib32/usr/include >/dev/null
> mkdir -p /usr/obj/usr/src/tmp
> ln -sf /usr/src/sys /usr/obj/usr/src/tmp
> cd /usr/src/kerberos5/tools; MAKEOBJDIRPREFIX=/usr/obj/lib32 make DESTDIR= obj
> ===> make-print-version (obj)
> /usr/obj/lib32/usr/src/kerberos5/tools/make-print-version created for /usr/src/kerberos5/tools/make-print-version
> ===> make-roken (obj)
> /usr/obj/lib32/usr/src/kerberos5/tools/make-roken created for /usr/src/kerberos5/tools/make-roken
> ===> asn1_compile (obj)
> /usr/obj/lib32/usr/src/kerberos5/tools/asn1_compile created for /usr/src/kerberos5/tools/asn1_compile
> cd /usr/src/kerberos5/tools; MAKEOBJDIRPREFIX=/usr/obj/lib32 make DESTDIR= depend
> ===> make-print-version (depend)
> rm -f .depend
> mkdep -f .depend -a -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-print-version/../../include /usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c
> echo make-print-version: /usr/lib/libc.a >> .depend
> ===> make-roken (depend)
> awk -f /usr/src/kerberos5/tools/make-roken/../../../crypto/heimdal/lib/roken/roken.awk /usr/src/kerberos5/tools/make-roken/../../../crypto/heimdal/lib/roken/roken.h.in > make-roken.c
> rm -f .depend
> mkdep -f .depend -a -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-roken/../../include make-roken.c
> echo make-roken: /usr/lib/libc.a >> .depend
> ===> asn1_compile (depend)
> sed -e '106s/"/"#ifdef __PARSE_UNITS_H__\\n/;' -e '106s/",/\\n#endif\\n",/' /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/gen_glue.c > gen_glue-fixed.c
> lex -t /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/lex.l > lex.c
> yacc -d -o parse.c /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/parse.y
> cd /usr/src/kerberos5/tools/asn1_compile/../make-print-version && make
> cc -O2 -fno-strict-aliasing -pipe -march=nocona -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-print-version/../../include -g -c /usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c
> ctfconvert -L VERSION make-print-version.o
> ctfconvert:No such file or directory
> *** Error code 1
>
> Stop in /usr/src/kerberos5/tools/make-print-version.
> *** Error code 1
>
> Stop in /usr/src/kerberos5/tools/asn1_compile.
> *** Error code 1
>
> Stop in /usr/src/kerberos5/tools.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
> 4693.728u 1668.096s 1:44:52.91 101.0% 5904+7451k 36308+18539io 13261pf+0w
>
>
>
>
>
> The system is:
> FreeBSD wep4017.physik.uni-wuerzburg.de 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Thu Jan 31 13:04:43 CET 2008 lexx at wep4017.physik.uni-wuerzburg.de:/usr/obj/usr/src/sys/GENERIC amd64
>
> /etc/make.conf contains:
> CPUTYPE ?= nocona
>
> Should I disable building 32-bit compatibility libraries?
> If so, how can I do that? I saw some make switch some time ago, but
> now I see nothing similar in src/Makefile or src/Makefile.inc1.
>
> The second question, is parallel build with make -jN option supposed to work?
>
> Thanks,
> Alexey.
Just put :
WITHOUT_LIB32=yes
in /etc/src.conf
It did the trick for me.(i even built it with -j8)
--Niki
More information about the freebsd-current
mailing list