Valgrind 3.6.0 released on October 21, 2010. Release notes and list of fixed bugs are too big to copy them here, so follow URL to get them. This bug also probably fixes #305351 and #301780. Reproducible: Always
Assigning to maintainer-needed.
Created attachment 251783 [details, diff] Patch from 3.5.0 to 3.6.0 These will need to be ported to 3.6.0 because they don't apply anymore, but are still required: - valgrind-3.5.0-local-labels.patch - valgrind-3.5.0-non-exec-stack.patch So no-go for tree as-is.
Created attachment 251795 [details, diff] Proposed update for valgrind-3.5.0-local-labels.patch
Created attachment 251797 [details, diff] Proposed update for valgrind-3.5.0-non-exec-stack.patch Missing patches uploaded. Please test.
Valgrind installed with these patches works for me on amd64 with a vala program, thanks :)
I'd also like to ask for hardened support (need NOMPROPECT for all valgrind plugins). Valgrind needs RWX for: * large memory regions to emulate whole program w/o kernel assisted pagefaults * runtime code generation (libvex)
(In reply to comment #6) > I'd also like to ask for hardened support (need NOMPROPECT for all valgrind > plugins). > > Valgrind needs RWX for: > * large memory regions to emulate whole program w/o kernel assisted pagefaults > * runtime code generation (libvex) > I recently took this package over. I'll take care of this tomorrow. I will add the hardened support as in bug #341599
Okay, I looked at this a bit more. Both valgrind-3.6.0-local-labels.patch and valgrind-3.6.0-non-exec-stack.patch are fine. I've change valgrind-3.6.0.ebuild.patch a bit because: 1. configure.in has changed its CFLAGS line to CFLAGS="-Wno-long-long $CFLAGS" which already inherits Gentoo's CFLAGS. We don't need sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in 2. Just in case, I also removed CPPFLAGS= from mpi/Makefile.am so that CPPFLAGS are respected too. 3. I forward ported the pax-mark m for hardened from 3.5.0-r1 4. I added KEYWORD ~arm because according to upstream changelog arm-linux arch is now supported. I tested this on a vanilla x86 and hardened x86 using the following code and got the expected results: #include <iostream> using namespace std ; int main() { for(int i=0;i<1024;i++) { const unsigned MAX = 4096 ; char *dvalues = new char[MAX] ; //delete [] dvalues ; //BEWARE!!! } return 0 ; } I'll leave this stuff up for people to look at for a few days and if there are no problems, I'll put it on the tree. Patch to ebuild in the next post ...
Created attachment 253079 [details, diff] patch against valgrind-3.5.0-r1.ebuild
> !dev-util/callgrind" do we need it?
(In reply to comment #10) > > !dev-util/callgrind" > > do we need it? > Doesn't look like it. Its gone!
> 4. I added KEYWORD ~arm because according to upstream changelog arm-linux arch > is now supported. Maybe, it would be better to ask arm arch team to keyword it. valgrind is either very picky about supported arm families or has broken autotools host detector: checking for a supported version of gcc... ok (5) checking build system type... armv5tel-softfloat-linux-gnueabi checking host system type... armv5tel-softfloat-linux-gnueabi checking for a supported CPU... no (armv5tel) configure: error: Unsupported host architecture. Sorry
> checking for a supported version of gcc... ok (5) > checking build system type... armv5tel-softfloat-linux-gnueabi > checking host system type... armv5tel-softfloat-linux-gnueabi > checking for a supported CPU... no (armv5tel) > configure: error: Unsupported host architecture. Sorry Taken a look at configure.in: case "${host_cpu}" in ... armv7*) AC_MSG_RESULT([ok (${host_cpu})]) ARCH_MAX="arm" ;; *) AC_MSG_RESULT([no (${host_cpu})]) AC_MSG_ERROR([Unsupported host architecture. Sorry]) ;; esac So, it dislikes my box.
@ comment #13: From the release notes (http://valgrind.org/docs/manual/dist.news.html): * Support for ARM/Linux. Valgrind now runs on ARMv7 capable CPUs running Linux. It is known to work on Ubuntu 10.04, Ubuntu 10.10, and Maemo 5, so you can run Valgrind on your Nokia N900 if you want. This requires a CPU capable of running the ARMv7-A instruction set (Cortex A5, A8 and A9). Valgrind provides fairly complete coverage of the user space instruction set, including ARM and Thumb integer code, VFPv3, NEON and V6 media instructions. The Memcheck, Cachegrind and Massif tools work properly; other tools work to varying degrees. It's for the newish smartphones only. Maybe contributed by Android people or something. I say let arm team decide.
@arm arch team valgrind-3.6.0 adds arm support (according to the ChangeLog). Should I include ~arm in KEYWORDS, or let you guys add it?
I just committed this to the tree without ~arm. I'm going to close this bug because it was about a version bump. If people want to get ~arm keywording, please open another enhancement bug.