valgrind

Heiko Wundram modelnine at modelnine.org
Thu Jul 31 14:47:17 UTC 2008


Am Donnerstag, 31. Juli 2008 16:19:16 schrieb Andrea Venturoli:
> > Or remove the line 'ONLY_FOR_ARCHS= i386' from the port Makefile, try it
> >  and see where it breaks. :-) I'm guessing it need some support code in
> >  the OS.
>
> That was more my question. There must be some OS support which FreeBSD
> i386 has and FreeBSD amd64 has not. It was just curiosity, though.

AFAIK it's not about OS-support for valgrind being required (but there is a 
module for freebsd which speeds up valgrind considerably), but about 
syscall-support. valgrind has/requires wrappers for all _possible_ syscalls 
to be able to implement it's memory-checker and some other functionality, and 
that table of callbacks and the callbacks themselves simply aren't 
implemented for amd64 (which has different syscalls/syscall parameters than 
i386).

A porting effort is under way, as far as I recall a discussion on 
freebsd-hackers I had for a similar reason (the current valgrind that's in 
ports won't run on any 7.x, because the syscalls changed/were extended 
somewhat from the 6.x-series, and the table hasn't been adapted 
correspondingly), but the last time I pulled that porting effort (which is 
now about two months ago) and compiled it, valgrind was pretty much useless 
for me (even though it runs), because it couldn't deal with threads (i.e., 
the syscalls responsible for thread creation/management).

Just check in the archives of freebsd-hackers, possibly what's currently 
present (someone did a tarball) is enough for your purposes. But, YMMV.

-- 
Heiko Wundram


More information about the freebsd-questions mailing list