Re: New DTrace source snapshot



On Tue, Feb 12, 2008 at 12:11 PM, Alexey Shuvaev
<shuvaev@xxxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:/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
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: New DTrace source snapshot
    ... A number of things were missing from the dtrace kernel ... This is a snapshot of current which contains lock order ... This snapshot extends the basic OpenSolaris DTrace functionality ... *** Error code 1 ...
    (freebsd-current)
  • New DTrace source snapshot
    ... This one fixes problems with the previous one: ... A number of things were missing from the dtrace kernel ... This is a snapshot of current which contains lock order ... will fail to build when hosted on RELENG_6. ...
    (freebsd-current)
  • Re: ../../../dev/ath/if_ath.c:3414: error: const struct ath_rx_status has no member named rs_flags
    ... The open-source Atheros HAL has been merged from HEAD ... The kernel compile-time option AH_SUPPORT_AR5416 has been ... *** Error code 1 ... passing well and than "make" state fail, ...
    (freebsd-questions)
  • Re: How to tell when execv has succeeded
    ... fail. ... Start new program running ... If step 2 fails, it returns with an error code, but the descriptors ... The kernel must be left in a consistent state. ...
    (comp.unix.programmer)
  • Re: [PATCH] Remove process freezer from suspend to RAM pathway
    ... The freezer is one somewhat horrible way to get it working for now, I would prefer something more along the way that blocks the page cache from writing out new dirty pages though, except those specifically flagged by the snapshot. ... Userspace process sends SIGCONT to only those processes which are necessary for sync and a device-mapper snapshot. ... Kernel starts freeing memory and swapping stuff out to make room for a copy of *kernel* memory ...
    (Linux-Kernel)