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_ */

Reply via email to