From 89046d2a5c9323600ac49c0f314c505ee543abb6 Mon Sep 17 00:00:00 2001 From: Ivo Raisr Date: Wed, 2 Nov 2016 22:33:16 +0000 Subject: [PATCH] Move scalar test of lwp_private syscall to platform specific directories n-i-bz git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16114 --- memcheck/tests/amd64-solaris/Makefile.am | 7 +++++-- memcheck/tests/amd64-solaris/scalar.c | 18 ++++++++++++++++++ memcheck/tests/amd64-solaris/scalar.stderr.exp | 16 ++++++++++++++++ memcheck/tests/amd64-solaris/scalar.stdout.exp | 0 memcheck/tests/amd64-solaris/scalar.vgtest | 3 +++ memcheck/tests/solaris/scalar.c | 10 +--------- memcheck/tests/solaris/scalar.stderr.exp | 16 ---------------- memcheck/tests/x86-solaris/Makefile.am | 1 + memcheck/tests/x86-solaris/scalar.c | 7 ++++++- memcheck/tests/x86-solaris/scalar.stderr.exp | 16 ++++++++++++++++ 10 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 memcheck/tests/amd64-solaris/scalar.c create mode 100644 memcheck/tests/amd64-solaris/scalar.stderr.exp create mode 100644 memcheck/tests/amd64-solaris/scalar.stdout.exp create mode 100644 memcheck/tests/amd64-solaris/scalar.vgtest diff --git a/memcheck/tests/amd64-solaris/Makefile.am b/memcheck/tests/amd64-solaris/Makefile.am index 4d0ea14e47..7ed2bc3f61 100644 --- a/memcheck/tests/amd64-solaris/Makefile.am +++ b/memcheck/tests/amd64-solaris/Makefile.am @@ -9,7 +9,8 @@ EXTRA_DIST = \ context_rflags.stderr.exp context_rflags.stdout.exp context_rflags.vgtest \ context_rflags2.stderr.exp context_rflags2.stdout.exp context_rflags2.vgtest \ context_sse.stderr.exp context_sse.stdout.exp context_sse.vgtest \ - ldsoexec.stderr.exp ldsoexec.vgtest + ldsoexec.stderr.exp ldsoexec.vgtest \ + scalar.stderr.exp scalar.stdout.exp scalar.vgtest check_PROGRAMS = \ context_fpu \ @@ -17,9 +18,11 @@ check_PROGRAMS = \ context_rflags \ context_rflags2 \ context_sse \ - ldsoexec + ldsoexec \ + scalar AM_CFLAGS += @FLAG_M64@ AM_CXXFLAGS += @FLAG_M64@ AM_CCASFLAGS += @FLAG_M64@ +scalar_CFLAGS = $(AM_CFLAGS) -I../solaris diff --git a/memcheck/tests/amd64-solaris/scalar.c b/memcheck/tests/amd64-solaris/scalar.c new file mode 100644 index 0000000000..bcd3139ac1 --- /dev/null +++ b/memcheck/tests/amd64-solaris/scalar.c @@ -0,0 +1,18 @@ +/* Basic syscall test for Solaris/amd64 specific syscalls. */ + +#include "scalar.h" + +#include + +int main(void) +{ + /* Uninitialised, but we know px[0] is 0x0. */ + long *px = malloc(sizeof(long)); + x0 = px[0]; + + /* SYS_lwp_private 166 */ + GO(SYS_lwp_private, "3s 1m"); + SY(SYS_lwp_private, x0 + _LWP_GETPRIVATE, x0 + _LWP_FSBASE, x0); FAIL; + + return 0; +} diff --git a/memcheck/tests/amd64-solaris/scalar.stderr.exp b/memcheck/tests/amd64-solaris/scalar.stderr.exp new file mode 100644 index 0000000000..628702425c --- /dev/null +++ b/memcheck/tests/amd64-solaris/scalar.stderr.exp @@ -0,0 +1,16 @@ +--------------------------------------------------------- +166: SYS_lwp_private 3s 1m +--------------------------------------------------------- +Syscall param lwp_private(cmd) contains uninitialised byte(s) + ... + +Syscall param lwp_private(which) contains uninitialised byte(s) + ... + +Syscall param lwp_private(base) contains uninitialised byte(s) + ... + +Syscall param lwp_private(base) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + diff --git a/memcheck/tests/amd64-solaris/scalar.stdout.exp b/memcheck/tests/amd64-solaris/scalar.stdout.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/amd64-solaris/scalar.vgtest b/memcheck/tests/amd64-solaris/scalar.vgtest new file mode 100644 index 0000000000..6509a3ea4f --- /dev/null +++ b/memcheck/tests/amd64-solaris/scalar.vgtest @@ -0,0 +1,3 @@ +prog: scalar +vgopts: -q +stderr_filter_args: diff --git a/memcheck/tests/solaris/scalar.c b/memcheck/tests/solaris/scalar.c index 1d2a87085b..8e72b65f6a 100644 --- a/memcheck/tests/solaris/scalar.c +++ b/memcheck/tests/solaris/scalar.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -2138,14 +2137,7 @@ int main(void) SY(SYS_lwp_sigmask, x0, x0, x0, x0, x0); FAIL; /* SYS_lwp_private 166 */ - GO(SYS_lwp_private, "3s 1m"); -#if defined(__i386) - SY(SYS_lwp_private, x0 + _LWP_GETPRIVATE, x0 + _LWP_GSBASE, x0); FAIL; -#elif defined(__amd64) - SY(SYS_lwp_private, x0 + _LWP_GETPRIVATE, x0 + _LWP_FSBASE, x0); FAIL; -#else -#error Unsupported platform -#endif + /* Tested in amd64-solaris/scalar and x86-solaris/scalar */ /* SYS_lwp_wait 167 */ GO(SYS_lwp_wait, "2s 1m"); diff --git a/memcheck/tests/solaris/scalar.stderr.exp b/memcheck/tests/solaris/scalar.stderr.exp index 4345badc1c..78f91084ed 100644 --- a/memcheck/tests/solaris/scalar.stderr.exp +++ b/memcheck/tests/solaris/scalar.stderr.exp @@ -2651,22 +2651,6 @@ Syscall param lwp_sigmask(bits3) contains uninitialised byte(s) ... sigprocmask: unknown 'how' field 0 ---------------------------------------------------------- -166: SYS_lwp_private 3s 1m ---------------------------------------------------------- -Syscall param lwp_private(cmd) contains uninitialised byte(s) - ... - -Syscall param lwp_private(which) contains uninitialised byte(s) - ... - -Syscall param lwp_private(base) contains uninitialised byte(s) - ... - -Syscall param lwp_private(base) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - --------------------------------------------------------- 167: SYS_lwp_wait 2s 1m --------------------------------------------------------- diff --git a/memcheck/tests/x86-solaris/Makefile.am b/memcheck/tests/x86-solaris/Makefile.am index 3759fe667d..c5c2e68e3b 100644 --- a/memcheck/tests/x86-solaris/Makefile.am +++ b/memcheck/tests/x86-solaris/Makefile.am @@ -30,3 +30,4 @@ AM_CFLAGS += @FLAG_M32@ AM_CXXFLAGS += @FLAG_M32@ AM_CCASFLAGS += @FLAG_M32@ +scalar_CFLAGS = $(AM_CFLAGS) -I../solaris diff --git a/memcheck/tests/x86-solaris/scalar.c b/memcheck/tests/x86-solaris/scalar.c index 37e1c280e7..f23a0f9dc0 100644 --- a/memcheck/tests/x86-solaris/scalar.c +++ b/memcheck/tests/x86-solaris/scalar.c @@ -1,9 +1,10 @@ /* Basic syscall test for Solaris/x86 specific syscalls. */ -#include "../solaris/scalar.h" +#include "scalar.h" #include #include +#include #include /* Helper functions. These are necessary if we've got two tests for a single @@ -63,6 +64,10 @@ int main(void) sys_openat64(); sys_openat642(); + /* SYS_lwp_private 166 */ + GO(SYS_lwp_private, "3s 1m"); + SY(SYS_lwp_private, x0 + _LWP_GETPRIVATE, x0 + _LWP_GSBASE, x0); FAIL; + /* SYS_llseek 175 */ GO(SYS_llseek, "4s 0m"); SY(SYS_llseek, x0 - 1, x0, x0, x0); FAILx(EBADF); diff --git a/memcheck/tests/x86-solaris/scalar.stderr.exp b/memcheck/tests/x86-solaris/scalar.stderr.exp index 0e11522c43..50ab62ef10 100644 --- a/memcheck/tests/x86-solaris/scalar.stderr.exp +++ b/memcheck/tests/x86-solaris/scalar.stderr.exp @@ -56,6 +56,22 @@ Syscall param openat64(filename) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd +--------------------------------------------------------- +166: SYS_lwp_private 3s 1m +--------------------------------------------------------- +Syscall param lwp_private(cmd) contains uninitialised byte(s) + ... + +Syscall param lwp_private(which) contains uninitialised byte(s) + ... + +Syscall param lwp_private(base) contains uninitialised byte(s) + ... + +Syscall param lwp_private(base) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + --------------------------------------------------------- 175: SYS_llseek 4s 0m --------------------------------------------------------- -- 2.47.3