On 29.03.2015 20:58, Matthias Schwarzott 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?).
> 
I should add, that it seems to break for exactly one package: mariadb

# file /usr/lib32/libmysqlclient.so.18.0.0
/usr/lib32/libmysqlclient.so.18.0.0: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), dynamically linked, stripped

After commenting the flags again:
# file /usr/lib32/libmysqlclient.so.18.0.0
/usr/lib32/libmysqlclient.so.18.0.0: ELF 32-bit LSB shared object, Intel
80386, version 1 (SYSV), dynamically linked, stripped

Regards
Matthias


Reply via email to