All versions of valgrind fail to build on ARM hardfloat because the build is looking for /lib/ld-linux.so.3 but on armfs the dynamic loader is called ld-linux-armhf.so.3.
Here's the last few lines of the build: make[3]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck' Making check in tests make[3]: Entering directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' Making check in . make[4]: Entering directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' make addressable atomic_incs badaddrvalue badfree badjump badjump2 badloop badpoll badrw big_blocks_freed_list brk2 buflen_check calloc-overflow clientperm custom_alloc custom-overlap deep_templates describe-block doublefree error_counts errs1 exitprog execve1 execve2 erringfds err_disable1 err_disable2 err_disable3 err_disable4 file_locking fprw fwrite inits inline holey_buffer_too_small leak-0 leak-cases leak-cycle leak-delta leak-pool leak-tree long_namespace_xml long-supps mallinfo malloc_free_fill malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign_test memalign2 memcmptest mempool mempool2 mmaptest mismatches new_override metadata nanoleak_supp nanoleak2 new_nothrow noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp overlap partiallydefinedeq partial_load pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 sbfragment sh-mem sh-mem-random sigaltstack signal2 sigprocmask sigkill strchr str_tester supp_unknown supp1 supp2 suppfree trivialleak unit_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_fbench vcpu_fnfns xml1 wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev1 make[5]: Entering directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' armv7a-hardfloat-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1 -DVGPV_arm_linux_vanilla=1 -Winline -Wall -Wshadow -g -mfloat-abi=softfp -Wno-long-long -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -nopie -fno-stack-protector -Wno-pointer-sign -fno-stack-protector -c addressable.c armv7a-hardfloat-linux-gnueabi-gcc -Winline -Wall -Wshadow -g -mfloat-abi=softfp -Wno-long-long -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -nopie -fno-stack-protector -Wno-pointer-sign -fno-stack-protector -Wl,-O1 -Wl,--as-needed -o addressable addressable.o /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.6.3/../../../../armv7a-hardfloat-linux-gnueabi/bin/ld: cannot find /lib/ld-linux.so.3: No such file or directory collect2: ld returned 1 exit status make[5]: *** [addressable] Error 1 make[5]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0/memcheck' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0' make: *** [check] Error 2 * ERROR: dev-util/valgrind-3.7.0-r4 failed (test phase): * Make check failed. See above for details. * * Call stack: * ebuild.sh, line 85: Called src_test * environment, line 3171: Called _eapi0_src_test * phase-helpers.sh, line 550: Called die * The specific snippet of code: * $emake_cmd -j1 check || \ * die "Make check failed. See above for details." * * If you need support, post the output of `emerge --info '=dev-util/valgrind-3.7.0-r4'`, * the complete build log and the output of `emerge -pqv '=dev-util/valgrind-3.7.0-r4'`. * The complete build log is located at '/var/tmp/portage/dev-util/valgrind-3.7.0-r4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-util/valgrind-3.7.0-r4/temp/environment'. * Working directory: '/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0' * S: '/var/tmp/portage/dev-util/valgrind-3.7.0-r4/work/valgrind-3.7.0'
(In reply to comment #0) > All versions of valgrind fail to build on ARM hardfloat because the build is > looking for /lib/ld-linux.so.3 but on armfs the dynamic loader is called > ld-linux-armhf.so.3. This is only for FEATURES="test". Otherwise valgrind builds and works fine.
this is no longer true for =dev-util/valgrind-3.10.1