On Sun, Mar 29, 2015 at 11:58 AM, Matthias Schwarzott <z...@gentoo.org> wrote: > Hi there! > > I updated my ~amd64 system recently to new hardware (Intel Core i3-4160). > Since then valgrind did no longer work for 32bit programs because > "-march=native" did choose instructions that valgrind does not support > in 32bit mode (even ld.so was unusable). > > After some research I put this into make.conf and now it works: > CFLAGS_x86="${CFLAGS_x86} -mno-avx2 -mno-sse4 -mno-bmi -mno-bmi2" > CXXFLAGS_x86="${CXXFLAGS_x86} -mno-avx2 -mno-sse4 -mno-bmi -mno-bmi2" > > Is this the best solution to the problem? > If yes, the valgrind ebuild could suggest something like this. > Either always show it or check cpu-flags first (is this maintainable?).
Valgrind's policy is that they don't implement new instruction sets in 32-bit. Doing what you've done is the only option I'm aware of, short of implementing support in valgrind for these instructions.