Date: Sat, 28 Nov 2020 12:19:20 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r368125 - in head/lib: libc/gen libc/include libthr/thread Message-ID: <202011281219.0ASCJKkh007573@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib Date: Sat Nov 28 12:19:20 2020 New Revision: 368125 URL: https://svnweb.freebsd.org/changeset/base/368125 Log: libc: Add pthread_attr_get_np(3) stub, reporting ESRCH. This seems to be required by recent clang asan. I do not see other way than put the symbol under FBSD_1.0 version. PR: 251112 Reported by: Andrew Stitcher <astitcher@apache.org> Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D27389 Modified: head/lib/libc/gen/Symbol.map head/lib/libc/gen/_pthread_stubs.c head/lib/libc/include/libc_private.h head/lib/libthr/thread/thr_init.c Modified: head/lib/libc/gen/Symbol.map ============================================================================== --- head/lib/libc/gen/Symbol.map Sat Nov 28 12:12:51 2020 (r368124) +++ head/lib/libc/gen/Symbol.map Sat Nov 28 12:19:20 2020 (r368125) @@ -6,6 +6,7 @@ FBSD_1.0 { __xuname; pthread_atfork; pthread_attr_destroy; + pthread_attr_get_np; pthread_attr_getdetachstate; pthread_attr_getguardsize; pthread_attr_getinheritsched; Modified: head/lib/libc/gen/_pthread_stubs.c ============================================================================== --- head/lib/libc/gen/_pthread_stubs.c Sat Nov 28 12:12:51 2020 (r368124) +++ head/lib/libc/gen/_pthread_stubs.c Sat Nov 28 12:19:20 2020 (r368125) @@ -59,6 +59,7 @@ static int stub_zero(void); static int stub_fail(void); static int stub_true(void); static void stub_exit(void); +static int stub_esrch(void); #define PJT_DUAL_ENTRY(entry) \ (pthread_func_t)entry, (pthread_func_t)entry @@ -131,6 +132,7 @@ pthread_func_entry_t __thr_jtable[PJT_MAX] = { [PJT_MUTEXATTR_GETROBUST] = {PJT_DUAL_ENTRY(stub_zero)}, [PJT_MUTEXATTR_SETROBUST] = {PJT_DUAL_ENTRY(stub_zero)}, [PJT_GETTHREADID_NP] = {PJT_DUAL_ENTRY(stub_zero)}, + [PJT_ATTR_GET_NP] = {PJT_DUAL_ENTRY(stub_esrch)}, }; /* @@ -288,6 +290,7 @@ STUB_FUNC3(__pthread_cleanup_push_imp, PJT_CLEANUP_PUS void *, void *) STUB_FUNC1(_pthread_cancel_enter, PJT_CANCEL_ENTER, void, int) STUB_FUNC1(_pthread_cancel_leave, PJT_CANCEL_LEAVE, void, int) +STUB_FUNC2(pthread_attr_get_np, PJT_ATTR_GET_NP, int, pthread_t, pthread_attr_t *) static int stub_zero(void) @@ -329,4 +332,10 @@ static void stub_exit(void) { exit(0); +} + +static int +stub_esrch(void) +{ + return (ESRCH); } Modified: head/lib/libc/include/libc_private.h ============================================================================== --- head/lib/libc/include/libc_private.h Sat Nov 28 12:12:51 2020 (r368124) +++ head/lib/libc/include/libc_private.h Sat Nov 28 12:19:20 2020 (r368125) @@ -177,6 +177,7 @@ typedef enum { PJT_MUTEXATTR_GETROBUST, PJT_MUTEXATTR_SETROBUST, PJT_GETTHREADID_NP, + PJT_ATTR_GET_NP, PJT_MAX } pjt_index_t; Modified: head/lib/libthr/thread/thr_init.c ============================================================================== --- head/lib/libthr/thread/thr_init.c Sat Nov 28 12:12:51 2020 (r368124) +++ head/lib/libthr/thread/thr_init.c Sat Nov 28 12:19:20 2020 (r368125) @@ -271,6 +271,7 @@ static pthread_func_t jmp_table[][2] = { [PJT_MUTEXATTR_GETROBUST] = {DUAL_ENTRY(_thr_mutexattr_getrobust)}, [PJT_MUTEXATTR_SETROBUST] = {DUAL_ENTRY(_thr_mutexattr_setrobust)}, [PJT_GETTHREADID_NP] = {DUAL_ENTRY(_thr_getthreadid_np)}, + [PJT_ATTR_GET_NP] = {DUAL_ENTRY(_thr_attr_get_np)}, }; static int init_once = 0;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011281219.0ASCJKkh007573>