Narrowing the visibility of libc-internal.h even further.

posix/wordexp-test.c used libc-internal.h for PTR_ALIGN_DOWN; similar
to what was done with libc-diag.h, I have split the definitions of
cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and PTR_ALIGN_DOWN
to a new header, libc-pointer-arith.h.

It then occurred to me that the remaining declarations in libc-internal.h
are mostly to do with early initialization, and probably most of the
files including it, even in the core code, don't need it anymore.  Indeed,
only 19 files actually need what remains of libc-internal.h.  23 others
need libc-diag.h instead, and 12 need libc-pointer-arith.h instead.
No file needs more than one of them, and 16 don't need any of them!

So, with this patch, libc-internal.h stops including libc-diag.h as
well as losing the pointer arithmetic macros, and all including files
are adjusted.

        * 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.
This commit is contained in:
Zack Weinberg 2017-02-26 20:17:52 -05:00
parent 5e4e10636c
commit 9090848d06
55 changed files with 171 additions and 99 deletions

View File

@ -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

View File

@ -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;

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

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

View File

@ -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)

View File

@ -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

View File

@ -27,7 +27,7 @@
#include "cns11643.h"
#include "cns11643l1.h"
#include "cns11643l2.h"
#include <libc-internal.h>
#include <libc-diag.h>
#include <assert.h>

View File

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

View File

@ -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

View File

@ -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. */

View File

@ -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

View File

@ -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"

View File

@ -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))

View File

@ -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))

View File

@ -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>

View File

@ -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.

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -18,7 +18,6 @@
#include <errno.h>
#include <stdlib.h>
#include <time.h>
#include <libc-internal.h>
#include "pthreadP.h"

View File

@ -18,7 +18,6 @@
#include <errno.h>
#include <stdlib.h>
#include <time.h>
#include <libc-internal.h>
#include "pthreadP.h"

View File

@ -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)

View File

@ -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

View File

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

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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>

View File

@ -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

View File

@ -17,7 +17,7 @@
#include <string.h>
#include <stdint.h>
#include <libc-internal.h>
#include <libc-pointer-arith.h>
#undef strcspn

View File

@ -17,7 +17,7 @@
#include <string.h>
#include <stdint.h>
#include <libc-internal.h>
#include <libc-pointer-arith.h>
#undef strspn
#ifndef STRSPN

View File

@ -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>

View File

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

View File

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

View File

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

View File

@ -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. */

View File

@ -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),

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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>

View File

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

View File

@ -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

View File

@ -18,7 +18,6 @@
#include <errno.h>
#include <time.h>
#include <sys/time.h>
#include <libc-internal.h>
#include <ldsodefs.h>

View File

@ -20,8 +20,6 @@
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <libc-internal.h>
hp_timing_t
__get_clockfreq (void)

View File

@ -20,7 +20,6 @@
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <libc-internal.h>
hp_timing_t

View File

@ -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>

View File

@ -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

View File

@ -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

View File

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

View File

@ -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>