]> sourceware.org Git - valgrind.git/commitdiff
FreeBSD sigreturn arg names again
authorPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 9 Dec 2021 21:54:23 +0000 (22:54 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 9 Dec 2021 21:54:23 +0000 (22:54 +0100)
Also make drd/tests/shared_timed_mutex more robust
Already not great using time delays, but the test seems
to fail intermittently due to spurious wakeups. So instead
of railing straight away, make it "three strikes and you're out".

coregrind/m_syswrap/syswrap-amd64-freebsd.c
coregrind/m_syswrap/syswrap-x86-freebsd.c
drd/tests/shared_timed_mutex.cpp
memcheck/tests/freebsd/scalar.stderr.exp
memcheck/tests/freebsd/scalar.stderr.exp-freebsd130
memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86
memcheck/tests/freebsd/scalar.stderr.exp-x86

index c5685c47734f988d3f91da4f57b1f48ce286c234..7302ffc42940bc6c3ff8b6782603d48b968796a9 100644 (file)
@@ -422,7 +422,7 @@ PRE(sys_sigreturn)
 {
    PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1);
    PRE_REG_READ1(int, "sigreturn",
-                 struct vki_ucontext *, ucp);
+                 struct vki_ucontext *, scp);
 
    PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
    PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
@@ -1064,10 +1064,10 @@ PRE(sys_fake_sigreturn)
 
    PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1);
    PRE_REG_READ1(long, "sigreturn",
-                 struct vki_ucontext *, ucp);
+                 struct vki_ucontext *, scp);
 
-   PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) );
-   PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) );
+   PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
+   PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
 
    vg_assert(VG_(is_valid_tid)(tid));
    vg_assert(tid >= 1 && tid < VG_N_THREADS);
index 4fd1ce5011baccd10911f0fbcc3554751ed910e8..5c82f7db656cf6e9a35ec0bb0d2415ffcf403dbb 100644 (file)
@@ -813,10 +813,10 @@ PRE(sys_sigreturn)
 {
    PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1);
    PRE_REG_READ1(int, "sigreturn",
-                 struct vki_ucontext *, ucp);
+                 struct vki_ucontext *, scp);
 
-   PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) );
-   PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) );
+   PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
+   PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) );
 }
 
 
index 306d6bf27a64a3de77a59dad5cea0458c6bf23e3..9741169672b5b93cab98641504e3adbc80dd99d0 100644 (file)
@@ -15,12 +15,19 @@ bool reads_done = false;
 void f()
 {
     auto now=std::chrono::steady_clock::now();
-    if (test_mutex.try_lock_until(now + std::chrono::seconds(3)))
+    auto then = now + std::chrono::seconds(3);
+    int i;
+    for (i = 0; i < 3 && std::chrono::steady_clock::now() < then; ++i)
     {
-       --global;
-       test_mutex.unlock();
+       if (test_mutex.try_lock_until(then))
+       {
+          --global;
+          test_mutex.unlock();
+          break;
+       }
     }
-    else
+    
+    if (i == 3)
     {
         std::cerr << "Lock failed\n";
     }
@@ -29,11 +36,16 @@ void f()
 void g()
 {
     auto now=std::chrono::steady_clock::now();
-    if (test_mutex.try_lock_shared_until(now + std::chrono::seconds(2)))
+    auto then = now + std::chrono::seconds(2);
+    int i;
+    for (i = 0; i < 3 && std::chrono::steady_clock::now() < then; ++i)
     {
-       test_mutex.unlock_shared();
+        if (test_mutex.try_lock_shared_until(then))
+        {
+            test_mutex.unlock_shared();
+        }
     }
-    else
+    if (i == 3)
     {
         std::cerr << "Lock shared failed\n";
     }
index 3f16d12d61a5856b9c7051fc51cceed9fba4a814..80b4547fdef0703c63f49f73c5f5ce5ff62b2d87 100644 (file)
@@ -3188,10 +3188,10 @@ Warning: bad act handler address 0x........ in sigaction()
 ---------------------------------------------------------
 417:           SYS_sigreturn 1s 1m
 ---------------------------------------------------------
-Syscall param sigreturn(ucp) contains uninitialised byte(s)
+Syscall param sigreturn(scp) contains uninitialised byte(s)
    ...
 
-Syscall param sigreturn(ucp) points to unaddressable byte(s)
+Syscall param sigreturn(scp) points to unaddressable byte(s)
    ...
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
index 309749f072e190443974105945a3fe9b18588b28..deaa61d6ffe2186599b6ceb984e3194475e581f1 100644 (file)
@@ -3204,10 +3204,10 @@ Warning: bad act handler address 0x........ in sigaction()
 ---------------------------------------------------------
 417:           SYS_sigreturn 1s 1m
 ---------------------------------------------------------
-Syscall param sigreturn(ucp) contains uninitialised byte(s)
+Syscall param sigreturn(scp) contains uninitialised byte(s)
    ...
 
-Syscall param sigreturn(ucp) points to unaddressable byte(s)
+Syscall param sigreturn(scp) points to unaddressable byte(s)
    ...
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
index 62ed782c5f288956602ae65de1c5a9287e6eb4db..70919f47cb1f72b90b6a96643bbb16bbf6f73968 100644 (file)
@@ -3213,10 +3213,10 @@ Warning: bad act handler address 0x........ in sigaction()
 ---------------------------------------------------------
 417:           SYS_sigreturn 1s 1m
 ---------------------------------------------------------
-Syscall param sigreturn(ucp) contains uninitialised byte(s)
+Syscall param sigreturn(scp) contains uninitialised byte(s)
    ...
 
-Syscall param sigreturn(ucp) points to unaddressable byte(s)
+Syscall param sigreturn(scp) points to unaddressable byte(s)
    ...
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
index b949dbb7e8721c07a64411fa51ffd3abb7e0516c..e1f24ef80380154462e516ea87e9bf521a991ad2 100644 (file)
@@ -3197,10 +3197,10 @@ Warning: bad act handler address 0x........ in sigaction()
 ---------------------------------------------------------
 417:           SYS_sigreturn 1s 1m
 ---------------------------------------------------------
-Syscall param sigreturn(ucp) contains uninitialised byte(s)
+Syscall param sigreturn(scp) contains uninitialised byte(s)
    ...
 
-Syscall param sigreturn(ucp) points to unaddressable byte(s)
+Syscall param sigreturn(scp) points to unaddressable byte(s)
    ...
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
This page took 1.602635 seconds and 5 git commands to generate.