valgrind: Update to version 3.18.1

This version has some improvements for musl.
This version works fine for me on MIPS 32 BE without MIPS16 even on musl.

The additional patch is needed to make valgrind use the correct syscall
numbers for new syscalls like clock_gettime64. The MIPS architecture
uses special syscall ranges which are different from most other systems.
The patch is pending upstream: https://bugs.kde.org/show_bug.cgi?id=444781

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens
2021-10-31 17:39:23 +01:00
parent 90a2398a11
commit e1db26085b
3 changed files with 139 additions and 8 deletions

View File

@@ -14,7 +14,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
--- a/VEX/priv/guest_mips_helpers.c
+++ b/VEX/priv/guest_mips_helpers.c
@@ -617,6 +617,7 @@ extern UInt mips_dirtyhelper_calculate_F
@@ -616,6 +616,7 @@ extern UInt mips_dirtyhelper_calculate_F
flt_op inst )
{
UInt ret = 0;
@@ -22,7 +22,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
#if defined(__mips__)
VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs;
UInt loFsVal, hiFsVal, loFtVal, hiFtVal;
@@ -699,6 +700,7 @@ extern UInt mips_dirtyhelper_calculate_F
@@ -698,6 +699,7 @@ extern UInt mips_dirtyhelper_calculate_F
break;
}
#endif
@@ -30,7 +30,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
return ret;
}
@@ -708,6 +710,7 @@ extern UInt mips_dirtyhelper_calculate_F
@@ -707,6 +709,7 @@ extern UInt mips_dirtyhelper_calculate_F
flt_op inst )
{
UInt ret = 0;
@@ -38,7 +38,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
#if defined(__mips__) && ((__mips == 64) || \
(defined(__mips_isa_rev) && (__mips_isa_rev >= 2)))
#if defined(VGA_mips32)
@@ -860,6 +863,7 @@ extern UInt mips_dirtyhelper_calculate_F
@@ -859,6 +862,7 @@ extern UInt mips_dirtyhelper_calculate_F
break;
}
#endif
@@ -48,7 +48,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
--- a/coregrind/m_machine.c
+++ b/coregrind/m_machine.c
@@ -1828,6 +1828,7 @@ Bool VG_(machine_get_hwcaps)( void )
@@ -2103,6 +2103,7 @@ Bool VG_(machine_get_hwcaps)( void )
we are using alternative way to determine FP mode */
ULong result = 0;
@@ -56,7 +56,7 @@ This fixes the following error message when compiling with a GCC 10 MIPS BE 32:
if (!VG_MINIMAL_SETJMP(env_unsup_insn)) {
__asm__ volatile (
".set push\n\t"
@@ -1845,6 +1846,9 @@ Bool VG_(machine_get_hwcaps)( void )
@@ -2120,6 +2121,9 @@ Bool VG_(machine_get_hwcaps)( void )
fpmode = (result != 0x3FF0000000000000ull);
}