The reason I dropped the previous version of this is that with the patch the 
test failed, without the patch it passed. If you can confirm that the new 
version doesn’t regress the test I would appreciate. You can edit run-ptest 
prior to running it to include only the test suite with this test to make it 
quicker.

Alex

> On 28 Jan 2020, at 4.58, Khem Raj <[email protected]> wrote:
> 
> Signed-off-by: Khem Raj <[email protected]>
> Cc: Alexander Kanavin <[email protected]>
> ---
> v2: Use uintptr_t instead of long
> 
> ...ad_detatch-call-portable-across-plat.patch | 44 +++++++++++++++++++
> .../valgrind/valgrind_3.15.0.bb               |  1 +
> 2 files changed, 45 insertions(+)
> create mode 100644 
> meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
> 
> diff --git 
> a/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
>  
> b/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
> new file mode 100644
> index 0000000000..44d707a235
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
> @@ -0,0 +1,44 @@
> +From 90fdb0ae0418f7907f09b763343a457bdf6855fa Mon Sep 17 00:00:00 2001
> +From: Khem Raj <[email protected]>
> +Date: Mon, 27 Jan 2020 17:17:19 -0800
> +Subject: [PATCH] tests: Make pthread_detatch call portable across platforms
> +
> +pthread_t is opaque type therefore we can not apply simple arithmetic to 
> variables of pthread_t type
> +this test needs to pass a invalid pthread_t handle, typcasting to uintptr_t 
> works too and is portable
> +across glibc and musl
> +
> +Fixes
> +| pth_detached3.c:24:25: error: invalid use of undefined type 'struct 
> __pthread'
> +|    24 |   pthread_detach(thread + 8);
> +|       |                         ^
> +
> +Upstream-Status: Submitted 
> [https://sourceforge.net/p/valgrind/mailman/message/36910506/]
> +Signed-off-by: Khem Raj <[email protected]>
> +---
> + drd/tests/pth_detached3.c | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
> +index c02eef11a..efeb15b72 100644
> +--- a/drd/tests/pth_detached3.c
> ++++ b/drd/tests/pth_detached3.c
> +@@ -4,6 +4,7 @@
> + #include <errno.h>
> + #include <pthread.h>
> + #include <stdio.h>
> ++#include <stdint.h>
> + 
> + static void* thread_func(void* arg)
> + {
> +@@ -21,7 +22,7 @@ int main(int argc, char** argv)
> +   pthread_detach(thread);
> + 
> +   /* Invoke pthread_detach() with an invalid thread ID. */
> +-  pthread_detach(thread + 8);
> ++  pthread_detach((pthread_t)((uintptr_t)thread + 8));
> + 
> +   fprintf(stderr, "Finished.\n");
> + 
> +-- 
> +2.25.0
> +
> diff --git a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb 
> b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
> index 0f86aa44ca..1475ff841e 100644
> --- a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
> +++ b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
> @@ -40,6 +40,7 @@ SRC_URI = 
> "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
>            file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
>            file://s390x_vec_op_t.patch \
>            
> file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
> +           
> file://0001-tests-Make-pthread_detatch-call-portable-across-plat.patch \
>            "
> SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
> SRC_URI[sha256sum] = 
> "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
> -- 
> 2.25.0
> 
-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to