aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog46
-rw-r--r--debug/pcprofile.c1
-rw-r--r--elf/dl-load.c2
-rw-r--r--elf/dl-reloc.c2
-rw-r--r--elf/dl-tunables.c1
-rw-r--r--elf/get-dynamic-info.h7
-rw-r--r--elf/soinit.c1
-rw-r--r--iconv/loop.c2
-rw-r--r--iconvdata/iso-2022-cn-ext.c2
-rw-r--r--include/libc-internal.h38
-rw-r--r--include/libc-pointer-arith.h60
-rw-r--r--io/openat.c1
-rw-r--r--io/openat64.c1
-rw-r--r--locale/programs/locarchive.c2
-rw-r--r--locale/weight.h2
-rw-r--r--locale/weightwc.h2
-rw-r--r--malloc/malloc.c2
-rw-r--r--misc/ptrace.c1
-rw-r--r--misc/reboot.c2
-rw-r--r--nis/nis_table.c2
-rw-r--r--nptl/nptl-init.c2
-rw-r--r--nptl/pthread_clock_gettime.c1
-rw-r--r--nptl/pthread_clock_settime.c1
-rw-r--r--nptl/pthread_cond_common.c1
-rw-r--r--nptl_db/thread_dbP.h2
-rw-r--r--nscd/connections.c2
-rw-r--r--posix/wordexp-test.c3
-rw-r--r--resolv/res_send.c2
-rw-r--r--soft-fp/fmadf4.c7
-rw-r--r--soft-fp/fmasf4.c7
-rw-r--r--soft-fp/fmatf4.c7
-rw-r--r--stdio-common/vfscanf.c2
-rw-r--r--string/strcoll_l.c1
-rw-r--r--string/strcspn.c2
-rw-r--r--string/strspn.c2
-rw-r--r--sysdeps/i386/nptl/tls.h2
-rw-r--r--sysdeps/ieee754/dbl-64/e_lgamma_r.c2
-rw-r--r--sysdeps/ieee754/dbl-64/k_rem_pio2.c2
-rw-r--r--sysdeps/ieee754/flt-32/e_lgammaf_r.c2
-rw-r--r--sysdeps/ieee754/flt-32/k_rem_pio2f.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/k_tanl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/k_tanl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_lgammal_r.c2
-rw-r--r--sysdeps/ieee754/ldbl-96/k_tanl.c3
-rw-r--r--sysdeps/nacl/brk.c1
-rw-r--r--sysdeps/nacl/dl-map-segments.h7
-rw-r--r--sysdeps/nptl/futex-internal.h2
-rw-r--r--sysdeps/unix/clock_settime.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/get_clockfreq.c2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/get_clockfreq.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c1
-rw-r--r--sysdeps/unix/sysv/linux/spawni.c2
-rw-r--r--sysdeps/x86_64/atomic-machine.h10
-rw-r--r--sysdeps/x86_64/nptl/tls.h2
55 files changed, 171 insertions, 99 deletions
diff --git a/ChangeLog b/ChangeLog
index 5bdb409..a587b9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,51 @@
2017-03-01 Zack Weinberg <zackw@panix.com>
+ * include/libc-pointer-arith.h: New file. Define
+ cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and
+ PTR_ALIGN_DOWN here.
+ * include/libc-internal.h: Definitions of above macros
+ moved from here. Don't include libc-diag.h anymore either.
+ * posix/wordexp-test.c: Include stdint.h and libc-pointer-arith.h.
+ Don't include libc-internal.h.
+
+ * debug/pcprofile.c, elf/dl-tunables.c, elf/soinit.c, io/openat.c
+ * io/openat64.c, misc/ptrace.c, nptl/pthread_clock_gettime.c
+ * nptl/pthread_clock_settime.c, nptl/pthread_cond_common.c
+ * string/strcoll_l.c, sysdeps/nacl/brk.c
+ * sysdeps/unix/clock_settime.c
+ * sysdeps/unix/sysv/linux/i386/get_clockfreq.c
+ * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
+ * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
+ * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c:
+ Don't include libc-internal.h.
+
+ * elf/get-dynamic-info.h, iconv/loop.c
+ * iconvdata/iso-2022-cn-ext.c, locale/weight.h, locale/weightwc.h
+ * misc/reboot.c, nis/nis_table.c, nptl_db/thread_dbP.h
+ * nscd/connections.c, resolv/res_send.c, soft-fp/fmadf4.c
+ * soft-fp/fmasf4.c, soft-fp/fmatf4.c, stdio-common/vfscanf.c
+ * sysdeps/ieee754/dbl-64/e_lgamma_r.c
+ * sysdeps/ieee754/dbl-64/k_rem_pio2.c
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c
+ * sysdeps/ieee754/flt-32/k_rem_pio2f.c
+ * sysdeps/ieee754/ldbl-128/k_tanl.c
+ * sysdeps/ieee754/ldbl-128ibm/k_tanl.c
+ * sysdeps/ieee754/ldbl-96/e_lgammal_r.c
+ * sysdeps/ieee754/ldbl-96/k_tanl.c, sysdeps/nptl/futex-internal.h:
+ Include libc-diag.h instead of libc-internal.h.
+
+ * elf/dl-load.c, elf/dl-reloc.c, locale/programs/locarchive.c
+ * nptl/nptl-init.c, string/strcspn.c, string/strspn.c
+ * malloc/malloc.c, sysdeps/i386/nptl/tls.h
+ * sysdeps/nacl/dl-map-segments.h, sysdeps/x86_64/atomic-machine.h
+ * sysdeps/unix/sysv/linux/spawni.c
+ * sysdeps/x86_64/nptl/tls.h:
+ Include libc-pointer-arith.h instead of libc-internal.h.
+
+ * elf/get-dynamic-info.h, sysdeps/nacl/dl-map-segments.h
+ * sysdeps/x86_64/atomic-machine.h:
+ Add multiple include guard.
+
* nss/tst-cancel-getpwuid_r.c: Include nss.h.
* string/strcasestr.c: No need to include config.h.
* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: Include
diff --git a/debug/pcprofile.c b/debug/pcprofile.c
index 1643ef6..b6402ef 100644
--- a/debug/pcprofile.c
+++ b/debug/pcprofile.c
@@ -22,7 +22,6 @@
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
-#include <libc-internal.h>
/* Nonzero if we are actually doing something. */
static int active;
diff --git a/elf/dl-load.c b/elf/dl-load.c
index a5318f9..c1b6d4b 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -36,7 +36,7 @@
#include <caller.h>
#include <sysdep.h>
#include <stap-probe.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#include <dl-dst.h>
#include <dl-load.h>
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 4ac558d..b3c3a9b 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -25,8 +25,8 @@
#include <sys/param.h>
#include <sys/types.h>
#include <_itoa.h>
+#include <libc-pointer-arith.h>
#include "dynamic-link.h"
-#include <libc-internal.h>
/* Statistics function. */
#ifdef SHARED
diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
index e42aa67..ebf48bb 100644
--- a/elf/dl-tunables.c
+++ b/elf/dl-tunables.c
@@ -22,7 +22,6 @@
#include <stdbool.h>
#include <unistd.h>
#include <stdlib.h>
-#include <libc-internal.h>
#include <sysdep.h>
#include <fcntl.h>
#include <ldsodefs.h>
diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h
index 86760d8..6413558 100644
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -16,8 +16,11 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _GET_DYNAMIC_INFO_H
+#define _GET_DYNAMIC_INFO_H 1
+
#include <assert.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
#ifndef RESOLVE_MAP
static
@@ -179,3 +182,5 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
info[DT_RPATH] = NULL;
#endif
}
+
+#endif /* get-dynamic-info.h */
diff --git a/elf/soinit.c b/elf/soinit.c
index 7139830..fe99357 100644
--- a/elf/soinit.c
+++ b/elf/soinit.c
@@ -4,7 +4,6 @@
calling those lists of functions. */
#ifndef NO_CTORS_DTORS_SECTIONS
-# include <libc-internal.h>
# include <stdlib.h>
static void (*const __CTOR_LIST__[1]) (void)
diff --git a/iconv/loop.c b/iconv/loop.c
index 42a03e7..0160f72 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -56,7 +56,7 @@
#include <sys/param.h> /* For MIN. */
#define __need_size_t
#include <stddef.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* We have to provide support for machines which are not able to handled
unaligned memory accesses. Some of the character encodings have
diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c
index c9c698e..919524f 100644
--- a/iconvdata/iso-2022-cn-ext.c
+++ b/iconvdata/iso-2022-cn-ext.c
@@ -27,7 +27,7 @@
#include "cns11643.h"
#include "cns11643l1.h"
#include "cns11643l2.h"
-#include <libc-internal.h>
+#include <libc-diag.h>
#include <assert.h>
diff --git a/include/libc-internal.h b/include/libc-internal.h
index be6c021..cd2f262 100644
--- a/include/libc-internal.h
+++ b/include/libc-internal.h
@@ -53,42 +53,4 @@ extern void __init_misc (int, char **, char **);
extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
# endif
-/* 1 if 'type' is a pointer type, 0 otherwise. */
-# define __pointer_type(type) (__builtin_classify_type ((type) 0) == 5)
-
-/* __intptr_t if P is true, or T if P is false. */
-# define __integer_if_pointer_type_sub(T, P) \
- __typeof__ (*(0 ? (__typeof__ (0 ? (T *) 0 : (void *) (P))) 0 \
- : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!(P)))) 0))
-
-/* __intptr_t if EXPR has a pointer type, or the type of EXPR otherwise. */
-# define __integer_if_pointer_type(expr) \
- __integer_if_pointer_type_sub(__typeof__ ((__typeof__ (expr)) 0), \
- __pointer_type (__typeof__ (expr)))
-
-/* Cast an integer or a pointer VAL to integer with proper type. */
-# define cast_to_integer(val) ((__integer_if_pointer_type (val)) (val))
-
-/* Align a value by rounding down to closest size.
- e.g. Using size of 4096, we get this behavior:
- {4095, 4096, 4097} = {0, 4096, 4096}. */
-#define ALIGN_DOWN(base, size) ((base) & -((__typeof__ (base)) (size)))
-
-/* Align a value by rounding up to closest size.
- e.g. Using size of 4096, we get this behavior:
- {4095, 4096, 4097} = {4096, 4096, 8192}.
-
- Note: The size argument has side effects (expanded multiple times). */
-#define ALIGN_UP(base, size) ALIGN_DOWN ((base) + (size) - 1, (size))
-
-/* Same as ALIGN_DOWN(), but automatically casts when base is a pointer. */
-#define PTR_ALIGN_DOWN(base, size) \
- ((__typeof__ (base)) ALIGN_DOWN ((uintptr_t) (base), (size)))
-
-/* Same as ALIGN_UP(), but automatically casts when base is a pointer. */
-#define PTR_ALIGN_UP(base, size) \
- ((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size)))
-
-#include <libc-diag.h>
-
#endif /* _LIBC_INTERNAL */
diff --git a/include/libc-pointer-arith.h b/include/libc-pointer-arith.h
new file mode 100644
index 0000000..715cbc1
--- /dev/null
+++ b/include/libc-pointer-arith.h
@@ -0,0 +1,60 @@
+/* Helper macros for pointer arithmetic.
+ Copyright (C) 2012-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _LIBC_POINTER_ARITH_H
+#define _LIBC_POINTER_ARITH_H 1
+
+#include <stdint.h>
+
+/* 1 if 'type' is a pointer type, 0 otherwise. */
+# define __pointer_type(type) (__builtin_classify_type ((type) 0) == 5)
+
+/* intptr_t if P is true, or T if P is false. */
+# define __integer_if_pointer_type_sub(T, P) \
+ __typeof__ (*(0 ? (__typeof__ (0 ? (T *) 0 : (void *) (P))) 0 \
+ : (__typeof__ (0 ? (intptr_t *) 0 : (void *) (!(P)))) 0))
+
+/* intptr_t if EXPR has a pointer type, or the type of EXPR otherwise. */
+# define __integer_if_pointer_type(expr) \
+ __integer_if_pointer_type_sub(__typeof__ ((__typeof__ (expr)) 0), \
+ __pointer_type (__typeof__ (expr)))
+
+/* Cast an integer or a pointer VAL to integer with proper type. */
+# define cast_to_integer(val) ((__integer_if_pointer_type (val)) (val))
+
+/* Align a value by rounding down to closest size.
+ e.g. Using size of 4096, we get this behavior:
+ {4095, 4096, 4097} = {0, 4096, 4096}. */
+#define ALIGN_DOWN(base, size) ((base) & -((__typeof__ (base)) (size)))
+
+/* Align a value by rounding up to closest size.
+ e.g. Using size of 4096, we get this behavior:
+ {4095, 4096, 4097} = {4096, 4096, 8192}.
+
+ Note: The size argument has side effects (expanded multiple times). */
+#define ALIGN_UP(base, size) ALIGN_DOWN ((base) + (size) - 1, (size))
+
+/* Same as ALIGN_DOWN(), but automatically casts when base is a pointer. */
+#define PTR_ALIGN_DOWN(base, size) \
+ ((__typeof__ (base)) ALIGN_DOWN ((uintptr_t) (base), (size)))
+
+/* Same as ALIGN_UP(), but automatically casts when base is a pointer. */
+#define PTR_ALIGN_UP(base, size) \
+ ((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size)))
+
+#endif
diff --git a/io/openat.c b/io/openat.c
index c54ee34..529f418 100644
--- a/io/openat.c
+++ b/io/openat.c
@@ -22,7 +22,6 @@
#include <stdio.h>
#include <sys/stat.h>
#include <kernel-features.h>
-#include <libc-internal.h>
/* Some mostly-generic code (e.g. sysdeps/posix/getcwd.c) uses this variable
if __ASSUME_ATFCTS is not defined. */
diff --git a/io/openat64.c b/io/openat64.c
index 2f564b5..116becd 100644
--- a/io/openat64.c
+++ b/io/openat64.c
@@ -21,7 +21,6 @@
#include <stddef.h>
#include <stdio.h>
#include <sys/stat.h>
-#include <libc-internal.h>
/* Open FILE with access OFLAG. Interpret relative paths relative to
the directory associated with FD. If O_CREAT or O_TMPFILE is in OFLAG, a
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 13c4e9e..f67b7b8 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -40,8 +40,8 @@
#include <sys/shm.h>
#include <sys/stat.h>
-#include <libc-internal.h>
#include <libc-mmap.h>
+#include <libc-pointer-arith.h>
#include "../../crypt/md5.h"
#include "../localeinfo.h"
#include "../locarchive.h"
diff --git a/locale/weight.h b/locale/weight.h
index f479718..0558123 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -19,7 +19,7 @@
#ifndef _WEIGHT_H_
#define _WEIGHT_H_ 1
-#include <libc-internal.h>
+#include <libc-diag.h>
/* Find index of weight. */
static inline int32_t __attribute__ ((always_inline))
diff --git a/locale/weightwc.h b/locale/weightwc.h
index 6a726aa..97ce2b3 100644
--- a/locale/weightwc.h
+++ b/locale/weightwc.h
@@ -19,7 +19,7 @@
#ifndef _WEIGHTWC_H_
#define _WEIGHTWC_H_ 1
-#include <libc-internal.h>
+#include <libc-diag.h>
/* Find index of weight. */
static inline int32_t __attribute__ ((always_inline))
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 4885793..e29105c 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -237,7 +237,7 @@
#include <sys/param.h>
/* For ALIGN_UP et. al. */
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#include <malloc/malloc-internal.h>
diff --git a/misc/ptrace.c b/misc/ptrace.c
index 06356c9..aace1b5 100644
--- a/misc/ptrace.c
+++ b/misc/ptrace.c
@@ -19,7 +19,6 @@
#include <sys/ptrace.h>
#include <sys/types.h>
#include <stdarg.h>
-#include <libc-internal.h>
/* Perform process tracing functions. REQUEST is one of the values
in <sys/ptrace.h>, and determines the action to be taken.
diff --git a/misc/reboot.c b/misc/reboot.c
index 86b0a50..70549c4 100644
--- a/misc/reboot.c
+++ b/misc/reboot.c
@@ -18,7 +18,7 @@
#include <errno.h>
#include <unistd.h>
#include <sys/reboot.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* Reboot the system. */
int
diff --git a/nis/nis_table.c b/nis/nis_table.c
index c0b05db..caf3e6a 100644
--- a/nis/nis_table.c
+++ b/nis/nis_table.c
@@ -19,7 +19,7 @@
#include <assert.h>
#include <string.h>
#include <rpcsvc/nis.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 2f8599b..2921607 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -36,7 +36,7 @@
#include <lowlevellock.h>
#include <futex-internal.h>
#include <kernel-features.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#include <pthread-pids.h>
#ifndef TLS_MULTIPLE_THREADS_IN_TCB
diff --git a/nptl/pthread_clock_gettime.c b/nptl/pthread_clock_gettime.c
index e3a82f7..c9abb61 100644
--- a/nptl/pthread_clock_gettime.c
+++ b/nptl/pthread_clock_gettime.c
@@ -18,7 +18,6 @@
#include <errno.h>
#include <stdlib.h>
#include <time.h>
-#include <libc-internal.h>
#include "pthreadP.h"
diff --git a/nptl/pthread_clock_settime.c b/nptl/pthread_clock_settime.c
index 6aeb3be..f2722d9 100644
--- a/nptl/pthread_clock_settime.c
+++ b/nptl/pthread_clock_settime.c
@@ -18,7 +18,6 @@
#include <errno.h>
#include <stdlib.h>
#include <time.h>
-#include <libc-internal.h>
#include "pthreadP.h"
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index 7c63ef9..ffbbde4 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -19,7 +19,6 @@
#include <atomic.h>
#include <stdint.h>
#include <pthread.h>
-#include <libc-internal.h>
/* We need 3 least-significant bits on __wrefs for something else. */
#define __PTHREAD_COND_MAX_GROUP_SIZE ((unsigned) 1 << 29)
diff --git a/nptl_db/thread_dbP.h b/nptl_db/thread_dbP.h
index d359e79..c88ee29 100644
--- a/nptl_db/thread_dbP.h
+++ b/nptl_db/thread_dbP.h
@@ -30,7 +30,7 @@
#include "../nptl/pthreadP.h" /* This is for *_BITMASK only. */
#include <list.h>
#include <gnu/lib-names.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* Indeces for the symbol names. */
enum
diff --git a/nscd/connections.c b/nscd/connections.c
index 26d2c00..205ff42 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -59,7 +59,7 @@
#include <resolv/resolv.h>
#include <kernel-features.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* Support to run nscd as an unprivileged user */
diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
index 15eb233..17ae812 100644
--- a/posix/wordexp-test.c
+++ b/posix/wordexp-test.c
@@ -22,10 +22,11 @@
#include <unistd.h>
#include <pwd.h>
#include <stdio.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <wordexp.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#define IFS " \n\t"
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 93db5b9..28c4cab 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -108,7 +108,7 @@
#include <string.h>
#include <unistd.h>
#include <kernel-features.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
#if PACKETSZ > 65536
#define MAXPACKET PACKETSZ
diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c
index 7b7342b..74e2360 100644
--- a/soft-fp/fmadf4.c
+++ b/soft-fp/fmadf4.c
@@ -25,8 +25,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <libc-internal.h>
-#include <sys/cdefs.h>
+#include <math.h>
+#include <libc-diag.h>
+
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
@@ -35,7 +36,7 @@
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
-#include <math.h>
+
#include "soft-fp.h"
#include "double.h"
diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c
index 20c0ca8..2d3120e 100644
--- a/soft-fp/fmasf4.c
+++ b/soft-fp/fmasf4.c
@@ -25,8 +25,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <libc-internal.h>
-#include <sys/cdefs.h>
+#include <math.h>
+#include <libc-diag.h>
+
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
@@ -35,7 +36,7 @@
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
-#include <math.h>
+
#include "soft-fp.h"
#include "single.h"
diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c
index d3a4ee4..553a7ad 100644
--- a/soft-fp/fmatf4.c
+++ b/soft-fp/fmatf4.c
@@ -25,8 +25,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <libc-internal.h>
-#include <sys/cdefs.h>
+#include <math.h>
+#include <libc-diag.h>
+
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
@@ -35,7 +36,7 @@
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
-#include <math.h>
+
#include "soft-fp.h"
#include "quad.h"
diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
index 214dab4..1adf27e 100644
--- a/stdio-common/vfscanf.c
+++ b/stdio-common/vfscanf.c
@@ -27,7 +27,7 @@
#include <string.h>
#include <wchar.h>
#include <wctype.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
#include <libc-lock.h>
#include <locale/localeinfo.h>
#include <scratch_buffer.h>
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index 7e8fbf3..8fd55b0 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -24,7 +24,6 @@
#include <stdint.h>
#include <string.h>
#include <sys/param.h>
-#include <libc-internal.h>
#ifndef STRING_TYPE
# define STRING_TYPE char
diff --git a/string/strcspn.c b/string/strcspn.c
index 06299e2..1035552 100644
--- a/string/strcspn.c
+++ b/string/strcspn.c
@@ -17,7 +17,7 @@
#include <string.h>
#include <stdint.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#undef strcspn
diff --git a/string/strspn.c b/string/strspn.c
index a7fec70..c63197c 100644
--- a/string/strspn.c
+++ b/string/strspn.c
@@ -17,7 +17,7 @@
#include <string.h>
#include <stdint.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#undef strspn
#ifndef STRSPN
diff --git a/sysdeps/i386/nptl/tls.h b/sysdeps/i386/nptl/tls.h
index 2500c82..04dc6ae 100644
--- a/sysdeps/i386/nptl/tls.h
+++ b/sysdeps/i386/nptl/tls.h
@@ -26,7 +26,7 @@
# include <stdint.h>
# include <stdlib.h>
# include <sysdep.h>
-# include <libc-internal.h>
+# include <libc-pointer-arith.h> /* For cast_to_integer. */
# include <kernel-features.h>
# include <dl-dtv.h>
diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c
index c337679..b5860d8 100644
--- a/sysdeps/ieee754/dbl-64/e_lgamma_r.c
+++ b/sysdeps/ieee754/dbl-64/e_lgamma_r.c
@@ -77,9 +77,9 @@
*
*/
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
static const double
two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
diff --git a/sysdeps/ieee754/dbl-64/k_rem_pio2.c b/sysdeps/ieee754/dbl-64/k_rem_pio2.c
index d853b65..2b5add6 100644
--- a/sysdeps/ieee754/dbl-64/k_rem_pio2.c
+++ b/sysdeps/ieee754/dbl-64/k_rem_pio2.c
@@ -132,7 +132,7 @@ static char rcsid[] = "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $
#include <math.h>
#include <math_private.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
index 1bd2122..1b30dcd 100644
--- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c
+++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
@@ -13,9 +13,9 @@
* ====================================================
*/
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
static const float
two23= 8.3886080000e+06, /* 0x4b000000 */
diff --git a/sysdeps/ieee754/flt-32/k_rem_pio2f.c b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
index 52ffb09..a8d5b21 100644
--- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c
+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c
@@ -19,7 +19,7 @@ static char rcsid[] = "$NetBSD: k_rem_pio2f.c,v 1.4 1995/05/10 20:46:28 jtc Exp
#include <math.h>
#include <math_private.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* In the float version, the input parameter x contains 8 bit
integers, not 24 bit integers. 113 bit precision is not supported. */
diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c
index dc9c457..e79023c 100644
--- a/sysdeps/ieee754/ldbl-128/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/k_tanl.c
@@ -57,9 +57,10 @@
*/
#include <float.h>
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
+
static const _Float128
one = 1,
pio4hi = L(7.8539816339744830961566084581987569936977E-1),
diff --git a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
index 3c1bf32..232e00c 100644
--- a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c
@@ -57,9 +57,10 @@
*/
#include <float.h>
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
+
static const long double
one = 1.0L,
pio4hi = 7.8539816339744830961566084581987569936977E-1L,
diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
index 9862fe8..4ecd630 100644
--- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
+++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
@@ -91,9 +91,9 @@
*
*/
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
static const long double
half = 0.5L,
diff --git a/sysdeps/ieee754/ldbl-96/k_tanl.c b/sysdeps/ieee754/ldbl-96/k_tanl.c
index 0c050c1..f8641d5 100644
--- a/sysdeps/ieee754/ldbl-96/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-96/k_tanl.c
@@ -57,9 +57,10 @@
*/
#include <float.h>
-#include <libc-internal.h>
#include <math.h>
#include <math_private.h>
+#include <libc-diag.h>
+
static const long double
one = 1.0L,
pio4hi = 0xc.90fdaa22168c235p-4L,
diff --git a/sysdeps/nacl/brk.c b/sysdeps/nacl/brk.c
index 15e0c4f..c96c66f 100644
--- a/sysdeps/nacl/brk.c
+++ b/sysdeps/nacl/brk.c
@@ -17,7 +17,6 @@
<http://www.gnu.org/licenses/>. */
#include <errno.h>
-#include <libc-internal.h>
#include <stdint.h>
#include <sys/mman.h>
#include <sys/param.h>
diff --git a/sysdeps/nacl/dl-map-segments.h b/sysdeps/nacl/dl-map-segments.h
index 501d8be..ab2ad43 100644
--- a/sysdeps/nacl/dl-map-segments.h
+++ b/sysdeps/nacl/dl-map-segments.h
@@ -16,12 +16,15 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _NACL_DL_MAP_SEGMENTS_H
+#define _NACL_DL_MAP_SEGMENTS_H 1
+
#include <assert.h>
#include <dl-load.h>
#include <errno.h>
#include <stdbool.h>
#include <unistd.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
/* This is basically pread, but with iteration after short reads. */
@@ -262,3 +265,5 @@ _dl_map_segments (struct link_map *l, int fd,
return NULL;
}
+
+#endif /* dl-map-segments.h */
diff --git a/sysdeps/nptl/futex-internal.h b/sysdeps/nptl/futex-internal.h
index 532d47d..be7a33f 100644
--- a/sysdeps/nptl/futex-internal.h
+++ b/sysdeps/nptl/futex-internal.h
@@ -23,7 +23,7 @@
#include <sys/time.h>
#include <stdio.h>
#include <stdbool.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
/* This file defines futex operations used internally in glibc. A futex
consists of the so-called futex word in userspace, which is of type
diff --git a/sysdeps/unix/clock_settime.c b/sysdeps/unix/clock_settime.c
index 957a4b1..e744cae 100644
--- a/sysdeps/unix/clock_settime.c
+++ b/sysdeps/unix/clock_settime.c
@@ -18,7 +18,6 @@
#include <errno.h>
#include <time.h>
#include <sys/time.h>
-#include <libc-internal.h>
#include <ldsodefs.h>
diff --git a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
index bee3fe8..88e14b5 100644
--- a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
@@ -20,8 +20,6 @@
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
-#include <libc-internal.h>
-
hp_timing_t
__get_clockfreq (void)
diff --git a/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c b/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
index 5dd9c01..603c7d5 100644
--- a/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
@@ -20,7 +20,6 @@
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
-#include <libc-internal.h>
hp_timing_t
diff --git a/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c b/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
index ad1622d..b8d01d8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c
@@ -21,7 +21,6 @@
#include <stdint.h>
#include <string.h>
#include <unistd.h>
-#include <libc-internal.h>
#include <sysdep.h>
#include <libc-vdso.h>
#include <not-cancel.h>
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
index dc9ba69..a034979 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
@@ -24,7 +24,6 @@
#include <stdlib.h>
#include <inttypes.h>
#include <sys/ioctl.h>
-#include <libc-internal.h>
#include <asm/openpromio.h>
static hp_timing_t
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
index 2daf0c5..24f75db 100644
--- a/sysdeps/unix/sysv/linux/spawni.c
+++ b/sysdeps/unix/sysv/linux/spawni.c
@@ -30,8 +30,8 @@
#include <shlib-compat.h>
#include <nptl/pthreadP.h>
#include <dl-sysdep.h>
+#include <libc-pointer-arith.h>
#include <ldsodefs.h>
-#include <libc-internal.h>
#include "spawn_int.h"
/* The Linux implementation of posix_spawn{p} uses the clone syscall directly
diff --git a/sysdeps/x86_64/atomic-machine.h b/sysdeps/x86_64/atomic-machine.h
index 672a7eb..2e8a9aa 100644
--- a/sysdeps/x86_64/atomic-machine.h
+++ b/sysdeps/x86_64/atomic-machine.h
@@ -16,10 +16,12 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <stdint.h>
-#include <tls.h> /* For tcbhead_t. */
-#include <libc-internal.h>
+#ifndef _X86_64_ATOMIC_MACHINE_H
+#define _X86_64_ATOMIC_MACHINE_H 1
+#include <stdint.h>
+#include <tls.h> /* For tcbhead_t. */
+#include <libc-pointer-arith.h> /* For cast_to_integer. */
typedef int8_t atomic8_t;
typedef uint8_t uatomic8_t;
@@ -475,3 +477,5 @@ typedef uintmax_t uatomic_max_t;
__asm __volatile (LOCK_PREFIX "orl $0, (%%rsp)" ::: "memory")
#define atomic_read_barrier() __asm ("" ::: "memory")
#define atomic_write_barrier() __asm ("" ::: "memory")
+
+#endif /* atomic-machine.h */
diff --git a/sysdeps/x86_64/nptl/tls.h b/sysdeps/x86_64/nptl/tls.h
index f2afe85..53b41bc 100644
--- a/sysdeps/x86_64/nptl/tls.h
+++ b/sysdeps/x86_64/nptl/tls.h
@@ -26,7 +26,7 @@
# include <stdint.h>
# include <stdlib.h>
# include <sysdep.h>
-# include <libc-internal.h>
+# include <libc-pointer-arith.h> /* For cast_to_integer. */
# include <kernel-features.h>
# include <dl-dtv.h>