Use handwritten memcheck assembly helpers on x86/Solaris in addition to {arm,x86}-linux.
Fixes BZ #350813.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15464 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 52988cc..85a5a38 100644
--- a/NEWS
+++ b/NEWS
@@ -271,6 +271,7 @@
349941 di_notify_mmap might create wrong start/size DebugInfoMapping
350809 Fix none/tests/async-sigs for Solaris
350811 Remove reference to --db-attach which has been removed.
+350813 Use handwritten memcheck assembly helpers on x86/Solaris in addition to {arm,x86}-linux
n-i-bz Provide implementations of certain compiler builtins to support
compilers who may not provide those
n-i-bz Old STABS code is still being compiled, but never used. Remove it.
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index 712f7d3..9877d33 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -4587,7 +4587,7 @@
);
#elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
- && defined(VGP_x86_linux)
+ && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
__asm__(
".text\n"
".align 16\n"
@@ -4622,7 +4622,7 @@
);
#else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
VG_REGPARM(1) ULong MC_(helperc_LOADV64le) ( Addr a )
{
return mc_LOADV64(a, False);
@@ -4785,7 +4785,7 @@
);
#elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
- && defined(VGP_x86_linux)
+ && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
__asm__(
".text\n"
".align 16\n"
@@ -4818,7 +4818,7 @@
);
#else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
VG_REGPARM(1) UWord MC_(helperc_LOADV32le) ( Addr a )
{
return mc_LOADV32(a, False);
@@ -4998,7 +4998,7 @@
);
#elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
- && defined(VGP_x86_linux)
+ && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
__asm__(
".text\n"
".align 16\n"
@@ -5043,7 +5043,7 @@
);
#else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
VG_REGPARM(1) UWord MC_(helperc_LOADV16le) ( Addr a )
{
return mc_LOADV16(a, False);
@@ -5192,7 +5192,7 @@
/* Non-generic assembly for x86-linux */
#elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
- && defined(VGP_x86_linux)
+ && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
__asm__(
".text\n"
".align 16\n"
@@ -5234,7 +5234,7 @@
);
#else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
VG_REGPARM(1)
UWord MC_(helperc_LOADV8) ( Addr a )
{