diff options
Diffstat (limited to 'include')
43 files changed, 172 insertions, 123 deletions
diff --git a/include/atomic.h b/include/atomic.h index 221bea0ad3..5e8bfffa08 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -1,5 +1,5 @@ /* Internal macros for atomic operations for GNU C Library. - Copyright (C) 2002-2015 Free Software Foundation, Inc. + Copyright (C) 2002-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -47,7 +47,7 @@ #include <stdlib.h> -#include <bits/atomic.h> +#include <atomic-machine.h> /* Wrapper macros to call pre_NN_post (mem, ...) where NN is the bit width of *MEM. The calling macro puts parens around MEM diff --git a/include/bits/xopen_lim.h b/include/bits/xopen_lim.h index 10918f48d2..26b4fba970 100644 --- a/include/bits/xopen_lim.h +++ b/include/bits/xopen_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2015 Free Software Foundation, Inc. +/* Copyright (C) 1996-2016 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 diff --git a/include/caller.h b/include/caller.h index ed8cac823d..19c5c2661b 100644 --- a/include/caller.h +++ b/include/caller.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2015 Free Software Foundation, Inc. +/* Copyright (C) 2004-2016 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 diff --git a/include/ctype.h b/include/ctype.h index f3157b9e7d..ac6db790b7 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -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 diff --git a/include/dirent.h b/include/dirent.h index 258f2d0791..c792e53c96 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -16,7 +16,8 @@ struct scandir_cancel_struct /* Now define the internal interfaces. */ extern DIR *__opendir (const char *__name); -extern DIR *__opendirat (int dfd, const char *__name) internal_function; +extern DIR *__opendirat (int dfd, const char *__name) + internal_function attribute_hidden; extern DIR *__fdopendir (int __fd); extern int __closedir (DIR *__dirp); extern struct dirent *__readdir (DIR *__dirp); @@ -35,9 +36,9 @@ extern __ssize_t __getdirentries (int __fd, char *__restrict __buf, __off_t *__restrict __basep) __THROW __nonnull ((2, 4)); extern __ssize_t __getdents (int __fd, char *__buf, size_t __nbytes) - internal_function; + internal_function attribute_hidden; extern __ssize_t __getdents64 (int __fd, char *__buf, size_t __nbytes) - internal_function; + internal_function attribute_hidden; extern int __alphasort64 (const struct dirent64 **a, const struct dirent64 **b) __attribute_pure__; extern int __versionsort64 (const struct dirent64 **a, @@ -45,7 +46,7 @@ extern int __versionsort64 (const struct dirent64 **a, __attribute_pure__; extern DIR *__alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) - internal_function; + internal_function attribute_hidden; extern __typeof (rewinddir) __rewinddir; extern void __scandir_cancel_handler (void *arg) attribute_hidden; @@ -74,6 +75,14 @@ libc_hidden_proto (__rewinddir) extern __typeof (scandirat) __scandirat; libc_hidden_proto (__scandirat) libc_hidden_proto (scandirat64) + +# if IS_IN (rtld) +extern __typeof (__closedir) __closedir attribute_hidden; +extern __typeof (__fdopendir) __fdopendir attribute_hidden; +extern __typeof (__readdir) __readdir attribute_hidden; +extern __typeof (__readdir64) __readdir64 attribute_hidden; +extern __typeof (__rewinddir) __rewinddir attribute_hidden; +# endif # endif #endif diff --git a/include/dlfcn.h b/include/dlfcn.h index 0ce0af5276..2524292ebc 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -71,19 +71,6 @@ extern void *_dl_vsym (void *handle, const char *name, const char *version, void *who) internal_function; -/* Call OPERATE, catching errors from `dl_signal_error'. If there is no - error, *ERRSTRING is set to null. If there is an error, *ERRSTRING is - set to a string constructed from the strings passed to _dl_signal_error, - and the error code passed is the return value and *OBJNAME is set to - the object name which experienced the problems. ERRSTRING if nonzero - points to a malloc'ed string which the caller has to free after use. - ARGS is passed as argument to OPERATE. MALLOCEDP is set to true only - if the returned string is allocated using the libc's malloc. */ -extern int _dl_catch_error (const char **objname, const char **errstring, - bool *mallocedp, void (*operate) (void *), - void *args) - internal_function; - /* Helper function for <dlfcn.h> functions. Runs the OPERATE function via _dl_catch_error. Returns zero for success, nonzero for failure; and arranges for `dlerror' to return the error details. diff --git a/include/fcntl.h b/include/fcntl.h index de2372883c..4168ee429f 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -8,7 +8,7 @@ libc_hidden_proto (__open64) extern int __libc_open64 (const char *file, int oflag, ...); extern int __libc_open (const char *file, int oflag, ...); libc_hidden_proto (__libc_open) -extern int __libc_fcntl (int fd, int cmd, ...); +extern int __libc_fcntl (int fd, int cmd, ...) attribute_hidden; #ifndef NO_CANCELLATION extern int __fcntl_nocancel (int fd, int cmd, ...) attribute_hidden; libc_hidden_proto (__libc_fcntl) @@ -30,6 +30,11 @@ extern int __openat_2 (int __fd, const char *__path, int __oflag); extern int __openat64_2 (int __fd, const char *__path, int __oflag); +#if IS_IN (rtld) +extern __typeof (__open) __open attribute_hidden; +extern __typeof (__fcntl) __fcntl attribute_hidden; +#endif + /* Flag determining whether the *at system calls are available. */ extern int __have_atfcts attribute_hidden; diff --git a/include/features.h b/include/features.h index bb8061073e..9514d35718 100644 --- a/include/features.h +++ b/include/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2015 Free Software Foundation, Inc. +/* Copyright (C) 1991-2016 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 @@ -224,8 +224,9 @@ # undef _POSIX_C_SOURCE # define _POSIX_C_SOURCE 200809L #endif -#if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \ - !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) +#if ((!defined __STRICT_ANSI__ \ + || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ + && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) # define _POSIX_SOURCE 1 # if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 # define _POSIX_C_SOURCE 2 @@ -239,7 +240,9 @@ # define __USE_POSIX_IMPLICITLY 1 #endif -#if defined _POSIX_SOURCE || _POSIX_C_SOURCE >= 1 || defined _XOPEN_SOURCE +#if (defined _POSIX_SOURCE \ + || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ + || defined _XOPEN_SOURCE) # define __USE_POSIX 1 #endif @@ -247,15 +250,15 @@ # define __USE_POSIX2 1 #endif -#if (_POSIX_C_SOURCE - 0) >= 199309L +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L # define __USE_POSIX199309 1 #endif -#if (_POSIX_C_SOURCE - 0) >= 199506L +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L # define __USE_POSIX199506 1 #endif -#if (_POSIX_C_SOURCE - 0) >= 200112L +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L # define __USE_XOPEN2K 1 # undef __USE_ISOC95 # define __USE_ISOC95 1 @@ -263,7 +266,7 @@ # define __USE_ISOC99 1 #endif -#if (_POSIX_C_SOURCE - 0) >= 200809L +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L # define __USE_XOPEN2K8 1 # undef _ATFILE_SOURCE # define _ATFILE_SOURCE 1 @@ -354,7 +357,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -#define __GLIBC_MINOR__ 22 +#define __GLIBC_MINOR__ 23 #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) diff --git a/include/fenv.h b/include/fenv.h index 7070199ece..de4d46f8b7 100644 --- a/include/fenv.h +++ b/include/fenv.h @@ -13,7 +13,7 @@ extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts); extern int __fegetenv (fenv_t *__envp); extern int __fesetenv (const fenv_t *__envp); extern int __feupdateenv (const fenv_t *__envp); -extern __typeof (fegetround) __fegetround; +extern __typeof (fegetround) __fegetround __attribute_pure__; extern __typeof (feholdexcept) __feholdexcept; extern __typeof (fesetround) __fesetround; diff --git a/include/gnu-versions.h b/include/gnu-versions.h index f451e3a86e..141a7116c7 100644 --- a/include/gnu-versions.h +++ b/include/gnu-versions.h @@ -1,5 +1,5 @@ /* Header with interface version macros for library pieces copied elsewhere. - Copyright (C) 1995-2015 Free Software Foundation, Inc. + Copyright (C) 1995-2016 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 diff --git a/include/gnu/libc-version.h b/include/gnu/libc-version.h index 55d8e35e22..780612eca3 100644 --- a/include/gnu/libc-version.h +++ b/include/gnu/libc-version.h @@ -1,5 +1,5 @@ /* Interface to GNU libc specific functions for version information. - Copyright (C) 1998-2015 Free Software Foundation, Inc. + Copyright (C) 1998-2016 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 diff --git a/include/ifunc-impl-list.h b/include/ifunc-impl-list.h index 93acceae1f..739d628f78 100644 --- a/include/ifunc-impl-list.h +++ b/include/ifunc-impl-list.h @@ -1,5 +1,5 @@ /* Internal header file for __libc_supported_implementations. - Copyright (C) 2012-2015 Free Software Foundation, Inc. + Copyright (C) 2012-2016 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 diff --git a/include/inline-hashtab.h b/include/inline-hashtab.h index defa0bf107..f7a003f9ae 100644 --- a/include/inline-hashtab.h +++ b/include/inline-hashtab.h @@ -1,5 +1,5 @@ /* Fully-inline hash table, used mainly for managing TLS descriptors. - Copyright (C) 1999-2015 Free Software Foundation, Inc. + Copyright (C) 1999-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Alexandre Oliva <aoliva@redhat.com> diff --git a/include/libc-internal.h b/include/libc-internal.h index b37388ecd7..7a185bbdc7 100644 --- a/include/libc-internal.h +++ b/include/libc-internal.h @@ -34,6 +34,10 @@ extern void __libc_thread_freeres (void); /* Define and initialize `__progname' et. al. */ extern void __init_misc (int, char **, char **); +# if IS_IN (rtld) +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) @@ -107,13 +111,4 @@ extern void __init_misc (int, char **, char **); #define DIAG_IGNORE_NEEDS_COMMENT(version, option) \ _Pragma (_DIAG_STR (GCC diagnostic ignored option)) -/* This mirrors the C11 max_align_t type provided by GCC, but it is - also available in C99 mode. The aligned attributes are required - because some ABIs have reduced alignment requirements for struct - and union members. */ -typedef struct { - long long ll __attribute__ ((__aligned__ (__alignof__ (long long)))); - long double ld __attribute__ ((__aligned__ (__alignof__ (long double)))); -} libc_max_align_t; - #endif /* _LIBC_INTERNAL */ diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 743b6f6f5b..4548e097dc 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -1,6 +1,6 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-2015 Free Software Foundation, Inc. + Copyright (C) 1995-2016 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 @@ -35,11 +35,9 @@ file in the C library by -imacros. We include config.h which is generated by configure. - It should define for us the following symbols: + It should define for us the following symbol: * HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'. - * HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'. - * HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'. */ @@ -80,10 +78,6 @@ /* The symbols in all the user (non-_) macros are C symbols. */ -#if !defined HAVE_ASM_WEAK_DIRECTIVE && !defined HAVE_ASM_WEAKEXT_DIRECTIVE -# error "weak symbol support needed" -#endif - #ifndef __SYMBOL_PREFIX # define __SYMBOL_PREFIX #endif @@ -142,23 +136,13 @@ # define strong_data_alias(original, alias) strong_alias(original, alias) # endif -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE -# define weak_alias(original, alias) \ - .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) -# define weak_extern(symbol) \ - .weakext C_SYMBOL_NAME (symbol) - -# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ - -# define weak_alias(original, alias) \ +# define weak_alias(original, alias) \ .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) -# define weak_extern(symbol) \ +# define weak_extern(symbol) \ .weak C_SYMBOL_NAME (symbol) -# endif /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ - #endif /* __ASSEMBLER__ */ /* On some platforms we can make internal function calls (i.e., calls of @@ -175,15 +159,8 @@ /* When a reference to SYMBOL is encountered, the linker will emit a warning message MSG. */ /* We want the .gnu.warning.SYMBOL section to be unallocated. */ -#ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -# define __make_section_unallocated(section_string) \ +#define __make_section_unallocated(section_string) \ asm (".section " section_string "\n\t.previous"); -#elif defined HAVE_ASM_POPSECTION_DIRECTIVE -# define __make_section_unallocated(section_string) \ - asm (".pushsection " section_string "\n\t.popsection"); -#else -# define __make_section_unallocated(section_string) -#endif /* Tacking on "\n\t#" to the section name makes gcc put it's bogus section attributes on what looks like a comment to the assembler. */ diff --git a/include/libio.h b/include/libio.h index 735941d230..97fc5b548b 100644 --- a/include/libio.h +++ b/include/libio.h @@ -1,3 +1,6 @@ +#if !defined _ISOMAC && defined _IO_MTSAFE_IO +# include <stdio-lock.h> +#endif #include <libio/libio.h> #ifndef _ISOMAC diff --git a/include/limits.h b/include/limits.h index 381b798931..5add8fceb9 100644 --- a/include/limits.h +++ b/include/limits.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2015 Free Software Foundation, Inc. +/* Copyright (C) 1991-2016 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 diff --git a/include/link.h b/include/link.h index 7e7eb79f10..32a7392f38 100644 --- a/include/link.h +++ b/include/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2015 Free Software Foundation, Inc. + Copyright (C) 1995-2016 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 @@ -39,11 +39,11 @@ extern unsigned int la_objopen (struct link_map *__map, Lmid_t __lmid, #include <stdint.h> #include <stddef.h> -#include <bits/linkmap.h> +#include <linkmap.h> #include <dl-fileid.h> #include <dl-lookupcfg.h> #include <tls.h> -#include <bits/libc-lock.h> +#include <libc-lock.h> /* Some internal data structures of the dynamic linker used in the diff --git a/include/list.h b/include/list.h index 7d5d9450fc..cf65d46382 100644 --- a/include/list.h +++ b/include/list.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2015 Free Software Foundation, Inc. +/* Copyright (C) 2002-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. diff --git a/include/math.h b/include/math.h index 42bb55eb98..ba7bba018a 100644 --- a/include/math.h +++ b/include/math.h @@ -6,6 +6,8 @@ /* Now define the internal interfaces. */ extern int __matherr (struct exception *__exc); +extern int __signgam; + # if IS_IN (libc) || IS_IN (libm) hidden_proto (__finite) hidden_proto (__isinf) @@ -35,9 +37,5 @@ libm_hidden_proto (__expl) libm_hidden_proto (__expm1l) # endif -extern int __isinf_ns (double); -extern int __isinf_nsf (float); -extern int __isinf_nsl (long double); - #endif #endif diff --git a/include/nss.h b/include/nss.h index 0541335c18..1e8cc3910d 100644 --- a/include/nss.h +++ b/include/nss.h @@ -1 +1,14 @@ +#ifndef _NSS_H #include <nss/nss.h> + +#define NSS_INVALID_FIELD_CHARACTERS ":\n" +extern const char __nss_invalid_field_characters[] attribute_hidden; + +_Bool __nss_valid_field (const char *value) + attribute_hidden internal_function; +_Bool __nss_valid_list_field (char **list) + attribute_hidden internal_function; +const char *__nss_rewrite_field (const char *value, char **to_be_freed) + attribute_hidden internal_function; + +#endif /* _NSS_H */ diff --git a/include/programs/xmalloc.h b/include/programs/xmalloc.h index e792ffed1d..c795c7f41f 100644 --- a/include/programs/xmalloc.h +++ b/include/programs/xmalloc.h @@ -1,5 +1,5 @@ /* Memory related definitions for program modules. - Copyright (C) 1998-2015 Free Software Foundation, Inc. + Copyright (C) 1998-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify diff --git a/include/pwd.h b/include/pwd.h index bd7fecc16e..3b0f72540c 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -24,7 +24,7 @@ extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); -#include <nss/nss.h> +#include <nss.h> struct parser_data; extern int _nss_files_parse_pwent (char *line, struct passwd *result, diff --git a/include/rounding-mode.h b/include/rounding-mode.h index 18682e6c98..3e085d938b 100644 --- a/include/rounding-mode.h +++ b/include/rounding-mode.h @@ -1,5 +1,5 @@ /* Handle floating-point rounding mode within libc. - Copyright (C) 2012-2015 Free Software Foundation, Inc. + Copyright (C) 2012-2016 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 diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h index d2f3013114..58bdef3cc9 100644 --- a/include/rpc/rpc.h +++ b/include/rpc/rpc.h @@ -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); diff --git a/include/scratch_buffer.h b/include/scratch_buffer.h index 6f92694bb8..c59e143d77 100644 --- a/include/scratch_buffer.h +++ b/include/scratch_buffer.h @@ -1,5 +1,5 @@ /* Variable-sized buffer with on-stack default allocation. - Copyright (C) 2015 Free Software Foundation, Inc. + Copyright (C) 2015-2016 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 @@ -58,17 +58,16 @@ */ #include <stdbool.h> +#include <stddef.h> #include <stdlib.h> -#include <libc-internal.h> - /* Scratch buffer. Must be initialized with scratch_buffer_init before its use. */ struct scratch_buffer { void *data; /* Pointer to the beginning of the scratch area. */ size_t length; /* Allocated space at the data pointer, in bytes. */ char __space[1024] - __attribute__ ((aligned (__alignof__ (libc_max_align_t)))); + __attribute__ ((aligned (__alignof__ (max_align_t)))); }; /* Initializes *BUFFER so that BUFFER->data points to BUFFER->__space diff --git a/include/set-hooks.h b/include/set-hooks.h index c19dc11b43..f129cbfd8e 100644 --- a/include/set-hooks.h +++ b/include/set-hooks.h @@ -1,5 +1,5 @@ /* Macros for using symbol sets for running lists of functions. - Copyright (C) 1994-2015 Free Software Foundation, Inc. + Copyright (C) 1994-2016 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 diff --git a/include/setjmp.h b/include/setjmp.h index 622bb319f3..90f46976e3 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -6,7 +6,7 @@ /* Internal machine-dependent function to restore context sans signal mask. */ extern void __longjmp (__jmp_buf __env, int __val) - __attribute__ ((__noreturn__)); + __attribute__ ((__noreturn__)) attribute_hidden; /* Internal function to possibly save the current mask of blocked signals in ENV, and always set the flag saying whether or not it was saved. @@ -24,6 +24,10 @@ libc_hidden_proto (__libc_longjmp) libc_hidden_proto (_setjmp) libc_hidden_proto (__sigsetjmp) + +# if IS_IN (rtld) +extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden; +# endif #endif #endif diff --git a/include/shlib-compat.h b/include/shlib-compat.h index ad1c47cde3..c1c5e2c3b1 100644 --- a/include/shlib-compat.h +++ b/include/shlib-compat.h @@ -1,5 +1,5 @@ /* Macros for managing ABI-compatibility definitions using ELF symbol versions. - Copyright (C) 2000-2015 Free Software Foundation, Inc. + Copyright (C) 2000-2016 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 diff --git a/include/signal.h b/include/signal.h index b69de03ff6..276a99d80a 100644 --- a/include/signal.h +++ b/include/signal.h @@ -61,6 +61,11 @@ extern int __xpg_sigpause (int sig); /* Allocate real-time signal with highest/lowest available priority. */ extern int __libc_allocate_rtsig (int __high); + +# if IS_IN (rtld) +extern __typeof (__sigaction) __sigaction attribute_hidden; +extern __typeof (__libc_sigaction) __libc_sigaction attribute_hidden; +# endif # endif #endif #endif diff --git a/include/stackinfo.h b/include/stackinfo.h index fe50dd5b80..5f548c78f9 100644 --- a/include/stackinfo.h +++ b/include/stackinfo.h @@ -1,5 +1,5 @@ /* Details about the machine's stack: wrapper header. - Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copyright (C) 2014-2016 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 diff --git a/include/stap-probe.h b/include/stap-probe.h index 433b8fd38f..d653b45bcc 100644 --- a/include/stap-probe.h +++ b/include/stap-probe.h @@ -1,5 +1,5 @@ /* Macros for defining Systemtap <sys/sdt.h> static probe points. - Copyright (C) 2012-2015 Free Software Foundation, Inc. + Copyright (C) 2012-2016 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 @@ -57,13 +57,13 @@ # ifndef __ASSEMBLER__ /* Evaluate all the arguments and verify that N matches their number. */ -#define LIBC_PROBE(name, n, ...) STAP_PROBE##n (__VA_ARGS__) +# define LIBC_PROBE(name, n, ...) STAP_PROBE##n (__VA_ARGS__) -#define STAP_PROBE0() -#define STAP_PROBE1(a1) -#define STAP_PROBE2(a1, a2) -#define STAP_PROBE3(a1, a2, a3) -#define STAP_PROBE4(a1, a2, a3, a4) +# define STAP_PROBE0() +# define STAP_PROBE1(a1) +# define STAP_PROBE2(a1, a2) +# define STAP_PROBE3(a1, a2, a3) +# define STAP_PROBE4(a1, a2, a3, a4) # else # define LIBC_PROBE(name, n, ...) /* Nothing. */ diff --git a/include/stdc-predef.h b/include/stdc-predef.h index e5f1139003..f9f7f731d1 100644 --- a/include/stdc-predef.h +++ b/include/stdc-predef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2015 Free Software Foundation, Inc. +/* Copyright (C) 1991-2016 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 @@ -49,14 +49,10 @@ # define __STDC_IEC_559_COMPLEX__ 1 #endif -/* wchar_t uses Unicode 7.0.0. Version 7.0 of the Unicode Standard is - synchronized with ISO/IEC 10646:2012, plus Amendments 1 (published - on April, 2013) and 2 (not yet published as of February, 2015). - Additionally, it includes the accelerated publication of U+20BD - RUBLE SIGN. Therefore Unicode 7.0.0 is between 10646:2012 and - 10646:2014, and so we use the date ISO/IEC 10646:2012 Amd.1 was - published. */ -#define __STDC_ISO_10646__ 201304L +/* wchar_t uses Unicode 8.0.0. Version 8.0 of the Unicode Standard is + synchronized with ISO/IEC 10646:2014, plus Amendment 1 (published + 2015-05-15). */ +#define __STDC_ISO_10646__ 201505L /* We do not support C11 <threads.h>. */ #define __STDC_NO_THREADS__ 1 diff --git a/include/stdlib.h b/include/stdlib.h index 992b87793c..352339e859 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -203,6 +203,24 @@ libc_hidden_proto (strtoll) libc_hidden_proto (strtoul) libc_hidden_proto (strtoull) +extern float __strtof_nan (const char *, char **, char) internal_function; +extern double __strtod_nan (const char *, char **, char) internal_function; +extern long double __strtold_nan (const char *, char **, char) + internal_function; +extern float __wcstof_nan (const wchar_t *, wchar_t **, wchar_t) + internal_function; +extern double __wcstod_nan (const wchar_t *, wchar_t **, wchar_t) + internal_function; +extern long double __wcstold_nan (const wchar_t *, wchar_t **, wchar_t) + internal_function; + +libc_hidden_proto (__strtof_nan) +libc_hidden_proto (__strtod_nan) +libc_hidden_proto (__strtold_nan) +libc_hidden_proto (__wcstof_nan) +libc_hidden_proto (__wcstod_nan) +libc_hidden_proto (__wcstold_nan) + extern char *__ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign); extern char *__fcvt (double __value, int __ndigit, int *__restrict __decpt, @@ -242,6 +260,11 @@ struct abort_msg_s extern struct abort_msg_s *__abort_msg; libc_hidden_proto (__abort_msg) +# if IS_IN (rtld) +extern __typeof (unsetenv) unsetenv attribute_hidden; +extern __typeof (__strtoul_internal) __strtoul_internal attribute_hidden; +# endif + __END_DECLS #endif diff --git a/include/string.h b/include/string.h index c57671ea63..e145bfdb4c 100644 --- a/include/string.h +++ b/include/string.h @@ -46,6 +46,9 @@ extern int __ffs (int __i) __attribute__ ((const)); extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen); #endif +/* Get _STRING_ARCH_unaligned. */ +#include <string_private.h> + /* Now the real definitions. We do this here since some of the functions above are defined as macros in the headers. */ #include <string/string.h> @@ -118,6 +121,26 @@ libc_hidden_builtin_proto (strspn) libc_hidden_builtin_proto (strstr) libc_hidden_builtin_proto (ffs) +#if IS_IN (rtld) +extern __typeof (__stpcpy) __stpcpy attribute_hidden; +extern __typeof (__strdup) __strdup attribute_hidden; +extern __typeof (__strerror_r) __strerror_r attribute_hidden; +extern __typeof (__strsep_g) __strsep_g attribute_hidden; + +extern __typeof (memchr) memchr attribute_hidden; +extern __typeof (memcmp) memcmp attribute_hidden; +extern __typeof (memcpy) memcpy attribute_hidden; +extern __typeof (memmove) memmove attribute_hidden; +extern __typeof (memset) memset attribute_hidden; +extern __typeof (rawmemchr) rawmemchr attribute_hidden; +extern __typeof (stpcpy) stpcpy attribute_hidden; +extern __typeof (strchr) strchr attribute_hidden; +extern __typeof (strcmp) strcmp attribute_hidden; +extern __typeof (strlen) strlen attribute_hidden; +extern __typeof (strnlen) strnlen attribute_hidden; +extern __typeof (strsep) strsep attribute_hidden; +#endif + #if (!IS_IN (libc) || !defined SHARED) \ && !defined NO_MEMPCPY_STPCPY_REDIRECT /* Redirect calls to __builtin_mempcpy and __builtin_stpcpy to call diff --git a/include/sys/mman.h b/include/sys/mman.h index fd125ecb9c..7026f69f42 100644 --- a/include/sys/mman.h +++ b/include/sys/mman.h @@ -16,6 +16,10 @@ libc_hidden_proto (__madvise) /* This one is Linux specific. */ extern void *__mremap (void *__addr, size_t __old_len, size_t __new_len, int __flags, ...); + +# if IS_IN (rtld) +# include <dl-mman.h> +# endif #endif #endif diff --git a/include/sys/socket.h b/include/sys/socket.h index 2f4bfd3a93..a00ab3cf93 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -154,13 +154,5 @@ libc_hidden_proto (__libc_sa_len) # define SA_LEN(_x) __libc_sa_len((_x)->sa_family) #endif -#ifdef SOCK_CLOEXEC -extern int __have_sock_cloexec attribute_hidden; -/* At lot of other functionality became available at the same time as - SOCK_CLOEXEC. Avoid defining separate variables for all of them - unless it is really necessary. */ -# define __have_paccept __have_sock_cloexec -#endif - #endif #endif diff --git a/include/sys/stat.h b/include/sys/stat.h index 873562a99d..4f31c00eca 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -35,6 +35,9 @@ libc_hidden_proto (__xmknodat) libc_hidden_proto (__fxstatat) libc_hidden_proto (__fxstatat64) +# if IS_IN (rtld) +extern __typeof (__fxstatat64) __fxstatat64 attribute_hidden; +# endif /* The `stat', `fstat', `lstat' functions have to be handled special since even while not compiling the library with optimization calls to these diff --git a/include/sys/time.h b/include/sys/time.h index ffaad5dae4..41bf458141 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -1,5 +1,5 @@ /* Time function internal interfaces. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 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 diff --git a/include/sys/utsname.h b/include/sys/utsname.h index 66a5289638..14f4247dd4 100644 --- a/include/sys/utsname.h +++ b/include/sys/utsname.h @@ -6,5 +6,9 @@ extern int __uname (struct utsname *__name); libc_hidden_proto (uname) libc_hidden_proto (__uname) + +# if IS_IN (rtld) +extern __typeof (__uname) __uname attribute_hidden; +# endif #endif #endif diff --git a/include/unistd.h b/include/unistd.h index fbba3938ea..5152f64f91 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -158,7 +158,7 @@ rtld_hidden_proto (__libc_enable_secure) /* Various internal function. */ -extern void __libc_check_standard_fds (void); +extern void __libc_check_standard_fds (void) attribute_hidden; /* Internal name for fork function. */ @@ -170,13 +170,16 @@ extern int __libc_pause (void); /* Not cancelable variant. */ extern int __pause_nocancel (void) attribute_hidden; -extern int __have_sock_cloexec attribute_hidden; extern int __have_pipe2 attribute_hidden; extern int __have_dup3 attribute_hidden; extern int __getlogin_r_loginuid (char *name, size_t namesize) attribute_hidden; +# if IS_IN (rtld) +# include <dl-unistd.h> +# endif + __END_DECLS # endif diff --git a/include/values.h b/include/values.h index a002960732..5ae2ead1d7 100644 --- a/include/values.h +++ b/include/values.h @@ -1,5 +1,5 @@ /* Old compatibility names for <limits.h> and <float.h> constants. - Copyright (C) 1995-2015 Free Software Foundation, Inc. + Copyright (C) 1995-2016 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 diff --git a/include/wchar.h b/include/wchar.h index 67d0248f00..0f33d094ed 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -52,6 +52,9 @@ extern unsigned long long int __wcstoull_internal (const wchar_t * __restrict __endptr, int __base, int __group) __THROW; +extern unsigned long long int ____wcstoull_l_internal (const wchar_t *, + wchar_t **, int, int, + __locale_t); libc_hidden_proto (__wcstof_internal) libc_hidden_proto (__wcstod_internal) libc_hidden_proto (__wcstold_internal) |