diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
105 files changed, 1204 insertions, 935 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile index c089545e9b..50f4fb1183 100644 --- a/sysdeps/unix/sysv/linux/alpha/Makefile +++ b/sysdeps/unix/sysv/linux/alpha/Makefile @@ -1,7 +1,3 @@ -ifeq ($(subdir),posix) -sysdep_routines += oldglob -endif - ifeq ($(subdir),stdlib) gen-as-const-headers += ucontext-offsets.sym endif @@ -10,16 +6,13 @@ ifeq ($(subdir),misc) sysdep_headers += alpha/ptrace.h alpha/regdef.h sys/io.h sysdep_routines += ieee_get_fp_control ieee_set_fp_control \ - ioperm llseek + ioperm # Support old timeval32 entry points -sysdep_routines += osf_select osf_gettimeofday osf_settimeofday \ +sysdep_routines += osf_gettimeofday osf_settimeofday \ osf_getitimer osf_setitimer osf_utimes \ osf_getrusage osf_wait4 -# Support old ipc control -sysdep_routines += oldmsgctl oldsemctl oldshmctl - CFLAGS-ioperm.c = -Wa,-mev6 endif @@ -39,5 +32,11 @@ endif # math ifeq ($(subdir),nptl) # pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction -libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction +libpthread-routines += sysdep sigprocmask rt_sigaction +libpthread-shared-only-routines += sysdep sigprocmask rt_sigaction +endif + +ifeq ($(subdir),conform) +# For bug 21260. +conformtest-xfail-conds += alpha-linux endif diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions index 29b82f999b..3b7971c2a3 100644 --- a/sysdeps/unix/sysv/linux/alpha/Versions +++ b/sysdeps/unix/sysv/linux/alpha/Versions @@ -85,6 +85,9 @@ libc { #errlist-compat 140 _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } + GLIBC_2.27 { + getrlimit; setrlimit; getrlimit64; setrlimit64; + } GLIBC_PRIVATE { __libc_alpha_cache_shape; } diff --git a/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S b/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S index 66014c6a25..de5496175b 100644 --- a/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S +++ b/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2016 Free Software Foundation, Inc. +/* Copyright (C) 1992-2018 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/sysdeps/unix/sysv/linux/alpha/adjtime.c b/sysdeps/unix/sysv/linux/alpha/adjtime.c index e3ecdc62b7..fe534d301c 100644 --- a/sysdeps/unix/sysv/linux/alpha/adjtime.c +++ b/sysdeps/unix/sysv/linux/alpha/adjtime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 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/sysdeps/unix/sysv/linux/alpha/arch-fork.h b/sysdeps/unix/sysv/linux/alpha/arch-fork.h deleted file mode 100644 index 6c476c6362..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/arch-fork.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ARCH_FORK definition for Linux fork implementation. Alpha version. - Copyright (C) 2003-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 - 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/>. */ - -#include <sched.h> -#include <signal.h> -#include <sysdep.h> -#include <tls.h> - - -#define ARCH_FORK() \ - INLINE_SYSCALL (clone, 5, \ - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \ - NULL, NULL, &THREAD_SELF->tid, NULL) diff --git a/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/sysdeps/unix/sysv/linux/alpha/bits/dirent.h index 98d297e4a7..9dbcdaf60e 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/dirent.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/bits/epoll.h b/sysdeps/unix/sysv/linux/alpha/bits/epoll.h index 2afa414b61..026ccb06fd 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/epoll.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2016 Free Software Foundation, Inc. +/* Copyright (C) 2002-2018 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/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/sysdeps/unix/sysv/linux/alpha/bits/errno.h index 4e332d760e..c35b4ddb1f 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/errno.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. Linux/Alpha specific version. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2018 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 @@ -16,23 +16,29 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ -#ifdef _ERRNO_H +#ifndef _BITS_ERRNO_H +#define _BITS_ERRNO_H 1 + +#if !defined _ERRNO_H +# error "Never include <bits/errno.h> directly; use <errno.h> instead." +#endif -# undef EDOM -# undef EILSEQ -# undef ERANGE # include <linux/errno.h> -/* Linux has no ENOTSUP error code. */ -# define ENOTSUP EOPNOTSUPP +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif # ifndef ECANCELED -# define ECANCELED 131 +# define ECANCELED 131 # endif -/* Support for error codes to support robust mutexes was added later, too. */ # ifndef EOWNERDEAD # define EOWNERDEAD 136 +# endif + +# ifndef ENOTRECOVERABLE # define ENOTRECOVERABLE 137 # endif @@ -44,22 +50,4 @@ # define EHWPOISON 139 # endif -# ifndef __ASSEMBLER__ -/* Function to get address of global `errno' variable. */ -extern int *__errno_location (void) __THROW __attribute__ ((__const__)); - -# if !defined _LIBC || defined _LIBC_REENTRANT -/* When using threads, errno is a per-thread value. */ -# define errno (*__errno_location ()) -# endif -# endif /* !__ASSEMBLER__ */ -#endif /* _ERRNO_H */ - -#if !defined _ERRNO_H && defined __need_Emath -/* This is ugly but the kernel header is not clean enough. We must - define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is - defined. */ -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 116 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif /* !_ERRNO_H && __need_Emath */ +#endif /* bits/errno.h. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h b/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h index 0f5ddfd96d..09ba5c50e3 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2018 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/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h index 686a9c1abf..99c6053b86 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2016 Free Software Foundation, Inc. + Copyright (C) 1995-2018 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/sysdeps/unix/sysv/linux/alpha/bits/inotify.h b/sysdeps/unix/sysv/linux/alpha/bits/inotify.h index 8a3debb957..92ca6f5c3c 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/inotify.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2016 Free Software Foundation, Inc. +/* Copyright (C) 2005-2018 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/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h b/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h index 7d89acde13..876f56dee9 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h index 41e458e683..67a3d8dd6f 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2018 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/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h index 0e7af25c49..7805fa510e 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h @@ -1,5 +1,5 @@ /* Minimum guaranteed maximum values for system limits. Linux/Alpha version. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2018 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/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h index 3b9e9a9049..3abfd8449f 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/mman.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/Alpha version. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2018 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 @@ -36,6 +36,8 @@ # define MAP_NONBLOCK 0x40000 /* Do not block on IO. */ # define MAP_STACK 0x80000 /* Allocation is for a stack. */ # define MAP_HUGETLB 0x100000 /* Create huge page mapping. */ +# define MAP_FIXED_NOREPLACE 0x200000 /* MAP_FIXED but do not unmap + underlying mapping. */ #endif /* Flags for `mlockall'. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/msq.h b/sysdeps/unix/sysv/linux/alpha/bits/msq.h index 287c0e3bfb..d15802d109 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/msq.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/msq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2018 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,6 +57,7 @@ struct msqid_ds /* ipcs ctl commands */ # define MSG_STAT 11 # define MSG_INFO 12 +# define MSG_STAT_ANY 13 /* buffer for msgctl calls IPC_INFO, MSG_INFO */ struct msginfo diff --git a/sysdeps/unix/sysv/linux/alpha/bits/netdb.h b/sysdeps/unix/sysv/linux/alpha/bits/netdb.h index 086cb64aeb..a78e805d00 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/netdb.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h deleted file mode 100644 index 1a1779b5d4..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h +++ /dev/null @@ -1,175 +0,0 @@ -/* Machine-specific pthread type layouts. Alpha version. - Copyright (C) 2003-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 - 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 _BITS_PTHREADTYPES_H -#define _BITS_PTHREADTYPES_H 1 - -#define __SIZEOF_PTHREAD_ATTR_T 56 -#define __SIZEOF_PTHREAD_MUTEX_T 40 -#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 -#define __SIZEOF_PTHREAD_COND_T 48 -#define __SIZEOF_PTHREAD_CONDATTR_T 4 -#define __SIZEOF_PTHREAD_RWLOCK_T 56 -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -#define __SIZEOF_PTHREAD_BARRIER_T 32 -#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 - - -/* Thread identifiers. The structure of the attribute type is - deliberately not exposed. */ -typedef unsigned long int pthread_t; - - -union pthread_attr_t -{ - char __size[__SIZEOF_PTHREAD_ATTR_T]; - long int __align; -}; -#ifndef __have_pthread_attr_t -typedef union pthread_attr_t pthread_attr_t; -# define __have_pthread_attr_t 1 -#endif - -typedef struct __pthread_internal_list -{ - struct __pthread_internal_list *__prev; - struct __pthread_internal_list *__next; -} __pthread_list_t; - - -/* Data structures for mutex handling. The structure of the attribute - type is deliberately not exposed. */ -typedef union -{ - struct __pthread_mutex_s - { - int __lock; - unsigned int __count; - int __owner; - unsigned int __nusers; - /* KIND must stay at this position in the structure to maintain - binary compatibility. */ - int __kind; - int __spins; - __pthread_list_t __list; -#define __PTHREAD_MUTEX_HAVE_PREV 1 - } __data; - char __size[__SIZEOF_PTHREAD_MUTEX_T]; - long int __align; -} pthread_mutex_t; - -/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */ -#define __PTHREAD_SPINS 0 - -typedef union -{ - char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; - int __align; -} pthread_mutexattr_t; - - -/* Data structure for conditional variable handling. The structure of - the attribute type is deliberately not exposed. */ -typedef union -{ - struct - { - int __lock; - unsigned int __futex; - __extension__ unsigned long long int __total_seq; - __extension__ unsigned long long int __wakeup_seq; - __extension__ unsigned long long int __woken_seq; - void *__mutex; - unsigned int __nwaiters; - unsigned int __broadcast_seq; - } __data; - char __size[__SIZEOF_PTHREAD_COND_T]; - __extension__ long long int __align; -} pthread_cond_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_CONDATTR_T]; - int __align; -} pthread_condattr_t; - - -/* Keys for thread-specific data */ -typedef unsigned int pthread_key_t; - - -/* Once-only execution */ -typedef int pthread_once_t; - - -#if defined __USE_UNIX98 || defined __USE_XOPEN2K -/* Data structure for read-write lock variable handling. The - structure of the attribute type is deliberately not exposed. */ -typedef union -{ - struct - { - int __lock; - unsigned int __nr_readers; - unsigned int __readers_wakeup; - unsigned int __writer_wakeup; - unsigned int __nr_readers_queued; - unsigned int __nr_writers_queued; - int __writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; - } __data; - char __size[__SIZEOF_PTHREAD_RWLOCK_T]; - long int __align; -} pthread_rwlock_t; - -#define __PTHREAD_RWLOCK_ELISION_EXTRA 0 - -typedef union -{ - char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; - long int __align; -} pthread_rwlockattr_t; -#endif - - -#ifdef __USE_XOPEN2K -/* POSIX spinlock data type. */ -typedef volatile int pthread_spinlock_t; - -/* POSIX barriers data type. The structure of the type is - deliberately not exposed. */ -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIER_T]; - long int __align; -} pthread_barrier_t; - -typedef union -{ - char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; - int __align; -} pthread_barrierattr_t; -#endif - - -#endif /* bits/pthreadtypes.h */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/resource.h b/sysdeps/unix/sysv/linux/alpha/bits/resource.h index fbc8f5a026..dddcb0f049 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/resource.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Alpha/Linux version. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2018 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 @@ -112,13 +112,13 @@ enum __rlimit_resource /* Value to indicate that there is no limit. */ #ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# define RLIM_INFINITY ((__rlim_t) -1) #else -# define RLIM_INFINITY 0x7fffffffffffffffLL +# define RLIM_INFINITY 0xffffffffffffffffuLL #endif #ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0x7fffffffffffffffLL +# define RLIM64_INFINITY 0xffffffffffffffffuLL #endif /* We can represent all limits. */ @@ -175,51 +175,8 @@ enum __rusage_who #endif }; -#define __need_timeval -#include <bits/time.h> /* For `struct timeval'. */ - -/* Structure which says how much of each resource has been used. */ -struct rusage - { - /* Total amount of user time used. */ - struct timeval ru_utime; - /* Total amount of system time used. */ - struct timeval ru_stime; - /* Maximum resident set size (in kilobytes). */ - long int ru_maxrss; - /* Amount of sharing of text segment memory - with other processes (kilobyte-seconds). */ - long int ru_ixrss; - /* Amount of data segment memory used (kilobyte-seconds). */ - long int ru_idrss; - /* Amount of stack memory used (kilobyte-seconds). */ - long int ru_isrss; - /* Number of soft page faults (i.e. those serviced by reclaiming - a page from the list of pages awaiting reallocation. */ - long int ru_minflt; - /* Number of hard page faults (i.e. those that required I/O). */ - long int ru_majflt; - /* Number of times a process was swapped out of physical memory. */ - long int ru_nswap; - /* Number of input operations via the file system. Note: This - and `ru_oublock' do not include operations with the cache. */ - long int ru_inblock; - /* Number of output operations via the file system. */ - long int ru_oublock; - /* Number of IPC messages sent. */ - long int ru_msgsnd; - /* Number of IPC messages received. */ - long int ru_msgrcv; - /* Number of signals delivered. */ - long int ru_nsignals; - /* Number of voluntary context switches, i.e. because the process - gave up the process before it had to (usually to wait for some - resource to be available). */ - long int ru_nvcsw; - /* Number of involuntary context switches, i.e. a higher priority process - became runnable or the current process used up its time slice. */ - long int ru_nivcsw; - }; +#include <bits/types/struct_timeval.h> +#include <bits/types/struct_rusage.h> /* Priority limits. */ #define PRIO_MIN -20 /* Minimum priority a process can have. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sem.h b/sysdeps/unix/sysv/linux/alpha/bits/sem.h index ce5304af99..d218cf4f92 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sem.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2018 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 @@ -66,6 +66,7 @@ struct semid_ds /* ipcs ctl cmds */ # define SEM_STAT 18 # define SEM_INFO 19 +# define SEM_STAT_ANY 20 struct seminfo { diff --git a/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h b/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h index b0f5b42e9e..6d8bac3137 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h @@ -1,5 +1,5 @@ /* Machine-specific POSIX semaphore type layouts. Alpha version. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2018 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/sysdeps/unix/sysv/linux/alpha/bits/shm.h b/sysdeps/unix/sysv/linux/alpha/bits/shm.h index dcda365653..16cd984e52 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/shm.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2018 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 @@ -65,6 +65,7 @@ struct shmid_ds /* ipcs ctl commands */ # define SHM_STAT 13 # define SHM_INFO 14 +# define SHM_STAT_ANY 15 /* shm_mode upper byte flags */ # define SHM_DEST 01000 /* segment will be destroyed on last detach */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h index 1d41f51931..2700a4ac12 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/Alpha sigaction. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2018 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 @@ -16,6 +16,9 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + #ifndef _SIGNAL_H # error "Never include <bits/sigaction.h> directly; use <signal.h> instead." #endif @@ -24,7 +27,7 @@ struct sigaction { /* Signal handler. */ -#ifdef __USE_POSIX199309 +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED union { /* Used if SA_SIGINFO is not set. */ @@ -51,10 +54,10 @@ struct sigaction #define SA_NOCLDWAIT 0x00000020 /* Don't create zombie on child death. */ #define SA_SIGINFO 0x00000040 /* Invoke signal-catching function with three arguments instead of one. */ -#if defined __USE_UNIX98 || defined __USE_MISC +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC # define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ #endif -#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 # define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ # define SA_NODEFER 0x00000008 /* Don't automatically block the signal when its handler is being executed. */ @@ -73,3 +76,5 @@ struct sigaction #define SIG_BLOCK 1 /* Block signals. */ #define SIG_UNBLOCK 2 /* Unblock signals. */ #define SIG_SETMASK 3 /* Set the set of blocked signals. */ + +#endif diff --git a/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h b/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h index 580ed882fb..b59588b8ee 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2018 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/sysdeps/unix/sysv/linux/alpha/bits/signum.h b/sysdeps/unix/sysv/linux/alpha/bits/signum.h index ee60da0914..9df647816e 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/signum.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/signum.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/Alpha version. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2018 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 @@ -16,66 +16,25 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ -#ifdef _SIGNAL_H +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ +#ifndef _SIGNAL_H +#error "Never include <bits/signum.h> directly; use <signal.h> instead." #endif -/* - * Linux/AXP has different signal numbers that Linux/i386: I'm trying - * to make it OSF/1 binary compatible, at least for normal binaries. - */ -#define SIGHUP 1 -#define SIGINT 2 -#define SIGQUIT 3 -#define SIGILL 4 -#define SIGTRAP 5 -#define SIGABRT 6 -#define SIGEMT 7 -#define SIGFPE 8 -#define SIGKILL 9 -#define SIGBUS 10 -#define SIGSEGV 11 -#define SIGSYS 12 -#define SIGPIPE 13 -#define SIGALRM 14 -#define SIGTERM 15 -#define SIGURG 16 -#define SIGSTOP 17 -#define SIGTSTP 18 -#define SIGCONT 19 -#define SIGCHLD 20 -#define SIGCLD SIGCHLD -#define SIGTTIN 21 -#define SIGTTOU 22 -#define SIGIO 23 -#define SIGXCPU 24 -#define SIGXFSZ 25 -#define SIGVTALRM 26 -#define SIGPROF 27 -#define SIGWINCH 28 -#define SIGINFO 29 -#define SIGUSR1 30 -#define SIGUSR2 31 - -#define SIGPOLL SIGIO -#define SIGPWR SIGINFO -#define SIGIOT SIGABRT +#include <bits/signum-generic.h> -#define _NSIG 65 /* Biggest signal number + 1. */ +/* Adjustments and additions to the signal number constants for + Linux/Alpha. Signal values on this platform were chosen for OSF/1 + binary compatibility, and are therefore almost identical to the + BSD-derived defaults. */ -#define SIGRTMIN (__libc_current_sigrtmin ()) -#define SIGRTMAX (__libc_current_sigrtmax ()) +#define SIGEMT 7 /* Emulator trap (4.2 BSD). */ +#define SIGINFO 29 /* Information request (BSD). */ +#define SIGPWR SIGINFO /* Power failure imminent (System V). */ -/* These are the hard limits of the kernel. These values should not be - used directly at user level. */ -#define __SIGRTMIN 32 -#define __SIGRTMAX (_NSIG - 1) +#undef __SIGRTMAX +#define __SIGRTMAX 64 #endif /* <signal.h> included. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h index 6ad3363ddf..6adf3e4a77 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2016 Free Software Foundation, Inc. + Copyright (C) 1998-2018 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 @@ -16,39 +16,17 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _SIGNAL_H +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H # error "Never include this file directly. Use <signal.h> instead" #endif - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - __ptr_t ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - __ptr_t ss_sp; - int ss_flags; - size_t ss_size; - } stack_t; +#endif /* bits/sigstack.h */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h b/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h index 3d76fe3ae9..c27c8df6a8 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/Alpha. - Copyright (C) 1991-2016 Free Software Foundation, Inc. + Copyright (C) 1991-2018 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/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/sysdeps/unix/sysv/linux/alpha/bits/stat.h index d70df127be..bd19bb4a8a 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/stat.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/bits/statfs.h b/sysdeps/unix/sysv/linux/alpha/bits/statfs.h index b356a2e1c0..afb4688363 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/statfs.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2018 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/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h index d9b5be9f44..24423e8fc9 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h @@ -1,5 +1,5 @@ /* termios type and macro definitions. Linux version. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2018 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 @@ -70,13 +70,10 @@ struct termios #define ICRNL 0000400 #define IXON 0001000 #define IXOFF 0002000 -#ifdef __USE_MISC - /* POSIX.1 doesn't want these... */ -# define IXANY 0004000 -# define IUCLC 0010000 -# define IMAXBEL 0020000 -# define IUTF8 0040000 -#endif +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 /* c_oflag bits */ #define OPOST 0000001 @@ -93,8 +90,10 @@ struct termios # define NLDLY 00001400 # define NL0 00000000 # define NL1 00000400 -# define NL2 00001000 -# define NL3 00001400 +# if defined __USE_MISC +# define NL2 00001000 +# define NL3 00001400 +# endif # define TABDLY 00006000 # define TAB0 00000000 # define TAB1 00002000 @@ -118,7 +117,7 @@ struct termios #define VT1 00200000 #ifdef __USE_MISC -# define XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */ +# define XTABS TAB3 #endif /* c_cflag bit meaning */ @@ -185,7 +184,7 @@ struct termios /* c_lflag bits */ #define ISIG 0x00000080 #define ICANON 0x00000100 -#if defined __USE_MISC || defined __USE_XOPEN +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) # define XCASE 0x00004000 #endif #define ECHO 0x00000008 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h b/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h index 62a66de66e..8f81eabe4c 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2018 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/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h index 3cfd887c39..d9a0b0467c 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-2018 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 @@ -66,6 +66,9 @@ for C type-checking purposes. */ #define __OFF_T_MATCHES_OFF64_T 1 +/* And for __rlim_t and __rlim64_t. */ +#define __RLIM_T_MATCHES_RLIM64_T 1 + /* Number of descriptors that can fit in an `fd_set'. */ #define __FD_SETSIZE 1024 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h b/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h index 51fc433d6e..91574cb296 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2018 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 @@ -16,14 +16,4 @@ <http://www.gnu.org/licenses/>. */ #define __WORDSIZE 64 - -#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL - -/* Signal that we didn't used to have a `long double'. The changes all - the `long double' function variants to be redirects to the double - functions. */ -# define __LONG_DOUBLE_MATH_OPTIONAL 1 -# ifndef __LONG_DOUBLE_128__ -# define __NO_LONG_DOUBLE_MATH 1 -# endif -#endif +#define __WORDSIZE_TIME64_COMPAT32 0 diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S index 1c32d38239..2c4e138240 100644 --- a/sysdeps/unix/sysv/linux/alpha/brk.S +++ b/sysdeps/unix/sysv/linux/alpha/brk.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. +/* Copyright (C) 1993-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe <brendan@zen.org>, 1993. diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S index ec9c06d9af..810a2e5e78 100644 --- a/sysdeps/unix/sysv/linux/alpha/clone.S +++ b/sysdeps/unix/sysv/linux/alpha/clone.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson <rth@tamu.edu>, 1996. @@ -23,9 +23,6 @@ #define _ERRNO_H 1 #include <bits/errno.h> -#define CLONE_VM 0x00000100 -#define CLONE_THREAD 0x00010000 - /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, pid_t *ptid, void *tls, pid_t *ctid); @@ -43,9 +40,11 @@ cfi_startproc __clone: #ifdef PROF + .set noat ldgp gp,0(pv) lda AT, _mcount jsr AT, (AT), _mcount + .set at #endif /* Sanity check arguments. */ @@ -92,13 +91,6 @@ thread_start: cfi_def_cfa_register(fp) cfi_undefined(ra) - /* Check and see if we need to reset the PID. */ - ldq t0, 16(sp) - lda t1, CLONE_THREAD - and t0, t1, t2 - beq t2, 2f -1: - /* Load up the arguments. */ ldq pv, 0(sp) ldq a0, 8(sp) @@ -108,33 +100,17 @@ thread_start: jsr ra, (pv) ldgp gp, 0(ra) - /* Call _exit rather than doing it inline for breakpoint purposes. */ - mov v0, a0 -#ifdef PIC - bsr ra, HIDDEN_JUMPTARGET(_exit) !samegp -#else - jsr ra, HIDDEN_JUMPTARGET(_exit) -#endif + mov v0, a0 + ldiq v0, __NR_exit + call_pal PAL_callsys /* Die horribly. */ .align 4 halt .align 4 -2: - rduniq - lda t1, CLONE_VM - mov v0, s0 - lda v0, -1 - and t0, t1, t2 - bne t2, 3f - lda v0, __NR_getxpid - callsys -3: - stl v0, PID_OFFSET(s0) - stl v0, TID_OFFSET(s0) - br 1b cfi_endproc .end thread_start +libc_hidden_def (__clone) weak_alias (__clone, clone) diff --git a/sysdeps/unix/sysv/linux/alpha/creat.c b/sysdeps/unix/sysv/linux/alpha/creat.c deleted file mode 100644 index 7a5afed58c..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/creat.c +++ /dev/null @@ -1,8 +0,0 @@ -/* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list defines creat and - creat64 for most linux targets, but on alpha creat is not a syscall. - If we do nothing, we'll wind up with creat64 being undefined, because - the syscalls.list assumes the creat->creat64 alias was created. We - could have overridden that with a create64.c, but we might as well do - the right thing and set up creat64 as an alias. */ -#include <io/creat.c> -weak_alias(creat, creat64) diff --git a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h index 8619266aac..979ea2246e 100644 --- a/sysdeps/unix/sysv/linux/alpha/dl-auxv.h +++ b/sysdeps/unix/sysv/linux/alpha/dl-auxv.h @@ -1,5 +1,5 @@ /* Auxiliary vector processing for Linux/Alpha. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2018 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/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S b/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S index 59cc15afb2..a6d854b6f8 100644 --- a/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S +++ b/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/fxstat.c b/sysdeps/unix/sysv/linux/alpha/fxstat.c index 91c9bb0c98..8a7a13ad69 100644 --- a/sysdeps/unix/sysv/linux/alpha/fxstat.c +++ b/sysdeps/unix/sysv/linux/alpha/fxstat.c @@ -1,5 +1,5 @@ /* fxstat using old-style Unix stat system call. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/fxstatat.c b/sysdeps/unix/sysv/linux/alpha/fxstatat.c index 2f75273b1f..69ddbcd279 100644 --- a/sysdeps/unix/sysv/linux/alpha/fxstatat.c +++ b/sysdeps/unix/sysv/linux/alpha/fxstatat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2016 Free Software Foundation, Inc. +/* Copyright (C) 2005-2018 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/sysdeps/unix/sysv/linux/alpha/getcontext.S b/sysdeps/unix/sysv/linux/alpha/getcontext.S index 3422871c59..84c6b00549 100644 --- a/sysdeps/unix/sysv/linux/alpha/getcontext.S +++ b/sysdeps/unix/sysv/linux/alpha/getcontext.S @@ -1,5 +1,5 @@ /* Save current context. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/getdents.c b/sysdeps/unix/sysv/linux/alpha/getdents.c index dfecfef924..64ccf86c71 100644 --- a/sysdeps/unix/sysv/linux/alpha/getdents.c +++ b/sysdeps/unix/sysv/linux/alpha/getdents.c @@ -1,3 +1,11 @@ +/* Although Alpha defines _DIRENT_MATCHES_DIRENT64, 'struct dirent' and + 'struct dirent64' have slight different internal layout with d_ino + being a __ino_t on non-LFS version with an extra __pad field which should + be zeroed. */ + +#include <dirent.h> +#undef _DIRENT_MATCHES_DIRENT64 +#define _DIRENT_MATCHES_DIRENT64 0 #define DIRENT_SET_DP_INO(dp, value) \ do { (dp)->d_ino = (value); (dp)->__pad = 0; } while (0) #include <sysdeps/unix/sysv/linux/getdents.c> diff --git a/sysdeps/unix/sysv/linux/alpha/getdents64.c b/sysdeps/unix/sysv/linux/alpha/getdents64.c index 50f1368b74..940897de40 100644 --- a/sysdeps/unix/sysv/linux/alpha/getdents64.c +++ b/sysdeps/unix/sysv/linux/alpha/getdents64.c @@ -1 +1,10 @@ +/* Although Alpha defines _DIRENT_MATCHES_DIRENT64, 'struct dirent' and + 'struct dirent64' have slight different internal layout with d_ino + being a __ino_t on non-LFS version with an extra __pad field which should + be zeroed. */ + +#include <dirent.h> +/* It suppresses the __getdents64 to __getdents alias. */ +#undef _DIRENT_MATCHES_DIRENT64 +#define _DIRENT_MATCHES_DIRENT64 0 #include <sysdeps/unix/sysv/linux/getdents64.c> diff --git a/sysdeps/unix/sysv/linux/alpha/gethostname.c b/sysdeps/unix/sysv/linux/alpha/gethostname.c index 1d5fdf8fad..6d9273c096 100644 --- a/sysdeps/unix/sysv/linux/alpha/gethostname.c +++ b/sysdeps/unix/sysv/linux/alpha/gethostname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2001 diff --git a/sysdeps/unix/sysv/linux/alpha/getrlimit64.c b/sysdeps/unix/sysv/linux/alpha/getrlimit64.c new file mode 100644 index 0000000000..5502586462 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/getrlimit64.c @@ -0,0 +1,56 @@ +/* Copyright (C) 2018 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/>. */ + +#define USE_VERSIONED_RLIMIT +#include <sysdeps/unix/sysv/linux/getrlimit64.c> +versioned_symbol (libc, __getrlimit, getrlimit, GLIBC_2_27); +versioned_symbol (libc, __getrlimit64, getrlimit64, GLIBC_2_27); + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_27) +/* RLIM64_INFINITY was supposed to be a glibc convention rather than + anything seen by the kernel, but it ended being passed to the kernel + through the prlimit64 syscall. Given that a lot of binaries with + the wrong constant value are in the wild, provide a wrapper function + fixing the value after the syscall. */ +# define OLD_RLIM64_INFINITY 0x7fffffffffffffffULL + +int +attribute_compat_text_section +__old_getrlimit64 (enum __rlimit_resource resource, + struct rlimit64 *rlimits) +{ + struct rlimit64 krlimits; + + if (__getrlimit64 (resource, &krlimits) < 0) + return -1; + + if (krlimits.rlim_cur == RLIM64_INFINITY) + rlimits->rlim_cur = OLD_RLIM64_INFINITY; + else + rlimits->rlim_cur = krlimits.rlim_cur; + if (krlimits.rlim_max == RLIM64_INFINITY) + rlimits->rlim_max = OLD_RLIM64_INFINITY; + else + rlimits->rlim_max = krlimits.rlim_max; + + return 0; +} + +strong_alias (__old_getrlimit64, __old_getrlimit) +compat_symbol (libc, __old_getrlimit, getrlimit, GLIBC_2_0); +compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_1); +#endif diff --git a/sysdeps/unix/sysv/linux/alpha/getsysstats.c b/sysdeps/unix/sysv/linux/alpha/getsysstats.c index 011586a605..99b513c255 100644 --- a/sysdeps/unix/sysv/linux/alpha/getsysstats.c +++ b/sysdeps/unix/sysv/linux/alpha/getsysstats.c @@ -1,5 +1,5 @@ /* Determine various system internal values, Linux/Alpha version. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Schwab <schwab@suse.de> diff --git a/sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c b/sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c new file mode 100644 index 0000000000..a76471d4df --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/glob-lstat-compat.c @@ -0,0 +1,2 @@ +#define GLOB_LSTAT_VERSION GLIBC_2_1 +#include <sysdeps/unix/sysv/linux/glob-lstat-compat.c> diff --git a/sysdeps/unix/sysv/linux/alpha/glob.c b/sysdeps/unix/sysv/linux/alpha/globfree.c index c5dfb85468..79c56ee3c4 100644 --- a/sysdeps/unix/sysv/linux/alpha/glob.c +++ b/sysdeps/unix/sysv/linux/alpha/globfree.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Compat globfree. Linux/alpha version. + Copyright (C) 2017-2018 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 @@ -15,37 +16,22 @@ License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ -#define glob64 __no_glob64_decl #define globfree64 __no_globfree64_decl - #include <sys/types.h> #include <glob.h> #include <shlib-compat.h> -/* For Linux/Alpha we have to make the glob symbols versioned. */ -#define glob(pattern, flags, errfunc, pglob) \ - __new_glob (pattern, flags, errfunc, pglob) #define globfree(pglob) \ __new_globfree (pglob) -/* We need prototypes for these new names. */ -extern int __new_glob (const char *__pattern, int __flags, - int (*__errfunc) (const char *, int), - glob_t *__pglob); extern void __new_globfree (glob_t *__pglob); -#include <posix/glob.c> +#include <posix/globfree.c> -#undef glob -#undef globfree -#undef glob64 #undef globfree64 -versioned_symbol (libc, __new_glob, glob, GLIBC_2_1); versioned_symbol (libc, __new_globfree, globfree, GLIBC_2_1); -libc_hidden_ver (__new_glob, glob) libc_hidden_ver (__new_globfree, globfree) -weak_alias (__new_glob, glob64) weak_alias (__new_globfree, globfree64) libc_hidden_ver (__new_globfree, globfree64) diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S index edf74242b5..406ee6ad14 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. +/* Copyright (C) 1993-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger <davidm@azstarnet.com>, 1995. diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S index a6b131d18a..9673824a66 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. +/* Copyright (C) 1993-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger <davidm@azstarnet.com>, 1995. diff --git a/sysdeps/unix/sysv/linux/alpha/ioperm.c b/sysdeps/unix/sysv/linux/alpha/ioperm.c index e328a6e251..b41ce7662e 100644 --- a/sysdeps/unix/sysv/linux/alpha/ioperm.c +++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2016 Free Software Foundation, Inc. +/* Copyright (C) 1992-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger. diff --git a/sysdeps/unix/sysv/linux/alpha/ipc_priv.h b/sysdeps/unix/sysv/linux/alpha/ipc_priv.h index 67883be101..5b9f68de03 100644 --- a/sysdeps/unix/sysv/linux/alpha/ipc_priv.h +++ b/sysdeps/unix/sysv/linux/alpha/ipc_priv.h @@ -1 +1,32 @@ -#include <sysdeps/unix/sysv/linux/powerpc/ipc_priv.h> +/* Old SysV permission definition for Linux. Alpha version. + Copyright (C) 2016-2018 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/>. */ + +#include <sys/ipc.h> /* For __key_t */ + +#define __IPC_64 0x100 + +struct __old_ipc_perm +{ + __key_t __key; /* Key. */ + unsigned int uid; /* Owner's user ID. */ + unsigned int gid; /* Owner's group ID. */ + unsigned int cuid; /* Creator's user ID. */ + unsigned int cgid; /* Creator's group ID. */ + unsigned int mode; /* Read/write permission. */ + unsigned short int __seq; /* Sequence number. */ +}; diff --git a/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h new file mode 100644 index 0000000000..b595173e6f --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 272 +#define SIGJMP_BUF_SIZE 272 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 136 +#define SAVED_MASK_OFFSET 144 diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index 2cd61ecaa4..402d2573d7 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2010-2016 Free Software Foundation, Inc. + Copyright (C) 2010-2018 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 @@ -20,39 +20,36 @@ #ifndef _KERNEL_FEATURES_H #define _KERNEL_FEATURES_H 1 -/* Support for recvmmsg was added for alpha in 2.6.33. */ -#if __LINUX_KERNEL_VERSION >= 0x020621 -# define __ASSUME_RECVMMSG_SYSCALL 1 -#endif - -/* Support for accept4 and sendmmsg was added for alpha in 3.2. */ -#if __LINUX_KERNEL_VERSION >= 0x030200 -# define __ASSUME_ACCEPT4_SYSCALL 1 -# define __ASSUME_SENDMMSG_SYSCALL 1 -#endif - #include_next <kernel-features.h> #undef __ASSUME_ST_INO_64_BIT - -/* Support for fallocate was added for alpha after 2.6.33-rc1. */ -#if __LINUX_KERNEL_VERSION < 0x020621 -# undef __ASSUME_FALLOCATE -#endif +#define __ASSUME_ST_INO_64_BIT 0 /* There never has been support for fstat64. */ #undef __ASSUME_STATFS64 #define __ASSUME_STATFS64 0 -/* Support for various syscalls was added for alpha in 2.6.33. */ -#if __LINUX_KERNEL_VERSION < 0x020621 -# undef __ASSUME_PREADV -# undef __ASSUME_PWRITEV -# undef __ASSUME_IN_NONBLOCK -# undef __ASSUME_PIPE2 -# undef __ASSUME_EVENTFD2 -# undef __ASSUME_SIGNALFD4 -# undef __ASSUME_DUP3 +/* Alpha defines SysV ipc shmat syscall with a different name. */ +#define __NR_shmat __NR_osf_shmat + +#define __ASSUME_RECV_SYSCALL 1 +#define __ASSUME_SEND_SYSCALL 1 + +/* Support for the renameat2 syscall was added in 3.17. */ +#if __LINUX_KERNEL_VERSION < 0x031100 +# undef __ASSUME_RENAMEAT2 +#endif + +/* Support for the execveat syscall was added in 4.2. */ +#if __LINUX_KERNEL_VERSION < 0x040200 +# undef __ASSUME_EXECVEAT +#endif + +/* Support for copy_file_range, statx was added in kernel 4.13. */ +#if __LINUX_KERNEL_VERSION < 0x040D00 +# undef __ASSUME_MLOCK2 +# undef __ASSUME_COPY_FILE_RANGE +# undef __ASSUME_STATX #endif #endif /* _KERNEL_FEATURES_H */ diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h b/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h index 4c35d969cf..25180ff9c9 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h @@ -1,15 +1,12 @@ -/* This is the sigaction struction from the Linux 2.1.20 kernel. */ +#ifndef _KERNEL_SIGACTION_H +# define _KERNEL_SIGACTION_H -struct old_kernel_sigaction { - __sighandler_t k_sa_handler; - unsigned long sa_mask; - unsigned int sa_flags; +/* This is the sigaction structure from the Linux 3.2 kernel. */ +struct kernel_sigaction +{ + __sighandler_t k_sa_handler; + unsigned int sa_flags; + sigset_t sa_mask; }; -/* This is the sigaction structure from the Linux 2.1.68 kernel. */ - -struct kernel_sigaction { - __sighandler_t k_sa_handler; - unsigned int sa_flags; - sigset_t sa_mask; -}; +#endif diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_stat.h b/sysdeps/unix/sysv/linux/alpha/kernel_stat.h index 6708411407..d637e099cf 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel_stat.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel_stat.h @@ -86,3 +86,4 @@ struct glibc21_stat }; #define XSTAT_IS_XSTAT64 1 +#define STATFS_IS_STATFS64 0 diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h index 518b555aaf..b72bd176ea 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2018 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/sysdeps/unix/sysv/linux/alpha/ld.abilist b/sysdeps/unix/sysv/linux/alpha/ld.abilist index 9faf6eb2c6..98b66edabf 100644 --- a/sysdeps/unix/sysv/linux/alpha/ld.abilist +++ b/sysdeps/unix/sysv/linux/alpha/ld.abilist @@ -1,14 +1,9 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 __libc_memalign F GLIBC_2.0 _r_debug D 0x28 GLIBC_2.0 calloc F GLIBC_2.0 free F GLIBC_2.0 malloc F GLIBC_2.0 realloc F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 __libc_stack_end D 0x8 GLIBC_2.1 _dl_mcount F -GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 __tls_get_addr F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __stack_chk_guard D 0x8 diff --git a/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist index 4a56bb68a3..54395f3c8d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist @@ -1,2 +1 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/alpha/libanl.abilist b/sysdeps/unix/sysv/linux/alpha/libanl.abilist index edabfb436e..d9a5ed015d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libanl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libanl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_suspend F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 0fa4ee9bea..e22b91655d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1,9 +1,7 @@ -GCC_3.0 GCC_3.0 A GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 _IO_adjust_column F GLIBC_2.0 _IO_default_doallocate F GLIBC_2.0 _IO_default_finish F @@ -1339,7 +1337,6 @@ GLIBC_2.0 xdrstdio_create F GLIBC_2.0 xencrypt F GLIBC_2.0 xprt_register F GLIBC_2.0 xprt_unregister F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 _IO_2_1_stderr_ D 0xe0 GLIBC_2.1 _IO_2_1_stdin_ D 0xe0 GLIBC_2.1 _IO_2_1_stdout_ D 0xe0 @@ -1656,7 +1653,6 @@ GLIBC_2.1 xdr_uint16_t F GLIBC_2.1 xdr_uint32_t F GLIBC_2.1 xdr_uint8_t F GLIBC_2.1 xdr_unixcred F -GLIBC_2.1.1 GLIBC_2.1.1 A GLIBC_2.1.1 _Exit F GLIBC_2.1.1 __mempcpy_small F GLIBC_2.1.1 __stpcpy_small F @@ -1686,7 +1682,6 @@ GLIBC_2.1.1 xdr_longlong_t F GLIBC_2.1.1 xdr_u_hyper F GLIBC_2.1.1 xdr_u_longlong_t F GLIBC_2.1.1 xdr_uint64_t F -GLIBC_2.1.2 GLIBC_2.1.2 A GLIBC_2.1.2 __vfork F GLIBC_2.1.2 getaliasbyname_r F GLIBC_2.1.2 getaliasent_r F @@ -1714,13 +1709,10 @@ GLIBC_2.1.2 getservbyport_r F GLIBC_2.1.2 getservent_r F GLIBC_2.1.2 getspent_r F GLIBC_2.1.2 getspnam_r F -GLIBC_2.1.3 GLIBC_2.1.3 A GLIBC_2.1.3 __cxa_atexit F GLIBC_2.1.3 __cxa_finalize F GLIBC_2.1.3 __sigsuspend F -GLIBC_2.1.4 GLIBC_2.1.4 A GLIBC_2.1.4 pciconfig_iobase F -GLIBC_2.10 GLIBC_2.10 A GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -1747,33 +1739,28 @@ GLIBC_2.10 register_printf_type F GLIBC_2.10 setsgent F GLIBC_2.10 sgetsgent F GLIBC_2.10 sgetsgent_r F -GLIBC_2.11 GLIBC_2.11 A GLIBC_2.11 __longjmp_chk F GLIBC_2.11 execvpe F GLIBC_2.11 mkostemps F GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F -GLIBC_2.12 GLIBC_2.12 A GLIBC_2.12 _sys_errlist D 0x458 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x458 GLIBC_2.12 sys_nerr D 0x4 -GLIBC_2.13 GLIBC_2.13 A GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F GLIBC_2.13 prlimit F GLIBC_2.13 prlimit64 F -GLIBC_2.14 GLIBC_2.14 A GLIBC_2.14 clock_adjtime F GLIBC_2.14 name_to_handle_at F GLIBC_2.14 open_by_handle_at F GLIBC_2.14 sendmmsg F GLIBC_2.14 setns F GLIBC_2.14 syncfs F -GLIBC_2.15 GLIBC_2.15 A GLIBC_2.15 __fdelt_chk F GLIBC_2.15 __fdelt_warn F GLIBC_2.15 posix_spawn F @@ -1782,7 +1769,6 @@ GLIBC_2.15 process_vm_readv F GLIBC_2.15 process_vm_writev F GLIBC_2.15 scandirat F GLIBC_2.15 scandirat64 F -GLIBC_2.16 GLIBC_2.16 A GLIBC_2.16 __getauxval F GLIBC_2.16 __poll_chk F GLIBC_2.16 __ppoll_chk F @@ -1797,16 +1783,13 @@ GLIBC_2.16 mbrtoc32 F GLIBC_2.16 sys_errlist D 0x460 GLIBC_2.16 sys_nerr D 0x4 GLIBC_2.16 timespec_get F -GLIBC_2.17 GLIBC_2.17 A GLIBC_2.17 clock_getcpuclockid F GLIBC_2.17 clock_getres F GLIBC_2.17 clock_gettime F GLIBC_2.17 clock_nanosleep F GLIBC_2.17 clock_settime F GLIBC_2.17 secure_getenv F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 __cxa_thread_atexit_impl F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 _IO_adjust_wcolumn F GLIBC_2.2 _IO_fgetpos F GLIBC_2.2 _IO_fgetpos64 F @@ -1971,34 +1954,85 @@ GLIBC_2.2 wcsftime F GLIBC_2.2 wmempcpy F GLIBC_2.2 wprintf F GLIBC_2.2 wscanf F -GLIBC_2.2.1 GLIBC_2.2.1 A GLIBC_2.2.1 pivot_root F GLIBC_2.2.1 posix_openpt F -GLIBC_2.2.2 GLIBC_2.2.2 A GLIBC_2.2.2 __nss_hostname_digits_dots F GLIBC_2.2.2 wordexp F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 __rpc_thread_createerr F GLIBC_2.2.3 __rpc_thread_svc_fdset F GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F GLIBC_2.2.3 __rpc_thread_svc_pollfd F GLIBC_2.2.3 fnmatch F GLIBC_2.2.3 sprofil F -GLIBC_2.2.4 GLIBC_2.2.4 A GLIBC_2.2.4 dl_iterate_phdr F GLIBC_2.2.4 getgrouplist F GLIBC_2.2.4 sockatmark F -GLIBC_2.2.6 GLIBC_2.2.6 A GLIBC_2.2.6 __nanosleep F -GLIBC_2.22 GLIBC_2.22 A GLIBC_2.22 fmemopen F -GLIBC_2.23 GLIBC_2.23 A GLIBC_2.23 fts64_children F GLIBC_2.23 fts64_close F GLIBC_2.23 fts64_open F GLIBC_2.23 fts64_read F GLIBC_2.23 fts64_set F -GLIBC_2.3 GLIBC_2.3 A +GLIBC_2.24 quick_exit F +GLIBC_2.25 __explicit_bzero_chk F +GLIBC_2.25 explicit_bzero F +GLIBC_2.25 getentropy F +GLIBC_2.25 getrandom F +GLIBC_2.25 strfromd F +GLIBC_2.25 strfromf F +GLIBC_2.25 strfroml F +GLIBC_2.26 preadv2 F +GLIBC_2.26 preadv64v2 F +GLIBC_2.26 pwritev2 F +GLIBC_2.26 pwritev64v2 F +GLIBC_2.26 reallocarray F +GLIBC_2.27 copy_file_range F +GLIBC_2.27 getrlimit F +GLIBC_2.27 getrlimit64 F +GLIBC_2.27 glob F +GLIBC_2.27 glob64 F +GLIBC_2.27 memfd_create F +GLIBC_2.27 mlock2 F +GLIBC_2.27 pkey_alloc F +GLIBC_2.27 pkey_free F +GLIBC_2.27 pkey_get F +GLIBC_2.27 pkey_mprotect F +GLIBC_2.27 pkey_set F +GLIBC_2.27 setrlimit F +GLIBC_2.27 setrlimit64 F +GLIBC_2.27 strfromf128 F +GLIBC_2.27 strfromf32 F +GLIBC_2.27 strfromf32x F +GLIBC_2.27 strfromf64 F +GLIBC_2.27 strfromf64x F +GLIBC_2.27 strtof128 F +GLIBC_2.27 strtof128_l F +GLIBC_2.27 strtof32 F +GLIBC_2.27 strtof32_l F +GLIBC_2.27 strtof32x F +GLIBC_2.27 strtof32x_l F +GLIBC_2.27 strtof64 F +GLIBC_2.27 strtof64_l F +GLIBC_2.27 strtof64x F +GLIBC_2.27 strtof64x_l F +GLIBC_2.27 wcstof128 F +GLIBC_2.27 wcstof128_l F +GLIBC_2.27 wcstof32 F +GLIBC_2.27 wcstof32_l F +GLIBC_2.27 wcstof32x F +GLIBC_2.27 wcstof32x_l F +GLIBC_2.27 wcstof64 F +GLIBC_2.27 wcstof64_l F +GLIBC_2.27 wcstof64x F +GLIBC_2.27 wcstof64x_l F +GLIBC_2.28 fcntl64 F +GLIBC_2.28 renameat2 F +GLIBC_2.28 statx F +GLIBC_2.28 thrd_current F +GLIBC_2.28 thrd_equal F +GLIBC_2.28 thrd_sleep F +GLIBC_2.28 thrd_yield F GLIBC_2.3 __ctype_b_loc F GLIBC_2.3 __ctype_tolower_loc F GLIBC_2.3 __ctype_toupper_loc F @@ -2090,7 +2124,6 @@ GLIBC_2.3 wcstoull_l F GLIBC_2.3 wcsxfrm_l F GLIBC_2.3 wctrans_l F GLIBC_2.3 wctype_l F -GLIBC_2.3.2 GLIBC_2.3.2 A GLIBC_2.3.2 __register_atfork F GLIBC_2.3.2 epoll_create F GLIBC_2.3.2 epoll_ctl F @@ -2103,7 +2136,6 @@ GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F GLIBC_2.3.2 strptime_l F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2124,7 +2156,6 @@ GLIBC_2.3.3 strtoll_l F GLIBC_2.3.3 strtoull_l F GLIBC_2.3.3 sys_sigabbrev D 0x208 GLIBC_2.3.3 sys_siglist D 0x208 -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 _OtsAddX F GLIBC_2.3.4 _OtsConvertFloatTX F GLIBC_2.3.4 _OtsConvertFloatXT F @@ -2170,7 +2201,6 @@ GLIBC_2.3.4 setipv4sourcefilter F GLIBC_2.3.4 setsourcefilter F GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2398,7 +2428,6 @@ GLIBC_2.4 wcstold F GLIBC_2.4 wcstold_l F GLIBC_2.4 wprintf F GLIBC_2.4 wscanf F -GLIBC_2.5 GLIBC_2.5 A GLIBC_2.5 __readlinkat_chk F GLIBC_2.5 inet6_opt_append F GLIBC_2.5 inet6_opt_find F @@ -2416,7 +2445,6 @@ GLIBC_2.5 inet6_rth_space F GLIBC_2.5 splice F GLIBC_2.5 tee F GLIBC_2.5 vmsplice F -GLIBC_2.6 GLIBC_2.6 A GLIBC_2.6 __sched_cpucount F GLIBC_2.6 epoll_pwait F GLIBC_2.6 futimens F @@ -2424,7 +2452,6 @@ GLIBC_2.6 sched_getcpu F GLIBC_2.6 strerror_l F GLIBC_2.6 sync_file_range F GLIBC_2.6 utimensat F -GLIBC_2.7 GLIBC_2.7 A GLIBC_2.7 __fread_chk F GLIBC_2.7 __fread_unlocked_chk F GLIBC_2.7 __isoc99_fscanf F @@ -2463,7 +2490,6 @@ GLIBC_2.7 eventfd_write F GLIBC_2.7 mkostemp F GLIBC_2.7 mkostemp64 F GLIBC_2.7 signalfd F -GLIBC_2.8 GLIBC_2.8 A GLIBC_2.8 __asprintf_chk F GLIBC_2.8 __dprintf_chk F GLIBC_2.8 __nldbl___asprintf_chk F @@ -2480,7 +2506,6 @@ GLIBC_2.8 qsort_r F GLIBC_2.8 timerfd_create F GLIBC_2.8 timerfd_gettime F GLIBC_2.8 timerfd_settime F -GLIBC_2.9 GLIBC_2.9 A GLIBC_2.9 dup3 F GLIBC_2.9 epoll_create1 F GLIBC_2.9 inotify_init1 F diff --git a/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist b/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist index 4db2639336..cd6ba95280 100644 --- a/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 crypt F GLIBC_2.0 crypt_r F GLIBC_2.0 encrypt F diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist index 5536f6e0a9..7826fde951 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,14 +1,10 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 611dfe1aa5..2773d61cd1 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 _LIB_VERSION D 0x4 GLIBC_2.0 __atan2 F GLIBC_2.0 acos F @@ -156,7 +155,6 @@ GLIBC_2.0 y1l F GLIBC_2.0 yn F GLIBC_2.0 ynf F GLIBC_2.0 ynl F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 __clog10 F GLIBC_2.1 __clog10f F GLIBC_2.1 __clog10l F @@ -309,7 +307,6 @@ GLIBC_2.1 tgammal F GLIBC_2.1 trunc F GLIBC_2.1 truncf F GLIBC_2.1 truncl F -GLIBC_2.15 GLIBC_2.15 A GLIBC_2.15 __acos_finite F GLIBC_2.15 __acosf_finite F GLIBC_2.15 __acosh_finite F @@ -390,14 +387,12 @@ GLIBC_2.15 __y1l_finite F GLIBC_2.15 __yn_finite F GLIBC_2.15 __ynf_finite F GLIBC_2.15 __ynl_finite F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 __issignaling F GLIBC_2.18 __issignalingf F GLIBC_2.18 __issignalingl F GLIBC_2.18 __sqrt_finite F GLIBC_2.18 __sqrtf_finite F GLIBC_2.18 __sqrtl_finite F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 feclearexcept F GLIBC_2.2 fedisableexcept F GLIBC_2.2 feenableexcept F @@ -408,12 +403,646 @@ GLIBC_2.2 feraiseexcept F GLIBC_2.2 fesetenv F GLIBC_2.2 fesetexceptflag F GLIBC_2.2 feupdateenv F -GLIBC_2.23 GLIBC_2.23 A GLIBC_2.23 __signgam D 0x4 GLIBC_2.23 lgamma F GLIBC_2.23 lgammaf F GLIBC_2.23 lgammal F -GLIBC_2.3.4 GLIBC_2.3.4 A +GLIBC_2.24 nextdown F +GLIBC_2.24 nextdownf F +GLIBC_2.24 nextdownl F +GLIBC_2.24 nextup F +GLIBC_2.24 nextupf F +GLIBC_2.24 nextupl F +GLIBC_2.25 __iseqsig F +GLIBC_2.25 __iseqsigf F +GLIBC_2.25 __iseqsigl F +GLIBC_2.25 canonicalize F +GLIBC_2.25 canonicalizef F +GLIBC_2.25 canonicalizel F +GLIBC_2.25 fegetmode F +GLIBC_2.25 fesetexcept F +GLIBC_2.25 fesetmode F +GLIBC_2.25 fetestexceptflag F +GLIBC_2.25 fmaxmag F +GLIBC_2.25 fmaxmagf F +GLIBC_2.25 fmaxmagl F +GLIBC_2.25 fminmag F +GLIBC_2.25 fminmagf F +GLIBC_2.25 fminmagl F +GLIBC_2.25 fromfp F +GLIBC_2.25 fromfpf F +GLIBC_2.25 fromfpl F +GLIBC_2.25 fromfpx F +GLIBC_2.25 fromfpxf F +GLIBC_2.25 fromfpxl F +GLIBC_2.25 getpayload F +GLIBC_2.25 getpayloadf F +GLIBC_2.25 getpayloadl F +GLIBC_2.25 llogb F +GLIBC_2.25 llogbf F +GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F +GLIBC_2.25 setpayload F +GLIBC_2.25 setpayloadf F +GLIBC_2.25 setpayloadl F +GLIBC_2.25 setpayloadsig F +GLIBC_2.25 setpayloadsigf F +GLIBC_2.25 setpayloadsigl F +GLIBC_2.25 totalorder F +GLIBC_2.25 totalorderf F +GLIBC_2.25 totalorderl F +GLIBC_2.25 totalordermag F +GLIBC_2.25 totalordermagf F +GLIBC_2.25 totalordermagl F +GLIBC_2.25 ufromfp F +GLIBC_2.25 ufromfpf F +GLIBC_2.25 ufromfpl F +GLIBC_2.25 ufromfpx F +GLIBC_2.25 ufromfpxf F +GLIBC_2.25 ufromfpxl F +GLIBC_2.27 acosf128 F +GLIBC_2.27 acosf32 F +GLIBC_2.27 acosf32x F +GLIBC_2.27 acosf64 F +GLIBC_2.27 acosf64x F +GLIBC_2.27 acoshf128 F +GLIBC_2.27 acoshf32 F +GLIBC_2.27 acoshf32x F +GLIBC_2.27 acoshf64 F +GLIBC_2.27 acoshf64x F +GLIBC_2.27 asinf128 F +GLIBC_2.27 asinf32 F +GLIBC_2.27 asinf32x F +GLIBC_2.27 asinf64 F +GLIBC_2.27 asinf64x F +GLIBC_2.27 asinhf128 F +GLIBC_2.27 asinhf32 F +GLIBC_2.27 asinhf32x F +GLIBC_2.27 asinhf64 F +GLIBC_2.27 asinhf64x F +GLIBC_2.27 atan2f128 F +GLIBC_2.27 atan2f32 F +GLIBC_2.27 atan2f32x F +GLIBC_2.27 atan2f64 F +GLIBC_2.27 atan2f64x F +GLIBC_2.27 atanf128 F +GLIBC_2.27 atanf32 F +GLIBC_2.27 atanf32x F +GLIBC_2.27 atanf64 F +GLIBC_2.27 atanf64x F +GLIBC_2.27 atanhf128 F +GLIBC_2.27 atanhf32 F +GLIBC_2.27 atanhf32x F +GLIBC_2.27 atanhf64 F +GLIBC_2.27 atanhf64x F +GLIBC_2.27 cabsf128 F +GLIBC_2.27 cabsf32 F +GLIBC_2.27 cabsf32x F +GLIBC_2.27 cabsf64 F +GLIBC_2.27 cabsf64x F +GLIBC_2.27 cacosf128 F +GLIBC_2.27 cacosf32 F +GLIBC_2.27 cacosf32x F +GLIBC_2.27 cacosf64 F +GLIBC_2.27 cacosf64x F +GLIBC_2.27 cacoshf128 F +GLIBC_2.27 cacoshf32 F +GLIBC_2.27 cacoshf32x F +GLIBC_2.27 cacoshf64 F +GLIBC_2.27 cacoshf64x F +GLIBC_2.27 canonicalizef128 F +GLIBC_2.27 canonicalizef32 F +GLIBC_2.27 canonicalizef32x F +GLIBC_2.27 canonicalizef64 F +GLIBC_2.27 canonicalizef64x F +GLIBC_2.27 cargf128 F +GLIBC_2.27 cargf32 F +GLIBC_2.27 cargf32x F +GLIBC_2.27 cargf64 F +GLIBC_2.27 cargf64x F +GLIBC_2.27 casinf128 F +GLIBC_2.27 casinf32 F +GLIBC_2.27 casinf32x F +GLIBC_2.27 casinf64 F +GLIBC_2.27 casinf64x F +GLIBC_2.27 casinhf128 F +GLIBC_2.27 casinhf32 F +GLIBC_2.27 casinhf32x F +GLIBC_2.27 casinhf64 F +GLIBC_2.27 casinhf64x F +GLIBC_2.27 catanf128 F +GLIBC_2.27 catanf32 F +GLIBC_2.27 catanf32x F +GLIBC_2.27 catanf64 F +GLIBC_2.27 catanf64x F +GLIBC_2.27 catanhf128 F +GLIBC_2.27 catanhf32 F +GLIBC_2.27 catanhf32x F +GLIBC_2.27 catanhf64 F +GLIBC_2.27 catanhf64x F +GLIBC_2.27 cbrtf128 F +GLIBC_2.27 cbrtf32 F +GLIBC_2.27 cbrtf32x F +GLIBC_2.27 cbrtf64 F +GLIBC_2.27 cbrtf64x F +GLIBC_2.27 ccosf128 F +GLIBC_2.27 ccosf32 F +GLIBC_2.27 ccosf32x F +GLIBC_2.27 ccosf64 F +GLIBC_2.27 ccosf64x F +GLIBC_2.27 ccoshf128 F +GLIBC_2.27 ccoshf32 F +GLIBC_2.27 ccoshf32x F +GLIBC_2.27 ccoshf64 F +GLIBC_2.27 ccoshf64x F +GLIBC_2.27 ceilf128 F +GLIBC_2.27 ceilf32 F +GLIBC_2.27 ceilf32x F +GLIBC_2.27 ceilf64 F +GLIBC_2.27 ceilf64x F +GLIBC_2.27 cexpf128 F +GLIBC_2.27 cexpf32 F +GLIBC_2.27 cexpf32x F +GLIBC_2.27 cexpf64 F +GLIBC_2.27 cexpf64x F +GLIBC_2.27 cimagf128 F +GLIBC_2.27 cimagf32 F +GLIBC_2.27 cimagf32x F +GLIBC_2.27 cimagf64 F +GLIBC_2.27 cimagf64x F +GLIBC_2.27 clog10f128 F +GLIBC_2.27 clog10f32 F +GLIBC_2.27 clog10f32x F +GLIBC_2.27 clog10f64 F +GLIBC_2.27 clog10f64x F +GLIBC_2.27 clogf128 F +GLIBC_2.27 clogf32 F +GLIBC_2.27 clogf32x F +GLIBC_2.27 clogf64 F +GLIBC_2.27 clogf64x F +GLIBC_2.27 conjf128 F +GLIBC_2.27 conjf32 F +GLIBC_2.27 conjf32x F +GLIBC_2.27 conjf64 F +GLIBC_2.27 conjf64x F +GLIBC_2.27 copysignf128 F +GLIBC_2.27 copysignf32 F +GLIBC_2.27 copysignf32x F +GLIBC_2.27 copysignf64 F +GLIBC_2.27 copysignf64x F +GLIBC_2.27 cosf128 F +GLIBC_2.27 cosf32 F +GLIBC_2.27 cosf32x F +GLIBC_2.27 cosf64 F +GLIBC_2.27 cosf64x F +GLIBC_2.27 coshf128 F +GLIBC_2.27 coshf32 F +GLIBC_2.27 coshf32x F +GLIBC_2.27 coshf64 F +GLIBC_2.27 coshf64x F +GLIBC_2.27 cpowf128 F +GLIBC_2.27 cpowf32 F +GLIBC_2.27 cpowf32x F +GLIBC_2.27 cpowf64 F +GLIBC_2.27 cpowf64x F +GLIBC_2.27 cprojf128 F +GLIBC_2.27 cprojf32 F +GLIBC_2.27 cprojf32x F +GLIBC_2.27 cprojf64 F +GLIBC_2.27 cprojf64x F +GLIBC_2.27 crealf128 F +GLIBC_2.27 crealf32 F +GLIBC_2.27 crealf32x F +GLIBC_2.27 crealf64 F +GLIBC_2.27 crealf64x F +GLIBC_2.27 csinf128 F +GLIBC_2.27 csinf32 F +GLIBC_2.27 csinf32x F +GLIBC_2.27 csinf64 F +GLIBC_2.27 csinf64x F +GLIBC_2.27 csinhf128 F +GLIBC_2.27 csinhf32 F +GLIBC_2.27 csinhf32x F +GLIBC_2.27 csinhf64 F +GLIBC_2.27 csinhf64x F +GLIBC_2.27 csqrtf128 F +GLIBC_2.27 csqrtf32 F +GLIBC_2.27 csqrtf32x F +GLIBC_2.27 csqrtf64 F +GLIBC_2.27 csqrtf64x F +GLIBC_2.27 ctanf128 F +GLIBC_2.27 ctanf32 F +GLIBC_2.27 ctanf32x F +GLIBC_2.27 ctanf64 F +GLIBC_2.27 ctanf64x F +GLIBC_2.27 ctanhf128 F +GLIBC_2.27 ctanhf32 F +GLIBC_2.27 ctanhf32x F +GLIBC_2.27 ctanhf64 F +GLIBC_2.27 ctanhf64x F +GLIBC_2.27 erfcf128 F +GLIBC_2.27 erfcf32 F +GLIBC_2.27 erfcf32x F +GLIBC_2.27 erfcf64 F +GLIBC_2.27 erfcf64x F +GLIBC_2.27 erff128 F +GLIBC_2.27 erff32 F +GLIBC_2.27 erff32x F +GLIBC_2.27 erff64 F +GLIBC_2.27 erff64x F +GLIBC_2.27 exp10f128 F +GLIBC_2.27 exp10f32 F +GLIBC_2.27 exp10f32x F +GLIBC_2.27 exp10f64 F +GLIBC_2.27 exp10f64x F +GLIBC_2.27 exp2f F +GLIBC_2.27 exp2f128 F +GLIBC_2.27 exp2f32 F +GLIBC_2.27 exp2f32x F +GLIBC_2.27 exp2f64 F +GLIBC_2.27 exp2f64x F +GLIBC_2.27 expf F +GLIBC_2.27 expf128 F +GLIBC_2.27 expf32 F +GLIBC_2.27 expf32x F +GLIBC_2.27 expf64 F +GLIBC_2.27 expf64x F +GLIBC_2.27 expm1f128 F +GLIBC_2.27 expm1f32 F +GLIBC_2.27 expm1f32x F +GLIBC_2.27 expm1f64 F +GLIBC_2.27 expm1f64x F +GLIBC_2.27 fabsf128 F +GLIBC_2.27 fabsf32 F +GLIBC_2.27 fabsf32x F +GLIBC_2.27 fabsf64 F +GLIBC_2.27 fabsf64x F +GLIBC_2.27 fdimf128 F +GLIBC_2.27 fdimf32 F +GLIBC_2.27 fdimf32x F +GLIBC_2.27 fdimf64 F +GLIBC_2.27 fdimf64x F +GLIBC_2.27 floorf128 F +GLIBC_2.27 floorf32 F +GLIBC_2.27 floorf32x F +GLIBC_2.27 floorf64 F +GLIBC_2.27 floorf64x F +GLIBC_2.27 fmaf128 F +GLIBC_2.27 fmaf32 F +GLIBC_2.27 fmaf32x F +GLIBC_2.27 fmaf64 F +GLIBC_2.27 fmaf64x F +GLIBC_2.27 fmaxf128 F +GLIBC_2.27 fmaxf32 F +GLIBC_2.27 fmaxf32x F +GLIBC_2.27 fmaxf64 F +GLIBC_2.27 fmaxf64x F +GLIBC_2.27 fmaxmagf128 F +GLIBC_2.27 fmaxmagf32 F +GLIBC_2.27 fmaxmagf32x F +GLIBC_2.27 fmaxmagf64 F +GLIBC_2.27 fmaxmagf64x F +GLIBC_2.27 fminf128 F +GLIBC_2.27 fminf32 F +GLIBC_2.27 fminf32x F +GLIBC_2.27 fminf64 F +GLIBC_2.27 fminf64x F +GLIBC_2.27 fminmagf128 F +GLIBC_2.27 fminmagf32 F +GLIBC_2.27 fminmagf32x F +GLIBC_2.27 fminmagf64 F +GLIBC_2.27 fminmagf64x F +GLIBC_2.27 fmodf128 F +GLIBC_2.27 fmodf32 F +GLIBC_2.27 fmodf32x F +GLIBC_2.27 fmodf64 F +GLIBC_2.27 fmodf64x F +GLIBC_2.27 frexpf128 F +GLIBC_2.27 frexpf32 F +GLIBC_2.27 frexpf32x F +GLIBC_2.27 frexpf64 F +GLIBC_2.27 frexpf64x F +GLIBC_2.27 fromfpf128 F +GLIBC_2.27 fromfpf32 F +GLIBC_2.27 fromfpf32x F +GLIBC_2.27 fromfpf64 F +GLIBC_2.27 fromfpf64x F +GLIBC_2.27 fromfpxf128 F +GLIBC_2.27 fromfpxf32 F +GLIBC_2.27 fromfpxf32x F +GLIBC_2.27 fromfpxf64 F +GLIBC_2.27 fromfpxf64x F +GLIBC_2.27 getpayloadf128 F +GLIBC_2.27 getpayloadf32 F +GLIBC_2.27 getpayloadf32x F +GLIBC_2.27 getpayloadf64 F +GLIBC_2.27 getpayloadf64x F +GLIBC_2.27 hypotf128 F +GLIBC_2.27 hypotf32 F +GLIBC_2.27 hypotf32x F +GLIBC_2.27 hypotf64 F +GLIBC_2.27 hypotf64x F +GLIBC_2.27 ilogbf128 F +GLIBC_2.27 ilogbf32 F +GLIBC_2.27 ilogbf32x F +GLIBC_2.27 ilogbf64 F +GLIBC_2.27 ilogbf64x F +GLIBC_2.27 j0f128 F +GLIBC_2.27 j0f32 F +GLIBC_2.27 j0f32x F +GLIBC_2.27 j0f64 F +GLIBC_2.27 j0f64x F +GLIBC_2.27 j1f128 F +GLIBC_2.27 j1f32 F +GLIBC_2.27 j1f32x F +GLIBC_2.27 j1f64 F +GLIBC_2.27 j1f64x F +GLIBC_2.27 jnf128 F +GLIBC_2.27 jnf32 F +GLIBC_2.27 jnf32x F +GLIBC_2.27 jnf64 F +GLIBC_2.27 jnf64x F +GLIBC_2.27 ldexpf128 F +GLIBC_2.27 ldexpf32 F +GLIBC_2.27 ldexpf32x F +GLIBC_2.27 ldexpf64 F +GLIBC_2.27 ldexpf64x F +GLIBC_2.27 lgammaf128 F +GLIBC_2.27 lgammaf128_r F +GLIBC_2.27 lgammaf32 F +GLIBC_2.27 lgammaf32_r F +GLIBC_2.27 lgammaf32x F +GLIBC_2.27 lgammaf32x_r F +GLIBC_2.27 lgammaf64 F +GLIBC_2.27 lgammaf64_r F +GLIBC_2.27 lgammaf64x F +GLIBC_2.27 lgammaf64x_r F +GLIBC_2.27 llogbf128 F +GLIBC_2.27 llogbf32 F +GLIBC_2.27 llogbf32x F +GLIBC_2.27 llogbf64 F +GLIBC_2.27 llogbf64x F +GLIBC_2.27 llrintf128 F +GLIBC_2.27 llrintf32 F +GLIBC_2.27 llrintf32x F +GLIBC_2.27 llrintf64 F +GLIBC_2.27 llrintf64x F +GLIBC_2.27 llroundf128 F +GLIBC_2.27 llroundf32 F +GLIBC_2.27 llroundf32x F +GLIBC_2.27 llroundf64 F +GLIBC_2.27 llroundf64x F +GLIBC_2.27 log10f128 F +GLIBC_2.27 log10f32 F +GLIBC_2.27 log10f32x F +GLIBC_2.27 log10f64 F +GLIBC_2.27 log10f64x F +GLIBC_2.27 log1pf128 F +GLIBC_2.27 log1pf32 F +GLIBC_2.27 log1pf32x F +GLIBC_2.27 log1pf64 F +GLIBC_2.27 log1pf64x F +GLIBC_2.27 log2f F +GLIBC_2.27 log2f128 F +GLIBC_2.27 log2f32 F +GLIBC_2.27 log2f32x F +GLIBC_2.27 log2f64 F +GLIBC_2.27 log2f64x F +GLIBC_2.27 logbf128 F +GLIBC_2.27 logbf32 F +GLIBC_2.27 logbf32x F +GLIBC_2.27 logbf64 F +GLIBC_2.27 logbf64x F +GLIBC_2.27 logf F +GLIBC_2.27 logf128 F +GLIBC_2.27 logf32 F +GLIBC_2.27 logf32x F +GLIBC_2.27 logf64 F +GLIBC_2.27 logf64x F +GLIBC_2.27 lrintf128 F +GLIBC_2.27 lrintf32 F +GLIBC_2.27 lrintf32x F +GLIBC_2.27 lrintf64 F +GLIBC_2.27 lrintf64x F +GLIBC_2.27 lroundf128 F +GLIBC_2.27 lroundf32 F +GLIBC_2.27 lroundf32x F +GLIBC_2.27 lroundf64 F +GLIBC_2.27 lroundf64x F +GLIBC_2.27 modff128 F +GLIBC_2.27 modff32 F +GLIBC_2.27 modff32x F +GLIBC_2.27 modff64 F +GLIBC_2.27 modff64x F +GLIBC_2.27 nanf128 F +GLIBC_2.27 nanf32 F +GLIBC_2.27 nanf32x F +GLIBC_2.27 nanf64 F +GLIBC_2.27 nanf64x F +GLIBC_2.27 nearbyintf128 F +GLIBC_2.27 nearbyintf32 F +GLIBC_2.27 nearbyintf32x F +GLIBC_2.27 nearbyintf64 F +GLIBC_2.27 nearbyintf64x F +GLIBC_2.27 nextafterf128 F +GLIBC_2.27 nextafterf32 F +GLIBC_2.27 nextafterf32x F +GLIBC_2.27 nextafterf64 F +GLIBC_2.27 nextafterf64x F +GLIBC_2.27 nextdownf128 F +GLIBC_2.27 nextdownf32 F +GLIBC_2.27 nextdownf32x F +GLIBC_2.27 nextdownf64 F +GLIBC_2.27 nextdownf64x F +GLIBC_2.27 nextupf128 F +GLIBC_2.27 nextupf32 F +GLIBC_2.27 nextupf32x F +GLIBC_2.27 nextupf64 F +GLIBC_2.27 nextupf64x F +GLIBC_2.27 powf F +GLIBC_2.27 powf128 F +GLIBC_2.27 powf32 F +GLIBC_2.27 powf32x F +GLIBC_2.27 powf64 F +GLIBC_2.27 powf64x F +GLIBC_2.27 remainderf128 F +GLIBC_2.27 remainderf32 F +GLIBC_2.27 remainderf32x F +GLIBC_2.27 remainderf64 F +GLIBC_2.27 remainderf64x F +GLIBC_2.27 remquof128 F +GLIBC_2.27 remquof32 F +GLIBC_2.27 remquof32x F +GLIBC_2.27 remquof64 F +GLIBC_2.27 remquof64x F +GLIBC_2.27 rintf128 F +GLIBC_2.27 rintf32 F +GLIBC_2.27 rintf32x F +GLIBC_2.27 rintf64 F +GLIBC_2.27 rintf64x F +GLIBC_2.27 roundevenf128 F +GLIBC_2.27 roundevenf32 F +GLIBC_2.27 roundevenf32x F +GLIBC_2.27 roundevenf64 F +GLIBC_2.27 roundevenf64x F +GLIBC_2.27 roundf128 F +GLIBC_2.27 roundf32 F +GLIBC_2.27 roundf32x F +GLIBC_2.27 roundf64 F +GLIBC_2.27 roundf64x F +GLIBC_2.27 scalblnf128 F +GLIBC_2.27 scalblnf32 F +GLIBC_2.27 scalblnf32x F +GLIBC_2.27 scalblnf64 F +GLIBC_2.27 scalblnf64x F +GLIBC_2.27 scalbnf128 F +GLIBC_2.27 scalbnf32 F +GLIBC_2.27 scalbnf32x F +GLIBC_2.27 scalbnf64 F +GLIBC_2.27 scalbnf64x F +GLIBC_2.27 setpayloadf128 F +GLIBC_2.27 setpayloadf32 F +GLIBC_2.27 setpayloadf32x F +GLIBC_2.27 setpayloadf64 F +GLIBC_2.27 setpayloadf64x F +GLIBC_2.27 setpayloadsigf128 F +GLIBC_2.27 setpayloadsigf32 F +GLIBC_2.27 setpayloadsigf32x F +GLIBC_2.27 setpayloadsigf64 F +GLIBC_2.27 setpayloadsigf64x F +GLIBC_2.27 sincosf128 F +GLIBC_2.27 sincosf32 F +GLIBC_2.27 sincosf32x F +GLIBC_2.27 sincosf64 F +GLIBC_2.27 sincosf64x F +GLIBC_2.27 sinf128 F +GLIBC_2.27 sinf32 F +GLIBC_2.27 sinf32x F +GLIBC_2.27 sinf64 F +GLIBC_2.27 sinf64x F +GLIBC_2.27 sinhf128 F +GLIBC_2.27 sinhf32 F +GLIBC_2.27 sinhf32x F +GLIBC_2.27 sinhf64 F +GLIBC_2.27 sinhf64x F +GLIBC_2.27 sqrtf128 F +GLIBC_2.27 sqrtf32 F +GLIBC_2.27 sqrtf32x F +GLIBC_2.27 sqrtf64 F +GLIBC_2.27 sqrtf64x F +GLIBC_2.27 tanf128 F +GLIBC_2.27 tanf32 F +GLIBC_2.27 tanf32x F +GLIBC_2.27 tanf64 F +GLIBC_2.27 tanf64x F +GLIBC_2.27 tanhf128 F +GLIBC_2.27 tanhf32 F +GLIBC_2.27 tanhf32x F +GLIBC_2.27 tanhf64 F +GLIBC_2.27 tanhf64x F +GLIBC_2.27 tgammaf128 F +GLIBC_2.27 tgammaf32 F +GLIBC_2.27 tgammaf32x F +GLIBC_2.27 tgammaf64 F +GLIBC_2.27 tgammaf64x F +GLIBC_2.27 totalorderf128 F +GLIBC_2.27 totalorderf32 F +GLIBC_2.27 totalorderf32x F +GLIBC_2.27 totalorderf64 F +GLIBC_2.27 totalorderf64x F +GLIBC_2.27 totalordermagf128 F +GLIBC_2.27 totalordermagf32 F +GLIBC_2.27 totalordermagf32x F +GLIBC_2.27 totalordermagf64 F +GLIBC_2.27 totalordermagf64x F +GLIBC_2.27 truncf128 F +GLIBC_2.27 truncf32 F +GLIBC_2.27 truncf32x F +GLIBC_2.27 truncf64 F +GLIBC_2.27 truncf64x F +GLIBC_2.27 ufromfpf128 F +GLIBC_2.27 ufromfpf32 F +GLIBC_2.27 ufromfpf32x F +GLIBC_2.27 ufromfpf64 F +GLIBC_2.27 ufromfpf64x F +GLIBC_2.27 ufromfpxf128 F +GLIBC_2.27 ufromfpxf32 F +GLIBC_2.27 ufromfpxf32x F +GLIBC_2.27 ufromfpxf64 F +GLIBC_2.27 ufromfpxf64x F +GLIBC_2.27 y0f128 F +GLIBC_2.27 y0f32 F +GLIBC_2.27 y0f32x F +GLIBC_2.27 y0f64 F +GLIBC_2.27 y0f64x F +GLIBC_2.27 y1f128 F +GLIBC_2.27 y1f32 F +GLIBC_2.27 y1f32x F +GLIBC_2.27 y1f64 F +GLIBC_2.27 y1f64x F +GLIBC_2.27 ynf128 F +GLIBC_2.27 ynf32 F +GLIBC_2.27 ynf32x F +GLIBC_2.27 ynf64 F +GLIBC_2.27 ynf64x F +GLIBC_2.28 __nldbl_daddl F +GLIBC_2.28 __nldbl_ddivl F +GLIBC_2.28 __nldbl_dmull F +GLIBC_2.28 __nldbl_dsubl F +GLIBC_2.28 daddl F +GLIBC_2.28 ddivl F +GLIBC_2.28 dmull F +GLIBC_2.28 dsubl F +GLIBC_2.28 f32addf128 F +GLIBC_2.28 f32addf32x F +GLIBC_2.28 f32addf64 F +GLIBC_2.28 f32addf64x F +GLIBC_2.28 f32divf128 F +GLIBC_2.28 f32divf32x F +GLIBC_2.28 f32divf64 F +GLIBC_2.28 f32divf64x F +GLIBC_2.28 f32mulf128 F +GLIBC_2.28 f32mulf32x F +GLIBC_2.28 f32mulf64 F +GLIBC_2.28 f32mulf64x F +GLIBC_2.28 f32subf128 F +GLIBC_2.28 f32subf32x F +GLIBC_2.28 f32subf64 F +GLIBC_2.28 f32subf64x F +GLIBC_2.28 f32xaddf128 F +GLIBC_2.28 f32xaddf64 F +GLIBC_2.28 f32xaddf64x F +GLIBC_2.28 f32xdivf128 F +GLIBC_2.28 f32xdivf64 F +GLIBC_2.28 f32xdivf64x F +GLIBC_2.28 f32xmulf128 F +GLIBC_2.28 f32xmulf64 F +GLIBC_2.28 f32xmulf64x F +GLIBC_2.28 f32xsubf128 F +GLIBC_2.28 f32xsubf64 F +GLIBC_2.28 f32xsubf64x F +GLIBC_2.28 f64addf128 F +GLIBC_2.28 f64addf64x F +GLIBC_2.28 f64divf128 F +GLIBC_2.28 f64divf64x F +GLIBC_2.28 f64mulf128 F +GLIBC_2.28 f64mulf64x F +GLIBC_2.28 f64subf128 F +GLIBC_2.28 f64subf64x F +GLIBC_2.28 f64xaddf128 F +GLIBC_2.28 f64xdivf128 F +GLIBC_2.28 f64xmulf128 F +GLIBC_2.28 f64xsubf128 F +GLIBC_2.28 fadd F +GLIBC_2.28 faddl F +GLIBC_2.28 fdiv F +GLIBC_2.28 fdivl F +GLIBC_2.28 fmul F +GLIBC_2.28 fmull F +GLIBC_2.28 fsub F +GLIBC_2.28 fsubl F GLIBC_2.3.4 __c1_cabsf F GLIBC_2.3.4 __c1_cacosf F GLIBC_2.3.4 __c1_cacoshf F @@ -460,7 +1089,6 @@ GLIBC_2.3.4 csinhf F GLIBC_2.3.4 csqrtf F GLIBC_2.3.4 ctanf F GLIBC_2.3.4 ctanhf F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/alpha/libnsl.abilist b/sysdeps/unix/sysv/linux/alpha/libnsl.abilist index a23db2aeaf..add3d66a7a 100644 --- a/sysdeps/unix/sysv/linux/alpha/libnsl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libnsl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 __yp_check F GLIBC_2.0 xdr_domainname F GLIBC_2.0 xdr_keydat F @@ -42,7 +41,6 @@ GLIBC_2.0 yp_update F GLIBC_2.0 ypbinderr_string F GLIBC_2.0 yperr_string F GLIBC_2.0 ypprot_err F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 __free_fdresult F GLIBC_2.1 __nis_default_access F GLIBC_2.1 __nis_default_group F @@ -120,5 +118,4 @@ GLIBC_2.1 readColdStartFile F GLIBC_2.1 writeColdStartFile F GLIBC_2.1 xdr_cback_data F GLIBC_2.1 xdr_obj_p F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 xdr_ypall F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 7e121d45f8..b413007ccb 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F @@ -119,7 +118,6 @@ GLIBC_2.0 vfork F GLIBC_2.0 wait F GLIBC_2.0 waitpid F GLIBC_2.0 write F -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 __libc_allocate_rtsig F GLIBC_2.1 __libc_current_sigrtmax F GLIBC_2.1 __libc_current_sigrtmin F @@ -154,24 +152,18 @@ GLIBC_2.1 sem_init F GLIBC_2.1 sem_post F GLIBC_2.1 sem_trywait F GLIBC_2.1 sem_wait F -GLIBC_2.1.1 GLIBC_2.1.1 A GLIBC_2.1.1 sem_close F GLIBC_2.1.1 sem_open F GLIBC_2.1.1 sem_unlink F -GLIBC_2.1.2 GLIBC_2.1.2 A GLIBC_2.1.2 __vfork F -GLIBC_2.11 GLIBC_2.11 A GLIBC_2.11 pthread_sigqueue F -GLIBC_2.12 GLIBC_2.12 A GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F -GLIBC_2.18 GLIBC_2.18 A GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F @@ -212,18 +204,35 @@ GLIBC_2.2 pthread_yield F GLIBC_2.2 pwrite F GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 pthread_getattr_np F -GLIBC_2.2.6 GLIBC_2.2.6 A GLIBC_2.2.6 __nanosleep F -GLIBC_2.3.2 GLIBC_2.3.2 A +GLIBC_2.28 call_once F +GLIBC_2.28 cnd_broadcast F +GLIBC_2.28 cnd_destroy F +GLIBC_2.28 cnd_init F +GLIBC_2.28 cnd_signal F +GLIBC_2.28 cnd_timedwait F +GLIBC_2.28 cnd_wait F +GLIBC_2.28 mtx_destroy F +GLIBC_2.28 mtx_init F +GLIBC_2.28 mtx_lock F +GLIBC_2.28 mtx_timedlock F +GLIBC_2.28 mtx_trylock F +GLIBC_2.28 mtx_unlock F +GLIBC_2.28 thrd_create F +GLIBC_2.28 thrd_detach F +GLIBC_2.28 thrd_exit F +GLIBC_2.28 thrd_join F +GLIBC_2.28 tss_create F +GLIBC_2.28 tss_delete F +GLIBC_2.28 tss_get F +GLIBC_2.28 tss_set F GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_destroy F GLIBC_2.3.2 pthread_cond_init F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 __pthread_cleanup_routine F GLIBC_2.3.3 __pthread_register_cancel F GLIBC_2.3.3 __pthread_register_cancel_defer F @@ -241,13 +250,11 @@ GLIBC_2.3.3 pthread_getaffinity_np F GLIBC_2.3.3 pthread_setaffinity_np F GLIBC_2.3.3 pthread_timedjoin_np F GLIBC_2.3.3 pthread_tryjoin_np F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F GLIBC_2.3.4 pthread_getaffinity_np F GLIBC_2.3.4 pthread_setaffinity_np F GLIBC_2.3.4 pthread_setschedprio F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist index 2d92a35e81..06f995151c 100644 --- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 __b64_ntop F GLIBC_2.0 __b64_pton F GLIBC_2.0 __dn_comp F @@ -57,7 +56,6 @@ GLIBC_2.0 res_querydomain F GLIBC_2.0 res_search F GLIBC_2.0 res_send_setqhook F GLIBC_2.0 res_send_setrhook F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 __dn_expand F GLIBC_2.2 __res_hostalias F GLIBC_2.2 __res_mkquery F @@ -69,9 +67,7 @@ GLIBC_2.2 __res_nsend F GLIBC_2.2 __res_query F GLIBC_2.2 __res_querydomain F GLIBC_2.2 __res_search F -GLIBC_2.3.2 GLIBC_2.3.2 A GLIBC_2.3.2 __p_rcode F -GLIBC_2.9 GLIBC_2.9 A GLIBC_2.9 ns_datetosecs F GLIBC_2.9 ns_format_ttl F GLIBC_2.9 ns_get16 F diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist index 8699f6ccc4..d7a049cf60 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist @@ -1,4 +1,3 @@ -GLIBC_2.1 GLIBC_2.1 A GLIBC_2.1 aio_cancel F GLIBC_2.1 aio_cancel64 F GLIBC_2.1 aio_error F @@ -16,7 +15,6 @@ GLIBC_2.1 aio_write F GLIBC_2.1 aio_write64 F GLIBC_2.1 lio_listio F GLIBC_2.1 lio_listio64 F -GLIBC_2.2 GLIBC_2.2 A GLIBC_2.2 clock_getcpuclockid F GLIBC_2.2 clock_getres F GLIBC_2.2 clock_gettime F @@ -29,16 +27,13 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 aio_cancel F GLIBC_2.3 aio_cancel64 F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F GLIBC_2.3.3 timer_settime F -GLIBC_2.3.4 GLIBC_2.3.4 A GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F GLIBC_2.3.4 mq_notify F @@ -49,8 +44,6 @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_unlink F -GLIBC_2.4 GLIBC_2.4 A GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio64 F -GLIBC_2.7 GLIBC_2.7 A GLIBC_2.7 __mq_open_2 F diff --git a/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist b/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist index a8a8c2c68d..2db0992737 100644 --- a/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist @@ -1,4 +1,3 @@ -GLIBC_2.1.3 GLIBC_2.1.3 A GLIBC_2.1.3 td_init F GLIBC_2.1.3 td_log F GLIBC_2.1.3 td_ta_clear_event F @@ -36,9 +35,6 @@ GLIBC_2.1.3 td_thr_setxregs F GLIBC_2.1.3 td_thr_sigsetmask F GLIBC_2.1.3 td_thr_tsd F GLIBC_2.1.3 td_thr_validate F -GLIBC_2.2.3 GLIBC_2.2.3 A GLIBC_2.2.3 td_symbol_list F -GLIBC_2.3 GLIBC_2.3 A GLIBC_2.3 td_thr_tls_get_addr F -GLIBC_2.3.3 GLIBC_2.3.3 A GLIBC_2.3.3 td_thr_tlsbase F diff --git a/sysdeps/unix/sysv/linux/alpha/libutil.abilist b/sysdeps/unix/sysv/linux/alpha/libutil.abilist index 89c67755c4..aa2d35b323 100644 --- a/sysdeps/unix/sysv/linux/alpha/libutil.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libutil.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 GLIBC_2.0 A GLIBC_2.0 forkpty F GLIBC_2.0 login F GLIBC_2.0 login_tty F diff --git a/sysdeps/unix/sysv/linux/alpha/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data index e2a4311cbd..c69eb04ce5 100644 --- a/sysdeps/unix/sysv/linux/alpha/localplt.data +++ b/sysdeps/unix/sysv/linux/alpha/localplt.data @@ -15,21 +15,25 @@ libc.so: _OtsNeqX ? libc.so: _OtsNintXQ ? libc.so: _OtsSubX ? libc.so: _Unwind_Find_FDE -libc.so: calloc ? -libc.so: free ? -libc.so: malloc ? -libc.so: memalign ? -libc.so: realloc ? -libm.so: matherr +libc.so: calloc + RELA R_ALPHA_GLOB_DAT +libc.so: free + RELA R_ALPHA_GLOB_DAT +libc.so: malloc + RELA R_ALPHA_GLOB_DAT +libc.so: memalign + RELA R_ALPHA_GLOB_DAT +libc.so: realloc + RELA R_ALPHA_GLOB_DAT +libm.so: matherr + RELA R_ALPHA_GLOB_DAT # We used to offer inline functions that used this, so it must be exported. # Ought to reorg things such that carg isn't thus forced to use a plt. libm.so: __atan2 -# The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign -# internally to allocate aligned TLS storage. The other malloc family of -# functions are expected to allow user symbol interposition. -ld.so: __tls_get_addr -ld.so: __libc_memalign -ld.so: malloc -ld.so: calloc -ld.so: realloc -ld.so: free +# The dynamic loader needs __tls_get_addr for TLS. +ld.so: __tls_get_addr ? +# The main malloc is interposed into the dynamic linker, for +# allocations after the initial link (when dlopen is used). +ld.so: malloc + RELA R_ALPHA_GLOB_DAT +ld.so: calloc + RELA R_ALPHA_GLOB_DAT +ld.so: realloc + RELA R_ALPHA_GLOB_DAT +ld.so: free + RELA R_ALPHA_GLOB_DAT +# The TLS-enabled version of these functions is interposed from libc.so. +ld.so: _dl_signal_error + RELA R_ALPHA_GLOB_DAT +ld.so: _dl_catch_error + RELA R_ALPHA_GLOB_DAT +ld.so: _dl_signal_exception + RELA R_ALPHA_GLOB_DAT +ld.so: _dl_catch_exception + RELA R_ALPHA_GLOB_DAT diff --git a/sysdeps/unix/sysv/linux/alpha/lxstat.c b/sysdeps/unix/sysv/linux/alpha/lxstat.c index c48c076baf..986fc13cd6 100644 --- a/sysdeps/unix/sysv/linux/alpha/lxstat.c +++ b/sysdeps/unix/sysv/linux/alpha/lxstat.c @@ -1,5 +1,5 @@ /* lxstat using old-style Unix stat system call. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/makecontext.S b/sysdeps/unix/sysv/linux/alpha/makecontext.S index a61cf48d48..cae2144e03 100644 --- a/sysdeps/unix/sysv/linux/alpha/makecontext.S +++ b/sysdeps/unix/sysv/linux/alpha/makecontext.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/msgctl.c b/sysdeps/unix/sysv/linux/alpha/msgctl.c deleted file mode 100644 index d65a5b93d6..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/msgctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/arm/msgctl.c> diff --git a/sysdeps/unix/sysv/linux/alpha/oldglob.c b/sysdeps/unix/sysv/linux/alpha/oldglob.c index ffaba8198f..6585dd7c2f 100644 --- a/sysdeps/unix/sysv/linux/alpha/oldglob.c +++ b/sysdeps/unix/sysv/linux/alpha/oldglob.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 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 @@ -36,7 +36,7 @@ typedef struct are used instead of the normal file access functions. */ void (*gl_closedir) (void *); struct dirent *(*gl_readdir) (void *); - __ptr_t (*gl_opendir) (const char *); + void *(*gl_opendir) (const char *); int (*gl_lstat) (const char *, struct stat *); int (*gl_stat) (const char *, struct stat *); } old_glob_t; @@ -59,7 +59,9 @@ __old_glob (const char *pattern, int flags, correct.gl_closedir = pglob->gl_closedir; correct.gl_readdir = pglob->gl_readdir; correct.gl_opendir = pglob->gl_opendir; - correct.gl_lstat = pglob->gl_lstat; + /* Set gl_lstat and gl_stat for both gl_stat for compatibility with old + implementation that did not follow dangling symlinks. */ + correct.gl_lstat = pglob->gl_stat; correct.gl_stat = pglob->gl_stat; result = glob (pattern, flags, errfunc, &correct); @@ -72,7 +74,7 @@ __old_glob (const char *pattern, int flags, pglob->gl_closedir = correct.gl_closedir; pglob->gl_readdir = correct.gl_readdir; pglob->gl_opendir = correct.gl_opendir; - pglob->gl_lstat = correct.gl_lstat; + /* Only need to restore gl_stat. */ pglob->gl_stat = correct.gl_stat; return result; diff --git a/sysdeps/unix/sysv/linux/alpha/pt-vfork.S b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S index 5f749e4f87..7ecaa78dd0 100644 --- a/sysdeps/unix/sysv/linux/alpha/pt-vfork.S +++ b/sysdeps/unix/sysv/linux/alpha/pt-vfork.S @@ -1,5 +1,5 @@ /* vfork ABI-compatibility entry points for libpthread. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2018 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/sysdeps/unix/sysv/linux/alpha/register-dump.h b/sysdeps/unix/sysv/linux/alpha/register-dump.h index ff7ca0c0f1..f693c68a44 100644 --- a/sysdeps/unix/sysv/linux/alpha/register-dump.h +++ b/sysdeps/unix/sysv/linux/alpha/register-dump.h @@ -1,5 +1,5 @@ /* Dump registers. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S b/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S index fef8b167ed..ca25eee611 100644 --- a/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S +++ b/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson <rth@cygnus.com>, 1998 diff --git a/sysdeps/unix/sysv/linux/alpha/select.c b/sysdeps/unix/sysv/linux/alpha/select.c new file mode 100644 index 0000000000..9db925c4e2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/select.c @@ -0,0 +1,53 @@ +/* Linux/alpha select implementation. + Copyright (C) 2017-2018 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/>. */ + +#include <sys/time.h> +#include <sys/types.h> +#include <sys/select.h> +#include <errno.h> +#include <sysdep-cancel.h> +#include <shlib-compat.h> + +int +__new_select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, + struct timeval *timeout) +{ + return SYSCALL_CANCEL (select, nfds, readfds, writefds, exceptfds, timeout); +} +strong_alias (__new_select, __select) +libc_hidden_def (__select) + +default_symbol_version (__new_select, select, GLIBC_2.1); + +strong_alias (__new_select, __new_select_private); +symbol_version (__new_select_private, __select, GLIBC_2.1); + +/* Old timeval32 compat calls. */ +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) +int +__select_tv32 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, + struct timeval *timeout) +{ + return SYSCALL_CANCEL (osf_select, nfds, readfds, writefds, exceptfds, + timeout); +} +strong_alias (__select_tv32, __select_tv32_1) + +compat_symbol (libc, __select_tv32, __select, GLIBC_2_0); +compat_symbol (libc, __select_tv32_1, select, GLIBC_2_0); +#endif diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c deleted file mode 100644 index 4cb834ad97..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/semctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/arm/semctl.c> diff --git a/sysdeps/unix/sysv/linux/alpha/setcontext.S b/sysdeps/unix/sysv/linux/alpha/setcontext.S index ad216b230e..5b7a806a6f 100644 --- a/sysdeps/unix/sysv/linux/alpha/setcontext.S +++ b/sysdeps/unix/sysv/linux/alpha/setcontext.S @@ -1,5 +1,5 @@ /* Install given context. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/setfpucw.c b/sysdeps/unix/sysv/linux/alpha/setfpucw.c index 957d9d40ac..4cbdd2db37 100644 --- a/sysdeps/unix/sysv/linux/alpha/setfpucw.c +++ b/sysdeps/unix/sysv/linux/alpha/setfpucw.c @@ -1,5 +1,5 @@ /* Set FP exception mask and rounding mode. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/setrlimit64.c b/sysdeps/unix/sysv/linux/alpha/setrlimit64.c new file mode 100644 index 0000000000..871c878b7e --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/setrlimit64.c @@ -0,0 +1,53 @@ +/* Copyright (C) 2018 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/>. */ + +#define USE_VERSIONED_RLIMIT +#include <sysdeps/unix/sysv/linux/setrlimit64.c> +versioned_symbol (libc, __setrlimit, setrlimit, GLIBC_2_27); +versioned_symbol (libc, __setrlimit64, setrlimit64, GLIBC_2_27); + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_27) +/* RLIM64_INFINITY was supposed to be a glibc convention rather than + anything seen by the kernel, but it ended being passed to the kernel + through the prlimit64 syscall. Given that a lot of binaries with + the wrong constant value are in the wild, provide a wrapper function + fixing the value before the syscall. */ +# define OLD_RLIM64_INFINITY 0x7fffffffffffffffULL + +int +attribute_compat_text_section +__old_setrlimit64 (enum __rlimit_resource resource, + const struct rlimit64 *rlimits) +{ + struct rlimit64 krlimits; + + if (rlimits->rlim_cur == OLD_RLIM64_INFINITY) + krlimits.rlim_cur = RLIM64_INFINITY; + else + krlimits.rlim_cur = rlimits->rlim_cur; + if (rlimits->rlim_max == OLD_RLIM64_INFINITY) + krlimits.rlim_max = RLIM64_INFINITY; + else + krlimits.rlim_max = rlimits->rlim_max; + + return __setrlimit64 (resource, &krlimits); +} + +strong_alias (__old_setrlimit64, __old_setrlimit) +compat_symbol (libc, __old_setrlimit, setrlimit, GLIBC_2_0); +compat_symbol (libc, __old_setrlimit64, setrlimit64, GLIBC_2_1); +#endif diff --git a/sysdeps/unix/sysv/linux/alpha/shmctl.c b/sysdeps/unix/sysv/linux/alpha/shmctl.c deleted file mode 100644 index f73ed6f246..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/shmctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/arm/shmctl.c> diff --git a/sysdeps/unix/sysv/linux/alpha/sigaction.c b/sysdeps/unix/sysv/linux/alpha/sigaction.c index 28f8e44de2..8051043587 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigaction.c +++ b/sysdeps/unix/sysv/linux/alpha/sigaction.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2016 Free Software Foundation, Inc. +/* Copyright (C) 2003-2018 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/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h index 66bf868784..a0a57f3988 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h +++ b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2018 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 @@ -16,9 +16,4 @@ <http://www.gnu.org/licenses/>. */ #define SIGCONTEXT int _code, struct sigcontext * -#define SIGCONTEXT_EXTRA_ARGS _code, #define GET_PC(ctx) ((void *) (ctx)->sc_pc) -#define GET_FRAME(ctx) ((void *) (ctx)->sc_regs[15]) -#define GET_STACK(ctx) ((void *) (ctx)->sc_regs[30]) -#define CALL_SIGHANDLER(handler, signo, ctx) \ - (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx)) diff --git a/sysdeps/unix/sysv/linux/alpha/sigprocmask.c b/sysdeps/unix/sysv/linux/alpha/sigprocmask.c index 35ffaf3072..a79f3e147d 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/alpha/sigprocmask.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. +/* Copyright (C) 1993-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger (davidm@azstarnet.com). @@ -54,4 +54,5 @@ __sigprocmask (int how, const sigset_t *set, sigset_t *oset) return 0; } +libc_hidden_def (__sigprocmask) weak_alias (__sigprocmask, sigprocmask); diff --git a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S deleted file mode 100644 index 246e1e03a2..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1993-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995. - - 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/>. */ - -/* sigsuspend is a special syscall since it needs to dereference the - sigset. This will have to change when we have more than 64 signals. */ - -#include <sysdep-cancel.h> - -#undef PSEUDO_PREPARE_ARGS -#define PSEUDO_PREPARE_ARGS ldq a0, 0(a0); - -PSEUDO(__sigsuspend, sigsuspend, 1) - ret -PSEUDO_END(__sigsuspend) -libc_hidden_def (__sigsuspend) -weak_alias (__sigsuspend, sigsuspend) -strong_alias (__sigsuspend, __libc_sigsuspend) diff --git a/sysdeps/unix/sysv/linux/alpha/sizes.h b/sysdeps/unix/sysv/linux/alpha/sizes.h index 53e08b0d99..9a48a825d9 100644 --- a/sysdeps/unix/sysv/linux/alpha/sizes.h +++ b/sysdeps/unix/sysv/linux/alpha/sizes.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 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/sysdeps/unix/sysv/linux/alpha/swapcontext.S b/sysdeps/unix/sysv/linux/alpha/swapcontext.S index d31b290b2a..686b6b6344 100644 --- a/sysdeps/unix/sysv/linux/alpha/swapcontext.S +++ b/sysdeps/unix/sysv/linux/alpha/swapcontext.S @@ -1,5 +1,5 @@ /* Save current context and install the given one. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/sysdeps/unix/sysv/linux/alpha/sys/acct.h index 01da7bf035..f6e55ad85d 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/acct.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/acct.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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 @@ -20,9 +20,7 @@ #define _SYS_ACCT_H 1 #include <features.h> -#define __need_time_t -#include <time.h> - +#include <bits/types/time_t.h> __BEGIN_DECLS diff --git a/sysdeps/unix/sysv/linux/alpha/sys/io.h b/sysdeps/unix/sysv/linux/alpha/sys/io.h index 6091d9dbef..df50f7e7d5 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/io.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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/sysdeps/unix/sysv/linux/alpha/sys/procfs.h b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h index f622a59638..a6cbb025fb 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 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 @@ -71,7 +71,7 @@ struct elf_prstatus unsigned long int pr_sigpend; /* Set of pending signals. */ unsigned long int pr_sighold; /* Set of held signals. */ #if 0 - struct sigaltstack pr_altstack; /* Alternate stack info. */ + stack_t pr_altstack; /* Alternate stack info. */ struct sigaction pr_action; /* Signal action for current sig. */ #endif __pid_t pr_pid; diff --git a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h index a42e662cf5..6aa614e43d 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 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 @@ -19,42 +19,76 @@ #define _SYS_UCONTEXT_H 1 #include <features.h> -#include <signal.h> -#include <bits/sigcontext.h> +#include <bits/types/sigset_t.h> +#include <bits/types/stack_t.h> +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + /* Type for general register. */ typedef long int greg_t; /* Number of general registers. */ -#define NGREG 33 +#define __NGREG 33 +#ifdef __USE_MISC +# define NGREG __NGREG +#endif /* Container for all general registers. */ -typedef greg_t gregset_t[NGREG]; +typedef greg_t gregset_t[__NGREG]; /* Type for floating-point register. */ typedef long int fpreg_t; /* Number of general registers. */ -#define NFPREG 32 +#define __NFPREG 32 +#ifdef __USE_MISC +# define NFPREG __NFPREG +#endif /* Container for all general registers. */ -typedef fpreg_t fpregset_t[NFPREG]; +typedef fpreg_t fpregset_t[__NFPREG]; /* A machine context is exactly a sigcontext. */ -typedef struct sigcontext mcontext_t; +typedef struct + { + long int __ctx(sc_onstack); + long int __ctx(sc_mask); + long int __ctx(sc_pc); + long int __ctx(sc_ps); + long int __ctx(sc_regs)[32]; + long int __ctx(sc_ownedfp); + long int __ctx(sc_fpregs)[32]; + unsigned long int __ctx(sc_fpcr); + unsigned long int __ctx(sc_fp_control); + unsigned long int __glibc_reserved1, __glibc_reserved2; + unsigned long int __ctx(sc_ssize); + char *__ctx(sc_sbase); + unsigned long int __ctx(sc_traparg_a0); + unsigned long int __ctx(sc_traparg_a1); + unsigned long int __ctx(sc_traparg_a2); + unsigned long int __ctx(sc_fp_trap_pc); + unsigned long int __ctx(sc_fp_trigger_sum); + unsigned long int __ctx(sc_fp_trigger_inst); + } mcontext_t; /* Userlevel context. */ -typedef struct ucontext +typedef struct ucontext_t { - unsigned long int uc_flags; - struct ucontext *uc_link; + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; unsigned long __uc_osf_sigmask; stack_t uc_stack; mcontext_t uc_mcontext; - __sigset_t uc_sigmask; + sigset_t uc_sigmask; } ucontext_t; +#undef __ctx + #endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/alpha/sys/user.h b/sysdeps/unix/sysv/linux/alpha/sys/user.h index 1a7c9c4889..548afcf0ce 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/user.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2018 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 @@ -23,6 +23,7 @@ than gdb/strace unless you know what you are doing. */ #include <asm/reg.h> +#include <stddef.h> struct user { diff --git a/sysdeps/unix/sysv/linux/alpha/syscall.S b/sysdeps/unix/sysv/linux/alpha/syscall.S index 1bf458c374..1cf18fb82f 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscall.S +++ b/sysdeps/unix/sysv/linux/alpha/syscall.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2016 Free Software Foundation, Inc. +/* Copyright (C) 1996-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger <davidm@azstarnet.com>, 1996. diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index cad1fc362e..12cd021b60 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -1,36 +1,15 @@ # File name Caller Syscall name # args Strong name Weak names -oldmsgctl EXTRA msgctl i:iip __old_msgctl msgctl@GLIBC_2.0 -msgget - msgget i:ii __msgget msgget -msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv -msgsnd - msgsnd Ci:ibni __msgsnd msgsnd -shmat - osf_shmat i:ipi __shmat shmat -oldshmctl EXTRA shmctl i:iip __old_shmctl shmctl@GLIBC_2.0 -shmdt - shmdt i:s __shmdt shmdt -shmget - shmget i:iii __shmget shmget -semop - semop i:ipi __semop semop -semtimedop - semtimedop i:ipip semtimedop -semget - semget i:iii __semget semget -oldsemctl EXTRA semctl i:iiii __old_semctl semctl@GLIBC_2.0 - sigstack - sigstack 2 sigstack getpriority - getpriority i:ii __getpriority getpriority # proper socket implementations: -accept - accept Ci:iBN __libc_accept __accept accept bind - bind i:ipi __bind bind -connect - connect Ci:ipi __libc_connect __connect connect getpeername - getpeername i:ipp __getpeername getpeername getsockname - getsockname i:ipp __getsockname getsockname getsockopt - getsockopt i:iiiBN __getsockopt getsockopt listen - listen i:ii __listen listen -recv - recv Ci:ibni __libc_recv __recv recv -recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom -recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg -send - send Ci:ibni __libc_send __send send -sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg -sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto setsockopt - setsockopt i:iiibn __setsockopt setsockopt shutdown - shutdown i:ii __shutdown shutdown socket - socket i:iii __socket socket @@ -44,7 +23,6 @@ pciconfig_write EXTRA pciconfig_write 5 pciconfig_write pciconfig_iobase EXTRA pciconfig_iobase 3 __pciconfig_iobase pciconfig_iobase # support old timeval32 entry points -osf_select - osf_select C:5 __select_tv32 __select@GLIBC_2.0 select@GLIBC_2.0 osf_gettimeofday - osf_gettimeofday 2 __gettimeofday_tv32 __gettimeofday@GLIBC_2.0 gettimeofday@GLIBC_2.0 osf_settimeofday - osf_settimeofday 2 __settimeofday_tv32 settimeofday@GLIBC_2.0 osf_getitimer - osf_getitimer 2 __getitimer_tv32 getitimer@GLIBC_2.0 @@ -54,7 +32,6 @@ osf_getrusage - osf_getrusage 2 __getrusage_tv32 getrusage@GLIBC_2.0 osf_wait4 - osf_wait4 4 __wait4_tv32 wait4@GLIBC_2.0 # support new timeval64 entry points -select - select C:5 __GI___select select@@GLIBC_2.1 __select@@GLIBC_2.1 gettimeofday - gettimeofday 2 __GI___gettimeofday gettimeofday@@GLIBC_2.1 __gettimeofday@@GLIBC_2.1 settimeofday - settimeofday 2 __settimeofday settimeofday@@GLIBC_2.1 getitimer - getitimer 2 __getitimer getitimer@@GLIBC_2.1 diff --git a/sysdeps/unix/sysv/linux/alpha/sysconf.c b/sysdeps/unix/sysv/linux/alpha/sysconf.c index 2fd4981d60..a1d56ca88b 100644 --- a/sysdeps/unix/sysv/linux/alpha/sysconf.c +++ b/sysdeps/unix/sysv/linux/alpha/sysconf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h b/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h deleted file mode 100644 index ddfed5d497..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright (C) 2003-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 - 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/>. */ - -#include <sysdep.h> -#include <tls.h> -#ifndef __ASSEMBLER__ -# include <nptl/pthreadP.h> -#endif - -#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) - -/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END - besides "ret". */ - -# undef PSEUDO -# define PSEUDO(name, syscall_name, args) \ - .globl __##syscall_name##_nocancel; \ - .type __##syscall_name##_nocancel, @function; \ - .usepv __##syscall_name##_nocancel, std; \ - .align 4; \ - cfi_startproc; \ -__LABEL(__##syscall_name##_nocancel) \ - ldgp gp, 0(pv); \ - PSEUDO_PROF; \ -__LABEL($pseudo_nocancel) \ - PSEUDO_PREPARE_ARGS; \ - lda v0, SYS_ify(syscall_name); \ - call_pal PAL_callsys; \ - bne a3, SYSCALL_ERROR_LABEL; \ -__LABEL($pseudo_ret) \ - .subsection 2; \ - .size __##syscall_name##_nocancel, .-__##syscall_name##_nocancel; \ - .globl name; \ - .type name, @function; \ - .usepv name, std; \ - .align 4; \ - cfi_startproc; \ -__LABEL(name) \ - ldgp gp, 0(pv); \ - PSEUDO_PROF; \ - SINGLE_THREAD_P(t0); \ - beq t0, $pseudo_nocancel; \ - subq sp, 64, sp; \ - cfi_def_cfa_offset(64); \ - stq ra, 0(sp); \ - cfi_offset(ra, -64); \ - SAVE_ARGS_##args; \ - CENABLE; \ - LOAD_ARGS_##args; \ - /* Save the CENABLE return value in RA. That register \ - is preserved across syscall and the real return \ - address is saved on the stack. */ \ - mov v0, ra; \ - lda v0, SYS_ify(syscall_name); \ - call_pal PAL_callsys; \ - stq v0, 8(sp); \ - mov ra, a0; \ - bne a3, $multi_error; \ - CDISABLE; \ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ - cfi_remember_state; \ - cfi_restore(ra); \ - cfi_def_cfa_offset(0); \ - ret; \ - cfi_restore_state; \ -__LABEL($multi_error) \ - CDISABLE; \ - ldq ra, 0(sp); \ - ldq v0, 8(sp); \ - addq sp, 64, sp; \ - cfi_restore(ra); \ - cfi_def_cfa_offset(0); \ - SYSCALL_ERROR_FALLTHRU; \ - SYSCALL_ERROR_HANDLER; \ - cfi_endproc; \ - .previous - -# undef PSEUDO_END -# define PSEUDO_END(sym) \ - cfi_endproc; \ - .subsection 2; \ - .size sym, .-sym - -# define SAVE_ARGS_0 /* Nothing. */ -# define SAVE_ARGS_1 SAVE_ARGS_0; stq a0, 8(sp) -# define SAVE_ARGS_2 SAVE_ARGS_1; stq a1, 16(sp) -# define SAVE_ARGS_3 SAVE_ARGS_2; stq a2, 24(sp) -# define SAVE_ARGS_4 SAVE_ARGS_3; stq a3, 32(sp) -# define SAVE_ARGS_5 SAVE_ARGS_4; stq a4, 40(sp) -# define SAVE_ARGS_6 SAVE_ARGS_5; stq a5, 48(sp) - -# define LOAD_ARGS_0 /* Nothing. */ -# define LOAD_ARGS_1 LOAD_ARGS_0; ldq a0, 8(sp) -# define LOAD_ARGS_2 LOAD_ARGS_1; ldq a1, 16(sp) -# define LOAD_ARGS_3 LOAD_ARGS_2; ldq a2, 24(sp) -# define LOAD_ARGS_4 LOAD_ARGS_3; ldq a3, 32(sp) -# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp) -# define LOAD_ARGS_6 LOAD_ARGS_5; ldq a5, 48(sp) - -# if IS_IN (libpthread) -# define __local_enable_asynccancel __pthread_enable_asynccancel -# define __local_disable_asynccancel __pthread_disable_asynccancel -# define __local_multiple_threads __pthread_multiple_threads -# elif IS_IN (libc) -# define __local_enable_asynccancel __libc_enable_asynccancel -# define __local_disable_asynccancel __libc_disable_asynccancel -# define __local_multiple_threads __libc_multiple_threads -# elif IS_IN (librt) -# define __local_enable_asynccancel __librt_enable_asynccancel -# define __local_disable_asynccancel __librt_disable_asynccancel -# else -# error Unsupported library -# endif - -# ifdef PIC -# define CENABLE bsr ra, __local_enable_asynccancel !samegp -# define CDISABLE bsr ra, __local_disable_asynccancel !samegp -# else -# define CENABLE jsr ra, __local_enable_asynccancel; ldgp ra, 0(gp) -# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp) -# endif - -# if IS_IN (libpthread) || IS_IN (libc) -# ifndef __ASSEMBLER__ -extern int __local_multiple_threads attribute_hidden; -# define SINGLE_THREAD_P \ - __builtin_expect (__local_multiple_threads == 0, 1) -# elif defined(PIC) -# define SINGLE_THREAD_P(reg) ldl reg, __local_multiple_threads(gp) !gprel -# else -# define SINGLE_THREAD_P(reg) \ - ldah reg, __local_multiple_threads(gp) !gprelhigh; \ - ldl reg, __local_multiple_threads(reg) !gprellow -# endif -# else -# ifndef __ASSEMBLER__ -# define SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -# else -# define SINGLE_THREAD_P(reg) \ - call_pal PAL_rduniq; \ - ldl reg, MULTIPLE_THREADS_OFFSET($0) -# endif -# endif - -#else - -# define SINGLE_THREAD_P (1) -# define NO_CANCELLATION 1 - -#endif - -#ifndef __ASSEMBLER__ -# define RTLD_SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -#endif diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep.h b/sysdeps/unix/sysv/linux/alpha/sysdep.h index b6efc666e5..080405021f 100644 --- a/sysdeps/unix/sysv/linux/alpha/sysdep.h +++ b/sysdeps/unix/sysv/linux/alpha/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2016 Free Software Foundation, Inc. +/* Copyright (C) 1992-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. @@ -70,6 +70,8 @@ # define __NR_pwrite __NR_pwrite64 #endif +#define SINGLE_THREAD_BY_GLOBAL 1 + /* * In order to get the hidden arguments for rt_sigaction set up * properly, we need to call the assembly version. This shouldn't diff --git a/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym b/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym index f95ff75636..9e86f8a7ca 100644 --- a/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym +++ b/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym @@ -7,12 +7,12 @@ UC_OSF_SIGMASK offsetof (ucontext_t, __uc_osf_sigmask) UC_STACK offsetof (ucontext_t, uc_stack) UC_SIGCTX offsetof (ucontext_t, uc_mcontext) UC_SIGMASK offsetof (ucontext_t, uc_sigmask) -SC_REGS offsetof (struct sigcontext, sc_regs) -SC_FPREGS offsetof (struct sigcontext, sc_fpregs) -SC_PC offsetof (struct sigcontext, sc_pc) -SC_PS offsetof (struct sigcontext, sc_ps) -SC_FPCRS offsetof (struct sigcontext, sc_fpcr) -SC_MASK offsetof (struct sigcontext, sc_mask) -SC_FPCR offsetof (struct sigcontext, sc_fpcr) +SC_REGS offsetof (mcontext_t, sc_regs) +SC_FPREGS offsetof (mcontext_t, sc_fpregs) +SC_PC offsetof (mcontext_t, sc_pc) +SC_PS offsetof (mcontext_t, sc_ps) +SC_FPCRS offsetof (mcontext_t, sc_fpcr) +SC_MASK offsetof (mcontext_t, sc_mask) +SC_FPCR offsetof (mcontext_t, sc_fpcr) SS_SP offsetof (stack_t, ss_sp) SS_SIZE offsetof (stack_t, ss_size) diff --git a/sysdeps/unix/sysv/linux/alpha/vfork.S b/sysdeps/unix/sysv/linux/alpha/vfork.S index 9fc199ac41..73333da583 100644 --- a/sysdeps/unix/sysv/linux/alpha/vfork.S +++ b/sysdeps/unix/sysv/linux/alpha/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2018 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 @@ -25,24 +25,9 @@ ENTRY(__libc_vfork) rduniq mov v0, a1 - /* Save the TCB-cached PID away in A2, and then negate the TCB - field. But if it's zero, set it to 0x80000000 instead. See - raise.c for the logic that relies on this value. */ - ldl a2, PID_OFFSET(v0) - ldah t0, -0x8000 - negl a2, t1 - cmovne a2, t1, t0 - stl t0, PID_OFFSET(v0); - lda v0, SYS_ify(vfork) call_pal PAL_callsys - /* Restore the original value of the TCB cache of the PID, if we're - the parent. But in the child (syscall return value equals zero), - leave things as they are. */ - beq v0, 1f - stl a2, PID_OFFSET(a1) -1: /* Normal error check and return. */ bne a3, SYSCALL_ERROR_LABEL ret diff --git a/sysdeps/unix/sysv/linux/alpha/xstat.c b/sysdeps/unix/sysv/linux/alpha/xstat.c index eeb986b5d5..67ef9d109d 100644 --- a/sysdeps/unix/sysv/linux/alpha/xstat.c +++ b/sysdeps/unix/sysv/linux/alpha/xstat.c @@ -1,5 +1,5 @@ /* xstat using old-style Unix stat system call. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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/sysdeps/unix/sysv/linux/alpha/xstatconv.c b/sysdeps/unix/sysv/linux/alpha/xstatconv.c index fa44165359..f77af380ff 100644 --- a/sysdeps/unix/sysv/linux/alpha/xstatconv.c +++ b/sysdeps/unix/sysv/linux/alpha/xstatconv.c @@ -1,5 +1,5 @@ /* Convert between the kernel's `struct stat' format, and libc's. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2018 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/sysdeps/unix/sysv/linux/alpha/xstatconv.h b/sysdeps/unix/sysv/linux/alpha/xstatconv.h index fcf9767250..0ebb9c7339 100644 --- a/sysdeps/unix/sysv/linux/alpha/xstatconv.h +++ b/sysdeps/unix/sysv/linux/alpha/xstatconv.h @@ -1,5 +1,5 @@ /* Convert between the kernel's `struct stat' format, and libc's. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2018 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 |