summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/Makefile5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c)26
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/brk.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/clone.S21
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/configure4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c11
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h41
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist83
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist637
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist31
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/pause.c9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c54
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c49
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h10
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c33
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list10
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h109
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S22
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c2
50 files changed, 823 insertions, 426 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
index 7ea433f21f..715af3df7b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
@@ -7,8 +7,3 @@ LD += -melf64_sparc
ifeq ($(subdir),stdlib)
sysdep_routines += __start_context
endif
-
-ifeq ($(subdir),nptl)
-CFLAGS-pause.c += -fexceptions
-CFLAGS-sigsuspend.c += -fexceptions
-endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S
index 1132eda7a3..50b5d0543c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2009-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/sparc/sparc64/__start_context.S b/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
index d7542a6c2e..3f1e3f64da 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2012-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/sparc/sparc64/msgrcv.c b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h
index ccaa4eeddb..41595400f6 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h
@@ -1,9 +1,10 @@
-/* Copyright (C) 2010-2016 Free Software Foundation, Inc.
+/* Properties of long double type. SPARC 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
+ License 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,
@@ -15,18 +16,11 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <errno.h>
-#include <sys/msg.h>
-#include <ipc_priv.h>
+#include <bits/wordsize.h>
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-ssize_t
-__libc_msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp,
- int msgflg)
-{
- return SYSCALL_CANCEL (ipc, IPCOP_msgrcv, msqid, msgsz, msgflg,
- msgp, msgtyp);
-}
-weak_alias (__libc_msgrcv, msgrcv)
+#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32
+# define __LONG_DOUBLE_MATH_OPTIONAL 1
+# ifndef __LONG_DOUBLE_128__
+# define __NO_LONG_DOUBLE_MATH 1
+# endif
+#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S b/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
index 9efdb2a925..d8f8115758 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
@@ -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.
Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
index e2d3914358..81812c689f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
@@ -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.
Contributed by Richard Henderson (rth@tamu.edu).
@@ -24,9 +24,6 @@
#include <tcb-offsets.h>
#include <sysdep.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); */
@@ -52,7 +49,6 @@ ENTRY (__clone)
expects. Also, subtract STACK_BIAS. */
sub %i1, 192 + 0x7ff, %o1
mov %i3, %g3
- mov %i2, %g4
mov %i4,%o2 /* PTID */
mov %i5,%o3 /* TLS */
@@ -77,23 +73,14 @@ END(__clone)
.type __thread_start,@function
__thread_start:
- sethi %hi(CLONE_THREAD), %l0
- andcc %g4, %l0, %g0
- bne,pt %icc, 1f
- andcc %g4, CLONE_VM, %g0
- bne,a,pn %icc, 2f
- mov -1,%o0
- set __NR_getpid,%g1
- ta 0x6d
-2: st %o0,[%g7 + PID]
- st %o0,[%g7 + TID]
-1:
mov %g0, %fp /* terminate backtrace */
call %g2
mov %g3,%o0
- call HIDDEN_JUMPTARGET(_exit),0
+ set __NR_exit, %g1
+ ta 0x6d
nop
.size __thread_start, .-__thread_start
+libc_hidden_def (__clone)
weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/configure b/sysdeps/unix/sysv/linux/sparc/sparc64/configure
index 8f88eff4a3..4b92a40bd2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/configure
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/configure
@@ -4,8 +4,8 @@
test -n "$libc_cv_slibdir" ||
case "$prefix" in
/usr | /usr/)
- libc_cv_slibdir=/lib64
- libc_cv_rtlddir=/lib64
+ libc_cv_slibdir='/lib64'
+ libc_cv_rtlddir='/lib64'
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
# Locale data can be shared between 32-bit and 64-bit libraries.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h
index 0711f387d1..ce605a50d1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h
@@ -1,5 +1,5 @@
/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
- 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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
index 10420ae70e..6838a77a76 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
@@ -1,5 +1,5 @@
/* Get frequency of the system processor. sparc64 version.
- 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.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,6 @@
#include <stdlib.h>
#include <inttypes.h>
#include <sys/ioctl.h>
-#include <libc-internal.h>
#include <asm/openpromio.h>
static hp_timing_t
@@ -91,12 +90,12 @@ __get_clockfreq_via_proc_openprom (void)
if (obp_fd != -1)
{
unsigned long int buf[4096 / sizeof (unsigned long int)];
- struct dirent *dirp = (struct dirent *) buf;
+ struct dirent64 *dirp = (struct dirent64 *) buf;
ssize_t len;
- while ((len = __getdents (obp_fd, (char *) dirp, sizeof (buf))) > 0)
+ while ((len = __getdents64 (obp_fd, (char *) dirp, sizeof (buf))) > 0)
{
- struct dirent *this_dirp = dirp;
+ struct dirent64 *this_dirp = dirp;
while (len > 0)
{
@@ -141,7 +140,7 @@ __get_clockfreq_via_proc_openprom (void)
break;
len -= this_dirp->d_reclen;
- this_dirp = (struct dirent *)
+ this_dirp = (struct dirent64 *)
((char *) this_dirp + this_dirp->d_reclen);
}
if (result != 0)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S
index 02a22bfe66..e186fe350f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S
@@ -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.
Contributed by Richard Henderson (rth@tamu.edu).
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h b/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h
new file mode 100644
index 0000000000..9d7ad3e8a6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h
@@ -0,0 +1,41 @@
+/* Old SysV permission definition for Linux. x86_64 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 0x0
+
+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. */
+};
+
+/* SPARC semctl multiplex syscall expects the union pointed address, not
+ the union address itself. */
+#define SEMCTL_ARG_ADDRESS(__arg) __arg.array
+
+/* Also for msgrcv it does not use the kludge on final 2 arguments. */
+#define MSGRCV_ARGS(__msgp, __msgtyp) __msgp, __msgtyp
+
+#include <ipc_ops.h>
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h
new file mode 100644
index 0000000000..e86afd7b3d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h
@@ -0,0 +1,6 @@
+#define JMP_BUF_SIZE 640
+#define SIGJMP_BUF_SIZE 640
+#define JMP_BUF_ALIGN 16
+#define SIGJMP_BUF_ALIGN 16
+#define MASK_WAS_SAVED_OFFSET 496
+#define SAVED_MASK_OFFSET 504
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h b/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
index 2a26a78d9c..30afb553b9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
@@ -45,3 +45,4 @@ struct kernel_stat64
};
#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
index 9041ccbe60..82042472c3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
@@ -1,5 +1,3 @@
-GLIBC_2.2 GLIBC_2.2 A
-GLIBC_2.2 __libc_memalign F
GLIBC_2.2 __libc_stack_end D 0x8
GLIBC_2.2 _dl_mcount F
GLIBC_2.2 _r_debug D 0x28
@@ -7,6 +5,4 @@ GLIBC_2.2 calloc F
GLIBC_2.2 free F
GLIBC_2.2 malloc F
GLIBC_2.2 realloc F
-GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __tls_get_addr F
-GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist
index 21343df781..0e4d814909 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist
@@ -1,2 +1 @@
-GLIBC_2.2 GLIBC_2.2 A
GLIBC_2.2 __ctype_get_mb_cur_max F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist
index edabfb436e..d9a5ed015d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 91b97ef1c8..6731ebfc28 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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.10 GLIBC_2.10 A
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -30,33 +28,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 0x438
GLIBC_2.12 _sys_nerr D 0x4
GLIBC_2.12 ntp_gettimex F
GLIBC_2.12 recvmmsg F
GLIBC_2.12 sys_errlist D 0x438
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
@@ -65,7 +58,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 __getshmlba F
GLIBC_2.16 __poll_chk F
@@ -81,16 +73,13 @@ GLIBC_2.16 mbrtoc32 F
GLIBC_2.16 sys_errlist D 0x440
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 _Exit F
GLIBC_2.2 _IO_2_1_stderr_ D 0xe0
GLIBC_2.2 _IO_2_1_stdin_ D 0xe0
@@ -1873,34 +1862,81 @@ GLIBC_2.2 xdrstdio_create F
GLIBC_2.2 xencrypt F
GLIBC_2.2 xprt_register F
GLIBC_2.2 xprt_unregister 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 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 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
@@ -1992,7 +2028,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
@@ -2005,7 +2040,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
@@ -2026,7 +2060,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 __chk_fail F
GLIBC_2.3.4 __fprintf_chk F
GLIBC_2.3.4 __gets_chk F
@@ -2056,7 +2089,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 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
@@ -2133,7 +2165,6 @@ GLIBC_2.4 sys_errlist D 0x430
GLIBC_2.4 sys_nerr D 0x4
GLIBC_2.4 unlinkat F
GLIBC_2.4 unshare 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
@@ -2151,7 +2182,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
@@ -2159,7 +2189,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
@@ -2186,7 +2215,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 __obstack_printf_chk F
@@ -2197,7 +2225,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/sparc/sparc64/libcrypt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist
index 4db2639336..cd6ba95280 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
index 5536f6e0a9..7826fde951 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index b56add357b..470e64f4ef 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1,4 +1,3 @@
-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
@@ -80,11 +79,9 @@ 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.2 GLIBC_2.2 A
GLIBC_2.2 _LIB_VERSION D 0x4
GLIBC_2.2 __clog10 F
GLIBC_2.2 __clog10f F
@@ -399,9 +396,639 @@ GLIBC_2.2 y1l F
GLIBC_2.2 yn F
GLIBC_2.2 ynf F
GLIBC_2.2 ynl 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.4 GLIBC_2.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 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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist
index a23db2aeaf..add3d66a7a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index d4c8dedd6c..ccc9449826 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -1,15 +1,11 @@
-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 _IO_flockfile F
GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
@@ -200,18 +196,35 @@ GLIBC_2.2 vfork F
GLIBC_2.2 wait F
GLIBC_2.2 waitpid F
GLIBC_2.2 write 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
@@ -229,13 +242,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/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
index 2d92a35e81..06f995151c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
index 8699f6ccc4..d7a049cf60 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libthread_db.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist
index a8a8c2c68d..2db0992737 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/libutil.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
index 89c67755c4..aa2d35b323 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/localplt.data b/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
index 633cfe4493..b881b9096d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
@@ -1,4 +1,5 @@
libc.so: _Qp_add ?
+libc.so: _Qp_cmp ?
libc.so: _Qp_div ?
libc.so: _Qp_feq ?
libc.so: _Qp_fge ?
@@ -17,11 +18,14 @@ libc.so: malloc
libc.so: memalign
libc.so: realloc
libm.so: matherr
-# The dynamic loader uses __libc_memalign internally to allocate
-# aligned TLS storage. The other malloc family of functions are
-# expected to allow user symbol interposition.
-ld.so: __libc_memalign
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
ld.so: malloc
ld.so: calloc
ld.so: realloc
ld.so: free
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error
+ld.so: _dl_catch_error
+ld.so: _dl_signal_exception
+ld.so: _dl_catch_exception
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S b/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
index 37511ffd9e..5937396fc7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
@@ -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.
Contributed by Richard Henderson (rth@tamu.edu).
@@ -45,7 +45,6 @@ END(__libc_siglongjmp)
strong_alias(__libc_siglongjmp, __longjmp)
strong_alias(__libc_siglongjmp, __libc_longjmp)
-libc_hidden_def (__libc_longjmp)
weak_alias (__libc_siglongjmp, longjmp)
weak_alias (__libc_siglongjmp, _longjmp)
weak_alias (__libc_siglongjmp, siglongjmp)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
index 89c5343175..3f02c9361b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.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 Jakub Jelinek <jakub@redhat.com>.
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include <ucontext.h>
-extern void __start_context (struct ucontext *ucp);
+extern void __start_context (ucontext_t *ucp);
void
__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c b/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c
deleted file mode 100644
index e399e7c7eb..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <errno.h>
-#include <signal.h>
-#include <unistd.h>
-#include <sysdep-cancel.h>
-
-#define __sigprocmask(how, set, oset) \
- INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8)
-
-#include <sysdeps/posix/pause.c>
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
index 48493330a0..a6e530d4fc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
@@ -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.
Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h b/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
index ccef57d029..6cf82147dc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
@@ -1,5 +1,5 @@
/* Low-level statistical profiling support function. Linux/Sparc64 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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h b/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
index 6cfe4f3696..b05897751d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
@@ -1,5 +1,5 @@
/* Dump registers.
- 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 Jakub Jelinek <jj@ultra.linux.cz>, 1999.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c b/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
deleted file mode 100644
index a9ae4c6076..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 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/>. */
-
-#include <errno.h>
-#include <stdarg.h>
-#include <sys/sem.h>
-#include <ipc_priv.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Define a `union semun' suitable for Linux here. */
-union semun
-{
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short int *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
-};
-
-/* Return identifier for array of NSEMS semaphores associated with
- KEY. */
-
-int
-semctl (int semid, int semnum, int cmd, ...)
-{
- union semun arg;
- va_list ap;
-
- va_start (ap, cmd);
-
- /* Get the argument. */
- arg = va_arg (ap, union semun);
-
- va_end (ap);
-
- return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
- arg.array);
-}
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
index f7d30c7e30..02ed090b11 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
@@ -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.
Contributed by Richard Henderson (rth@tamu.edu).
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S b/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S
index 1be32d917a..bd01ba379c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S
@@ -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.
Contributed by Richard Henderson (rth@tamu.edu).
@@ -61,6 +61,7 @@ __sigsetjmp_local:
mov %g1, %o0
END(__sigsetjmp)
+hidden_def (__sigsetjmp)
weak_extern(_setjmp)
weak_extern(setjmp)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
index 50c444c72d..cfbbc6e7b4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
@@ -1,5 +1,5 @@
/* POSIX.1 sigaction call for Linux/SPARC64.
- 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.
Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx> and
Jakub Jelinek <jj@ultra.linux.cz>.
@@ -21,52 +21,17 @@
#include <string.h>
#include <syscall.h>
#include <sysdep.h>
-#include <sys/signal.h>
-#include <errno.h>
-
-#include <kernel_sigaction.h>
-
-/* SPARC 64bit userland requires a kernel that has rt signals anyway. */
static void __rt_sigreturn_stub (void);
-int
-__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
-{
- int ret;
- struct kernel_sigaction kact, koact;
- unsigned long stub = ((unsigned long) &__rt_sigreturn_stub) - 8;
-
- if (act)
- {
- kact.k_sa_handler = act->sa_handler;
- memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
- kact.sa_flags = act->sa_flags;
- kact.sa_restorer = NULL;
- }
-
- /* XXX The size argument hopefully will have to be changed to the
- real size of the user-level sigset_t. */
- ret = INLINE_SYSCALL (rt_sigaction, 5, sig,
- act ? &kact : 0,
- oact ? &koact : 0, stub, _NSIG / 8);
-
- if (oact && ret >= 0)
- {
- oact->sa_handler = koact.k_sa_handler;
- memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
- oact->sa_flags = koact.sa_flags;
- oact->sa_restorer = koact.sa_restorer;
- }
-
- return ret;
-}
-libc_hidden_def (__libc_sigaction)
-
-#include <nptl/sigaction.c>
+#define STUB(act) \
+ (((unsigned long) &__rt_sigreturn_stub) - 8),
+#include <sysdeps/unix/sysv/linux/sigaction.c>
-static void
+static
+inhibit_stack_protector
+void
__rt_sigreturn_stub (void)
{
__asm__ ("mov %0, %%g1\n\t"
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
index ab2233d911..32066eb3a3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
@@ -20,12 +20,4 @@
#define STACK_BIAS 2047
#endif
#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(__ctx) ((void *) ((__ctx)->sigc_regs.tpc))
-#define ADVANCE_STACK_FRAME(__next) \
- ((void *) (((unsigned long *) (((unsigned long int) (__next)) \
- + STACK_BIAS))+14))
-#define GET_STACK(__ctx) ((void *) ((__ctx)->sigc_regs.u_regs[14]))
-#define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK (__ctx))
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
deleted file mode 100644
index 0deaafccd5..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- 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 <errno.h>
-#include <signal.h>
-#include <unistd.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-/* Change the set of blocked signals to SET,
- wait until a signal arrives, and restore the set of blocked signals. */
-int
-sigpending (sigset_t *set)
-{
- /* XXX The size argument hopefully will have to be changed to the
- real size of the user-level sigset_t. */
- return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
-}
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
index 5732db4169..a31f831417 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
@@ -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
@@ -30,4 +30,5 @@ __sigprocmask (int how, const sigset_t *set, sigset_t *oset)
real size of the user-level sigset_t. */
return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
}
+libc_hidden_def (__sigprocmask)
weak_alias (__sigprocmask, sigprocmask)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h
index bc0aad6e22..888859d86a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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/sparc/sparc64/swapcontext.c b/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c
index 6e5ecc8fa7..d2eaef4cf8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.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 Jakub Jelinek <jakub@redhat.com>.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
index 4e530b8b56..e358a8bff0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
@@ -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/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
index 3d1c1daac9..33082f31eb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
@@ -1,20 +1,10 @@
# File name Caller Syscall name # args Strong name Weak names
-# Override select.S in parent directory:
-select - select C:5 __select select
-accept - accept C:3 __libc_accept __accept accept
bind - bind 3 __bind bind
-connect - connect C:3 __libc_connect __connect connect
getpeername - getpeername 3 __getpeername getpeername
getsockname - getsockname 3 __getsockname getsockname
getsockopt - getsockopt 5 __getsockopt getsockopt
listen - listen 2 __listen listen
-recv - recv C:4 __libc_recv __recv recv
-recvfrom - recvfrom C:6 __libc_recvfrom __recvfrom recvfrom
-recvmsg - recvmsg C:3 __libc_recvmsg __recvmsg recvmsg
-send - send C:4 __libc_send __send send
-sendmsg - sendmsg C:3 __libc_sendmsg __sendmsg sendmsg
-sendto - sendto C:6 __libc_sendto __sendto sendto
setsockopt - setsockopt 5 __setsockopt setsockopt
shutdown - shutdown 2 __shutdown shutdown
socketpair - socketpair 4 __socketpair socketpair
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
deleted file mode 100644
index 919682d7b5..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (C) 2002-2016 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
-
- 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)
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args) \
- .text; \
- .globl __syscall_error; \
-ENTRY(name) \
- ld [%g7 + MULTIPLE_THREADS_OFFSET], %g1;\
- brnz,pn %g1, 1f; \
-.type __##syscall_name##_nocancel,@function; \
-.globl __##syscall_name##_nocancel; \
-__##syscall_name##_nocancel: \
- mov SYS_ify(syscall_name), %g1; \
- ta 0x6d; \
- bcc,pt %xcc, 8f; \
- mov %o7, %g1; \
- call __syscall_error; \
- mov %g1, %o7; \
-8: jmpl %o7 + 8, %g0; \
- nop; \
-.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;\
-1: save %sp, -192, %sp; \
- cfi_def_cfa_register(%fp); \
- cfi_window_save; \
- cfi_register(%o7, %i7); \
- CENABLE; \
- nop; \
- mov %o0, %l0; \
- COPY_ARGS_##args \
- mov SYS_ify(syscall_name), %g1; \
- ta 0x6d; \
- bcc,pt %xcc, 1f; \
- mov %o0, %l1; \
- CDISABLE; \
- mov %l0, %o0; \
- call __syscall_error; \
- mov %l1, %o0; \
- ba,pt %xcc, 2f; \
- mov -1, %l1; \
-1: CDISABLE; \
- mov %l0, %o0; \
-2: jmpl %i7 + 8, %g0; \
- restore %g0, %l1, %o0;
-
-# if IS_IN (libpthread)
-# define CENABLE call __pthread_enable_asynccancel
-# define CDISABLE call __pthread_disable_asynccancel
-# elif IS_IN (libc)
-# define CENABLE call __libc_enable_asynccancel
-# define CDISABLE call __libc_disable_asynccancel
-# elif IS_IN (librt)
-# define CENABLE call __librt_enable_asynccancel
-# define CDISABLE call __librt_disable_asynccancel
-# else
-# error Unsupported library
-# endif
-
-#define COPY_ARGS_0 /* Nothing */
-#define COPY_ARGS_1 COPY_ARGS_0 mov %i0, %o0;
-#define COPY_ARGS_2 COPY_ARGS_1 mov %i1, %o1;
-#define COPY_ARGS_3 COPY_ARGS_2 mov %i2, %o2;
-#define COPY_ARGS_4 COPY_ARGS_3 mov %i3, %o3;
-#define COPY_ARGS_5 COPY_ARGS_4 mov %i4, %o4;
-#define COPY_ARGS_6 COPY_ARGS_5 mov %i5, %o5;
-
-# ifndef __ASSEMBLER__
-# define SINGLE_THREAD_P \
- __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
- header.multiple_threads) == 0, 1)
-# else
-# define SINGLE_THREAD_P ld [%g7 + MULTIPLE_THREADS_OFFSET], %g1
-# endif
-
-#elif !defined __ASSEMBLER__
-
-# 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/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
index 5d11799e34..0fb2e427f8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.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.
Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h b/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h
index 80180a4da8..7d1276aa00 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h
@@ -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 Jakub Jelinek <jakub@redhat.com>.
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
index 05be3c2809..eb1db699fe 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/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.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
@@ -21,29 +21,21 @@
.text
.globl __syscall_error
-ENTRY(__vfork)
- ld [%g7 + PID], %o5
- sethi %hi(0x80000000), %o3
- cmp %o5, 0
- sub %g0, %o5, %o4
- move %icc, %o3, %o4
- st %o4, [%g7 + PID]
-
+ENTRY(__libc_vfork)
LOADSYSCALL(vfork)
ta 0x6d
bcc,pt %xcc, 2f
mov %o7, %g1
- st %o5, [%g7 + PID]
call __syscall_error
mov %g1, %o7
2: sub %o1, 1, %o1
andcc %o0, %o1, %o0
- bne,a,pt %icc, 1f
- st %o5, [%g7 + PID]
1: retl
nop
-END(__vfork)
+END(__libc_vfork)
+#if IS_IN (libc)
+weak_alias (__libc_vfork, vfork)
+strong_alias (__libc_vfork, __vfork)
libc_hidden_def (__vfork)
-weak_alias (__vfork, vfork)
-strong_alias (__vfork, __libc_vfork)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c b/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
index 9d3ae12196..142d30cd64 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.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.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c b/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c
index 2c127721b2..76b9296f05 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c
@@ -1,5 +1,5 @@
/* Convert between the kernel's `struct stat' format, and libc's.
- 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