Index: sys/arch/alpha/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/alpha/include/mcontext.h,v retrieving revision 1.9 diff -u -r1.9 mcontext.h --- sys/arch/alpha/include/mcontext.h 15 Feb 2018 15:53:56 -0000 1.9 +++ sys/arch/alpha/include/mcontext.h 25 Dec 2019 01:44:10 -0000 @@ -102,6 +102,11 @@ #define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc) +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -113,5 +118,8 @@ return __tmp; } +__END_DECLS + +#endif #endif /* !_ALPHA_MCONTEXT_H_ */ Index: sys/arch/amd64/conf/GENERIC =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/conf/GENERIC,v retrieving revision 1.551 diff -u -r1.551 GENERIC --- sys/arch/amd64/conf/GENERIC 14 Dec 2019 07:45:20 -0000 1.551 +++ sys/arch/amd64/conf/GENERIC 25 Dec 2019 01:44:10 -0000 @@ -106,7 +106,7 @@ # Because gcc omits the frame pointer for any -O level, the line below # is needed to make backtraces in DDB work. # -makeoptions COPTS="-O2 -fno-omit-frame-pointer" +makeoptions COPTS="-O0 -fno-inline -fno-omit-frame-pointer" options DDB # in-kernel debugger #options DDB_COMMANDONENTER="bt" # execute command when ddb is entered #options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' Index: sys/arch/amd64/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/include/mcontext.h,v retrieving revision 1.19 diff -u -r1.19 mcontext.h --- sys/arch/amd64/include/mcontext.h 15 Feb 2018 15:53:56 -0000 1.19 +++ sys/arch/amd64/include/mcontext.h 25 Dec 2019 01:44:10 -0000 @@ -84,6 +84,11 @@ #define __UCONTEXT_SIZE 784 +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -93,6 +98,9 @@ return __tmp; } +__END_DECLS + +#endif #ifdef _KERNEL Index: sys/arch/hppa/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/hppa/include/mcontext.h,v retrieving revision 1.10 diff -u -r1.10 mcontext.h --- sys/arch/hppa/include/mcontext.h 27 Feb 2018 11:26:39 -0000 1.10 +++ sys/arch/hppa/include/mcontext.h 25 Dec 2019 01:44:10 -0000 @@ -59,6 +59,11 @@ } while (/*CONSTCOND*/0) #define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_RET0]) +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -68,6 +73,9 @@ return __tmp; } +__END_DECLS + +#endif #endif /* !__ASSEMBLER__ */ Index: sys/arch/i386/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/i386/include/mcontext.h,v retrieving revision 1.14 diff -u -r1.14 mcontext.h --- sys/arch/i386/include/mcontext.h 15 Feb 2018 15:53:56 -0000 1.14 +++ sys/arch/i386/include/mcontext.h 25 Dec 2019 01:44:10 -0000 @@ -113,6 +113,11 @@ #define __UCONTEXT_SIZE 776 +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -122,5 +127,8 @@ return __tmp; } +__END_DECLS + +#endif #endif /* !_I386_MCONTEXT_H_ */ Index: sys/arch/ia64/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/ia64/include/mcontext.h,v retrieving revision 1.9 diff -u -r1.9 mcontext.h --- sys/arch/ia64/include/mcontext.h 17 Jun 2019 15:08:34 -0000 1.9 +++ sys/arch/ia64/include/mcontext.h 25 Dec 2019 01:44:10 -0000 @@ -117,10 +117,18 @@ #define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[8]) #define _UC_MACHINE_SET_PC(uc, pc) (uc)->uc_mcontext.mc_special.iip = (pc) +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { return (void*)0; } +__END_DECLS + +#endif #endif /* !_IA64_MCONTEXT_H_ */ Index: sys/arch/sh3/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/sh3/include/mcontext.h,v retrieving revision 1.11 diff -u -r1.11 mcontext.h --- sys/arch/sh3/include/mcontext.h 15 Feb 2018 15:53:57 -0000 1.11 +++ sys/arch/sh3/include/mcontext.h 25 Dec 2019 01:44:11 -0000 @@ -95,6 +95,11 @@ #define _UC_CLRSTACK 0x20000 #define _UC_TLSBASE 0x80000 +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -104,5 +109,8 @@ return __gbr; } +__END_DECLS + +#endif #endif /* !_SH3_MCONTEXT_H_ */ Index: sys/arch/sparc/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/sparc/include/mcontext.h,v retrieving revision 1.17 diff -u -r1.17 mcontext.h --- sys/arch/sparc/include/mcontext.h 19 Feb 2018 08:31:13 -0000 1.17 +++ sys/arch/sparc/include/mcontext.h 25 Dec 2019 01:44:11 -0000 @@ -161,6 +161,11 @@ (uc)->uc_mcontext.__gregs[_REG_nPC] = (pc) + 4; \ } while (/*CONSTCOND*/0) +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include + +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -170,5 +175,8 @@ return __tmp; } +__END_DECLS + +#endif #endif /* !_SPARC_MCONTEXT_H_ */ Index: sys/arch/vax/include/mcontext.h =================================================================== RCS file: /cvsroot/src/sys/arch/vax/include/mcontext.h,v retrieving revision 1.9 diff -u -r1.9 mcontext.h --- sys/arch/vax/include/mcontext.h 15 Feb 2018 15:53:57 -0000 1.9 +++ sys/arch/vax/include/mcontext.h 25 Dec 2019 01:44:11 -0000 @@ -74,9 +74,12 @@ #define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc) -#ifndef _KERNEL +#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \ + defined(__LIBPTHREAD_SOURCE__) +#include #include +__BEGIN_DECLS static __inline void * __lwp_getprivate_fast(void) { @@ -84,6 +87,8 @@ __asm("chmk %0" :: "i"(SYS__lwp_getprivate) : "r0"); return tcb; } +__END_DECLS + #endif #endif /* !_VAX_MCONTEXT_H_ */