My github repo is here
github.com
I'd appreciate any feedback from anyone that can build and try the tools.
I've been working on bringing Valgrind up to date on FreeBSD. That's up to data as in being based on the main Valgrind git repo HEAD code, what is currently just after Valgrind 3.16.1. There have been various attempts over the past few years to bring back FreeBSD support. I don't know all of the details, but the FreeBSD port seems to have kept up between about versions 3.5 and 3.10. The FreeBSD ports system contains Valgrind 3.10 with the occasional patch to fix things. Currently the ports version is pretty much useless on current (12.1) FreeBSD. It builds and it runs but 'memcheck' cannot detect any dynamic memory errors. i386 doesn't even run.
Here's a brief summary of the things that I've done.
GitHub - paulfloyd/freebsd_valgrind: Git repo used to Upstream the FreeBSD Port of Valgrind
Git repo used to Upstream the FreeBSD Port of Valgrind - paulfloyd/freebsd_valgrind
I'd appreciate any feedback from anyone that can build and try the tools.
I've been working on bringing Valgrind up to date on FreeBSD. That's up to data as in being based on the main Valgrind git repo HEAD code, what is currently just after Valgrind 3.16.1. There have been various attempts over the past few years to bring back FreeBSD support. I don't know all of the details, but the FreeBSD port seems to have kept up between about versions 3.5 and 3.10. The FreeBSD ports system contains Valgrind 3.10 with the occasional patch to fix things. Currently the ports version is pretty much useless on current (12.1) FreeBSD. It builds and it runs but 'memcheck' cannot detect any dynamic memory errors. i386 doesn't even run.
Here's a brief summary of the things that I've done.
- Updated the build. New syscalls and 'stat' structures in FreeBSD 12 broke a few things.
- Fixed symtab loading due to extra read-only PT_LOAD ELF segments. This was the cause of not seeing dynamic memory issues.
- Analyzed and resolved many clang related issues.
- Added libc++ to libraries that undergo symtab loading.
- Added about 40 more syscalls
- Removed some obsolete syscalls
- i386 is now working which involved a difficult workaround for a bug in rtld
- Added FreeBSD 11 support, also builds on FreeBSD 10
- All hangs resolved on amd64, one remaining on i386
- Analyzed most of the regression tests and updated either testcases or results files.
- DRD and Helgrind both work reasonably well.
- Signal handling does not work correctly, particularly on i386
- Adding more FreeBSD specific regression tests
- Getting clean default suppressions that filter non-issues in libc but don't result in user false negatives
- Cleaner handling of applications using capsicum or chroot
Last edited: