Rename bits/libc-tsd.h to libc-tsd.h (bug 14912)
Commit Message
It was noted in
<https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the
bits/*.h naming scheme should only be used for installed headers.
This patch renames bits/libc-tsd.h to plain libc-tsd.h to follow that
convention.
Tested for x86_64 (testing, and that installed stripped shared
libraries are unchanged by the patch).
(Note that there are several other non-installed headers in bits/ that
also need moving, as enumerated in bug 14912 and two more of them
after my patch
<https://sourceware.org/ml/libc-alpha/2015-09/msg00014.html> (pending
review). Thus, bug 14912 should not be closed or listed as fixed in
NEWS until all such headers have been moved.)
2015-09-03 Joseph Myers <joseph@codesourcery.com>
[BZ #14912]
* bits/libc-tsd.h: Move to ...
* sysdeps/generic/libc-tsd.h: ...here.
(_GENERIC_BITS_LIBC_TSD_H): Rename macro to _GENERIC_LIBC_TSD_H.
* sysdeps/mach/hurd/bits/libc-tsd.h: Move to ...
* sysdeps/mach/hurd/libc-tsd.h: ...here.
(_BITS_LIBC_TSD_H): Rename macro to _LIBC_TSD_H.
* include/ctype.h: Include <libc-tsd.h> instead of
<bits/libc-tsd.h>.
* include/rpc/rpc.h: Likewise.
* locale/localeinfo.h: Likewise.
* sunrpc/rpc_thread.c: Likewise.
* sysdeps/mach/hurd/malloc-machine.h: Likewise.
* sysdeps/nptl/malloc-machine.h: Likewise.
Comments
Another possibility is to move all noninstalled sysdeps headers into
sysdeps/.../include directories. Then they can never be accidentally
installed, and it's clearer just from the file's full name whether it
will be installed or not. Either way, your change is an incremental
improvement today.
@@ -21,7 +21,7 @@ extern int (__isctype) (int __c, int __mask);
NL_CURRENT_INDIRECT. */
# include "../locale/localeinfo.h"
-# include <bits/libc-tsd.h>
+# include <libc-tsd.h>
# ifndef CTYPE_EXTERN_INLINE /* Used by ctype/ctype-info.c, which see. */
# define CTYPE_EXTERN_INLINE extern inline
@@ -1,6 +1,6 @@
#ifndef _RPC_RPC_H
#include <sunrpc/rpc/rpc.h>
-#include <bits/libc-tsd.h>
+#include <libc-tsd.h>
/* Now define the internal interfaces. */
extern unsigned long _create_xid (void);
@@ -223,7 +223,7 @@ extern struct __locale_struct _nl_global_locale attribute_hidden;
/* This fetches the thread-local locale_t pointer, either one set with
uselocale or &_nl_global_locale. */
#define _NL_CURRENT_LOCALE (__libc_tsd_get (__locale_t, LOCALE))
-#include <bits/libc-tsd.h>
+#include <libc-tsd.h>
__libc_tsd_define (extern, __locale_t, LOCALE)
@@ -4,7 +4,7 @@
#include <assert.h>
#include <bits/libc-lock.h>
-#include <bits/libc-tsd.h>
+#include <libc-tsd.h>
#ifdef _RPC_THREAD_SAFE_
similarity index 96%
rename from bits/libc-tsd.h
rename to sysdeps/generic/libc-tsd.h
@@ -16,8 +16,8 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _GENERIC_BITS_LIBC_TSD_H
-#define _GENERIC_BITS_LIBC_TSD_H 1
+#ifndef _GENERIC_LIBC_TSD_H
+#define _GENERIC_LIBC_TSD_H 1
/* This file defines the following macros for accessing a small fixed
set of thread-specific `void *' data used only internally by libc.
@@ -57,4 +57,4 @@
#define __libc_tsd_get(TYPE, KEY) (__libc_tsd_##KEY)
#define __libc_tsd_set(TYPE, KEY, VALUE) (__libc_tsd_##KEY = (VALUE))
-#endif /* bits/libc-tsd.h */
+#endif /* libc-tsd.h */
similarity index 93%
rename from sysdeps/mach/hurd/bits/libc-tsd.h
rename to sysdeps/mach/hurd/libc-tsd.h
@@ -16,8 +16,8 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_LIBC_TSD_H
-#define _BITS_LIBC_TSD_H 1
+#ifndef _LIBC_TSD_H
+#define _LIBC_TSD_H 1
#include <hurd/threadvar.h>
@@ -31,4 +31,4 @@
#define __libc_tsd_set(TYPE, KEY, VALUE) \
(*__libc_tsd_address (TYPE, KEY) = (VALUE))
-#endif /* bits/libc-tsd.h */
+#endif /* libc-tsd.h */
@@ -54,7 +54,7 @@
/* thread specific data for glibc */
-#include <bits/libc-tsd.h>
+#include <libc-tsd.h>
typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */
__libc_tsd_define (static, void *, MALLOC) /* declaration/common definition */
@@ -60,7 +60,7 @@ extern void *__dso_handle __attribute__ ((__weak__));
/* thread specific data for glibc */
-#include <bits/libc-tsd.h>
+#include <libc-tsd.h>
typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */
__libc_tsd_define (static, void *, MALLOC) /* declaration/common definition */