Module Name: src
Committed By: kamil
Date: Fri Dec 27 00:32:17 UTC 2019
Modified Files:
src/sys/arch/alpha/include: mcontext.h
src/sys/arch/amd64/include: mcontext.h
src/sys/arch/hppa/include: mcontext.h
src/sys/arch/i386/include: mcontext.h
src/sys/arch/ia64/include: mcontext.h
src/sys/arch/sh3/include: mcontext.h
src/sys/arch/sparc/include: mcontext.h
src/sys/arch/vax/include: mcontext.h
Log Message:
Harmonize the namespace of fast TLS base pointer getter functions
Protect __lwp_getprivate_fast() with _RTLD_SOURCE, _LIBC_SOURCE and
__LIBPTHREAD_SOURCE__.
Include in this namespace <sys/tcl.h> and use __BEGIN_DECLS/__END_DECLS
for the sake of consistency.
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/alpha/include/mcontext.h
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/amd64/include/mcontext.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/hppa/include/mcontext.h
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/i386/include/mcontext.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/mcontext.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/sh3/include/mcontext.h
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/sparc/include/mcontext.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/vax/include/mcontext.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/alpha/include/mcontext.h
diff -u src/sys/arch/alpha/include/mcontext.h:1.9 src/sys/arch/alpha/include/mcontext.h:1.10
--- src/sys/arch/alpha/include/mcontext.h:1.9 Thu Feb 15 15:53:56 2018
+++ src/sys/arch/alpha/include/mcontext.h Fri Dec 27 00:32:16 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.9 2018/02/15 15:53:56 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.10 2019/12/27 00:32:16 kamil Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -102,6 +102,11 @@ typedef struct {
#define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc)
+#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
+ defined(__LIBPTHREAD_SOURCE__)
+#include <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -113,5 +118,8 @@ __lwp_getprivate_fast(void)
return __tmp;
}
+__END_DECLS
+
+#endif
#endif /* !_ALPHA_MCONTEXT_H_ */
Index: src/sys/arch/amd64/include/mcontext.h
diff -u src/sys/arch/amd64/include/mcontext.h:1.19 src/sys/arch/amd64/include/mcontext.h:1.20
--- src/sys/arch/amd64/include/mcontext.h:1.19 Thu Feb 15 15:53:56 2018
+++ src/sys/arch/amd64/include/mcontext.h Fri Dec 27 00:32:16 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.20 2019/12/27 00:32:16 kamil Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -84,6 +84,11 @@ typedef struct {
#define __UCONTEXT_SIZE 784
+#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
+ defined(__LIBPTHREAD_SOURCE__)
+#include <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -93,6 +98,9 @@ __lwp_getprivate_fast(void)
return __tmp;
}
+__END_DECLS
+
+#endif
#ifdef _KERNEL
Index: src/sys/arch/hppa/include/mcontext.h
diff -u src/sys/arch/hppa/include/mcontext.h:1.10 src/sys/arch/hppa/include/mcontext.h:1.11
--- src/sys/arch/hppa/include/mcontext.h:1.10 Tue Feb 27 11:26:39 2018
+++ src/sys/arch/hppa/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.10 2018/02/27 11:26:39 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.11 2019/12/27 00:32:17 kamil Exp $ */
#ifndef _HPPA_MCONTEXT_H_
#define _HPPA_MCONTEXT_H_
@@ -59,6 +59,11 @@ do { \
} 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 <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -68,6 +73,9 @@ __lwp_getprivate_fast(void)
return __tmp;
}
+__END_DECLS
+
+#endif
#endif /* !__ASSEMBLER__ */
Index: src/sys/arch/i386/include/mcontext.h
diff -u src/sys/arch/i386/include/mcontext.h:1.14 src/sys/arch/i386/include/mcontext.h:1.15
--- src/sys/arch/i386/include/mcontext.h:1.14 Thu Feb 15 15:53:56 2018
+++ src/sys/arch/i386/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.14 2018/02/15 15:53:56 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.15 2019/12/27 00:32:17 kamil Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -113,6 +113,11 @@ typedef struct {
#define __UCONTEXT_SIZE 776
+#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
+ defined(__LIBPTHREAD_SOURCE__)
+#include <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -122,5 +127,8 @@ __lwp_getprivate_fast(void)
return __tmp;
}
+__END_DECLS
+
+#endif
#endif /* !_I386_MCONTEXT_H_ */
Index: src/sys/arch/ia64/include/mcontext.h
diff -u src/sys/arch/ia64/include/mcontext.h:1.9 src/sys/arch/ia64/include/mcontext.h:1.10
--- src/sys/arch/ia64/include/mcontext.h:1.9 Mon Jun 17 15:08:34 2019
+++ src/sys/arch/ia64/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.9 2019/06/17 15:08:34 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.10 2019/12/27 00:32:17 kamil Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -117,10 +117,18 @@ typedef struct __mcontext {
#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 <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
return (void*)0;
}
+__END_DECLS
+
+#endif
#endif /* !_IA64_MCONTEXT_H_ */
Index: src/sys/arch/sh3/include/mcontext.h
diff -u src/sys/arch/sh3/include/mcontext.h:1.11 src/sys/arch/sh3/include/mcontext.h:1.12
--- src/sys/arch/sh3/include/mcontext.h:1.11 Thu Feb 15 15:53:57 2018
+++ src/sys/arch/sh3/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.11 2018/02/15 15:53:57 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.12 2019/12/27 00:32:17 kamil Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -95,6 +95,11 @@ typedef struct {
#define _UC_CLRSTACK 0x20000
#define _UC_TLSBASE 0x80000
+#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
+ defined(__LIBPTHREAD_SOURCE__)
+#include <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -104,5 +109,8 @@ __lwp_getprivate_fast(void)
return __gbr;
}
+__END_DECLS
+
+#endif
#endif /* !_SH3_MCONTEXT_H_ */
Index: src/sys/arch/sparc/include/mcontext.h
diff -u src/sys/arch/sparc/include/mcontext.h:1.17 src/sys/arch/sparc/include/mcontext.h:1.18
--- src/sys/arch/sparc/include/mcontext.h:1.17 Mon Feb 19 08:31:13 2018
+++ src/sys/arch/sparc/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.17 2018/02/19 08:31:13 mrg Exp $ */
+/* $NetBSD: mcontext.h,v 1.18 2019/12/27 00:32:17 kamil Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -161,6 +161,11 @@ do { \
(uc)->uc_mcontext.__gregs[_REG_nPC] = (pc) + 4; \
} while (/*CONSTCOND*/0)
+#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
+ defined(__LIBPTHREAD_SOURCE__)
+#include <sys/tls.h>
+
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -170,5 +175,8 @@ __lwp_getprivate_fast(void)
return __tmp;
}
+__END_DECLS
+
+#endif
#endif /* !_SPARC_MCONTEXT_H_ */
Index: src/sys/arch/vax/include/mcontext.h
diff -u src/sys/arch/vax/include/mcontext.h:1.9 src/sys/arch/vax/include/mcontext.h:1.10
--- src/sys/arch/vax/include/mcontext.h:1.9 Thu Feb 15 15:53:57 2018
+++ src/sys/arch/vax/include/mcontext.h Fri Dec 27 00:32:17 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.9 2018/02/15 15:53:57 kamil Exp $ */
+/* $NetBSD: mcontext.h,v 1.10 2019/12/27 00:32:17 kamil Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -74,9 +74,12 @@ typedef struct {
#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 <sys/tls.h>
#include <sys/syscall.h>
+__BEGIN_DECLS
static __inline void *
__lwp_getprivate_fast(void)
{
@@ -84,6 +87,8 @@ __lwp_getprivate_fast(void)
__asm("chmk %0" :: "i"(SYS__lwp_getprivate) : "r0");
return tcb;
}
+__END_DECLS
+
#endif
#endif /* !_VAX_MCONTEXT_H_ */