On 03/29/15 15:07, Matt Turner wrote:
On Sun, Mar 29, 2015 at 11:58 AM, Matthias Schwarzott <[email protected]> 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.
This is a known issue. I could add a pkg_postinst() message, but with
valgrind, there would be lots of caveats. Maybe open a bug and we'll
track the issue in gentoo that way, like the strlen issue and a few
other valgrind oldies.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : [email protected]
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA