diff options
Diffstat (limited to 'REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32')
54 files changed, 5495 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies new file mode 100644 index 0000000000..efda9d27c0 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Implies @@ -0,0 +1,3 @@ +# These supply the ABI compatibility for when long double was double. +ieee754/ldbl-64-128 +ieee754/ldbl-opt diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile new file mode 100644 index 0000000000..21c7dc1680 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile @@ -0,0 +1,28 @@ +# See Makeconfig regarding the use of default-abi. +default-abi := 32 + +asm-CPPFLAGS = -D__ASSEMBLY__ +ASFLAGS-.os += -fPIC +LD += -melf32_sparc + +ifeq ($(subdir),stdlib) +gen-as-const-headers += ucontext_i.sym +endif + +# When I get this to work, this is the right thing +ifeq ($(subdir),elf) +CFLAGS-rtld.c += -mcpu=v8 +#rtld-routines += dl-sysdepsparc +sysdep-others += lddlibc4 +install-bin += lddlibc4 +endif # elf + +ifeq ($(subdir),math) +# These 2 routines are normally in libgcc{.a,_s.so.1}. +# However, sparc32 -mlong-double-128 libgcc relies on +# glibc providing _Q_* routines and without these files +# glibc relies on __multc3/__divtc3 only provided +# by libgcc if configured with -mlong-double-128. +# Provide these routines here as well. +libm-routines += multc3 divtc3 +endif # math diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions new file mode 100644 index 0000000000..c9a5b3e9d5 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/Versions @@ -0,0 +1,26 @@ +libc { + GLIBC_2.0 { + # Exception handling support functions from libgcc + __register_frame; __register_frame_table; __deregister_frame; + __frame_state_for; __register_frame_info_table; + } + GLIBC_2.2 { + # functions used in other libraries + __xstat64; __fxstat64; __lxstat64; + + # g* + glob64; + + # r* + readdir64; readdir64_r; + + # s* + scandir64; + } + GLIBC_2.3.3 { + posix_fadvise64; posix_fallocate64; + } + GLIBC_2.11 { + fallocate64; + } +} diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S new file mode 100644 index 0000000000..ff65bbd487 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S @@ -0,0 +1,113 @@ +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <jmpbuf-offsets.h> + +#define ENV(base,reg) [%base + (reg * 4)] +#define ST_FLUSH_WINDOWS 3 + +.section .rodata.str1.1,"aMS",@progbits,1 + .type longjmp_msg,@object +longjmp_msg: + .string "longjmp causes uninitialized stack frame" + .size longjmp_msg, .-longjmp_msg + + .text +ENTRY (____longjmp_chk) + ld ENV(o0,JB_SP), %g5 +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (%g5, %g5, %g4) +#endif + + cmp %sp, %g5 + bleu .Lok_norestore + nop + + save %sp, -80, %sp + cfi_remember_state + cfi_def_cfa_register(%fp) + cfi_window_save + cfi_register(%o7, %i7) + + clr %o0 + add %sp, 64, %o1 + LOADSYSCALL(sigaltstack) + ta 0x10 + bcs .Lok + ld [%sp + 64 + 4], %o2 + andcc %o2, 0x1, %g0 + be .Lfail + ld [%sp + 64 + 0], %o0 + + ld [%sp + 64 + 8], %o1 + add %o0, %o1, %o0 + sub %o0, %g5, %o0 + cmp %o0, %o1 + bgeu .Lok + nop + +.Lfail: +#ifndef PIC + sethi %hi(longjmp_msg), %o0 + or %o0, %lo(longjmp_msg), %o0 +#else + SETUP_PIC_REG(l7) + sethi %gdop_hix22(longjmp_msg), %o0 + xor %o0, %gdop_lox10(longjmp_msg), %o0 + ld [%l7 + %o0], %o0, %gdop(longjmp_msg) +#endif + call HIDDEN_JUMPTARGET(__fortify_fail) + nop + +.Lok: + restore + cfi_restore_state + +.Lok_norestore: + ld ENV(o0,JB_FP), %g3 /* Cache target FP in register %g3. */ +#ifdef PTR_DEMANGLE + PTR_DEMANGLE2 (%g3, %g3, %g4) +#endif + + mov %o0, %g1 /* ENV in %g1 */ + orcc %o1, %g0, %g2 /* VAL in %g2 */ + be,a 0f /* Branch if zero; else skip delay slot. */ + mov 1, %g2 /* Delay slot only hit if zero: VAL = 1. */ +0: + + save %sp, -96, %sp + /* + * Do a "flush register windows trap". The trap handler in the + * kernel writes all the register windows to their stack slots, and + * marks them all as invalid (needing to be sucked up from the + * stack when used). This ensures that all information needed to + * unwind to these callers is in memory, not in the register + * windows. + */ + ta ST_FLUSH_WINDOWS +#ifdef PTR_DEMANGLE + ld ENV(g1,JB_PC), %g1 /* Set return PC. */ + PTR_DEMANGLE2 (%i7, %g1, %g4) +#else + ld ENV(g1,JB_PC), %i7 /* Set return PC. */ +#endif + mov %g5, %fp + jmp %i7 + 8 + restore %g2, 0, %o0 /* Restore values from above register frame. */ + +END(____longjmp_chk) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c new file mode 100644 index 0000000000..7162eb27b7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c @@ -0,0 +1,54 @@ +/* brk system call for Linux/SPARC. + Copyright (C) 1995-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx) + + 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 <unistd.h> +#include <sysdep.h> + +/* This must be initialized data because commons can't have aliases. */ +void *__curbrk = 0; + +/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt + to work around different old braindamage in the old Linux ELF dynamic + linker. */ +weak_alias (__curbrk, ___brk_addr) + +int +__brk (void *addr) +{ + void *newbrk; + + { + register void *o0 __asm__("%o0") = addr; + register int g1 __asm__("%g1") = __NR_brk; + __asm ("t 0x10" : "=r"(o0) : "r"(g1), "0"(o0) : "cc"); + newbrk = o0; + } + + __curbrk = newbrk; + + if (newbrk < addr) + { + __set_errno (ENOMEM); + return -1; + } + + return 0; +} +weak_alias (__brk, brk) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data new file mode 100644 index 0000000000..b3c19d9c61 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/c++-types.data @@ -0,0 +1,67 @@ +blkcnt64_t:x +blkcnt_t:l +blksize_t:l +caddr_t:Pc +clockid_t:i +clock_t:l +daddr_t:i +dev_t:y +fd_mask:l +fsblkcnt64_t:y +fsblkcnt_t:m +fsfilcnt64_t:y +fsfilcnt_t:m +fsid_t:8__fsid_t +gid_t:j +id_t:j +ino64_t:y +ino_t:m +int16_t:s +int32_t:i +int64_t:x +int8_t:a +intptr_t:i +key_t:i +loff_t:x +mode_t:j +nlink_t:j +off64_t:x +off_t:l +pid_t:i +pthread_attr_t:14pthread_attr_t +pthread_barrier_t:17pthread_barrier_t +pthread_barrierattr_t:21pthread_barrierattr_t +pthread_cond_t:14pthread_cond_t +pthread_condattr_t:18pthread_condattr_t +pthread_key_t:j +pthread_mutex_t:15pthread_mutex_t +pthread_mutexattr_t:19pthread_mutexattr_t +pthread_once_t:i +pthread_rwlock_t:16pthread_rwlock_t +pthread_rwlockattr_t:20pthread_rwlockattr_t +pthread_spinlock_t:i +pthread_t:m +quad_t:x +register_t:i +rlim64_t:y +rlim_t:m +sigset_t:10__sigset_t +size_t:j +socklen_t:j +ssize_t:i +suseconds_t:i +time_t:l +u_char:h +uid_t:j +uint:j +u_int:j +u_int16_t:t +u_int32_t:j +u_int64_t:y +u_int8_t:h +ulong:m +u_long:m +u_quad_t:y +useconds_t:j +ushort:t +u_short:t diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S new file mode 100644 index 0000000000..6d2f5bd55f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S @@ -0,0 +1,90 @@ +/* Copyright (C) 1996-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Richard Henderson (rth@tamu.edu). + + 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/>. */ + +/* clone() is even more special than fork() as it mucks with stacks + and invokes a function in the right context after its all over. */ + +#include <asm/errno.h> +#include <asm/unistd.h> +#include <tcb-offsets.h> +#include <sysdep.h> + +#define CLONE_VM 0x00000100 + +/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, + pid_t *ptid, void *tls, pid_t *ctid); */ + + .text +ENTRY (__clone) + save %sp,-96,%sp + cfi_def_cfa_register(%fp) + cfi_window_save + cfi_register(%o7, %i7) + + /* sanity check arguments */ + orcc %i0,%g0,%g2 + be .Leinval + orcc %i1,%g0,%o1 + be .Leinval + mov %i2,%o0 + + /* The child_stack is the top of the stack, allocate one + whole stack frame from that as this is what the kernel + expects. */ + sub %o1, 96, %o1 + mov %i3, %g3 + + /* ptid */ + mov %i4,%o2 + /* tls */ + mov %i5,%o3 + /* ctid */ + ld [%fp+92],%o4 + + /* Do the system call */ + set __NR_clone,%g1 + ta 0x10 + bcs .Lerror + tst %o1 + bne __thread_start + nop + jmpl %i7 + 8, %g0 + restore %o0,%g0,%o0 + +.Leinval: + mov EINVAL, %o0 +.Lerror: + call HIDDEN_JUMPTARGET(__errno_location) + mov %o0, %i0 + st %i0,[%o0] + jmpl %i7 + 8, %g0 + restore %g0,-1,%o0 +END(__clone) + + .type __thread_start,@function +__thread_start: + mov %g0, %fp /* terminate backtrace */ + call %g2 + mov %g3,%o0 + call HIDDEN_JUMPTARGET(_exit),0 + nop + + .size __thread_start, .-__thread_start + +libc_hidden_def (__clone) +weak_alias (__clone, clone) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c new file mode 100644 index 0000000000..ea951bc4f9 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/fcntl.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies new file mode 100644 index 0000000000..dbcd1e9e6f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies @@ -0,0 +1,2 @@ +# We must list this here to move it ahead of the ldbl-opt code. +sparc/sparc32/fpu diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c new file mode 100644 index 0000000000..4f219f0b9d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/fxstat.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c new file mode 100644 index 0000000000..0f8b3135d8 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/fxstatat.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S new file mode 100644 index 0000000000..893d7bf5b5 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S @@ -0,0 +1,84 @@ +/* Save current context. + Copyright (C) 2008-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David S. Miller <davem@davemloft.net>, 2008. + + 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 "ucontext_i.h" + +/* int __getcontext (ucontext_t *ucp) + + Saves the machine context in UCP such that when it is activated, + it appears as if __getcontext() returned again. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to save anything + other than the PRESERVED state. */ + + +ENTRY(__getcontext) + save %sp, -112, %sp + st %g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PSR] + + /* In reality, we only use the GREG_PC value when setting + or swapping contexts. But we fill in NPC for completeness. */ + add %i7, 8, %o0 + st %o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PC] + add %o0, 4, %o0 + st %o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_NPC] + + rd %y, %o1 + st %o1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y] + + st %g1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G1] + st %g2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2] + st %g3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3] + st %g4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4] + st %g5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5] + st %g6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6] + st %g7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7] + + mov SIG_BLOCK, %o0 + clr %o1 + add %i0, UC_SIGMASK, %o2 + mov 8, %o3 + mov __NR_rt_sigprocmask, %g1 + ta 0x10 + + /* Zero, success, return value. */ + st %g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O0] + st %i1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1] + st %i2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2] + st %i3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3] + st %i4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4] + st %i5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5] + st %i6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6] + st %i7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O7] + + st %g0, [%i0 + UC_MCONTEXT + MC_GWINS] + + /* Do not save FPU state, it is volatile across calls. */ + stb %g0, [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN] + + st %g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_ID] + st %g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_PTR] + jmpl %i7 + 8, %g0 + restore %g0, %g0, %o0 +END(__getcontext) + +weak_alias (__getcontext, getcontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c new file mode 100644 index 0000000000..0c75fb5a06 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/getdents64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c new file mode 100644 index 0000000000..82a9a296a7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/glob64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h new file mode 100644 index 0000000000..a4416009f1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h @@ -0,0 +1,35 @@ +/* Definition of `struct stat' used in the kernel */ +struct kernel_stat + { + unsigned short int st_dev; + unsigned long int st_ino; + unsigned short int st_mode; + short int st_nlink; + unsigned short int st_uid; + unsigned short int st_gid; + unsigned short int st_rdev; + long int st_size; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + long int st_blksize; + long int st_blocks; + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + }; + +#define _HAVE___UNUSED4 +#define _HAVE___UNUSED5 + +#define _HAVE_STAT___UNUSED4 +#define _HAVE_STAT___UNUSED5 +#define _HAVE_STAT___PAD1 +#define _HAVE_STAT___PAD2 +#define _HAVE_STAT64___UNUSED4 +#define _HAVE_STAT64___UNUSED5 +#define _HAVE_STAT64___PAD2 +#define _HAVE_STAT_NSEC +#define _HAVE_STAT64_NSEC + +#define XSTAT_IS_XSTAT64 0 +#define STATFS_IS_STATFS64 0 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist new file mode 100644 index 0000000000..fb4bcb016d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist @@ -0,0 +1,12 @@ +GLIBC_2.0 GLIBC_2.0 A +GLIBC_2.0 _r_debug D 0x14 +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 0x4 +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 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist new file mode 100644 index 0000000000..4a56bb68a3 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libBrokenLocale.abilist @@ -0,0 +1,2 @@ +GLIBC_2.0 GLIBC_2.0 A +GLIBC_2.0 __ctype_get_mb_cur_max F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist new file mode 100644 index 0000000000..edabfb436e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist @@ -0,0 +1,5 @@ +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 +GLIBC_2.2.3 getaddrinfo_a F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist new file mode 100644 index 0000000000..8c4c2e502c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -0,0 +1,2479 @@ +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 .div F +GLIBC_2.0 .mul F +GLIBC_2.0 .rem F +GLIBC_2.0 .udiv F +GLIBC_2.0 .umul F +GLIBC_2.0 .urem 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 +GLIBC_2.0 _IO_default_pbackfail F +GLIBC_2.0 _IO_default_uflow F +GLIBC_2.0 _IO_default_xsgetn F +GLIBC_2.0 _IO_default_xsputn F +GLIBC_2.0 _IO_do_write F +GLIBC_2.0 _IO_doallocbuf F +GLIBC_2.0 _IO_fclose F +GLIBC_2.0 _IO_fdopen F +GLIBC_2.0 _IO_feof F +GLIBC_2.0 _IO_ferror F +GLIBC_2.0 _IO_fflush F +GLIBC_2.0 _IO_fgetpos F +GLIBC_2.0 _IO_fgets F +GLIBC_2.0 _IO_file_attach F +GLIBC_2.0 _IO_file_close F +GLIBC_2.0 _IO_file_close_it F +GLIBC_2.0 _IO_file_doallocate F +GLIBC_2.0 _IO_file_fopen F +GLIBC_2.0 _IO_file_init F +GLIBC_2.0 _IO_file_jumps D 0x54 +GLIBC_2.0 _IO_file_open F +GLIBC_2.0 _IO_file_overflow F +GLIBC_2.0 _IO_file_read F +GLIBC_2.0 _IO_file_seek F +GLIBC_2.0 _IO_file_seekoff F +GLIBC_2.0 _IO_file_setbuf F +GLIBC_2.0 _IO_file_stat F +GLIBC_2.0 _IO_file_sync F +GLIBC_2.0 _IO_file_underflow F +GLIBC_2.0 _IO_file_write F +GLIBC_2.0 _IO_file_xsputn F +GLIBC_2.0 _IO_flockfile F +GLIBC_2.0 _IO_flush_all F +GLIBC_2.0 _IO_flush_all_linebuffered F +GLIBC_2.0 _IO_fopen F +GLIBC_2.0 _IO_fprintf F +GLIBC_2.0 _IO_fputs F +GLIBC_2.0 _IO_fread F +GLIBC_2.0 _IO_free_backup_area F +GLIBC_2.0 _IO_fsetpos F +GLIBC_2.0 _IO_ftell F +GLIBC_2.0 _IO_ftrylockfile F +GLIBC_2.0 _IO_funlockfile F +GLIBC_2.0 _IO_fwrite F +GLIBC_2.0 _IO_getc F +GLIBC_2.0 _IO_getline F +GLIBC_2.0 _IO_gets F +GLIBC_2.0 _IO_init F +GLIBC_2.0 _IO_init_marker F +GLIBC_2.0 _IO_link_in F +GLIBC_2.0 _IO_list_all D 0x4 +GLIBC_2.0 _IO_marker_delta F +GLIBC_2.0 _IO_marker_difference F +GLIBC_2.0 _IO_padn F +GLIBC_2.0 _IO_peekc_locked F +GLIBC_2.0 _IO_popen F +GLIBC_2.0 _IO_printf F +GLIBC_2.0 _IO_proc_close F +GLIBC_2.0 _IO_proc_open F +GLIBC_2.0 _IO_putc F +GLIBC_2.0 _IO_puts F +GLIBC_2.0 _IO_remove_marker F +GLIBC_2.0 _IO_seekmark F +GLIBC_2.0 _IO_seekoff F +GLIBC_2.0 _IO_seekpos F +GLIBC_2.0 _IO_setb F +GLIBC_2.0 _IO_setbuffer F +GLIBC_2.0 _IO_setvbuf F +GLIBC_2.0 _IO_sgetn F +GLIBC_2.0 _IO_sprintf F +GLIBC_2.0 _IO_sputbackc F +GLIBC_2.0 _IO_sscanf F +GLIBC_2.0 _IO_stderr_ D 0x50 +GLIBC_2.0 _IO_stdin_ D 0x50 +GLIBC_2.0 _IO_stdout_ D 0x50 +GLIBC_2.0 _IO_str_init_readonly F +GLIBC_2.0 _IO_str_init_static F +GLIBC_2.0 _IO_str_overflow F +GLIBC_2.0 _IO_str_pbackfail F +GLIBC_2.0 _IO_str_seekoff F +GLIBC_2.0 _IO_str_underflow F +GLIBC_2.0 _IO_sungetc F +GLIBC_2.0 _IO_switch_to_get_mode F +GLIBC_2.0 _IO_un_link F +GLIBC_2.0 _IO_ungetc F +GLIBC_2.0 _IO_unsave_markers F +GLIBC_2.0 _IO_vfprintf F +GLIBC_2.0 _IO_vfscanf F +GLIBC_2.0 _IO_vsprintf F +GLIBC_2.0 ___brk_addr D 0x4 +GLIBC_2.0 __adjtimex F +GLIBC_2.0 __after_morecore_hook D 0x4 +GLIBC_2.0 __argz_count F +GLIBC_2.0 __argz_next F +GLIBC_2.0 __argz_stringify F +GLIBC_2.0 __assert_fail F +GLIBC_2.0 __assert_perror_fail F +GLIBC_2.0 __bsd_getpgrp F +GLIBC_2.0 __bzero F +GLIBC_2.0 __check_rhosts_file D 0x4 +GLIBC_2.0 __clone F +GLIBC_2.0 __close F +GLIBC_2.0 __cmsg_nxthdr F +GLIBC_2.0 __connect F +GLIBC_2.0 __ctype32_b D 0x4 +GLIBC_2.0 __ctype_b D 0x4 +GLIBC_2.0 __ctype_get_mb_cur_max F +GLIBC_2.0 __ctype_tolower D 0x4 +GLIBC_2.0 __ctype_toupper D 0x4 +GLIBC_2.0 __curbrk D 0x4 +GLIBC_2.0 __daylight D 0x4 +GLIBC_2.0 __dcgettext F +GLIBC_2.0 __default_morecore F +GLIBC_2.0 __deregister_frame F +GLIBC_2.0 __deregister_frame_info F +GLIBC_2.0 __dgettext F +GLIBC_2.0 __dup2 F +GLIBC_2.0 __environ D 0x4 +GLIBC_2.0 __errno_location F +GLIBC_2.0 __fcntl F +GLIBC_2.0 __ffs F +GLIBC_2.0 __finite F +GLIBC_2.0 __finitef F +GLIBC_2.0 __finitel F +GLIBC_2.0 __fork F +GLIBC_2.0 __fpu_control D 0x4 +GLIBC_2.0 __frame_state_for F +GLIBC_2.0 __free_hook D 0x4 +GLIBC_2.0 __fxstat F +GLIBC_2.0 __getdelim F +GLIBC_2.0 __getpagesize F +GLIBC_2.0 __getpgid F +GLIBC_2.0 __getpid F +GLIBC_2.0 __gettimeofday F +GLIBC_2.0 __gmtime_r F +GLIBC_2.0 __h_errno_location F +GLIBC_2.0 __isinf F +GLIBC_2.0 __isinff F +GLIBC_2.0 __isinfl F +GLIBC_2.0 __isnan F +GLIBC_2.0 __isnanf F +GLIBC_2.0 __isnanl F +GLIBC_2.0 __iswctype F +GLIBC_2.0 __ivaliduser F +GLIBC_2.0 __libc_calloc F +GLIBC_2.0 __libc_free F +GLIBC_2.0 __libc_init_first F +GLIBC_2.0 __libc_mallinfo F +GLIBC_2.0 __libc_malloc F +GLIBC_2.0 __libc_mallopt F +GLIBC_2.0 __libc_memalign F +GLIBC_2.0 __libc_pvalloc F +GLIBC_2.0 __libc_realloc F +GLIBC_2.0 __libc_start_main F +GLIBC_2.0 __libc_valloc F +GLIBC_2.0 __lseek F +GLIBC_2.0 __lxstat F +GLIBC_2.0 __malloc_hook D 0x4 +GLIBC_2.0 __malloc_initialize_hook D 0x4 +GLIBC_2.0 __mbrlen F +GLIBC_2.0 __mbrtowc F +GLIBC_2.0 __memalign_hook D 0x4 +GLIBC_2.0 __mempcpy F +GLIBC_2.0 __monstartup F +GLIBC_2.0 __morecore D 0x4 +GLIBC_2.0 __nss_configure_lookup F +GLIBC_2.0 __nss_database_lookup F +GLIBC_2.0 __nss_group_lookup F +GLIBC_2.0 __nss_hosts_lookup F +GLIBC_2.0 __nss_next F +GLIBC_2.0 __nss_passwd_lookup F +GLIBC_2.0 __open F +GLIBC_2.0 __overflow F +GLIBC_2.0 __pipe F +GLIBC_2.0 __printf_fp F +GLIBC_2.0 __profile_frequency F +GLIBC_2.0 __progname D 0x4 +GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __rcmd_errstr D 0x4 +GLIBC_2.0 __read F +GLIBC_2.0 __realloc_hook D 0x4 +GLIBC_2.0 __register_frame F +GLIBC_2.0 __register_frame_info F +GLIBC_2.0 __register_frame_info_table F +GLIBC_2.0 __register_frame_table F +GLIBC_2.0 __res_randomid F +GLIBC_2.0 __sbrk F +GLIBC_2.0 __sched_get_priority_max F +GLIBC_2.0 __sched_get_priority_min F +GLIBC_2.0 __sched_getparam F +GLIBC_2.0 __sched_getscheduler F +GLIBC_2.0 __sched_setscheduler F +GLIBC_2.0 __sched_yield F +GLIBC_2.0 __secure_getenv F +GLIBC_2.0 __select F +GLIBC_2.0 __send F +GLIBC_2.0 __setpgid F +GLIBC_2.0 __sigaction F +GLIBC_2.0 __sigaddset F +GLIBC_2.0 __sigdelset F +GLIBC_2.0 __sigismember F +GLIBC_2.0 __sigpause F +GLIBC_2.0 __sigsetjmp F +GLIBC_2.0 __stpcpy F +GLIBC_2.0 __stpncpy F +GLIBC_2.0 __strcasecmp F +GLIBC_2.0 __strdup F +GLIBC_2.0 __strerror_r F +GLIBC_2.0 __strtod_internal F +GLIBC_2.0 __strtof_internal F +GLIBC_2.0 __strtok_r F +GLIBC_2.0 __strtol_internal F +GLIBC_2.0 __strtold_internal F +GLIBC_2.0 __strtoll_internal F +GLIBC_2.0 __strtoq_internal F +GLIBC_2.0 __strtoul_internal F +GLIBC_2.0 __strtoull_internal F +GLIBC_2.0 __strtouq_internal F +GLIBC_2.0 __sysv_signal F +GLIBC_2.0 __timezone D 0x4 +GLIBC_2.0 __tzname D 0x8 +GLIBC_2.0 __uflow F +GLIBC_2.0 __underflow F +GLIBC_2.0 __vfscanf F +GLIBC_2.0 __vsnprintf F +GLIBC_2.0 __vsscanf F +GLIBC_2.0 __wait F +GLIBC_2.0 __waitpid F +GLIBC_2.0 __wcstod_internal F +GLIBC_2.0 __wcstof_internal F +GLIBC_2.0 __wcstol_internal F +GLIBC_2.0 __wcstold_internal F +GLIBC_2.0 __wcstoll_internal F +GLIBC_2.0 __wcstoul_internal F +GLIBC_2.0 __wcstoull_internal F +GLIBC_2.0 __write F +GLIBC_2.0 __xmknod F +GLIBC_2.0 __xpg_basename F +GLIBC_2.0 __xstat F +GLIBC_2.0 _environ D 0x4 +GLIBC_2.0 _exit F +GLIBC_2.0 _libc_intl_domainname D 0x5 +GLIBC_2.0 _longjmp F +GLIBC_2.0 _mcleanup F +GLIBC_2.0 _mcount F +GLIBC_2.0 _nl_default_dirname D 0x12 +GLIBC_2.0 _nl_domain_bindings D 0x4 +GLIBC_2.0 _nl_msg_cat_cntr D 0x4 +GLIBC_2.0 _null_auth D 0xc +GLIBC_2.0 _obstack D 0x4 +GLIBC_2.0 _obstack_allocated_p F +GLIBC_2.0 _obstack_begin F +GLIBC_2.0 _obstack_begin_1 F +GLIBC_2.0 _obstack_free F +GLIBC_2.0 _obstack_memory_used F +GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _res D 0x200 +GLIBC_2.0 _rpc_dtablesize F +GLIBC_2.0 _seterr_reply F +GLIBC_2.0 _setjmp F +GLIBC_2.0 _sys_errlist D 0x1fc +GLIBC_2.0 _sys_nerr D 0x4 +GLIBC_2.0 _sys_siglist D 0x80 +GLIBC_2.0 _tolower F +GLIBC_2.0 _toupper F +GLIBC_2.0 a64l F +GLIBC_2.0 abort F +GLIBC_2.0 abs F +GLIBC_2.0 accept F +GLIBC_2.0 access F +GLIBC_2.0 acct F +GLIBC_2.0 addmntent F +GLIBC_2.0 adjtime F +GLIBC_2.0 adjtimex F +GLIBC_2.0 advance F +GLIBC_2.0 alarm F +GLIBC_2.0 alphasort F +GLIBC_2.0 argz_add F +GLIBC_2.0 argz_add_sep F +GLIBC_2.0 argz_append F +GLIBC_2.0 argz_count F +GLIBC_2.0 argz_create F +GLIBC_2.0 argz_create_sep F +GLIBC_2.0 argz_delete F +GLIBC_2.0 argz_extract F +GLIBC_2.0 argz_insert F +GLIBC_2.0 argz_next F +GLIBC_2.0 argz_replace F +GLIBC_2.0 argz_stringify F +GLIBC_2.0 asctime F +GLIBC_2.0 asctime_r F +GLIBC_2.0 asprintf F +GLIBC_2.0 atexit F +GLIBC_2.0 atof F +GLIBC_2.0 atoi F +GLIBC_2.0 atol F +GLIBC_2.0 atoll F +GLIBC_2.0 authnone_create F +GLIBC_2.0 authunix_create F +GLIBC_2.0 authunix_create_default F +GLIBC_2.0 basename F +GLIBC_2.0 bcmp F +GLIBC_2.0 bcopy F +GLIBC_2.0 bdflush F +GLIBC_2.0 bind F +GLIBC_2.0 bindresvport F +GLIBC_2.0 bindtextdomain F +GLIBC_2.0 brk F +GLIBC_2.0 bsd_signal F +GLIBC_2.0 bsearch F +GLIBC_2.0 btowc F +GLIBC_2.0 bzero F +GLIBC_2.0 calloc F +GLIBC_2.0 callrpc F +GLIBC_2.0 canonicalize_file_name F +GLIBC_2.0 catclose F +GLIBC_2.0 catgets F +GLIBC_2.0 catopen F +GLIBC_2.0 cfgetispeed F +GLIBC_2.0 cfgetospeed F +GLIBC_2.0 cfmakeraw F +GLIBC_2.0 cfree F +GLIBC_2.0 cfsetispeed F +GLIBC_2.0 cfsetospeed F +GLIBC_2.0 cfsetspeed F +GLIBC_2.0 chdir F +GLIBC_2.0 chflags F +GLIBC_2.0 chmod F +GLIBC_2.0 chown F +GLIBC_2.0 chroot F +GLIBC_2.0 clearenv F +GLIBC_2.0 clearerr F +GLIBC_2.0 clearerr_unlocked F +GLIBC_2.0 clnt_broadcast F +GLIBC_2.0 clnt_create F +GLIBC_2.0 clnt_pcreateerror F +GLIBC_2.0 clnt_perrno F +GLIBC_2.0 clnt_perror F +GLIBC_2.0 clnt_spcreateerror F +GLIBC_2.0 clnt_sperrno F +GLIBC_2.0 clnt_sperror F +GLIBC_2.0 clntraw_create F +GLIBC_2.0 clnttcp_create F +GLIBC_2.0 clntudp_bufcreate F +GLIBC_2.0 clntudp_create F +GLIBC_2.0 clock F +GLIBC_2.0 clone F +GLIBC_2.0 close F +GLIBC_2.0 closedir F +GLIBC_2.0 closelog F +GLIBC_2.0 confstr F +GLIBC_2.0 connect F +GLIBC_2.0 copysign F +GLIBC_2.0 copysignf F +GLIBC_2.0 creat F +GLIBC_2.0 create_module F +GLIBC_2.0 ctermid F +GLIBC_2.0 ctime F +GLIBC_2.0 ctime_r F +GLIBC_2.0 cuserid F +GLIBC_2.0 daemon F +GLIBC_2.0 daylight D 0x4 +GLIBC_2.0 dcgettext F +GLIBC_2.0 delete_module F +GLIBC_2.0 dgettext F +GLIBC_2.0 difftime F +GLIBC_2.0 dirfd F +GLIBC_2.0 dirname F +GLIBC_2.0 div F +GLIBC_2.0 dprintf F +GLIBC_2.0 drand48 F +GLIBC_2.0 drand48_r F +GLIBC_2.0 dup F +GLIBC_2.0 dup2 F +GLIBC_2.0 dysize F +GLIBC_2.0 ecvt F +GLIBC_2.0 ecvt_r F +GLIBC_2.0 endaliasent F +GLIBC_2.0 endfsent F +GLIBC_2.0 endgrent F +GLIBC_2.0 endhostent F +GLIBC_2.0 endmntent F +GLIBC_2.0 endnetent F +GLIBC_2.0 endnetgrent F +GLIBC_2.0 endprotoent F +GLIBC_2.0 endpwent F +GLIBC_2.0 endrpcent F +GLIBC_2.0 endservent F +GLIBC_2.0 endspent F +GLIBC_2.0 endttyent F +GLIBC_2.0 endusershell F +GLIBC_2.0 endutent F +GLIBC_2.0 environ D 0x4 +GLIBC_2.0 envz_add F +GLIBC_2.0 envz_entry F +GLIBC_2.0 envz_get F +GLIBC_2.0 envz_merge F +GLIBC_2.0 envz_remove F +GLIBC_2.0 envz_strip F +GLIBC_2.0 erand48 F +GLIBC_2.0 erand48_r F +GLIBC_2.0 err F +GLIBC_2.0 error F +GLIBC_2.0 error_at_line F +GLIBC_2.0 error_message_count D 0x4 +GLIBC_2.0 error_one_per_line D 0x4 +GLIBC_2.0 error_print_progname D 0x4 +GLIBC_2.0 errx F +GLIBC_2.0 ether_aton F +GLIBC_2.0 ether_aton_r F +GLIBC_2.0 ether_hostton F +GLIBC_2.0 ether_line F +GLIBC_2.0 ether_ntoa F +GLIBC_2.0 ether_ntoa_r F +GLIBC_2.0 ether_ntohost F +GLIBC_2.0 euidaccess F +GLIBC_2.0 execl F +GLIBC_2.0 execle F +GLIBC_2.0 execlp F +GLIBC_2.0 execv F +GLIBC_2.0 execve F +GLIBC_2.0 execvp F +GLIBC_2.0 exit F +GLIBC_2.0 fchdir F +GLIBC_2.0 fchflags F +GLIBC_2.0 fchmod F +GLIBC_2.0 fchown F +GLIBC_2.0 fclose F +GLIBC_2.0 fcloseall F +GLIBC_2.0 fcntl F +GLIBC_2.0 fcvt F +GLIBC_2.0 fcvt_r F +GLIBC_2.0 fdatasync F +GLIBC_2.0 fdopen F +GLIBC_2.0 feof F +GLIBC_2.0 feof_unlocked F +GLIBC_2.0 ferror F +GLIBC_2.0 ferror_unlocked F +GLIBC_2.0 fexecve F +GLIBC_2.0 fflush F +GLIBC_2.0 fflush_unlocked F +GLIBC_2.0 ffs F +GLIBC_2.0 fgetc F +GLIBC_2.0 fgetgrent F +GLIBC_2.0 fgetgrent_r F +GLIBC_2.0 fgetpos F +GLIBC_2.0 fgetpwent F +GLIBC_2.0 fgetpwent_r F +GLIBC_2.0 fgets F +GLIBC_2.0 fgetspent F +GLIBC_2.0 fgetspent_r F +GLIBC_2.0 fileno F +GLIBC_2.0 fileno_unlocked F +GLIBC_2.0 finite F +GLIBC_2.0 finitef F +GLIBC_2.0 finitel F +GLIBC_2.0 flock F +GLIBC_2.0 flockfile F +GLIBC_2.0 fnmatch F +GLIBC_2.0 fopen F +GLIBC_2.0 fopencookie F +GLIBC_2.0 fork F +GLIBC_2.0 fpathconf F +GLIBC_2.0 fprintf F +GLIBC_2.0 fputc F +GLIBC_2.0 fputc_unlocked F +GLIBC_2.0 fputs F +GLIBC_2.0 fread F +GLIBC_2.0 free F +GLIBC_2.0 freeaddrinfo F +GLIBC_2.0 freopen F +GLIBC_2.0 frexp F +GLIBC_2.0 frexpf F +GLIBC_2.0 frexpl F +GLIBC_2.0 fscanf F +GLIBC_2.0 fseek F +GLIBC_2.0 fsetpos F +GLIBC_2.0 fstatfs F +GLIBC_2.0 fsync F +GLIBC_2.0 ftell F +GLIBC_2.0 ftime F +GLIBC_2.0 ftok F +GLIBC_2.0 ftruncate F +GLIBC_2.0 ftrylockfile F +GLIBC_2.0 fts_children F +GLIBC_2.0 fts_close F +GLIBC_2.0 fts_open F +GLIBC_2.0 fts_read F +GLIBC_2.0 fts_set F +GLIBC_2.0 ftw F +GLIBC_2.0 funlockfile F +GLIBC_2.0 fwrite F +GLIBC_2.0 gcvt F +GLIBC_2.0 get_avphys_pages F +GLIBC_2.0 get_current_dir_name F +GLIBC_2.0 get_kernel_syms F +GLIBC_2.0 get_myaddress F +GLIBC_2.0 get_nprocs F +GLIBC_2.0 get_nprocs_conf F +GLIBC_2.0 get_phys_pages F +GLIBC_2.0 getaddrinfo F +GLIBC_2.0 getaliasbyname F +GLIBC_2.0 getaliasbyname_r F +GLIBC_2.0 getaliasent F +GLIBC_2.0 getaliasent_r F +GLIBC_2.0 getc F +GLIBC_2.0 getc_unlocked F +GLIBC_2.0 getchar F +GLIBC_2.0 getchar_unlocked F +GLIBC_2.0 getcwd F +GLIBC_2.0 getdelim F +GLIBC_2.0 getdirentries F +GLIBC_2.0 getdomainname F +GLIBC_2.0 getdtablesize F +GLIBC_2.0 getegid F +GLIBC_2.0 getenv F +GLIBC_2.0 geteuid F +GLIBC_2.0 getfsent F +GLIBC_2.0 getfsfile F +GLIBC_2.0 getfsspec F +GLIBC_2.0 getgid F +GLIBC_2.0 getgrent F +GLIBC_2.0 getgrent_r F +GLIBC_2.0 getgrgid F +GLIBC_2.0 getgrgid_r F +GLIBC_2.0 getgrnam F +GLIBC_2.0 getgrnam_r F +GLIBC_2.0 getgroups F +GLIBC_2.0 gethostbyaddr F +GLIBC_2.0 gethostbyaddr_r F +GLIBC_2.0 gethostbyname F +GLIBC_2.0 gethostbyname2 F +GLIBC_2.0 gethostbyname2_r F +GLIBC_2.0 gethostbyname_r F +GLIBC_2.0 gethostent F +GLIBC_2.0 gethostent_r F +GLIBC_2.0 gethostid F +GLIBC_2.0 gethostname F +GLIBC_2.0 getitimer F +GLIBC_2.0 getline F +GLIBC_2.0 getlogin F +GLIBC_2.0 getlogin_r F +GLIBC_2.0 getmntent F +GLIBC_2.0 getmntent_r F +GLIBC_2.0 getnetbyaddr F +GLIBC_2.0 getnetbyaddr_r F +GLIBC_2.0 getnetbyname F +GLIBC_2.0 getnetbyname_r F +GLIBC_2.0 getnetent F +GLIBC_2.0 getnetent_r F +GLIBC_2.0 getnetgrent F +GLIBC_2.0 getnetgrent_r F +GLIBC_2.0 getopt F +GLIBC_2.0 getopt_long F +GLIBC_2.0 getopt_long_only F +GLIBC_2.0 getpagesize F +GLIBC_2.0 getpass F +GLIBC_2.0 getpeername F +GLIBC_2.0 getpgid F +GLIBC_2.0 getpgrp F +GLIBC_2.0 getpid F +GLIBC_2.0 getppid F +GLIBC_2.0 getpriority F +GLIBC_2.0 getprotobyname F +GLIBC_2.0 getprotobyname_r F +GLIBC_2.0 getprotobynumber F +GLIBC_2.0 getprotobynumber_r F +GLIBC_2.0 getprotoent F +GLIBC_2.0 getprotoent_r F +GLIBC_2.0 getpublickey F +GLIBC_2.0 getpw F +GLIBC_2.0 getpwent F +GLIBC_2.0 getpwent_r F +GLIBC_2.0 getpwnam F +GLIBC_2.0 getpwnam_r F +GLIBC_2.0 getpwuid F +GLIBC_2.0 getpwuid_r F +GLIBC_2.0 getresgid F +GLIBC_2.0 getresuid F +GLIBC_2.0 getrlimit F +GLIBC_2.0 getrpcbyname F +GLIBC_2.0 getrpcbyname_r F +GLIBC_2.0 getrpcbynumber F +GLIBC_2.0 getrpcbynumber_r F +GLIBC_2.0 getrpcent F +GLIBC_2.0 getrpcent_r F +GLIBC_2.0 getrpcport F +GLIBC_2.0 getrusage F +GLIBC_2.0 gets F +GLIBC_2.0 getsecretkey F +GLIBC_2.0 getservbyname F +GLIBC_2.0 getservbyname_r F +GLIBC_2.0 getservbyport F +GLIBC_2.0 getservbyport_r F +GLIBC_2.0 getservent F +GLIBC_2.0 getservent_r F +GLIBC_2.0 getsid F +GLIBC_2.0 getsockname F +GLIBC_2.0 getsockopt F +GLIBC_2.0 getspent F +GLIBC_2.0 getspent_r F +GLIBC_2.0 getspnam F +GLIBC_2.0 getspnam_r F +GLIBC_2.0 getsubopt F +GLIBC_2.0 gettext F +GLIBC_2.0 gettimeofday F +GLIBC_2.0 getttyent F +GLIBC_2.0 getttynam F +GLIBC_2.0 getuid F +GLIBC_2.0 getusershell F +GLIBC_2.0 getutent F +GLIBC_2.0 getutent_r F +GLIBC_2.0 getutid F +GLIBC_2.0 getutid_r F +GLIBC_2.0 getutline F +GLIBC_2.0 getutline_r F +GLIBC_2.0 getw F +GLIBC_2.0 getwd F +GLIBC_2.0 glob F +GLIBC_2.0 glob_pattern_p F +GLIBC_2.0 globfree F +GLIBC_2.0 gmtime F +GLIBC_2.0 gmtime_r F +GLIBC_2.0 group_member F +GLIBC_2.0 gsignal F +GLIBC_2.0 gtty F +GLIBC_2.0 h_errlist D 0x14 +GLIBC_2.0 h_nerr D 0x4 +GLIBC_2.0 hasmntopt F +GLIBC_2.0 hcreate F +GLIBC_2.0 hcreate_r F +GLIBC_2.0 hdestroy F +GLIBC_2.0 hdestroy_r F +GLIBC_2.0 herror F +GLIBC_2.0 hsearch F +GLIBC_2.0 hsearch_r F +GLIBC_2.0 hstrerror F +GLIBC_2.0 htonl F +GLIBC_2.0 htons F +GLIBC_2.0 index F +GLIBC_2.0 inet_addr F +GLIBC_2.0 inet_aton F +GLIBC_2.0 inet_lnaof F +GLIBC_2.0 inet_makeaddr F +GLIBC_2.0 inet_netof F +GLIBC_2.0 inet_network F +GLIBC_2.0 inet_nsap_addr F +GLIBC_2.0 inet_nsap_ntoa F +GLIBC_2.0 inet_ntoa F +GLIBC_2.0 inet_ntop F +GLIBC_2.0 inet_pton F +GLIBC_2.0 init_module F +GLIBC_2.0 initgroups F +GLIBC_2.0 initstate F +GLIBC_2.0 initstate_r F +GLIBC_2.0 innetgr F +GLIBC_2.0 insque F +GLIBC_2.0 ioctl F +GLIBC_2.0 iruserok F +GLIBC_2.0 isalnum F +GLIBC_2.0 isalpha F +GLIBC_2.0 isascii F +GLIBC_2.0 isatty F +GLIBC_2.0 isblank F +GLIBC_2.0 iscntrl F +GLIBC_2.0 isdigit F +GLIBC_2.0 isfdtype F +GLIBC_2.0 isgraph F +GLIBC_2.0 isinf F +GLIBC_2.0 isinff F +GLIBC_2.0 isinfl F +GLIBC_2.0 islower F +GLIBC_2.0 isnan F +GLIBC_2.0 isnanf F +GLIBC_2.0 isnanl F +GLIBC_2.0 isprint F +GLIBC_2.0 ispunct F +GLIBC_2.0 isspace F +GLIBC_2.0 isupper F +GLIBC_2.0 iswalnum F +GLIBC_2.0 iswalpha F +GLIBC_2.0 iswcntrl F +GLIBC_2.0 iswctype F +GLIBC_2.0 iswdigit F +GLIBC_2.0 iswgraph F +GLIBC_2.0 iswlower F +GLIBC_2.0 iswprint F +GLIBC_2.0 iswpunct F +GLIBC_2.0 iswspace F +GLIBC_2.0 iswupper F +GLIBC_2.0 iswxdigit F +GLIBC_2.0 isxdigit F +GLIBC_2.0 jrand48 F +GLIBC_2.0 jrand48_r F +GLIBC_2.0 kill F +GLIBC_2.0 killpg F +GLIBC_2.0 klogctl F +GLIBC_2.0 l64a F +GLIBC_2.0 labs F +GLIBC_2.0 lchown F +GLIBC_2.0 lckpwdf F +GLIBC_2.0 lcong48 F +GLIBC_2.0 lcong48_r F +GLIBC_2.0 ldexp F +GLIBC_2.0 ldexpf F +GLIBC_2.0 ldexpl F +GLIBC_2.0 ldiv F +GLIBC_2.0 lfind F +GLIBC_2.0 link F +GLIBC_2.0 listen F +GLIBC_2.0 llabs F +GLIBC_2.0 lldiv F +GLIBC_2.0 llseek F +GLIBC_2.0 loc1 D 0x4 +GLIBC_2.0 loc2 D 0x4 +GLIBC_2.0 localeconv F +GLIBC_2.0 localtime F +GLIBC_2.0 localtime_r F +GLIBC_2.0 lockf F +GLIBC_2.0 locs D 0x4 +GLIBC_2.0 longjmp F +GLIBC_2.0 lrand48 F +GLIBC_2.0 lrand48_r F +GLIBC_2.0 lsearch F +GLIBC_2.0 lseek F +GLIBC_2.0 madvise F +GLIBC_2.0 mallinfo F +GLIBC_2.0 malloc F +GLIBC_2.0 malloc_get_state F +GLIBC_2.0 malloc_set_state F +GLIBC_2.0 malloc_stats F +GLIBC_2.0 malloc_trim F +GLIBC_2.0 malloc_usable_size F +GLIBC_2.0 mallopt F +GLIBC_2.0 mallwatch D 0x4 +GLIBC_2.0 mblen F +GLIBC_2.0 mbrlen F +GLIBC_2.0 mbrtowc F +GLIBC_2.0 mbsinit F +GLIBC_2.0 mbsnrtowcs F +GLIBC_2.0 mbsrtowcs F +GLIBC_2.0 mbstowcs F +GLIBC_2.0 mbtowc F +GLIBC_2.0 mcheck F +GLIBC_2.0 mcount F +GLIBC_2.0 memalign F +GLIBC_2.0 memccpy F +GLIBC_2.0 memchr F +GLIBC_2.0 memcmp F +GLIBC_2.0 memcpy F +GLIBC_2.0 memfrob F +GLIBC_2.0 memmem F +GLIBC_2.0 memmove F +GLIBC_2.0 memset F +GLIBC_2.0 mkdir F +GLIBC_2.0 mkfifo F +GLIBC_2.0 mkstemp F +GLIBC_2.0 mktemp F +GLIBC_2.0 mktime F +GLIBC_2.0 mlock F +GLIBC_2.0 mlockall F +GLIBC_2.0 mmap F +GLIBC_2.0 modf F +GLIBC_2.0 modff F +GLIBC_2.0 modfl F +GLIBC_2.0 monstartup F +GLIBC_2.0 mount F +GLIBC_2.0 mprobe F +GLIBC_2.0 mprotect F +GLIBC_2.0 mrand48 F +GLIBC_2.0 mrand48_r F +GLIBC_2.0 mremap F +GLIBC_2.0 msgctl F +GLIBC_2.0 msgget F +GLIBC_2.0 msgrcv F +GLIBC_2.0 msgsnd F +GLIBC_2.0 msync F +GLIBC_2.0 mtrace F +GLIBC_2.0 munlock F +GLIBC_2.0 munlockall F +GLIBC_2.0 munmap F +GLIBC_2.0 muntrace F +GLIBC_2.0 nanosleep F +GLIBC_2.0 nfsservctl F +GLIBC_2.0 nice F +GLIBC_2.0 nl_langinfo F +GLIBC_2.0 nrand48 F +GLIBC_2.0 nrand48_r F +GLIBC_2.0 ntohl F +GLIBC_2.0 ntohs F +GLIBC_2.0 obstack_alloc_failed_handler D 0x4 +GLIBC_2.0 obstack_exit_failure D 0x4 +GLIBC_2.0 obstack_free F +GLIBC_2.0 obstack_printf F +GLIBC_2.0 obstack_vprintf F +GLIBC_2.0 on_exit F +GLIBC_2.0 open F +GLIBC_2.0 open_memstream F +GLIBC_2.0 opendir F +GLIBC_2.0 openlog F +GLIBC_2.0 optarg D 0x4 +GLIBC_2.0 opterr D 0x4 +GLIBC_2.0 optind D 0x4 +GLIBC_2.0 optopt D 0x4 +GLIBC_2.0 parse_printf_format F +GLIBC_2.0 pathconf F +GLIBC_2.0 pause F +GLIBC_2.0 pclose F +GLIBC_2.0 perror F +GLIBC_2.0 personality F +GLIBC_2.0 pipe F +GLIBC_2.0 pmap_getmaps F +GLIBC_2.0 pmap_getport F +GLIBC_2.0 pmap_rmtcall F +GLIBC_2.0 pmap_set F +GLIBC_2.0 pmap_unset F +GLIBC_2.0 poll F +GLIBC_2.0 popen F +GLIBC_2.0 prctl F +GLIBC_2.0 printf F +GLIBC_2.0 profil F +GLIBC_2.0 profil_counter F +GLIBC_2.0 program_invocation_name D 0x4 +GLIBC_2.0 program_invocation_short_name D 0x4 +GLIBC_2.0 pselect F +GLIBC_2.0 psignal F +GLIBC_2.0 pthread_attr_destroy F +GLIBC_2.0 pthread_attr_getdetachstate F +GLIBC_2.0 pthread_attr_getinheritsched F +GLIBC_2.0 pthread_attr_getschedparam F +GLIBC_2.0 pthread_attr_getschedpolicy F +GLIBC_2.0 pthread_attr_getscope F +GLIBC_2.0 pthread_attr_init F +GLIBC_2.0 pthread_attr_setdetachstate F +GLIBC_2.0 pthread_attr_setinheritsched F +GLIBC_2.0 pthread_attr_setschedparam F +GLIBC_2.0 pthread_attr_setschedpolicy F +GLIBC_2.0 pthread_attr_setscope F +GLIBC_2.0 pthread_cond_broadcast F +GLIBC_2.0 pthread_cond_destroy F +GLIBC_2.0 pthread_cond_init F +GLIBC_2.0 pthread_cond_signal F +GLIBC_2.0 pthread_cond_timedwait F +GLIBC_2.0 pthread_cond_wait F +GLIBC_2.0 pthread_condattr_destroy F +GLIBC_2.0 pthread_condattr_init F +GLIBC_2.0 pthread_equal F +GLIBC_2.0 pthread_exit F +GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_mutex_destroy F +GLIBC_2.0 pthread_mutex_init F +GLIBC_2.0 pthread_mutex_lock F +GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_self F +GLIBC_2.0 pthread_setcancelstate F +GLIBC_2.0 pthread_setcanceltype F +GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 ptrace F +GLIBC_2.0 putc F +GLIBC_2.0 putc_unlocked F +GLIBC_2.0 putchar F +GLIBC_2.0 putchar_unlocked F +GLIBC_2.0 putenv F +GLIBC_2.0 putpwent F +GLIBC_2.0 puts F +GLIBC_2.0 putspent F +GLIBC_2.0 pututline F +GLIBC_2.0 putw F +GLIBC_2.0 pvalloc F +GLIBC_2.0 qecvt F +GLIBC_2.0 qecvt_r F +GLIBC_2.0 qfcvt F +GLIBC_2.0 qfcvt_r F +GLIBC_2.0 qgcvt F +GLIBC_2.0 qsort F +GLIBC_2.0 query_module F +GLIBC_2.0 quotactl F +GLIBC_2.0 raise F +GLIBC_2.0 rand F +GLIBC_2.0 rand_r F +GLIBC_2.0 random F +GLIBC_2.0 random_r F +GLIBC_2.0 rcmd F +GLIBC_2.0 re_comp F +GLIBC_2.0 re_compile_fastmap F +GLIBC_2.0 re_compile_pattern F +GLIBC_2.0 re_exec F +GLIBC_2.0 re_match F +GLIBC_2.0 re_match_2 F +GLIBC_2.0 re_max_failures D 0x4 +GLIBC_2.0 re_search F +GLIBC_2.0 re_search_2 F +GLIBC_2.0 re_set_registers F +GLIBC_2.0 re_set_syntax F +GLIBC_2.0 re_syntax_options D 0x4 +GLIBC_2.0 read F +GLIBC_2.0 readdir F +GLIBC_2.0 readdir_r F +GLIBC_2.0 readlink F +GLIBC_2.0 readv F +GLIBC_2.0 realloc F +GLIBC_2.0 realpath F +GLIBC_2.0 reboot F +GLIBC_2.0 recv F +GLIBC_2.0 recvfrom F +GLIBC_2.0 recvmsg F +GLIBC_2.0 regcomp F +GLIBC_2.0 regerror F +GLIBC_2.0 regexec F +GLIBC_2.0 regfree F +GLIBC_2.0 register_printf_function F +GLIBC_2.0 registerrpc F +GLIBC_2.0 remove F +GLIBC_2.0 remque F +GLIBC_2.0 rename F +GLIBC_2.0 res_init F +GLIBC_2.0 revoke F +GLIBC_2.0 rewind F +GLIBC_2.0 rewinddir F +GLIBC_2.0 rexec F +GLIBC_2.0 rexecoptions D 0x4 +GLIBC_2.0 rindex F +GLIBC_2.0 rmdir F +GLIBC_2.0 rpc_createerr D 0x10 +GLIBC_2.0 rpmatch F +GLIBC_2.0 rresvport F +GLIBC_2.0 ruserok F +GLIBC_2.0 ruserpass F +GLIBC_2.0 sbrk F +GLIBC_2.0 scalbn F +GLIBC_2.0 scalbnf F +GLIBC_2.0 scalbnl F +GLIBC_2.0 scandir F +GLIBC_2.0 scanf F +GLIBC_2.0 sched_get_priority_max F +GLIBC_2.0 sched_get_priority_min F +GLIBC_2.0 sched_getparam F +GLIBC_2.0 sched_getscheduler F +GLIBC_2.0 sched_rr_get_interval F +GLIBC_2.0 sched_setparam F +GLIBC_2.0 sched_setscheduler F +GLIBC_2.0 sched_yield F +GLIBC_2.0 seed48 F +GLIBC_2.0 seed48_r F +GLIBC_2.0 seekdir F +GLIBC_2.0 select F +GLIBC_2.0 semctl F +GLIBC_2.0 semget F +GLIBC_2.0 semop F +GLIBC_2.0 send F +GLIBC_2.0 sendmsg F +GLIBC_2.0 sendto F +GLIBC_2.0 setaliasent F +GLIBC_2.0 setbuf F +GLIBC_2.0 setbuffer F +GLIBC_2.0 setcontext F +GLIBC_2.0 setdomainname F +GLIBC_2.0 setegid F +GLIBC_2.0 setenv F +GLIBC_2.0 seteuid F +GLIBC_2.0 setfsent F +GLIBC_2.0 setfsgid F +GLIBC_2.0 setfsuid F +GLIBC_2.0 setgid F +GLIBC_2.0 setgrent F +GLIBC_2.0 setgroups F +GLIBC_2.0 sethostent F +GLIBC_2.0 sethostid F +GLIBC_2.0 sethostname F +GLIBC_2.0 setitimer F +GLIBC_2.0 setjmp F +GLIBC_2.0 setlinebuf F +GLIBC_2.0 setlocale F +GLIBC_2.0 setlogin F +GLIBC_2.0 setlogmask F +GLIBC_2.0 setmntent F +GLIBC_2.0 setnetent F +GLIBC_2.0 setnetgrent F +GLIBC_2.0 setpgid F +GLIBC_2.0 setpgrp F +GLIBC_2.0 setpriority F +GLIBC_2.0 setprotoent F +GLIBC_2.0 setpwent F +GLIBC_2.0 setregid F +GLIBC_2.0 setresgid F +GLIBC_2.0 setresuid F +GLIBC_2.0 setreuid F +GLIBC_2.0 setrlimit F +GLIBC_2.0 setrpcent F +GLIBC_2.0 setservent F +GLIBC_2.0 setsid F +GLIBC_2.0 setsockopt F +GLIBC_2.0 setspent F +GLIBC_2.0 setstate F +GLIBC_2.0 setstate_r F +GLIBC_2.0 settimeofday F +GLIBC_2.0 setttyent F +GLIBC_2.0 setuid F +GLIBC_2.0 setusershell F +GLIBC_2.0 setutent F +GLIBC_2.0 setvbuf F +GLIBC_2.0 sgetspent F +GLIBC_2.0 sgetspent_r F +GLIBC_2.0 shmat F +GLIBC_2.0 shmctl F +GLIBC_2.0 shmdt F +GLIBC_2.0 shmget F +GLIBC_2.0 shutdown F +GLIBC_2.0 sigaction F +GLIBC_2.0 sigaddset F +GLIBC_2.0 sigaltstack F +GLIBC_2.0 sigandset F +GLIBC_2.0 sigblock F +GLIBC_2.0 sigdelset F +GLIBC_2.0 sigemptyset F +GLIBC_2.0 sigfillset F +GLIBC_2.0 siggetmask F +GLIBC_2.0 siginterrupt F +GLIBC_2.0 sigisemptyset F +GLIBC_2.0 sigismember F +GLIBC_2.0 siglongjmp F +GLIBC_2.0 signal F +GLIBC_2.0 sigorset F +GLIBC_2.0 sigpause F +GLIBC_2.0 sigpending F +GLIBC_2.0 sigprocmask F +GLIBC_2.0 sigreturn F +GLIBC_2.0 sigsetmask F +GLIBC_2.0 sigstack F +GLIBC_2.0 sigsuspend F +GLIBC_2.0 sigvec F +GLIBC_2.0 sigwait F +GLIBC_2.0 sleep F +GLIBC_2.0 snprintf F +GLIBC_2.0 socket F +GLIBC_2.0 socketpair F +GLIBC_2.0 sprintf F +GLIBC_2.0 srand F +GLIBC_2.0 srand48 F +GLIBC_2.0 srand48_r F +GLIBC_2.0 srandom F +GLIBC_2.0 srandom_r F +GLIBC_2.0 sscanf F +GLIBC_2.0 ssignal F +GLIBC_2.0 sstk F +GLIBC_2.0 statfs F +GLIBC_2.0 stderr D 0x4 +GLIBC_2.0 stdin D 0x4 +GLIBC_2.0 stdout D 0x4 +GLIBC_2.0 step F +GLIBC_2.0 stime F +GLIBC_2.0 stpcpy F +GLIBC_2.0 stpncpy F +GLIBC_2.0 strcasecmp F +GLIBC_2.0 strcat F +GLIBC_2.0 strchr F +GLIBC_2.0 strcmp F +GLIBC_2.0 strcoll F +GLIBC_2.0 strcpy F +GLIBC_2.0 strcspn F +GLIBC_2.0 strdup F +GLIBC_2.0 strerror F +GLIBC_2.0 strerror_r F +GLIBC_2.0 strfmon F +GLIBC_2.0 strfry F +GLIBC_2.0 strftime F +GLIBC_2.0 strlen F +GLIBC_2.0 strncasecmp F +GLIBC_2.0 strncat F +GLIBC_2.0 strncmp F +GLIBC_2.0 strncpy F +GLIBC_2.0 strndup F +GLIBC_2.0 strnlen F +GLIBC_2.0 strpbrk F +GLIBC_2.0 strptime F +GLIBC_2.0 strrchr F +GLIBC_2.0 strsep F +GLIBC_2.0 strsignal F +GLIBC_2.0 strspn F +GLIBC_2.0 strstr F +GLIBC_2.0 strtod F +GLIBC_2.0 strtof F +GLIBC_2.0 strtok F +GLIBC_2.0 strtok_r F +GLIBC_2.0 strtol F +GLIBC_2.0 strtold F +GLIBC_2.0 strtoll F +GLIBC_2.0 strtoq F +GLIBC_2.0 strtoul F +GLIBC_2.0 strtoull F +GLIBC_2.0 strtouq F +GLIBC_2.0 strxfrm F +GLIBC_2.0 stty F +GLIBC_2.0 svc_exit F +GLIBC_2.0 svc_fdset D 0x80 +GLIBC_2.0 svc_getreq F +GLIBC_2.0 svc_getreqset F +GLIBC_2.0 svc_register F +GLIBC_2.0 svc_run F +GLIBC_2.0 svc_sendreply F +GLIBC_2.0 svc_unregister F +GLIBC_2.0 svcauthdes_stats D 0xc +GLIBC_2.0 svcerr_auth F +GLIBC_2.0 svcerr_decode F +GLIBC_2.0 svcerr_noproc F +GLIBC_2.0 svcerr_noprog F +GLIBC_2.0 svcerr_progvers F +GLIBC_2.0 svcerr_systemerr F +GLIBC_2.0 svcerr_weakauth F +GLIBC_2.0 svcfd_create F +GLIBC_2.0 svcraw_create F +GLIBC_2.0 svctcp_create F +GLIBC_2.0 svcudp_bufcreate F +GLIBC_2.0 svcudp_create F +GLIBC_2.0 svcudp_enablecache F +GLIBC_2.0 swab F +GLIBC_2.0 swapoff F +GLIBC_2.0 swapon F +GLIBC_2.0 symlink F +GLIBC_2.0 sync F +GLIBC_2.0 sys_errlist D 0x1fc +GLIBC_2.0 sys_nerr D 0x4 +GLIBC_2.0 sys_sigabbrev D 0x80 +GLIBC_2.0 sys_siglist D 0x80 +GLIBC_2.0 syscall F +GLIBC_2.0 sysconf F +GLIBC_2.0 sysctl F +GLIBC_2.0 sysinfo F +GLIBC_2.0 syslog F +GLIBC_2.0 system F +GLIBC_2.0 tcdrain F +GLIBC_2.0 tcflow F +GLIBC_2.0 tcflush F +GLIBC_2.0 tcgetattr F +GLIBC_2.0 tcgetpgrp F +GLIBC_2.0 tcsendbreak F +GLIBC_2.0 tcsetattr F +GLIBC_2.0 tcsetpgrp F +GLIBC_2.0 tdelete F +GLIBC_2.0 telldir F +GLIBC_2.0 tempnam F +GLIBC_2.0 textdomain F +GLIBC_2.0 tfind F +GLIBC_2.0 time F +GLIBC_2.0 timegm F +GLIBC_2.0 timelocal F +GLIBC_2.0 times F +GLIBC_2.0 timezone D 0x4 +GLIBC_2.0 tmpfile F +GLIBC_2.0 tmpnam F +GLIBC_2.0 tmpnam_r F +GLIBC_2.0 toascii F +GLIBC_2.0 tolower F +GLIBC_2.0 toupper F +GLIBC_2.0 towctrans F +GLIBC_2.0 towlower F +GLIBC_2.0 towupper F +GLIBC_2.0 tr_break F +GLIBC_2.0 truncate F +GLIBC_2.0 tsearch F +GLIBC_2.0 ttyname F +GLIBC_2.0 ttyname_r F +GLIBC_2.0 ttyslot F +GLIBC_2.0 twalk F +GLIBC_2.0 tzname D 0x8 +GLIBC_2.0 tzset F +GLIBC_2.0 ualarm F +GLIBC_2.0 ulckpwdf F +GLIBC_2.0 ulimit F +GLIBC_2.0 umask F +GLIBC_2.0 umount F +GLIBC_2.0 uname F +GLIBC_2.0 ungetc F +GLIBC_2.0 unlink F +GLIBC_2.0 unsetenv F +GLIBC_2.0 updwtmp F +GLIBC_2.0 uselib F +GLIBC_2.0 usleep F +GLIBC_2.0 ustat F +GLIBC_2.0 utime F +GLIBC_2.0 utimes F +GLIBC_2.0 utmpname F +GLIBC_2.0 valloc F +GLIBC_2.0 vasprintf F +GLIBC_2.0 vdprintf F +GLIBC_2.0 verr F +GLIBC_2.0 verrx F +GLIBC_2.0 vfork F +GLIBC_2.0 vfprintf F +GLIBC_2.0 vfscanf F +GLIBC_2.0 vhangup F +GLIBC_2.0 vlimit F +GLIBC_2.0 vprintf F +GLIBC_2.0 vscanf F +GLIBC_2.0 vsnprintf F +GLIBC_2.0 vsprintf F +GLIBC_2.0 vsscanf F +GLIBC_2.0 vsyslog F +GLIBC_2.0 vtimes F +GLIBC_2.0 vwarn F +GLIBC_2.0 vwarnx F +GLIBC_2.0 wait F +GLIBC_2.0 wait3 F +GLIBC_2.0 wait4 F +GLIBC_2.0 waitpid F +GLIBC_2.0 warn F +GLIBC_2.0 warnx F +GLIBC_2.0 wcpcpy F +GLIBC_2.0 wcpncpy F +GLIBC_2.0 wcrtomb F +GLIBC_2.0 wcscat F +GLIBC_2.0 wcschr F +GLIBC_2.0 wcscmp F +GLIBC_2.0 wcscoll F +GLIBC_2.0 wcscpy F +GLIBC_2.0 wcscspn F +GLIBC_2.0 wcsdup F +GLIBC_2.0 wcslen F +GLIBC_2.0 wcsncat F +GLIBC_2.0 wcsncmp F +GLIBC_2.0 wcsncpy F +GLIBC_2.0 wcsnrtombs F +GLIBC_2.0 wcspbrk F +GLIBC_2.0 wcsrchr F +GLIBC_2.0 wcsrtombs F +GLIBC_2.0 wcsspn F +GLIBC_2.0 wcsstr F +GLIBC_2.0 wcstod F +GLIBC_2.0 wcstof F +GLIBC_2.0 wcstok F +GLIBC_2.0 wcstol F +GLIBC_2.0 wcstold F +GLIBC_2.0 wcstombs F +GLIBC_2.0 wcstoq F +GLIBC_2.0 wcstoul F +GLIBC_2.0 wcstouq F +GLIBC_2.0 wcswidth F +GLIBC_2.0 wcsxfrm F +GLIBC_2.0 wctob F +GLIBC_2.0 wctomb F +GLIBC_2.0 wctrans F +GLIBC_2.0 wctype F +GLIBC_2.0 wcwidth F +GLIBC_2.0 wmemchr F +GLIBC_2.0 wmemcmp F +GLIBC_2.0 wmemcpy F +GLIBC_2.0 wmemmove F +GLIBC_2.0 wmemset F +GLIBC_2.0 write F +GLIBC_2.0 writev F +GLIBC_2.0 xdr_accepted_reply F +GLIBC_2.0 xdr_array F +GLIBC_2.0 xdr_authunix_parms F +GLIBC_2.0 xdr_bool F +GLIBC_2.0 xdr_bytes F +GLIBC_2.0 xdr_callhdr F +GLIBC_2.0 xdr_callmsg F +GLIBC_2.0 xdr_char F +GLIBC_2.0 xdr_cryptkeyarg F +GLIBC_2.0 xdr_cryptkeyarg2 F +GLIBC_2.0 xdr_cryptkeyres F +GLIBC_2.0 xdr_des_block F +GLIBC_2.0 xdr_double F +GLIBC_2.0 xdr_enum F +GLIBC_2.0 xdr_float F +GLIBC_2.0 xdr_free F +GLIBC_2.0 xdr_int F +GLIBC_2.0 xdr_key_netstarg F +GLIBC_2.0 xdr_key_netstres F +GLIBC_2.0 xdr_keybuf F +GLIBC_2.0 xdr_keystatus F +GLIBC_2.0 xdr_long F +GLIBC_2.0 xdr_netobj F +GLIBC_2.0 xdr_opaque F +GLIBC_2.0 xdr_opaque_auth F +GLIBC_2.0 xdr_pmap F +GLIBC_2.0 xdr_pmaplist F +GLIBC_2.0 xdr_pointer F +GLIBC_2.0 xdr_reference F +GLIBC_2.0 xdr_rejected_reply F +GLIBC_2.0 xdr_replymsg F +GLIBC_2.0 xdr_rmtcall_args F +GLIBC_2.0 xdr_rmtcallres F +GLIBC_2.0 xdr_short F +GLIBC_2.0 xdr_string F +GLIBC_2.0 xdr_u_char F +GLIBC_2.0 xdr_u_int F +GLIBC_2.0 xdr_u_long F +GLIBC_2.0 xdr_u_short F +GLIBC_2.0 xdr_union F +GLIBC_2.0 xdr_vector F +GLIBC_2.0 xdr_void F +GLIBC_2.0 xdr_wrapstring F +GLIBC_2.0 xdrmem_create F +GLIBC_2.0 xdrrec_create F +GLIBC_2.0 xdrrec_endofrecord F +GLIBC_2.0 xdrrec_eof F +GLIBC_2.0 xdrrec_skiprecord F +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 0xa0 +GLIBC_2.1 _IO_2_1_stdin_ D 0xa0 +GLIBC_2.1 _IO_2_1_stdout_ D 0xa0 +GLIBC_2.1 _IO_do_write F +GLIBC_2.1 _IO_fclose F +GLIBC_2.1 _IO_fdopen F +GLIBC_2.1 _IO_fgetpos64 F +GLIBC_2.1 _IO_file_attach F +GLIBC_2.1 _IO_file_close_it F +GLIBC_2.1 _IO_file_finish F +GLIBC_2.1 _IO_file_fopen F +GLIBC_2.1 _IO_file_init F +GLIBC_2.1 _IO_file_overflow F +GLIBC_2.1 _IO_file_seekoff F +GLIBC_2.1 _IO_file_setbuf F +GLIBC_2.1 _IO_file_sync F +GLIBC_2.1 _IO_file_underflow F +GLIBC_2.1 _IO_file_write F +GLIBC_2.1 _IO_file_xsputn F +GLIBC_2.1 _IO_fopen F +GLIBC_2.1 _IO_fsetpos64 F +GLIBC_2.1 _IO_getline_info F +GLIBC_2.1 _IO_popen F +GLIBC_2.1 _IO_proc_close F +GLIBC_2.1 _IO_proc_open F +GLIBC_2.1 __asprintf F +GLIBC_2.1 __backtrace F +GLIBC_2.1 __backtrace_symbols F +GLIBC_2.1 __backtrace_symbols_fd F +GLIBC_2.1 __duplocale F +GLIBC_2.1 __freelocale F +GLIBC_2.1 __fxstat64 F +GLIBC_2.1 __isalnum_l F +GLIBC_2.1 __isalpha_l F +GLIBC_2.1 __isascii_l F +GLIBC_2.1 __isblank_l F +GLIBC_2.1 __iscntrl_l F +GLIBC_2.1 __isdigit_l F +GLIBC_2.1 __isgraph_l F +GLIBC_2.1 __islower_l F +GLIBC_2.1 __isprint_l F +GLIBC_2.1 __ispunct_l F +GLIBC_2.1 __isspace_l F +GLIBC_2.1 __isupper_l F +GLIBC_2.1 __iswalnum_l F +GLIBC_2.1 __iswalpha_l F +GLIBC_2.1 __iswblank_l F +GLIBC_2.1 __iswcntrl_l F +GLIBC_2.1 __iswctype_l F +GLIBC_2.1 __iswdigit_l F +GLIBC_2.1 __iswgraph_l F +GLIBC_2.1 __iswlower_l F +GLIBC_2.1 __iswprint_l F +GLIBC_2.1 __iswpunct_l F +GLIBC_2.1 __iswspace_l F +GLIBC_2.1 __iswupper_l F +GLIBC_2.1 __iswxdigit_l F +GLIBC_2.1 __isxdigit_l F +GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4 +GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4 +GLIBC_2.1 __key_gendes_LOCAL D 0x4 +GLIBC_2.1 __libc_allocate_rtsig F +GLIBC_2.1 __libc_current_sigrtmax F +GLIBC_2.1 __libc_current_sigrtmin F +GLIBC_2.1 __libc_freeres F +GLIBC_2.1 __libc_sa_len F +GLIBC_2.1 __lxstat64 F +GLIBC_2.1 __newlocale F +GLIBC_2.1 __poll F +GLIBC_2.1 __pread64 F +GLIBC_2.1 __pwrite64 F +GLIBC_2.1 __rawmemchr F +GLIBC_2.1 __signbit F +GLIBC_2.1 __signbitf F +GLIBC_2.1 __strcasecmp_l F +GLIBC_2.1 __strcasestr F +GLIBC_2.1 __strcoll_l F +GLIBC_2.1 __strfmon_l F +GLIBC_2.1 __strncasecmp_l F +GLIBC_2.1 __strtod_l F +GLIBC_2.1 __strtof_l F +GLIBC_2.1 __strtol_l F +GLIBC_2.1 __strtold_l F +GLIBC_2.1 __strtoll_l F +GLIBC_2.1 __strtoul_l F +GLIBC_2.1 __strtoull_l F +GLIBC_2.1 __strxfrm_l F +GLIBC_2.1 __toascii_l F +GLIBC_2.1 __tolower_l F +GLIBC_2.1 __toupper_l F +GLIBC_2.1 __towctrans F +GLIBC_2.1 __towctrans_l F +GLIBC_2.1 __towlower_l F +GLIBC_2.1 __towupper_l F +GLIBC_2.1 __wcscasecmp_l F +GLIBC_2.1 __wcscoll_l F +GLIBC_2.1 __wcsncasecmp_l F +GLIBC_2.1 __wcstod_l F +GLIBC_2.1 __wcstof_l F +GLIBC_2.1 __wcstol_l F +GLIBC_2.1 __wcstold_l F +GLIBC_2.1 __wcstoll_l F +GLIBC_2.1 __wcstoul_l F +GLIBC_2.1 __wcstoull_l F +GLIBC_2.1 __wcsxfrm_l F +GLIBC_2.1 __wctype_l F +GLIBC_2.1 __xstat64 F +GLIBC_2.1 _authenticate F +GLIBC_2.1 _dl_mcount_wrapper F +GLIBC_2.1 _dl_mcount_wrapper_check F +GLIBC_2.1 _sys_errlist D 0x1fc +GLIBC_2.1 _sys_nerr D 0x4 +GLIBC_2.1 _sys_siglist D 0x100 +GLIBC_2.1 addseverity F +GLIBC_2.1 alphasort64 F +GLIBC_2.1 argp_err_exit_status D 0x4 +GLIBC_2.1 argp_error F +GLIBC_2.1 argp_failure F +GLIBC_2.1 argp_help F +GLIBC_2.1 argp_parse F +GLIBC_2.1 argp_program_bug_address D 0x4 +GLIBC_2.1 argp_program_version D 0x4 +GLIBC_2.1 argp_program_version_hook D 0x4 +GLIBC_2.1 argp_state_help F +GLIBC_2.1 argp_usage F +GLIBC_2.1 authdes_create F +GLIBC_2.1 authdes_getucred F +GLIBC_2.1 authdes_pk_create F +GLIBC_2.1 backtrace F +GLIBC_2.1 backtrace_symbols F +GLIBC_2.1 backtrace_symbols_fd F +GLIBC_2.1 capget F +GLIBC_2.1 capset F +GLIBC_2.1 cbc_crypt F +GLIBC_2.1 clntunix_create F +GLIBC_2.1 creat64 F +GLIBC_2.1 des_setparity F +GLIBC_2.1 ecb_crypt F +GLIBC_2.1 endutxent F +GLIBC_2.1 fattach F +GLIBC_2.1 fclose F +GLIBC_2.1 fdetach F +GLIBC_2.1 fdopen F +GLIBC_2.1 ffsl F +GLIBC_2.1 ffsll F +GLIBC_2.1 fgetc_unlocked F +GLIBC_2.1 fgetpos64 F +GLIBC_2.1 fgets_unlocked F +GLIBC_2.1 fmtmsg F +GLIBC_2.1 fopen F +GLIBC_2.1 fopen64 F +GLIBC_2.1 fputs_unlocked F +GLIBC_2.1 fread_unlocked F +GLIBC_2.1 freopen64 F +GLIBC_2.1 fseeko F +GLIBC_2.1 fseeko64 F +GLIBC_2.1 fsetpos64 F +GLIBC_2.1 fstatfs64 F +GLIBC_2.1 fstatvfs F +GLIBC_2.1 fstatvfs64 F +GLIBC_2.1 ftello F +GLIBC_2.1 ftello64 F +GLIBC_2.1 ftruncate64 F +GLIBC_2.1 ftw64 F +GLIBC_2.1 fwrite_unlocked F +GLIBC_2.1 gai_strerror F +GLIBC_2.1 getcontext F +GLIBC_2.1 getdate F +GLIBC_2.1 getdate_err D 0x4 +GLIBC_2.1 getdate_r F +GLIBC_2.1 getmsg F +GLIBC_2.1 getnameinfo F +GLIBC_2.1 getnetname F +GLIBC_2.1 getpmsg F +GLIBC_2.1 getpt F +GLIBC_2.1 getrlimit64 F +GLIBC_2.1 getutxent F +GLIBC_2.1 getutxid F +GLIBC_2.1 getutxline F +GLIBC_2.1 glob64 F +GLIBC_2.1 globfree64 F +GLIBC_2.1 gnu_get_libc_release F +GLIBC_2.1 gnu_get_libc_version F +GLIBC_2.1 grantpt F +GLIBC_2.1 host2netname F +GLIBC_2.1 iconv F +GLIBC_2.1 iconv_close F +GLIBC_2.1 iconv_open F +GLIBC_2.1 if_freenameindex F +GLIBC_2.1 if_indextoname F +GLIBC_2.1 if_nameindex F +GLIBC_2.1 if_nametoindex F +GLIBC_2.1 in6addr_any D 0x10 +GLIBC_2.1 in6addr_loopback D 0x10 +GLIBC_2.1 isastream F +GLIBC_2.1 iswblank F +GLIBC_2.1 key_decryptsession F +GLIBC_2.1 key_decryptsession_pk F +GLIBC_2.1 key_encryptsession F +GLIBC_2.1 key_encryptsession_pk F +GLIBC_2.1 key_gendes F +GLIBC_2.1 key_get_conv F +GLIBC_2.1 key_secretkey_is_set F +GLIBC_2.1 key_setnet F +GLIBC_2.1 key_setsecret F +GLIBC_2.1 lockf64 F +GLIBC_2.1 lseek64 F +GLIBC_2.1 makecontext F +GLIBC_2.1 mempcpy F +GLIBC_2.1 mmap64 F +GLIBC_2.1 netname2host F +GLIBC_2.1 netname2user F +GLIBC_2.1 nftw F +GLIBC_2.1 nftw64 F +GLIBC_2.1 ntp_adjtime F +GLIBC_2.1 ntp_gettime F +GLIBC_2.1 open64 F +GLIBC_2.1 passwd2des F +GLIBC_2.1 pclose F +GLIBC_2.1 popen F +GLIBC_2.1 pread F +GLIBC_2.1 pread64 F +GLIBC_2.1 printf_size F +GLIBC_2.1 printf_size_info F +GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 ptsname F +GLIBC_2.1 ptsname_r F +GLIBC_2.1 putgrent F +GLIBC_2.1 putmsg F +GLIBC_2.1 putpmsg F +GLIBC_2.1 pututxline F +GLIBC_2.1 pwrite F +GLIBC_2.1 pwrite64 F +GLIBC_2.1 rawmemchr F +GLIBC_2.1 readdir64 F +GLIBC_2.1 readdir64_r F +GLIBC_2.1 rtime F +GLIBC_2.1 scandir64 F +GLIBC_2.1 sendfile F +GLIBC_2.1 setrlimit64 F +GLIBC_2.1 setutxent F +GLIBC_2.1 sighold F +GLIBC_2.1 sigignore F +GLIBC_2.1 sigqueue F +GLIBC_2.1 sigrelse F +GLIBC_2.1 sigset F +GLIBC_2.1 sigtimedwait F +GLIBC_2.1 sigwaitinfo F +GLIBC_2.1 statfs64 F +GLIBC_2.1 statvfs F +GLIBC_2.1 statvfs64 F +GLIBC_2.1 strcasestr F +GLIBC_2.1 strtoimax F +GLIBC_2.1 strtoumax F +GLIBC_2.1 strverscmp F +GLIBC_2.1 svcunix_create F +GLIBC_2.1 svcunixfd_create F +GLIBC_2.1 swapcontext F +GLIBC_2.1 sys_errlist D 0x1fc +GLIBC_2.1 sys_nerr D 0x4 +GLIBC_2.1 sys_sigabbrev D 0x100 +GLIBC_2.1 sys_siglist D 0x100 +GLIBC_2.1 sysv_signal F +GLIBC_2.1 tcgetsid F +GLIBC_2.1 tdestroy F +GLIBC_2.1 tmpfile F +GLIBC_2.1 tmpfile64 F +GLIBC_2.1 truncate64 F +GLIBC_2.1 umount2 F +GLIBC_2.1 unlockpt F +GLIBC_2.1 updwtmpx F +GLIBC_2.1 user2netname F +GLIBC_2.1 utmpxname F +GLIBC_2.1 versionsort F +GLIBC_2.1 versionsort64 F +GLIBC_2.1 waitid F +GLIBC_2.1 wcscasecmp F +GLIBC_2.1 wcsncasecmp F +GLIBC_2.1 wcsnlen F +GLIBC_2.1 wcstoimax F +GLIBC_2.1 wcstoll F +GLIBC_2.1 wcstoull F +GLIBC_2.1 wcstoumax F +GLIBC_2.1 wcswcs F +GLIBC_2.1 wordexp F +GLIBC_2.1 wordfree F +GLIBC_2.1 xdecrypt F +GLIBC_2.1 xdr_authdes_cred F +GLIBC_2.1 xdr_authdes_verf F +GLIBC_2.1 xdr_getcredres F +GLIBC_2.1 xdr_int16_t F +GLIBC_2.1 xdr_int32_t F +GLIBC_2.1 xdr_int8_t F +GLIBC_2.1 xdr_netnamestr F +GLIBC_2.1 xdr_sizeof F +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 +GLIBC_2.1.1 __strcpy_small F +GLIBC_2.1.1 __strcspn_c1 F +GLIBC_2.1.1 __strcspn_c2 F +GLIBC_2.1.1 __strcspn_c3 F +GLIBC_2.1.1 __strpbrk_c2 F +GLIBC_2.1.1 __strpbrk_c3 F +GLIBC_2.1.1 __strsep_1c F +GLIBC_2.1.1 __strsep_2c F +GLIBC_2.1.1 __strsep_3c F +GLIBC_2.1.1 __strsep_g F +GLIBC_2.1.1 __strspn_c1 F +GLIBC_2.1.1 __strspn_c2 F +GLIBC_2.1.1 __strspn_c3 F +GLIBC_2.1.1 __strtok_r_1c F +GLIBC_2.1.1 __strverscmp F +GLIBC_2.1.1 getutmp F +GLIBC_2.1.1 getutmpx F +GLIBC_2.1.1 imaxabs F +GLIBC_2.1.1 imaxdiv F +GLIBC_2.1.1 strchrnul F +GLIBC_2.1.1 xdr_hyper F +GLIBC_2.1.1 xdr_int64_t F +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 +GLIBC_2.1.2 getgrent_r F +GLIBC_2.1.2 getgrgid_r F +GLIBC_2.1.2 getgrnam_r F +GLIBC_2.1.2 gethostbyaddr_r F +GLIBC_2.1.2 gethostbyname2_r F +GLIBC_2.1.2 gethostbyname_r F +GLIBC_2.1.2 gethostent_r F +GLIBC_2.1.2 getnetbyaddr_r F +GLIBC_2.1.2 getnetbyname_r F +GLIBC_2.1.2 getnetent_r F +GLIBC_2.1.2 getprotobyname_r F +GLIBC_2.1.2 getprotobynumber_r F +GLIBC_2.1.2 getprotoent_r F +GLIBC_2.1.2 getpwent_r F +GLIBC_2.1.2 getpwnam_r F +GLIBC_2.1.2 getpwuid_r F +GLIBC_2.1.2 getrpcbyname_r F +GLIBC_2.1.2 getrpcbynumber_r F +GLIBC_2.1.2 getrpcent_r F +GLIBC_2.1.2 getservbyname_r F +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.10 GLIBC_2.10 A +GLIBC_2.10 __cxa_at_quick_exit F +GLIBC_2.10 __posix_getopt F +GLIBC_2.10 accept4 F +GLIBC_2.10 endsgent F +GLIBC_2.10 fallocate F +GLIBC_2.10 fgetsgent F +GLIBC_2.10 fgetsgent_r F +GLIBC_2.10 getsgent F +GLIBC_2.10 getsgent_r F +GLIBC_2.10 getsgnam F +GLIBC_2.10 getsgnam_r F +GLIBC_2.10 malloc_info F +GLIBC_2.10 preadv F +GLIBC_2.10 preadv64 F +GLIBC_2.10 psiginfo F +GLIBC_2.10 putsgent F +GLIBC_2.10 pwritev F +GLIBC_2.10 pwritev64 F +GLIBC_2.10 quick_exit F +GLIBC_2.10 register_printf_modifier F +GLIBC_2.10 register_printf_specifier F +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 fallocate64 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 0x21c +GLIBC_2.12 _sys_nerr D 0x4 +GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 recvmmsg F +GLIBC_2.12 sys_errlist D 0x21c +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 +GLIBC_2.15 posix_spawnp F +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 +GLIBC_2.16 __ppoll_chk F +GLIBC_2.16 _sys_errlist D 0x220 +GLIBC_2.16 _sys_nerr D 0x4 +GLIBC_2.16 aligned_alloc F +GLIBC_2.16 c16rtomb F +GLIBC_2.16 c32rtomb F +GLIBC_2.16 getauxval F +GLIBC_2.16 mbrtoc16 F +GLIBC_2.16 mbrtoc32 F +GLIBC_2.16 sys_errlist D 0x220 +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 +GLIBC_2.2 _IO_free_wbackup_area F +GLIBC_2.2 _IO_fsetpos F +GLIBC_2.2 _IO_fsetpos64 F +GLIBC_2.2 _IO_init_wmarker F +GLIBC_2.2 _IO_iter_begin F +GLIBC_2.2 _IO_iter_end F +GLIBC_2.2 _IO_iter_file F +GLIBC_2.2 _IO_iter_next F +GLIBC_2.2 _IO_least_wmarker F +GLIBC_2.2 _IO_list_lock F +GLIBC_2.2 _IO_list_resetlock F +GLIBC_2.2 _IO_list_unlock F +GLIBC_2.2 _IO_seekwmark F +GLIBC_2.2 _IO_sputbackwc F +GLIBC_2.2 _IO_sungetwc F +GLIBC_2.2 _IO_switch_to_main_wget_area F +GLIBC_2.2 _IO_switch_to_wbackup_area F +GLIBC_2.2 _IO_switch_to_wget_mode F +GLIBC_2.2 _IO_unsave_wmarkers F +GLIBC_2.2 _IO_wdefault_doallocate F +GLIBC_2.2 _IO_wdefault_finish F +GLIBC_2.2 _IO_wdefault_pbackfail F +GLIBC_2.2 _IO_wdefault_uflow F +GLIBC_2.2 _IO_wdefault_xsgetn F +GLIBC_2.2 _IO_wdefault_xsputn F +GLIBC_2.2 _IO_wdo_write F +GLIBC_2.2 _IO_wdoallocbuf F +GLIBC_2.2 _IO_wfile_jumps D 0x54 +GLIBC_2.2 _IO_wfile_overflow F +GLIBC_2.2 _IO_wfile_seekoff F +GLIBC_2.2 _IO_wfile_sync F +GLIBC_2.2 _IO_wfile_underflow F +GLIBC_2.2 _IO_wfile_xsputn F +GLIBC_2.2 _IO_wmarker_delta F +GLIBC_2.2 _IO_wsetb F +GLIBC_2.2 __assert F +GLIBC_2.2 __ctype32_tolower D 0x4 +GLIBC_2.2 __ctype32_toupper D 0x4 +GLIBC_2.2 __cyg_profile_func_enter F +GLIBC_2.2 __cyg_profile_func_exit F +GLIBC_2.2 __endmntent F +GLIBC_2.2 __fbufsize F +GLIBC_2.2 __flbf F +GLIBC_2.2 __fpending F +GLIBC_2.2 __fpurge F +GLIBC_2.2 __freadable F +GLIBC_2.2 __freading F +GLIBC_2.2 __fsetlocking F +GLIBC_2.2 __fwritable F +GLIBC_2.2 __fwriting F +GLIBC_2.2 __fxstat64 F +GLIBC_2.2 __getmntent_r F +GLIBC_2.2 __lxstat64 F +GLIBC_2.2 __nl_langinfo_l F +GLIBC_2.2 __open64 F +GLIBC_2.2 __res_init F +GLIBC_2.2 __res_nclose F +GLIBC_2.2 __res_ninit F +GLIBC_2.2 __res_state F +GLIBC_2.2 __setmntent F +GLIBC_2.2 __statfs F +GLIBC_2.2 __strndup F +GLIBC_2.2 __sysconf F +GLIBC_2.2 __sysctl F +GLIBC_2.2 __wctrans_l F +GLIBC_2.2 __woverflow F +GLIBC_2.2 __wuflow F +GLIBC_2.2 __wunderflow F +GLIBC_2.2 __xpg_sigpause F +GLIBC_2.2 __xstat64 F +GLIBC_2.2 _flushlbf F +GLIBC_2.2 _res_hconf D 0x30 +GLIBC_2.2 bind_textdomain_codeset F +GLIBC_2.2 dcngettext F +GLIBC_2.2 dngettext F +GLIBC_2.2 fgetpos F +GLIBC_2.2 fgetpos64 F +GLIBC_2.2 fgetwc F +GLIBC_2.2 fgetwc_unlocked F +GLIBC_2.2 fgetws F +GLIBC_2.2 fgetws_unlocked F +GLIBC_2.2 fmemopen F +GLIBC_2.2 fopencookie F +GLIBC_2.2 fputwc F +GLIBC_2.2 fputwc_unlocked F +GLIBC_2.2 fputws F +GLIBC_2.2 fputws_unlocked F +GLIBC_2.2 fsetpos F +GLIBC_2.2 fsetpos64 F +GLIBC_2.2 fwide F +GLIBC_2.2 fwprintf F +GLIBC_2.2 fwscanf F +GLIBC_2.2 getdirentries64 F +GLIBC_2.2 getloadavg F +GLIBC_2.2 getwc F +GLIBC_2.2 getwc_unlocked F +GLIBC_2.2 getwchar F +GLIBC_2.2 getwchar_unlocked F +GLIBC_2.2 glob64 F +GLIBC_2.2 iruserok_af F +GLIBC_2.2 localeconv F +GLIBC_2.2 mcheck_check_all F +GLIBC_2.2 mcheck_pedantic F +GLIBC_2.2 memrchr F +GLIBC_2.2 mincore F +GLIBC_2.2 mkdtemp F +GLIBC_2.2 mkstemp64 F +GLIBC_2.2 moncontrol F +GLIBC_2.2 msgctl F +GLIBC_2.2 ngettext F +GLIBC_2.2 posix_fadvise F +GLIBC_2.2 posix_fadvise64 F +GLIBC_2.2 posix_fallocate F +GLIBC_2.2 posix_fallocate64 F +GLIBC_2.2 posix_madvise F +GLIBC_2.2 posix_memalign F +GLIBC_2.2 posix_spawn F +GLIBC_2.2 posix_spawn_file_actions_addclose F +GLIBC_2.2 posix_spawn_file_actions_adddup2 F +GLIBC_2.2 posix_spawn_file_actions_addopen F +GLIBC_2.2 posix_spawn_file_actions_destroy F +GLIBC_2.2 posix_spawn_file_actions_init F +GLIBC_2.2 posix_spawnattr_destroy F +GLIBC_2.2 posix_spawnattr_getflags F +GLIBC_2.2 posix_spawnattr_getpgroup F +GLIBC_2.2 posix_spawnattr_getschedparam F +GLIBC_2.2 posix_spawnattr_getschedpolicy F +GLIBC_2.2 posix_spawnattr_getsigdefault F +GLIBC_2.2 posix_spawnattr_getsigmask F +GLIBC_2.2 posix_spawnattr_init F +GLIBC_2.2 posix_spawnattr_setflags F +GLIBC_2.2 posix_spawnattr_setpgroup F +GLIBC_2.2 posix_spawnattr_setschedparam F +GLIBC_2.2 posix_spawnattr_setschedpolicy F +GLIBC_2.2 posix_spawnattr_setsigdefault F +GLIBC_2.2 posix_spawnattr_setsigmask F +GLIBC_2.2 posix_spawnp F +GLIBC_2.2 putwc F +GLIBC_2.2 putwc_unlocked F +GLIBC_2.2 putwchar F +GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 rcmd_af F +GLIBC_2.2 readdir64 F +GLIBC_2.2 readdir64_r F +GLIBC_2.2 rexec_af F +GLIBC_2.2 rresvport_af F +GLIBC_2.2 ruserok_af F +GLIBC_2.2 scandir64 F +GLIBC_2.2 semctl F +GLIBC_2.2 shmctl F +GLIBC_2.2 svc_getreq_common F +GLIBC_2.2 svc_getreq_poll F +GLIBC_2.2 svc_max_pollfd D 0x4 +GLIBC_2.2 svc_pollfd D 0x4 +GLIBC_2.2 swprintf F +GLIBC_2.2 swscanf F +GLIBC_2.2 ungetwc F +GLIBC_2.2 vfwprintf F +GLIBC_2.2 vfwscanf F +GLIBC_2.2 vswprintf F +GLIBC_2.2 vswscanf F +GLIBC_2.2 vwprintf F +GLIBC_2.2 vwscanf F +GLIBC_2.2 wcschrnul F +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.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.24 GLIBC_2.24 A +GLIBC_2.24 quick_exit F +GLIBC_2.25 GLIBC_2.25 A +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 GLIBC_2.26 A +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.3 GLIBC_2.3 A +GLIBC_2.3 __ctype_b_loc F +GLIBC_2.3 __ctype_tolower_loc F +GLIBC_2.3 __ctype_toupper_loc F +GLIBC_2.3 __isctype F +GLIBC_2.3 __strftime_l F +GLIBC_2.3 __uselocale F +GLIBC_2.3 __wcsftime_l F +GLIBC_2.3 _sys_errlist D 0x200 +GLIBC_2.3 _sys_nerr D 0x4 +GLIBC_2.3 duplocale F +GLIBC_2.3 fgetxattr F +GLIBC_2.3 flistxattr F +GLIBC_2.3 freeifaddrs F +GLIBC_2.3 freelocale F +GLIBC_2.3 fremovexattr F +GLIBC_2.3 fsetxattr F +GLIBC_2.3 futimes F +GLIBC_2.3 getifaddrs F +GLIBC_2.3 getxattr F +GLIBC_2.3 isalnum_l F +GLIBC_2.3 isalpha_l F +GLIBC_2.3 isblank_l F +GLIBC_2.3 iscntrl_l F +GLIBC_2.3 isctype F +GLIBC_2.3 isdigit_l F +GLIBC_2.3 isgraph_l F +GLIBC_2.3 islower_l F +GLIBC_2.3 isprint_l F +GLIBC_2.3 ispunct_l F +GLIBC_2.3 isspace_l F +GLIBC_2.3 isupper_l F +GLIBC_2.3 iswalnum_l F +GLIBC_2.3 iswalpha_l F +GLIBC_2.3 iswblank_l F +GLIBC_2.3 iswcntrl_l F +GLIBC_2.3 iswctype_l F +GLIBC_2.3 iswdigit_l F +GLIBC_2.3 iswgraph_l F +GLIBC_2.3 iswlower_l F +GLIBC_2.3 iswprint_l F +GLIBC_2.3 iswpunct_l F +GLIBC_2.3 iswspace_l F +GLIBC_2.3 iswupper_l F +GLIBC_2.3 iswxdigit_l F +GLIBC_2.3 isxdigit_l F +GLIBC_2.3 lgetxattr F +GLIBC_2.3 listxattr F +GLIBC_2.3 llistxattr F +GLIBC_2.3 lremovexattr F +GLIBC_2.3 lsetxattr F +GLIBC_2.3 lutimes F +GLIBC_2.3 newlocale F +GLIBC_2.3 nl_langinfo_l F +GLIBC_2.3 readahead F +GLIBC_2.3 realpath F +GLIBC_2.3 removexattr F +GLIBC_2.3 sendfile64 F +GLIBC_2.3 setxattr F +GLIBC_2.3 strcasecmp_l F +GLIBC_2.3 strcoll_l F +GLIBC_2.3 strfmon_l F +GLIBC_2.3 strftime_l F +GLIBC_2.3 strncasecmp_l F +GLIBC_2.3 strtod_l F +GLIBC_2.3 strtof_l F +GLIBC_2.3 strtol_l F +GLIBC_2.3 strtold_l F +GLIBC_2.3 strtoll_l F +GLIBC_2.3 strtoul_l F +GLIBC_2.3 strtoull_l F +GLIBC_2.3 strxfrm_l F +GLIBC_2.3 sys_errlist D 0x200 +GLIBC_2.3 sys_nerr D 0x4 +GLIBC_2.3 tolower_l F +GLIBC_2.3 toupper_l F +GLIBC_2.3 towctrans_l F +GLIBC_2.3 towlower_l F +GLIBC_2.3 towupper_l F +GLIBC_2.3 uselocale F +GLIBC_2.3 wcscasecmp_l F +GLIBC_2.3 wcscoll_l F +GLIBC_2.3 wcsftime_l F +GLIBC_2.3 wcsncasecmp_l F +GLIBC_2.3 wcstod_l F +GLIBC_2.3 wcstof_l F +GLIBC_2.3 wcstol_l F +GLIBC_2.3 wcstold_l F +GLIBC_2.3 wcstoll_l F +GLIBC_2.3 wcstoul_l F +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 +GLIBC_2.3.2 epoll_wait F +GLIBC_2.3.2 lchmod 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.2 strptime_l F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 gnu_dev_major F +GLIBC_2.3.3 gnu_dev_makedev F +GLIBC_2.3.3 gnu_dev_minor F +GLIBC_2.3.3 inet6_option_alloc F +GLIBC_2.3.3 inet6_option_append F +GLIBC_2.3.3 inet6_option_find F +GLIBC_2.3.3 inet6_option_init F +GLIBC_2.3.3 inet6_option_next F +GLIBC_2.3.3 inet6_option_space F +GLIBC_2.3.3 nftw F +GLIBC_2.3.3 nftw64 F +GLIBC_2.3.3 posix_fadvise64 F +GLIBC_2.3.3 posix_fallocate64 F +GLIBC_2.3.3 remap_file_pages F +GLIBC_2.3.3 sched_getaffinity F +GLIBC_2.3.3 sched_setaffinity F +GLIBC_2.3.3 semtimedop F +GLIBC_2.3.3 sys_sigabbrev D 0x104 +GLIBC_2.3.3 sys_siglist D 0x104 +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 +GLIBC_2.3.4 __memcpy_chk F +GLIBC_2.3.4 __memmove_chk F +GLIBC_2.3.4 __mempcpy_chk F +GLIBC_2.3.4 __memset_chk F +GLIBC_2.3.4 __printf_chk F +GLIBC_2.3.4 __snprintf_chk F +GLIBC_2.3.4 __sprintf_chk F +GLIBC_2.3.4 __stpcpy_chk F +GLIBC_2.3.4 __strcat_chk F +GLIBC_2.3.4 __strcpy_chk F +GLIBC_2.3.4 __strncat_chk F +GLIBC_2.3.4 __strncpy_chk F +GLIBC_2.3.4 __vfprintf_chk F +GLIBC_2.3.4 __vprintf_chk F +GLIBC_2.3.4 __vsnprintf_chk F +GLIBC_2.3.4 __vsprintf_chk F +GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 getipv4sourcefilter F +GLIBC_2.3.4 getsourcefilter F +GLIBC_2.3.4 regexec F +GLIBC_2.3.4 sched_getaffinity F +GLIBC_2.3.4 sched_setaffinity F +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 +GLIBC_2.4 _IO_sscanf F +GLIBC_2.4 _IO_vfprintf F +GLIBC_2.4 _IO_vfscanf F +GLIBC_2.4 _IO_vsprintf F +GLIBC_2.4 _Q_add F +GLIBC_2.4 _Q_cmp F +GLIBC_2.4 _Q_cmpe F +GLIBC_2.4 _Q_div F +GLIBC_2.4 _Q_dtoq F +GLIBC_2.4 _Q_feq F +GLIBC_2.4 _Q_fge F +GLIBC_2.4 _Q_fgt F +GLIBC_2.4 _Q_fle F +GLIBC_2.4 _Q_flt F +GLIBC_2.4 _Q_fne F +GLIBC_2.4 _Q_itoq F +GLIBC_2.4 _Q_lltoq F +GLIBC_2.4 _Q_mul F +GLIBC_2.4 _Q_neg F +GLIBC_2.4 _Q_qtod F +GLIBC_2.4 _Q_qtoi F +GLIBC_2.4 _Q_qtoll F +GLIBC_2.4 _Q_qtos F +GLIBC_2.4 _Q_qtou F +GLIBC_2.4 _Q_qtoull F +GLIBC_2.4 _Q_sqrt F +GLIBC_2.4 _Q_stoq F +GLIBC_2.4 _Q_sub F +GLIBC_2.4 _Q_ulltoq F +GLIBC_2.4 _Q_utoq F +GLIBC_2.4 __asprintf F +GLIBC_2.4 __confstr_chk F +GLIBC_2.4 __fgets_chk F +GLIBC_2.4 __fgets_unlocked_chk F +GLIBC_2.4 __fgetws_chk F +GLIBC_2.4 __fgetws_unlocked_chk F +GLIBC_2.4 __finitel F +GLIBC_2.4 __fprintf_chk F +GLIBC_2.4 __fwprintf_chk F +GLIBC_2.4 __fxstatat F +GLIBC_2.4 __fxstatat64 F +GLIBC_2.4 __getcwd_chk F +GLIBC_2.4 __getdomainname_chk F +GLIBC_2.4 __getgroups_chk F +GLIBC_2.4 __gethostname_chk F +GLIBC_2.4 __getlogin_r_chk F +GLIBC_2.4 __getwd_chk F +GLIBC_2.4 __isinfl F +GLIBC_2.4 __isnanl F +GLIBC_2.4 __mbsnrtowcs_chk F +GLIBC_2.4 __mbsrtowcs_chk F +GLIBC_2.4 __mbstowcs_chk F +GLIBC_2.4 __nldbl__IO_fprintf F +GLIBC_2.4 __nldbl__IO_printf F +GLIBC_2.4 __nldbl__IO_sprintf F +GLIBC_2.4 __nldbl__IO_sscanf F +GLIBC_2.4 __nldbl__IO_vfprintf F +GLIBC_2.4 __nldbl__IO_vfscanf F +GLIBC_2.4 __nldbl__IO_vsprintf F +GLIBC_2.4 __nldbl___asprintf F +GLIBC_2.4 __nldbl___fprintf_chk F +GLIBC_2.4 __nldbl___fwprintf_chk F +GLIBC_2.4 __nldbl___printf_chk F +GLIBC_2.4 __nldbl___printf_fp F +GLIBC_2.4 __nldbl___snprintf_chk F +GLIBC_2.4 __nldbl___sprintf_chk F +GLIBC_2.4 __nldbl___strfmon_l F +GLIBC_2.4 __nldbl___swprintf_chk F +GLIBC_2.4 __nldbl___syslog_chk F +GLIBC_2.4 __nldbl___vfprintf_chk F +GLIBC_2.4 __nldbl___vfscanf F +GLIBC_2.4 __nldbl___vfwprintf_chk F +GLIBC_2.4 __nldbl___vprintf_chk F +GLIBC_2.4 __nldbl___vsnprintf F +GLIBC_2.4 __nldbl___vsnprintf_chk F +GLIBC_2.4 __nldbl___vsprintf_chk F +GLIBC_2.4 __nldbl___vsscanf F +GLIBC_2.4 __nldbl___vstrfmon F +GLIBC_2.4 __nldbl___vstrfmon_l F +GLIBC_2.4 __nldbl___vswprintf_chk F +GLIBC_2.4 __nldbl___vsyslog_chk F +GLIBC_2.4 __nldbl___vwprintf_chk F +GLIBC_2.4 __nldbl___wprintf_chk F +GLIBC_2.4 __nldbl_asprintf F +GLIBC_2.4 __nldbl_dprintf F +GLIBC_2.4 __nldbl_fprintf F +GLIBC_2.4 __nldbl_fscanf F +GLIBC_2.4 __nldbl_fwprintf F +GLIBC_2.4 __nldbl_fwscanf F +GLIBC_2.4 __nldbl_obstack_printf F +GLIBC_2.4 __nldbl_obstack_vprintf F +GLIBC_2.4 __nldbl_printf F +GLIBC_2.4 __nldbl_printf_size F +GLIBC_2.4 __nldbl_scanf F +GLIBC_2.4 __nldbl_snprintf F +GLIBC_2.4 __nldbl_sprintf F +GLIBC_2.4 __nldbl_sscanf F +GLIBC_2.4 __nldbl_strfmon F +GLIBC_2.4 __nldbl_strfmon_l F +GLIBC_2.4 __nldbl_swprintf F +GLIBC_2.4 __nldbl_swscanf F +GLIBC_2.4 __nldbl_syslog F +GLIBC_2.4 __nldbl_vasprintf F +GLIBC_2.4 __nldbl_vdprintf F +GLIBC_2.4 __nldbl_vfprintf F +GLIBC_2.4 __nldbl_vfscanf F +GLIBC_2.4 __nldbl_vfwprintf F +GLIBC_2.4 __nldbl_vfwscanf F +GLIBC_2.4 __nldbl_vprintf F +GLIBC_2.4 __nldbl_vscanf F +GLIBC_2.4 __nldbl_vsnprintf F +GLIBC_2.4 __nldbl_vsprintf F +GLIBC_2.4 __nldbl_vsscanf F +GLIBC_2.4 __nldbl_vswprintf F +GLIBC_2.4 __nldbl_vswscanf F +GLIBC_2.4 __nldbl_vsyslog F +GLIBC_2.4 __nldbl_vwprintf F +GLIBC_2.4 __nldbl_vwscanf F +GLIBC_2.4 __nldbl_wprintf F +GLIBC_2.4 __nldbl_wscanf F +GLIBC_2.4 __pread64_chk F +GLIBC_2.4 __pread_chk F +GLIBC_2.4 __printf_chk F +GLIBC_2.4 __printf_fp F +GLIBC_2.4 __ptsname_r_chk F +GLIBC_2.4 __read_chk F +GLIBC_2.4 __readlink_chk F +GLIBC_2.4 __realpath_chk F +GLIBC_2.4 __recv_chk F +GLIBC_2.4 __recvfrom_chk F +GLIBC_2.4 __signbitl F +GLIBC_2.4 __snprintf_chk F +GLIBC_2.4 __sprintf_chk F +GLIBC_2.4 __stack_chk_fail F +GLIBC_2.4 __stpncpy_chk F +GLIBC_2.4 __strfmon_l F +GLIBC_2.4 __strtold_internal F +GLIBC_2.4 __strtold_l F +GLIBC_2.4 __swprintf_chk F +GLIBC_2.4 __syslog_chk F +GLIBC_2.4 __ttyname_r_chk F +GLIBC_2.4 __vfprintf_chk F +GLIBC_2.4 __vfscanf F +GLIBC_2.4 __vfwprintf_chk F +GLIBC_2.4 __vprintf_chk F +GLIBC_2.4 __vsnprintf F +GLIBC_2.4 __vsnprintf_chk F +GLIBC_2.4 __vsprintf_chk F +GLIBC_2.4 __vsscanf F +GLIBC_2.4 __vswprintf_chk F +GLIBC_2.4 __vsyslog_chk F +GLIBC_2.4 __vwprintf_chk F +GLIBC_2.4 __wcpcpy_chk F +GLIBC_2.4 __wcpncpy_chk F +GLIBC_2.4 __wcrtomb_chk F +GLIBC_2.4 __wcscat_chk F +GLIBC_2.4 __wcscpy_chk F +GLIBC_2.4 __wcsncat_chk F +GLIBC_2.4 __wcsncpy_chk F +GLIBC_2.4 __wcsnrtombs_chk F +GLIBC_2.4 __wcsrtombs_chk F +GLIBC_2.4 __wcstold_internal F +GLIBC_2.4 __wcstold_l F +GLIBC_2.4 __wcstombs_chk F +GLIBC_2.4 __wctomb_chk F +GLIBC_2.4 __wmemcpy_chk F +GLIBC_2.4 __wmemmove_chk F +GLIBC_2.4 __wmempcpy_chk F +GLIBC_2.4 __wmemset_chk F +GLIBC_2.4 __wprintf_chk F +GLIBC_2.4 __xmknodat F +GLIBC_2.4 _sys_errlist D 0x218 +GLIBC_2.4 _sys_nerr D 0x4 +GLIBC_2.4 asprintf F +GLIBC_2.4 copysignl F +GLIBC_2.4 dprintf F +GLIBC_2.4 eaccess F +GLIBC_2.4 faccessat F +GLIBC_2.4 fchmodat F +GLIBC_2.4 fchownat F +GLIBC_2.4 fdopendir F +GLIBC_2.4 finitel F +GLIBC_2.4 fprintf F +GLIBC_2.4 frexpl F +GLIBC_2.4 fscanf F +GLIBC_2.4 futimesat F +GLIBC_2.4 fwprintf F +GLIBC_2.4 fwscanf F +GLIBC_2.4 inotify_add_watch F +GLIBC_2.4 inotify_init F +GLIBC_2.4 inotify_rm_watch F +GLIBC_2.4 isinfl F +GLIBC_2.4 isnanl F +GLIBC_2.4 ldexpl F +GLIBC_2.4 linkat F +GLIBC_2.4 mkdirat F +GLIBC_2.4 mkfifoat F +GLIBC_2.4 modfl F +GLIBC_2.4 obstack_printf F +GLIBC_2.4 obstack_vprintf F +GLIBC_2.4 open_wmemstream F +GLIBC_2.4 openat F +GLIBC_2.4 openat64 F +GLIBC_2.4 ppoll F +GLIBC_2.4 printf F +GLIBC_2.4 printf_size F +GLIBC_2.4 qecvt F +GLIBC_2.4 qecvt_r F +GLIBC_2.4 qfcvt F +GLIBC_2.4 qfcvt_r F +GLIBC_2.4 qgcvt F +GLIBC_2.4 readlinkat F +GLIBC_2.4 renameat F +GLIBC_2.4 scalbnl F +GLIBC_2.4 scanf F +GLIBC_2.4 snprintf F +GLIBC_2.4 sprintf F +GLIBC_2.4 sscanf F +GLIBC_2.4 strfmon F +GLIBC_2.4 strfmon_l F +GLIBC_2.4 strtold F +GLIBC_2.4 strtold_l F +GLIBC_2.4 swprintf F +GLIBC_2.4 swscanf F +GLIBC_2.4 symlinkat F +GLIBC_2.4 sys_errlist D 0x218 +GLIBC_2.4 sys_nerr D 0x4 +GLIBC_2.4 syslog F +GLIBC_2.4 unlinkat F +GLIBC_2.4 unshare F +GLIBC_2.4 vasprintf F +GLIBC_2.4 vdprintf F +GLIBC_2.4 vfprintf F +GLIBC_2.4 vfscanf F +GLIBC_2.4 vfwprintf F +GLIBC_2.4 vfwscanf F +GLIBC_2.4 vprintf F +GLIBC_2.4 vscanf F +GLIBC_2.4 vsnprintf F +GLIBC_2.4 vsprintf F +GLIBC_2.4 vsscanf F +GLIBC_2.4 vswprintf F +GLIBC_2.4 vswscanf F +GLIBC_2.4 vsyslog F +GLIBC_2.4 vwprintf F +GLIBC_2.4 vwscanf F +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 +GLIBC_2.5 inet6_opt_finish F +GLIBC_2.5 inet6_opt_get_val F +GLIBC_2.5 inet6_opt_init F +GLIBC_2.5 inet6_opt_next F +GLIBC_2.5 inet6_opt_set_val F +GLIBC_2.5 inet6_rth_add F +GLIBC_2.5 inet6_rth_getaddr F +GLIBC_2.5 inet6_rth_init F +GLIBC_2.5 inet6_rth_reverse F +GLIBC_2.5 inet6_rth_segments F +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 +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 +GLIBC_2.7 __isoc99_fwscanf F +GLIBC_2.7 __isoc99_scanf F +GLIBC_2.7 __isoc99_sscanf F +GLIBC_2.7 __isoc99_swscanf F +GLIBC_2.7 __isoc99_vfscanf F +GLIBC_2.7 __isoc99_vfwscanf F +GLIBC_2.7 __isoc99_vscanf F +GLIBC_2.7 __isoc99_vsscanf F +GLIBC_2.7 __isoc99_vswscanf F +GLIBC_2.7 __isoc99_vwscanf F +GLIBC_2.7 __isoc99_wscanf F +GLIBC_2.7 __nldbl___isoc99_fscanf F +GLIBC_2.7 __nldbl___isoc99_fwscanf F +GLIBC_2.7 __nldbl___isoc99_scanf F +GLIBC_2.7 __nldbl___isoc99_sscanf F +GLIBC_2.7 __nldbl___isoc99_swscanf F +GLIBC_2.7 __nldbl___isoc99_vfscanf F +GLIBC_2.7 __nldbl___isoc99_vfwscanf F +GLIBC_2.7 __nldbl___isoc99_vscanf F +GLIBC_2.7 __nldbl___isoc99_vsscanf F +GLIBC_2.7 __nldbl___isoc99_vswscanf F +GLIBC_2.7 __nldbl___isoc99_vwscanf F +GLIBC_2.7 __nldbl___isoc99_wscanf F +GLIBC_2.7 __open64_2 F +GLIBC_2.7 __open_2 F +GLIBC_2.7 __openat64_2 F +GLIBC_2.7 __openat_2 F +GLIBC_2.7 __sched_cpualloc F +GLIBC_2.7 __sched_cpufree F +GLIBC_2.7 eventfd F +GLIBC_2.7 eventfd_read F +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 +GLIBC_2.8 __nldbl___dprintf_chk F +GLIBC_2.8 __nldbl___obstack_printf_chk F +GLIBC_2.8 __nldbl___obstack_vprintf_chk F +GLIBC_2.8 __nldbl___vasprintf_chk F +GLIBC_2.8 __nldbl___vdprintf_chk F +GLIBC_2.8 __obstack_printf_chk F +GLIBC_2.8 __obstack_vprintf_chk F +GLIBC_2.8 __vasprintf_chk F +GLIBC_2.8 __vdprintf_chk F +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 +GLIBC_2.9 pipe2 F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist new file mode 100644 index 0000000000..4db2639336 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist @@ -0,0 +1,8 @@ +GLIBC_2.0 GLIBC_2.0 A +GLIBC_2.0 crypt F +GLIBC_2.0 crypt_r F +GLIBC_2.0 encrypt F +GLIBC_2.0 encrypt_r F +GLIBC_2.0 fcrypt F +GLIBC_2.0 setkey F +GLIBC_2.0 setkey_r F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist new file mode 100644 index 0000000000..5536f6e0a9 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -0,0 +1,14 @@ +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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist new file mode 100644 index 0000000000..f73af6f224 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -0,0 +1,568 @@ +GLIBC_2.0 GLIBC_2.0 A +GLIBC_2.0 _LIB_VERSION D 0x4 +GLIBC_2.0 acos F +GLIBC_2.0 acosf F +GLIBC_2.0 acosh F +GLIBC_2.0 acoshf F +GLIBC_2.0 acoshl F +GLIBC_2.0 acosl F +GLIBC_2.0 asin F +GLIBC_2.0 asinf F +GLIBC_2.0 asinh F +GLIBC_2.0 asinhf F +GLIBC_2.0 asinhl F +GLIBC_2.0 asinl F +GLIBC_2.0 atan F +GLIBC_2.0 atan2 F +GLIBC_2.0 atan2f F +GLIBC_2.0 atan2l F +GLIBC_2.0 atanf F +GLIBC_2.0 atanh F +GLIBC_2.0 atanhf F +GLIBC_2.0 atanhl F +GLIBC_2.0 atanl F +GLIBC_2.0 cbrt F +GLIBC_2.0 cbrtf F +GLIBC_2.0 cbrtl F +GLIBC_2.0 ceil F +GLIBC_2.0 ceilf F +GLIBC_2.0 ceill F +GLIBC_2.0 copysign F +GLIBC_2.0 copysignf F +GLIBC_2.0 cos F +GLIBC_2.0 cosf F +GLIBC_2.0 cosh F +GLIBC_2.0 coshf F +GLIBC_2.0 coshl F +GLIBC_2.0 cosl F +GLIBC_2.0 drem F +GLIBC_2.0 dremf F +GLIBC_2.0 dreml F +GLIBC_2.0 erf F +GLIBC_2.0 erfc F +GLIBC_2.0 erfcf F +GLIBC_2.0 erfcl F +GLIBC_2.0 erff F +GLIBC_2.0 erfl F +GLIBC_2.0 exp F +GLIBC_2.0 expf F +GLIBC_2.0 expl F +GLIBC_2.0 expm1 F +GLIBC_2.0 expm1f F +GLIBC_2.0 expm1l F +GLIBC_2.0 fabs F +GLIBC_2.0 fabsf F +GLIBC_2.0 finite F +GLIBC_2.0 finitef F +GLIBC_2.0 finitel F +GLIBC_2.0 floor F +GLIBC_2.0 floorf F +GLIBC_2.0 floorl F +GLIBC_2.0 fmod F +GLIBC_2.0 fmodf F +GLIBC_2.0 fmodl F +GLIBC_2.0 frexp F +GLIBC_2.0 frexpf F +GLIBC_2.0 frexpl F +GLIBC_2.0 gamma F +GLIBC_2.0 gammaf F +GLIBC_2.0 gammal F +GLIBC_2.0 hypot F +GLIBC_2.0 hypotf F +GLIBC_2.0 hypotl F +GLIBC_2.0 ilogb F +GLIBC_2.0 ilogbf F +GLIBC_2.0 ilogbl F +GLIBC_2.0 j0 F +GLIBC_2.0 j0f F +GLIBC_2.0 j0l F +GLIBC_2.0 j1 F +GLIBC_2.0 j1f F +GLIBC_2.0 j1l F +GLIBC_2.0 jn F +GLIBC_2.0 jnf F +GLIBC_2.0 jnl F +GLIBC_2.0 ldexp F +GLIBC_2.0 ldexpf F +GLIBC_2.0 ldexpl F +GLIBC_2.0 lgamma F +GLIBC_2.0 lgamma_r F +GLIBC_2.0 lgammaf F +GLIBC_2.0 lgammaf_r F +GLIBC_2.0 lgammal F +GLIBC_2.0 lgammal_r F +GLIBC_2.0 log F +GLIBC_2.0 log10 F +GLIBC_2.0 log10f F +GLIBC_2.0 log10l F +GLIBC_2.0 log1p F +GLIBC_2.0 log1pf F +GLIBC_2.0 log1pl F +GLIBC_2.0 logb F +GLIBC_2.0 logbf F +GLIBC_2.0 logbl F +GLIBC_2.0 logf F +GLIBC_2.0 logl F +GLIBC_2.0 matherr F +GLIBC_2.0 modf F +GLIBC_2.0 modff F +GLIBC_2.0 modfl F +GLIBC_2.0 nextafter F +GLIBC_2.0 nextafterf F +GLIBC_2.0 nextafterl F +GLIBC_2.0 pow F +GLIBC_2.0 powf F +GLIBC_2.0 powl F +GLIBC_2.0 remainder F +GLIBC_2.0 remainderf F +GLIBC_2.0 remainderl F +GLIBC_2.0 rint F +GLIBC_2.0 rintf F +GLIBC_2.0 rintl F +GLIBC_2.0 scalb F +GLIBC_2.0 scalbf F +GLIBC_2.0 scalbl F +GLIBC_2.0 scalbn F +GLIBC_2.0 scalbnf F +GLIBC_2.0 scalbnl F +GLIBC_2.0 signgam D 0x4 +GLIBC_2.0 significand F +GLIBC_2.0 significandf F +GLIBC_2.0 significandl F +GLIBC_2.0 sin F +GLIBC_2.0 sinf F +GLIBC_2.0 sinh F +GLIBC_2.0 sinhf F +GLIBC_2.0 sinhl F +GLIBC_2.0 sinl F +GLIBC_2.0 sqrt F +GLIBC_2.0 sqrtf F +GLIBC_2.0 tan F +GLIBC_2.0 tanf F +GLIBC_2.0 tanh F +GLIBC_2.0 tanhf F +GLIBC_2.0 tanhl F +GLIBC_2.0 tanl F +GLIBC_2.0 y0 F +GLIBC_2.0 y0f F +GLIBC_2.0 y0l F +GLIBC_2.0 y1 F +GLIBC_2.0 y1f F +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 +GLIBC_2.1 __finite F +GLIBC_2.1 __finitef F +GLIBC_2.1 __finitel F +GLIBC_2.1 __fpclassify F +GLIBC_2.1 __fpclassifyf F +GLIBC_2.1 __signbit F +GLIBC_2.1 __signbitf F +GLIBC_2.1 cabs F +GLIBC_2.1 cabsf F +GLIBC_2.1 cabsl F +GLIBC_2.1 cacos F +GLIBC_2.1 cacosf F +GLIBC_2.1 cacosh F +GLIBC_2.1 cacoshf F +GLIBC_2.1 cacoshl F +GLIBC_2.1 cacosl F +GLIBC_2.1 carg F +GLIBC_2.1 cargf F +GLIBC_2.1 cargl F +GLIBC_2.1 casin F +GLIBC_2.1 casinf F +GLIBC_2.1 casinh F +GLIBC_2.1 casinhf F +GLIBC_2.1 casinhl F +GLIBC_2.1 casinl F +GLIBC_2.1 catan F +GLIBC_2.1 catanf F +GLIBC_2.1 catanh F +GLIBC_2.1 catanhf F +GLIBC_2.1 catanhl F +GLIBC_2.1 catanl F +GLIBC_2.1 ccos F +GLIBC_2.1 ccosf F +GLIBC_2.1 ccosh F +GLIBC_2.1 ccoshf F +GLIBC_2.1 ccoshl F +GLIBC_2.1 ccosl F +GLIBC_2.1 cexp F +GLIBC_2.1 cexpf F +GLIBC_2.1 cexpl F +GLIBC_2.1 cimag F +GLIBC_2.1 cimagf F +GLIBC_2.1 cimagl F +GLIBC_2.1 clog F +GLIBC_2.1 clog10 F +GLIBC_2.1 clog10f F +GLIBC_2.1 clog10l F +GLIBC_2.1 clogf F +GLIBC_2.1 clogl F +GLIBC_2.1 conj F +GLIBC_2.1 conjf F +GLIBC_2.1 conjl F +GLIBC_2.1 cpow F +GLIBC_2.1 cpowf F +GLIBC_2.1 cpowl F +GLIBC_2.1 cproj F +GLIBC_2.1 cprojf F +GLIBC_2.1 cprojl F +GLIBC_2.1 creal F +GLIBC_2.1 crealf F +GLIBC_2.1 creall F +GLIBC_2.1 csin F +GLIBC_2.1 csinf F +GLIBC_2.1 csinh F +GLIBC_2.1 csinhf F +GLIBC_2.1 csinhl F +GLIBC_2.1 csinl F +GLIBC_2.1 csqrt F +GLIBC_2.1 csqrtf F +GLIBC_2.1 csqrtl F +GLIBC_2.1 ctan F +GLIBC_2.1 ctanf F +GLIBC_2.1 ctanh F +GLIBC_2.1 ctanhf F +GLIBC_2.1 ctanhl F +GLIBC_2.1 ctanl F +GLIBC_2.1 exp10 F +GLIBC_2.1 exp10f F +GLIBC_2.1 exp10l F +GLIBC_2.1 exp2 F +GLIBC_2.1 exp2f F +GLIBC_2.1 fdim F +GLIBC_2.1 fdimf F +GLIBC_2.1 fdiml F +GLIBC_2.1 feclearexcept F +GLIBC_2.1 fegetenv F +GLIBC_2.1 fegetexceptflag F +GLIBC_2.1 fegetround F +GLIBC_2.1 feholdexcept F +GLIBC_2.1 feraiseexcept F +GLIBC_2.1 fesetenv F +GLIBC_2.1 fesetexceptflag F +GLIBC_2.1 fesetround F +GLIBC_2.1 fetestexcept F +GLIBC_2.1 feupdateenv F +GLIBC_2.1 fma F +GLIBC_2.1 fmaf F +GLIBC_2.1 fmax F +GLIBC_2.1 fmaxf F +GLIBC_2.1 fmaxl F +GLIBC_2.1 fmin F +GLIBC_2.1 fminf F +GLIBC_2.1 fminl F +GLIBC_2.1 llrint F +GLIBC_2.1 llrintf F +GLIBC_2.1 llrintl F +GLIBC_2.1 llround F +GLIBC_2.1 llroundf F +GLIBC_2.1 llroundl F +GLIBC_2.1 log2 F +GLIBC_2.1 log2f F +GLIBC_2.1 log2l F +GLIBC_2.1 lrint F +GLIBC_2.1 lrintf F +GLIBC_2.1 lrintl F +GLIBC_2.1 lround F +GLIBC_2.1 lroundf F +GLIBC_2.1 lroundl F +GLIBC_2.1 nan F +GLIBC_2.1 nanf F +GLIBC_2.1 nanl F +GLIBC_2.1 nearbyint F +GLIBC_2.1 nearbyintf F +GLIBC_2.1 nearbyintl F +GLIBC_2.1 nexttoward F +GLIBC_2.1 nexttowardf F +GLIBC_2.1 nexttowardl F +GLIBC_2.1 pow10 F +GLIBC_2.1 pow10f F +GLIBC_2.1 pow10l F +GLIBC_2.1 remquo F +GLIBC_2.1 remquof F +GLIBC_2.1 remquol F +GLIBC_2.1 round F +GLIBC_2.1 roundf F +GLIBC_2.1 roundl F +GLIBC_2.1 scalbln F +GLIBC_2.1 scalblnf F +GLIBC_2.1 scalblnl F +GLIBC_2.1 sincos F +GLIBC_2.1 sincosf F +GLIBC_2.1 sincosl F +GLIBC_2.1 tgamma F +GLIBC_2.1 tgammaf F +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 +GLIBC_2.15 __acoshf_finite F +GLIBC_2.15 __acoshl_finite F +GLIBC_2.15 __acosl_finite F +GLIBC_2.15 __asin_finite F +GLIBC_2.15 __asinf_finite F +GLIBC_2.15 __asinl_finite F +GLIBC_2.15 __atan2_finite F +GLIBC_2.15 __atan2f_finite F +GLIBC_2.15 __atan2l_finite F +GLIBC_2.15 __atanh_finite F +GLIBC_2.15 __atanhf_finite F +GLIBC_2.15 __atanhl_finite F +GLIBC_2.15 __cosh_finite F +GLIBC_2.15 __coshf_finite F +GLIBC_2.15 __coshl_finite F +GLIBC_2.15 __exp10_finite F +GLIBC_2.15 __exp10f_finite F +GLIBC_2.15 __exp10l_finite F +GLIBC_2.15 __exp2_finite F +GLIBC_2.15 __exp2f_finite F +GLIBC_2.15 __exp2l_finite F +GLIBC_2.15 __exp_finite F +GLIBC_2.15 __expf_finite F +GLIBC_2.15 __expl_finite F +GLIBC_2.15 __fmod_finite F +GLIBC_2.15 __fmodf_finite F +GLIBC_2.15 __fmodl_finite F +GLIBC_2.15 __gamma_r_finite F +GLIBC_2.15 __gammaf_r_finite F +GLIBC_2.15 __gammal_r_finite F +GLIBC_2.15 __hypot_finite F +GLIBC_2.15 __hypotf_finite F +GLIBC_2.15 __hypotl_finite F +GLIBC_2.15 __j0_finite F +GLIBC_2.15 __j0f_finite F +GLIBC_2.15 __j0l_finite F +GLIBC_2.15 __j1_finite F +GLIBC_2.15 __j1f_finite F +GLIBC_2.15 __j1l_finite F +GLIBC_2.15 __jn_finite F +GLIBC_2.15 __jnf_finite F +GLIBC_2.15 __jnl_finite F +GLIBC_2.15 __lgamma_r_finite F +GLIBC_2.15 __lgammaf_r_finite F +GLIBC_2.15 __lgammal_r_finite F +GLIBC_2.15 __log10_finite F +GLIBC_2.15 __log10f_finite F +GLIBC_2.15 __log10l_finite F +GLIBC_2.15 __log2_finite F +GLIBC_2.15 __log2f_finite F +GLIBC_2.15 __log2l_finite F +GLIBC_2.15 __log_finite F +GLIBC_2.15 __logf_finite F +GLIBC_2.15 __logl_finite F +GLIBC_2.15 __pow_finite F +GLIBC_2.15 __powf_finite F +GLIBC_2.15 __powl_finite F +GLIBC_2.15 __remainder_finite F +GLIBC_2.15 __remainderf_finite F +GLIBC_2.15 __remainderl_finite F +GLIBC_2.15 __scalb_finite F +GLIBC_2.15 __scalbf_finite F +GLIBC_2.15 __scalbl_finite F +GLIBC_2.15 __sinh_finite F +GLIBC_2.15 __sinhf_finite F +GLIBC_2.15 __sinhl_finite F +GLIBC_2.15 __sqrt_finite F +GLIBC_2.15 __sqrtf_finite F +GLIBC_2.15 __y0_finite F +GLIBC_2.15 __y0f_finite F +GLIBC_2.15 __y0l_finite F +GLIBC_2.15 __y1_finite F +GLIBC_2.15 __y1f_finite F +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 feclearexcept F +GLIBC_2.2 fedisableexcept F +GLIBC_2.2 feenableexcept F +GLIBC_2.2 fegetenv F +GLIBC_2.2 fegetexcept F +GLIBC_2.2 fegetexceptflag F +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 __sqrtl_finite F +GLIBC_2.23 lgamma F +GLIBC_2.23 lgammaf F +GLIBC_2.23 lgammal F +GLIBC_2.24 GLIBC_2.24 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 GLIBC_2.25 A +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.4 GLIBC_2.4 A +GLIBC_2.4 __clog10l F +GLIBC_2.4 __finitel F +GLIBC_2.4 __fpclassifyl F +GLIBC_2.4 __nldbl_nexttowardf F +GLIBC_2.4 __signbitl F +GLIBC_2.4 acoshl F +GLIBC_2.4 acosl F +GLIBC_2.4 asinhl F +GLIBC_2.4 asinl F +GLIBC_2.4 atan2l F +GLIBC_2.4 atanhl F +GLIBC_2.4 atanl F +GLIBC_2.4 cabsl F +GLIBC_2.4 cacoshl F +GLIBC_2.4 cacosl F +GLIBC_2.4 cargl F +GLIBC_2.4 casinhl F +GLIBC_2.4 casinl F +GLIBC_2.4 catanhl F +GLIBC_2.4 catanl F +GLIBC_2.4 cbrtl F +GLIBC_2.4 ccoshl F +GLIBC_2.4 ccosl F +GLIBC_2.4 ceill F +GLIBC_2.4 cexpl F +GLIBC_2.4 cimagl F +GLIBC_2.4 clog10l F +GLIBC_2.4 clogl F +GLIBC_2.4 conjl F +GLIBC_2.4 copysignl F +GLIBC_2.4 coshl F +GLIBC_2.4 cosl F +GLIBC_2.4 cpowl F +GLIBC_2.4 cprojl F +GLIBC_2.4 creall F +GLIBC_2.4 csinhl F +GLIBC_2.4 csinl F +GLIBC_2.4 csqrtl F +GLIBC_2.4 ctanhl F +GLIBC_2.4 ctanl F +GLIBC_2.4 dreml F +GLIBC_2.4 erfcl F +GLIBC_2.4 erfl F +GLIBC_2.4 exp10l F +GLIBC_2.4 exp2l F +GLIBC_2.4 expl F +GLIBC_2.4 expm1l F +GLIBC_2.4 fabsl F +GLIBC_2.4 fdiml F +GLIBC_2.4 finitel F +GLIBC_2.4 floorl F +GLIBC_2.4 fmal F +GLIBC_2.4 fmaxl F +GLIBC_2.4 fminl F +GLIBC_2.4 fmodl F +GLIBC_2.4 frexpl F +GLIBC_2.4 gammal F +GLIBC_2.4 hypotl F +GLIBC_2.4 ilogbl F +GLIBC_2.4 j0l F +GLIBC_2.4 j1l F +GLIBC_2.4 jnl F +GLIBC_2.4 ldexpl F +GLIBC_2.4 lgammal F +GLIBC_2.4 lgammal_r F +GLIBC_2.4 llrintl F +GLIBC_2.4 llroundl F +GLIBC_2.4 log10l F +GLIBC_2.4 log1pl F +GLIBC_2.4 log2l F +GLIBC_2.4 logbl F +GLIBC_2.4 logl F +GLIBC_2.4 lrintl F +GLIBC_2.4 lroundl F +GLIBC_2.4 modfl F +GLIBC_2.4 nanl F +GLIBC_2.4 nearbyintl F +GLIBC_2.4 nextafterl F +GLIBC_2.4 nexttoward F +GLIBC_2.4 nexttowardf F +GLIBC_2.4 nexttowardl F +GLIBC_2.4 pow10l F +GLIBC_2.4 powl F +GLIBC_2.4 remainderl F +GLIBC_2.4 remquol F +GLIBC_2.4 rintl F +GLIBC_2.4 roundl F +GLIBC_2.4 scalbl F +GLIBC_2.4 scalblnl F +GLIBC_2.4 scalbnl F +GLIBC_2.4 significandl F +GLIBC_2.4 sincosl F +GLIBC_2.4 sinhl F +GLIBC_2.4 sinl F +GLIBC_2.4 sqrtl F +GLIBC_2.4 tanhl F +GLIBC_2.4 tanl F +GLIBC_2.4 tgammal F +GLIBC_2.4 truncl F +GLIBC_2.4 y0l F +GLIBC_2.4 y1l F +GLIBC_2.4 ynl F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist new file mode 100644 index 0000000000..a23db2aeaf --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libnsl.abilist @@ -0,0 +1,124 @@ +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 +GLIBC_2.0 xdr_mapname F +GLIBC_2.0 xdr_peername F +GLIBC_2.0 xdr_valdat F +GLIBC_2.0 xdr_yp_buf F +GLIBC_2.0 xdr_ypbind_binding F +GLIBC_2.0 xdr_ypbind_resp F +GLIBC_2.0 xdr_ypbind_resptype F +GLIBC_2.0 xdr_ypbind_setdom F +GLIBC_2.0 xdr_ypdelete_args F +GLIBC_2.0 xdr_ypmap_parms F +GLIBC_2.0 xdr_ypmaplist F +GLIBC_2.0 xdr_yppush_status F +GLIBC_2.0 xdr_yppushresp_xfr F +GLIBC_2.0 xdr_ypreq_key F +GLIBC_2.0 xdr_ypreq_nokey F +GLIBC_2.0 xdr_ypreq_xfr F +GLIBC_2.0 xdr_ypresp_all F +GLIBC_2.0 xdr_ypresp_key_val F +GLIBC_2.0 xdr_ypresp_maplist F +GLIBC_2.0 xdr_ypresp_master F +GLIBC_2.0 xdr_ypresp_order F +GLIBC_2.0 xdr_ypresp_val F +GLIBC_2.0 xdr_ypresp_xfr F +GLIBC_2.0 xdr_ypstat F +GLIBC_2.0 xdr_ypupdate_args F +GLIBC_2.0 xdr_ypxfrstat F +GLIBC_2.0 yp_all F +GLIBC_2.0 yp_bind F +GLIBC_2.0 yp_first F +GLIBC_2.0 yp_get_default_domain F +GLIBC_2.0 yp_maplist F +GLIBC_2.0 yp_master F +GLIBC_2.0 yp_match F +GLIBC_2.0 yp_next F +GLIBC_2.0 yp_order F +GLIBC_2.0 yp_unbind F +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 +GLIBC_2.1 __nis_default_owner F +GLIBC_2.1 __nis_default_ttl F +GLIBC_2.1 __nis_finddirectory F +GLIBC_2.1 __nis_hash F +GLIBC_2.1 __nisbind_connect F +GLIBC_2.1 __nisbind_create F +GLIBC_2.1 __nisbind_destroy F +GLIBC_2.1 __nisbind_next F +GLIBC_2.1 nis_add F +GLIBC_2.1 nis_add_entry F +GLIBC_2.1 nis_addmember F +GLIBC_2.1 nis_checkpoint F +GLIBC_2.1 nis_clone_directory F +GLIBC_2.1 nis_clone_object F +GLIBC_2.1 nis_clone_result F +GLIBC_2.1 nis_creategroup F +GLIBC_2.1 nis_destroy_object F +GLIBC_2.1 nis_destroygroup F +GLIBC_2.1 nis_dir_cmp F +GLIBC_2.1 nis_domain_of F +GLIBC_2.1 nis_domain_of_r F +GLIBC_2.1 nis_first_entry F +GLIBC_2.1 nis_free_directory F +GLIBC_2.1 nis_free_object F +GLIBC_2.1 nis_free_request F +GLIBC_2.1 nis_freenames F +GLIBC_2.1 nis_freeresult F +GLIBC_2.1 nis_freeservlist F +GLIBC_2.1 nis_freetags F +GLIBC_2.1 nis_getnames F +GLIBC_2.1 nis_getservlist F +GLIBC_2.1 nis_ismember F +GLIBC_2.1 nis_leaf_of F +GLIBC_2.1 nis_leaf_of_r F +GLIBC_2.1 nis_lerror F +GLIBC_2.1 nis_list F +GLIBC_2.1 nis_local_directory F +GLIBC_2.1 nis_local_group F +GLIBC_2.1 nis_local_host F +GLIBC_2.1 nis_local_principal F +GLIBC_2.1 nis_lookup F +GLIBC_2.1 nis_mkdir F +GLIBC_2.1 nis_modify F +GLIBC_2.1 nis_modify_entry F +GLIBC_2.1 nis_name_of F +GLIBC_2.1 nis_name_of_r F +GLIBC_2.1 nis_next_entry F +GLIBC_2.1 nis_perror F +GLIBC_2.1 nis_ping F +GLIBC_2.1 nis_print_directory F +GLIBC_2.1 nis_print_entry F +GLIBC_2.1 nis_print_group F +GLIBC_2.1 nis_print_group_entry F +GLIBC_2.1 nis_print_link F +GLIBC_2.1 nis_print_object F +GLIBC_2.1 nis_print_result F +GLIBC_2.1 nis_print_rights F +GLIBC_2.1 nis_print_table F +GLIBC_2.1 nis_read_obj F +GLIBC_2.1 nis_remove F +GLIBC_2.1 nis_remove_entry F +GLIBC_2.1 nis_removemember F +GLIBC_2.1 nis_rmdir F +GLIBC_2.1 nis_servstate F +GLIBC_2.1 nis_sperrno F +GLIBC_2.1 nis_sperror F +GLIBC_2.1 nis_sperror_r F +GLIBC_2.1 nis_stats F +GLIBC_2.1 nis_verifygroup F +GLIBC_2.1 nis_write_obj F +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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist new file mode 100644 index 0000000000..7e121d45f8 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -0,0 +1,259 @@ +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 +GLIBC_2.0 __close F +GLIBC_2.0 __connect F +GLIBC_2.0 __errno_location F +GLIBC_2.0 __fcntl F +GLIBC_2.0 __fork F +GLIBC_2.0 __h_errno_location F +GLIBC_2.0 __lseek F +GLIBC_2.0 __open F +GLIBC_2.0 __pthread_getspecific F +GLIBC_2.0 __pthread_key_create F +GLIBC_2.0 __pthread_mutex_destroy F +GLIBC_2.0 __pthread_mutex_init F +GLIBC_2.0 __pthread_mutex_lock F +GLIBC_2.0 __pthread_mutex_trylock F +GLIBC_2.0 __pthread_mutex_unlock F +GLIBC_2.0 __pthread_mutexattr_destroy F +GLIBC_2.0 __pthread_mutexattr_init F +GLIBC_2.0 __pthread_mutexattr_settype F +GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F +GLIBC_2.0 __read F +GLIBC_2.0 __send F +GLIBC_2.0 __sigaction F +GLIBC_2.0 __wait F +GLIBC_2.0 __write F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F +GLIBC_2.0 accept F +GLIBC_2.0 close F +GLIBC_2.0 connect F +GLIBC_2.0 fcntl F +GLIBC_2.0 flockfile F +GLIBC_2.0 fork F +GLIBC_2.0 fsync F +GLIBC_2.0 ftrylockfile F +GLIBC_2.0 funlockfile F +GLIBC_2.0 longjmp F +GLIBC_2.0 lseek F +GLIBC_2.0 msync F +GLIBC_2.0 nanosleep F +GLIBC_2.0 open F +GLIBC_2.0 pause F +GLIBC_2.0 pthread_atfork F +GLIBC_2.0 pthread_attr_destroy F +GLIBC_2.0 pthread_attr_getdetachstate F +GLIBC_2.0 pthread_attr_getinheritsched F +GLIBC_2.0 pthread_attr_getschedparam F +GLIBC_2.0 pthread_attr_getschedpolicy F +GLIBC_2.0 pthread_attr_getscope F +GLIBC_2.0 pthread_attr_init F +GLIBC_2.0 pthread_attr_setdetachstate F +GLIBC_2.0 pthread_attr_setinheritsched F +GLIBC_2.0 pthread_attr_setschedparam F +GLIBC_2.0 pthread_attr_setschedpolicy F +GLIBC_2.0 pthread_attr_setscope F +GLIBC_2.0 pthread_cancel F +GLIBC_2.0 pthread_cond_broadcast F +GLIBC_2.0 pthread_cond_destroy F +GLIBC_2.0 pthread_cond_init F +GLIBC_2.0 pthread_cond_signal F +GLIBC_2.0 pthread_cond_timedwait F +GLIBC_2.0 pthread_cond_wait F +GLIBC_2.0 pthread_condattr_destroy F +GLIBC_2.0 pthread_condattr_init F +GLIBC_2.0 pthread_create F +GLIBC_2.0 pthread_detach F +GLIBC_2.0 pthread_equal F +GLIBC_2.0 pthread_exit F +GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F +GLIBC_2.0 pthread_join F +GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F +GLIBC_2.0 pthread_kill F +GLIBC_2.0 pthread_kill_other_threads_np F +GLIBC_2.0 pthread_mutex_destroy F +GLIBC_2.0 pthread_mutex_init F +GLIBC_2.0 pthread_mutex_lock F +GLIBC_2.0 pthread_mutex_trylock F +GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_mutexattr_destroy F +GLIBC_2.0 pthread_mutexattr_getkind_np F +GLIBC_2.0 pthread_mutexattr_init F +GLIBC_2.0 pthread_mutexattr_setkind_np F +GLIBC_2.0 pthread_once F +GLIBC_2.0 pthread_self F +GLIBC_2.0 pthread_setcancelstate F +GLIBC_2.0 pthread_setcanceltype F +GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F +GLIBC_2.0 pthread_sigmask F +GLIBC_2.0 pthread_testcancel F +GLIBC_2.0 raise F +GLIBC_2.0 read F +GLIBC_2.0 recv F +GLIBC_2.0 recvfrom F +GLIBC_2.0 recvmsg F +GLIBC_2.0 sem_destroy F +GLIBC_2.0 sem_getvalue F +GLIBC_2.0 sem_init F +GLIBC_2.0 sem_post F +GLIBC_2.0 sem_trywait F +GLIBC_2.0 sem_wait F +GLIBC_2.0 send F +GLIBC_2.0 sendmsg F +GLIBC_2.0 sendto F +GLIBC_2.0 sigaction F +GLIBC_2.0 siglongjmp F +GLIBC_2.0 sigwait F +GLIBC_2.0 system F +GLIBC_2.0 tcdrain F +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 +GLIBC_2.1 pthread_attr_getguardsize F +GLIBC_2.1 pthread_attr_getstackaddr F +GLIBC_2.1 pthread_attr_getstacksize F +GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_attr_setguardsize F +GLIBC_2.1 pthread_attr_setstackaddr F +GLIBC_2.1 pthread_attr_setstacksize F +GLIBC_2.1 pthread_create F +GLIBC_2.1 pthread_getconcurrency F +GLIBC_2.1 pthread_mutexattr_gettype F +GLIBC_2.1 pthread_mutexattr_settype F +GLIBC_2.1 pthread_rwlock_destroy F +GLIBC_2.1 pthread_rwlock_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_tryrdlock F +GLIBC_2.1 pthread_rwlock_trywrlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F +GLIBC_2.1 pthread_rwlockattr_destroy F +GLIBC_2.1 pthread_rwlockattr_getkind_np F +GLIBC_2.1 pthread_rwlockattr_getpshared F +GLIBC_2.1 pthread_rwlockattr_init F +GLIBC_2.1 pthread_rwlockattr_setkind_np F +GLIBC_2.1 pthread_rwlockattr_setpshared F +GLIBC_2.1 pthread_setconcurrency F +GLIBC_2.1 sem_destroy F +GLIBC_2.1 sem_getvalue F +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 +GLIBC_2.2 __pthread_rwlock_init F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_tryrdlock F +GLIBC_2.2 __pthread_rwlock_trywrlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F +GLIBC_2.2 __pwrite64 F +GLIBC_2.2 __res_state F +GLIBC_2.2 lseek64 F +GLIBC_2.2 open64 F +GLIBC_2.2 pread F +GLIBC_2.2 pread64 F +GLIBC_2.2 pthread_attr_getstack F +GLIBC_2.2 pthread_attr_setstack F +GLIBC_2.2 pthread_barrier_destroy F +GLIBC_2.2 pthread_barrier_init F +GLIBC_2.2 pthread_barrier_wait F +GLIBC_2.2 pthread_barrierattr_destroy F +GLIBC_2.2 pthread_barrierattr_init F +GLIBC_2.2 pthread_barrierattr_setpshared F +GLIBC_2.2 pthread_condattr_getpshared F +GLIBC_2.2 pthread_condattr_setpshared F +GLIBC_2.2 pthread_getcpuclockid F +GLIBC_2.2 pthread_mutex_timedlock F +GLIBC_2.2 pthread_mutexattr_getpshared F +GLIBC_2.2 pthread_mutexattr_setpshared F +GLIBC_2.2 pthread_rwlock_timedrdlock F +GLIBC_2.2 pthread_rwlock_timedwrlock F +GLIBC_2.2 pthread_spin_destroy F +GLIBC_2.2 pthread_spin_init F +GLIBC_2.2 pthread_spin_lock F +GLIBC_2.2 pthread_spin_trylock F +GLIBC_2.2 pthread_spin_unlock F +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.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 +GLIBC_2.3.3 __pthread_unregister_cancel F +GLIBC_2.3.3 __pthread_unregister_cancel_restore F +GLIBC_2.3.3 __pthread_unwind_next F +GLIBC_2.3.3 pthread_attr_getaffinity_np F +GLIBC_2.3.3 pthread_attr_setaffinity_np F +GLIBC_2.3.3 pthread_attr_setstack F +GLIBC_2.3.3 pthread_attr_setstacksize F +GLIBC_2.3.3 pthread_barrierattr_getpshared F +GLIBC_2.3.3 pthread_condattr_getclock F +GLIBC_2.3.3 pthread_condattr_setclock F +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 +GLIBC_2.4 pthread_mutexattr_getprioceiling F +GLIBC_2.4 pthread_mutexattr_getprotocol F +GLIBC_2.4 pthread_mutexattr_getrobust_np F +GLIBC_2.4 pthread_mutexattr_setprioceiling F +GLIBC_2.4 pthread_mutexattr_setprotocol F +GLIBC_2.4 pthread_mutexattr_setrobust_np F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist new file mode 100644 index 0000000000..4d50e7c8c6 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist @@ -0,0 +1,100 @@ +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 +GLIBC_2.0 __dn_count_labels F +GLIBC_2.0 __dn_skipname F +GLIBC_2.0 __fp_nquery F +GLIBC_2.0 __fp_query F +GLIBC_2.0 __fp_resstat F +GLIBC_2.0 __hostalias F +GLIBC_2.0 __loc_aton F +GLIBC_2.0 __loc_ntoa F +GLIBC_2.0 __p_cdname F +GLIBC_2.0 __p_cdnname F +GLIBC_2.0 __p_class F +GLIBC_2.0 __p_class_syms D 0x54 +GLIBC_2.0 __p_fqname F +GLIBC_2.0 __p_fqnname F +GLIBC_2.0 __p_option F +GLIBC_2.0 __p_query F +GLIBC_2.0 __p_secstodate F +GLIBC_2.0 __p_time F +GLIBC_2.0 __p_type F +GLIBC_2.0 __p_type_syms D 0x228 +GLIBC_2.0 __putlong F +GLIBC_2.0 __putshort F +GLIBC_2.0 __res_close F +GLIBC_2.0 __res_dnok F +GLIBC_2.0 __res_hnok F +GLIBC_2.0 __res_isourserver F +GLIBC_2.0 __res_mailok F +GLIBC_2.0 __res_nameinquery F +GLIBC_2.0 __res_ownok F +GLIBC_2.0 __res_queriesmatch F +GLIBC_2.0 __res_send F +GLIBC_2.0 __sym_ntop F +GLIBC_2.0 __sym_ntos F +GLIBC_2.0 __sym_ston F +GLIBC_2.0 _gethtbyaddr F +GLIBC_2.0 _gethtbyname F +GLIBC_2.0 _gethtbyname2 F +GLIBC_2.0 _gethtent F +GLIBC_2.0 _getlong F +GLIBC_2.0 _getshort F +GLIBC_2.0 _res_opcodes D 0x40 +GLIBC_2.0 _sethtent F +GLIBC_2.0 dn_expand F +GLIBC_2.0 inet_net_ntop F +GLIBC_2.0 inet_net_pton F +GLIBC_2.0 inet_neta F +GLIBC_2.0 res_gethostbyaddr F +GLIBC_2.0 res_gethostbyname F +GLIBC_2.0 res_gethostbyname2 F +GLIBC_2.0 res_mkquery F +GLIBC_2.0 res_query F +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 +GLIBC_2.2 __res_nmkquery F +GLIBC_2.2 __res_nquery F +GLIBC_2.2 __res_nquerydomain F +GLIBC_2.2 __res_nsearch F +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 +GLIBC_2.9 ns_get32 F +GLIBC_2.9 ns_initparse F +GLIBC_2.9 ns_makecanon F +GLIBC_2.9 ns_msg_getflag F +GLIBC_2.9 ns_name_compress F +GLIBC_2.9 ns_name_ntol F +GLIBC_2.9 ns_name_ntop F +GLIBC_2.9 ns_name_pack F +GLIBC_2.9 ns_name_pton F +GLIBC_2.9 ns_name_rollback F +GLIBC_2.9 ns_name_skip F +GLIBC_2.9 ns_name_uncompress F +GLIBC_2.9 ns_name_unpack F +GLIBC_2.9 ns_parse_ttl F +GLIBC_2.9 ns_parserr F +GLIBC_2.9 ns_put16 F +GLIBC_2.9 ns_put32 F +GLIBC_2.9 ns_samedomain F +GLIBC_2.9 ns_samename F +GLIBC_2.9 ns_skiprr F +GLIBC_2.9 ns_sprintrr F +GLIBC_2.9 ns_sprintrrf F +GLIBC_2.9 ns_subdomain F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist new file mode 100644 index 0000000000..07056199bc --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist @@ -0,0 +1,50 @@ +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 +GLIBC_2.1 aio_error64 F +GLIBC_2.1 aio_fsync F +GLIBC_2.1 aio_fsync64 F +GLIBC_2.1 aio_init F +GLIBC_2.1 aio_read F +GLIBC_2.1 aio_read64 F +GLIBC_2.1 aio_return F +GLIBC_2.1 aio_return64 F +GLIBC_2.1 aio_suspend F +GLIBC_2.1 aio_suspend64 F +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 +GLIBC_2.2 clock_nanosleep F +GLIBC_2.2 clock_settime F +GLIBC_2.2 shm_open F +GLIBC_2.2 shm_unlink F +GLIBC_2.2 timer_create F +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.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 +GLIBC_2.3.4 mq_open F +GLIBC_2.3.4 mq_receive F +GLIBC_2.3.4 mq_send F +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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist new file mode 100644 index 0000000000..a8a8c2c68d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libthread_db.abilist @@ -0,0 +1,44 @@ +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 +GLIBC_2.1.3 td_ta_delete F +GLIBC_2.1.3 td_ta_enable_stats F +GLIBC_2.1.3 td_ta_event_addr F +GLIBC_2.1.3 td_ta_event_getmsg F +GLIBC_2.1.3 td_ta_get_nthreads F +GLIBC_2.1.3 td_ta_get_ph F +GLIBC_2.1.3 td_ta_get_stats F +GLIBC_2.1.3 td_ta_map_id2thr F +GLIBC_2.1.3 td_ta_map_lwp2thr F +GLIBC_2.1.3 td_ta_new F +GLIBC_2.1.3 td_ta_reset_stats F +GLIBC_2.1.3 td_ta_set_event F +GLIBC_2.1.3 td_ta_setconcurrency F +GLIBC_2.1.3 td_ta_thr_iter F +GLIBC_2.1.3 td_ta_tsd_iter F +GLIBC_2.1.3 td_thr_clear_event F +GLIBC_2.1.3 td_thr_dbresume F +GLIBC_2.1.3 td_thr_dbsuspend F +GLIBC_2.1.3 td_thr_event_enable F +GLIBC_2.1.3 td_thr_event_getmsg F +GLIBC_2.1.3 td_thr_get_info F +GLIBC_2.1.3 td_thr_getfpregs F +GLIBC_2.1.3 td_thr_getgregs F +GLIBC_2.1.3 td_thr_getxregs F +GLIBC_2.1.3 td_thr_getxregsize F +GLIBC_2.1.3 td_thr_set_event F +GLIBC_2.1.3 td_thr_setfpregs F +GLIBC_2.1.3 td_thr_setgregs F +GLIBC_2.1.3 td_thr_setprio F +GLIBC_2.1.3 td_thr_setsigpending F +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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist new file mode 100644 index 0000000000..89c67755c4 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/libutil.abilist @@ -0,0 +1,7 @@ +GLIBC_2.0 GLIBC_2.0 A +GLIBC_2.0 forkpty F +GLIBC_2.0 login F +GLIBC_2.0 login_tty F +GLIBC_2.0 logout F +GLIBC_2.0 logwtmp F +GLIBC_2.0 openpty F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data new file mode 100644 index 0000000000..c9786fd6ea --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data @@ -0,0 +1,27 @@ +libc.so: _Q_add ? +libc.so: _Q_cmp ? +libc.so: _Q_div ? +libc.so: _Q_feq ? +libc.so: _Q_fge ? +libc.so: _Q_fle ? +libc.so: _Q_flt ? +libc.so: _Q_fne ? +libc.so: _Q_itoq ? +libc.so: _Q_mul ? +libc.so: _Q_sub ? +libc.so: _Unwind_Find_FDE +libc.so: calloc +libc.so: free +libc.so: malloc +libc.so: memalign +libc.so: realloc +libm.so: matherr +# 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 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c new file mode 100644 index 0000000000..a88f5a784a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lockf64.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/lockf64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c new file mode 100644 index 0000000000..2371cd9719 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c @@ -0,0 +1,2 @@ +#include <sysdeps/unix/sysv/linux/i386/lxstat.c> + diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c new file mode 100644 index 0000000000..2756bf5346 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c @@ -0,0 +1,92 @@ +/* Create new context. + Copyright (C) 2008-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David S. Miller <davem@davemloft.net>, 2008. + + 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 <stdarg.h> +#include <stdint.h> +#include <ucontext.h> + +/* Sets up the outgoing arguments and the program counter for a user + context for the requested function call. + + Returning to the correct parent context is pretty simple on + Sparc. We only need to link up the register windows correctly. + Since global registers are clobbered by calls, we need not be + concerned about those, and thus is all could be worked out without + using a trampoline. + + Except that we must deal with the signal mask, thus a trampoline + is unavoidable. 32-bit stackframe layout: + +-----------------------------------------+ + | 7th and further parameters | + +-----------------------------------------+ + | backup storage for initial 6 parameters | + +-----------------------------------------+ + | struct return pointer | + +-----------------------------------------+ + | 8 incoming registers | + +-----------------------------------------+ + | 8 local registers | + %sp --> +-----------------------------------------+ + +*/ + +void +__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) +{ + extern void __start_context (void); + unsigned long int *sp; + va_list ap; + int i; + + sp = (unsigned long int *) (ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); + sp -= 16 + 7 + argc; + sp = (unsigned long int *) (((uintptr_t) sp) & ~(8 - 1)); + + for (i = 0; i < 8; i++) + sp[i + 8] = ucp->uc_mcontext.gregs[REG_O0 + i]; + + /* The struct return pointer is essentially unused, so we can + place the link there. */ + sp[16] = (unsigned long int) ucp->uc_link; + + va_start (ap, argc); + + /* Fill in outgoing arguments, including those which will + end up being passed on the stack. */ + for (i = 0; i < argc; i++) + { + unsigned long int arg = va_arg (ap, unsigned long int); + if (i < 6) + ucp->uc_mcontext.gregs[REG_O0 + i] = arg; + else + sp[i + 23 - 6] = arg; + } + + va_end (ap); + + ucp->uc_mcontext.gregs[REG_O6] = (unsigned long int) sp; + + ucp->uc_mcontext.gregs[REG_O7] = ((unsigned long int) __start_context) - 8; + + ucp->uc_mcontext.gregs[REG_PC] = (unsigned long int) func; + ucp->uc_mcontext.gregs[REG_nPC] = ucp->uc_mcontext.gregs[REG_PC] + 4; +} + +weak_alias (__makecontext, makecontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h new file mode 100644 index 0000000000..bd985cc59c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h @@ -0,0 +1,8 @@ +/* ABI version for long double switch. + This is used by the Versions and math_ldbl_opt.h files in + sysdeps/ieee754/ldbl-opt/. It gives the ABI version where + long double == double was replaced with proper long double + for libm *l functions and libc functions using long double. */ + +#define NLDBL_VERSION GLIBC_2.4 +#define LONG_DOUBLE_COMPAT_VERSION GLIBC_2_4 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S new file mode 100644 index 0000000000..5d06aadbe7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S @@ -0,0 +1,39 @@ +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997. + + 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> + + .text + .globl __syscall_error +ENTRY(__libc_pipe) + mov %o0, %o2 /* Save PIPEDES. */ + mov SYS_ify(pipe),%g1 + ta 0x10 + bcc 1f + mov %o7, %g1 + call __syscall_error + mov %g1, %o7 +1: st %o0, [%o2] /* PIPEDES[0] = %o0; */ + st %o1, [%o2 + 4] /* PIPEDES[1] = %o1; */ + retl + clr %o0 +END(__libc_pipe) + +weak_alias (__libc_pipe, __pipe) +libc_hidden_def (__pipe) +weak_alias (__libc_pipe, pipe) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h new file mode 100644 index 0000000000..44b655a964 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h @@ -0,0 +1,28 @@ +/* Low-level statistical profiling support function. Linux/SPARC version. + Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <signal.h> + +void +__profil_counter (int signo, struct sigcontext *si) +{ + profil_count ((void *) si->si_regs.pc); +} +#ifndef __profil_counter +weak_alias (__profil_counter, profil_counter) +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c new file mode 100644 index 0000000000..2ea26dd409 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/readdir64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c new file mode 100644 index 0000000000..9f54f897e3 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/readdir64_r.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h new file mode 100644 index 0000000000..62485e8431 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h @@ -0,0 +1,335 @@ +/* Dump registers. + Copyright (C) 1999-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. + + 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/uio.h> +#include <_itoa.h> + +/* We will print the register dump in this format: + + PSR: XXXXXXXX PC: XXXXXXXX NPC: XXXXXXXX Y: XXXXXXXX + g0: 00000000 g1: XXXXXXXX g2: XXXXXXXX g3: XXXXXXXX + g4: XXXXXXXX g5: XXXXXXXX g6: XXXXXXXX g7: XXXXXXXX + o0: XXXXXXXX o1: XXXXXXXX o2: XXXXXXXX o3: XXXXXXXX + o4: XXXXXXXX o5: XXXXXXXX sp: XXXXXXXX o7: XXXXXXXX + l0: XXXXXXXX l1: XXXXXXXX l2: XXXXXXXX l3: XXXXXXXX + l4: XXXXXXXX l5: XXXXXXXX l6: XXXXXXXX l7: XXXXXXXX + i0: XXXXXXXX i1: XXXXXXXX i2: XXXXXXXX i3: XXXXXXXX + i4: XXXXXXXX i5: XXXXXXXX fp: XXXXXXXX i7: XXXXXXXX + + followed on sun4, sun4c, sun4d, sun4m by: + + Old mask: XXXXXXXX FSR: XXXXXXXX FPQ: XXXXXXXX + f0: XXXXXXXXXXXXXXXX f2: XXXXXXXXXXXXXXXX f4: XXXXXXXXXXXXXXXX + f6: XXXXXXXXXXXXXXXX f8: XXXXXXXXXXXXXXXX f10: XXXXXXXXXXXXXXXX + f12: XXXXXXXXXXXXXXXX f14: XXXXXXXXXXXXXXXX f16: XXXXXXXXXXXXXXXX + f18: XXXXXXXXXXXXXXXX f20: XXXXXXXXXXXXXXXX f22: XXXXXXXXXXXXXXXX + f24: XXXXXXXXXXXXXXXX f26: XXXXXXXXXXXXXXXX f28: XXXXXXXXXXXXXXXX + f30: XXXXXXXXXXXXXXXX + + and on sun4u by: + + Old mask: XXXXXXXX XFSR: XXXXXXXXXXXXXXXX GSR: XX FPRS: X + f0: XXXXXXXXXXXXXXXX f2: XXXXXXXXXXXXXXXX f4: XXXXXXXXXXXXXXXX + f6: XXXXXXXXXXXXXXXX f8: XXXXXXXXXXXXXXXX f10: XXXXXXXXXXXXXXXX + f12: XXXXXXXXXXXXXXXX f14: XXXXXXXXXXXXXXXX f16: XXXXXXXXXXXXXXXX + f18: XXXXXXXXXXXXXXXX f20: XXXXXXXXXXXXXXXX f22: XXXXXXXXXXXXXXXX + f24: XXXXXXXXXXXXXXXX f26: XXXXXXXXXXXXXXXX f28: XXXXXXXXXXXXXXXX + f30: XXXXXXXXXXXXXXXX f32: XXXXXXXXXXXXXXXX f34: XXXXXXXXXXXXXXXX + f36: XXXXXXXXXXXXXXXX f38: XXXXXXXXXXXXXXXX f40: XXXXXXXXXXXXXXXX + f42: XXXXXXXXXXXXXXXX f44: XXXXXXXXXXXXXXXX f46: XXXXXXXXXXXXXXXX + f48: XXXXXXXXXXXXXXXX f50: XXXXXXXXXXXXXXXX f52: XXXXXXXXXXXXXXXX + f54: XXXXXXXXXXXXXXXX f56: XXXXXXXXXXXXXXXX f58: XXXXXXXXXXXXXXXX + f60: XXXXXXXXXXXXXXXX f62: XXXXXXXXXXXXXXXX + + */ + +static void +hexvalue (unsigned long int value, char *buf, size_t len) +{ + char *cp = _itoa_word (value, buf + len, 16, 0); + while (cp > buf) + *--cp = '0'; +} + +struct __siginfo_sparc32_fpu +{ + unsigned int si_float_regs[32]; + unsigned int si_fsr; + unsigned int si_fpq; +}; +struct __siginfo_sparc64_fpu +{ + unsigned int si_float_regs[64]; + unsigned int si_xfsr; + unsigned int si_fsr; + unsigned int _pad1; + unsigned int si_gsr; + unsigned int _pad2; + unsigned int si_fprs; +}; + +static void +register_dump (int fd, SIGCONTEXT ctx) +{ + char regs[36][8]; + char fregs[68][8]; + struct iovec iov[150]; + size_t nr = 0; + int i; + unsigned int *r = (unsigned int *) + ctx->si_regs.u_regs[14]; + +#define ADD_STRING(str) \ + iov[nr].iov_base = (char *) str; \ + iov[nr].iov_len = strlen (str); \ + ++nr +#define ADD_MEM(str, len) \ + iov[nr].iov_base = str; \ + iov[nr].iov_len = len; \ + ++nr + + /* Generate strings of register contents. */ + hexvalue (ctx->si_regs.psr, regs[0], 8); + hexvalue (ctx->si_regs.pc, regs[1], 8); + hexvalue (ctx->si_regs.npc, regs[2], 8); + hexvalue (ctx->si_regs.y, regs[3], 8); + for (i = 1; i <= 15; i++) + hexvalue (ctx->si_regs.u_regs[i], regs[3+i], 8); + for (i = 0; i <= 15; i++) + hexvalue (r[i], regs[19+i], 8); + hexvalue (ctx->si_mask, regs[35], 8); + + /* Generate the output. */ + ADD_STRING ("Register dump:\n\n PSR: "); + ADD_MEM (regs[0], 8); + ADD_STRING (" PC: "); + ADD_MEM (regs[1], 8); + ADD_STRING (" NPC: "); + ADD_MEM (regs[2], 8); + ADD_STRING (" Y: "); + ADD_MEM (regs[3], 8); + ADD_STRING ("\n g0: 00000000 g1: "); + ADD_MEM (regs[4], 8); + ADD_STRING (" g2: "); + ADD_MEM (regs[5], 8); + ADD_STRING (" g3: "); + ADD_MEM (regs[6], 8); + ADD_STRING ("\n g4: "); + ADD_MEM (regs[7], 8); + ADD_STRING (" g5: "); + ADD_MEM (regs[8], 8); + ADD_STRING (" g6: "); + ADD_MEM (regs[9], 8); + ADD_STRING (" g7: "); + ADD_MEM (regs[10], 8); + ADD_STRING ("\n o0: "); + ADD_MEM (regs[11], 8); + ADD_STRING (" o1: "); + ADD_MEM (regs[12], 8); + ADD_STRING (" o2: "); + ADD_MEM (regs[13], 8); + ADD_STRING (" o3: "); + ADD_MEM (regs[14], 8); + ADD_STRING ("\n o4: "); + ADD_MEM (regs[15], 8); + ADD_STRING (" o5: "); + ADD_MEM (regs[16], 8); + ADD_STRING (" sp: "); + ADD_MEM (regs[17], 8); + ADD_STRING (" o7: "); + ADD_MEM (regs[18], 8); + ADD_STRING ("\n l0: "); + ADD_MEM (regs[19], 8); + ADD_STRING (" l1: "); + ADD_MEM (regs[20], 8); + ADD_STRING (" l2: "); + ADD_MEM (regs[21], 8); + ADD_STRING (" l3: "); + ADD_MEM (regs[22], 8); + ADD_STRING ("\n l4: "); + ADD_MEM (regs[23], 8); + ADD_STRING (" l5: "); + ADD_MEM (regs[24], 8); + ADD_STRING (" l6: "); + ADD_MEM (regs[25], 8); + ADD_STRING (" l7: "); + ADD_MEM (regs[26], 8); + ADD_STRING ("\n i0: "); + ADD_MEM (regs[27], 8); + ADD_STRING (" i1: "); + ADD_MEM (regs[28], 8); + ADD_STRING (" i2: "); + ADD_MEM (regs[29], 8); + ADD_STRING (" i3: "); + ADD_MEM (regs[30], 8); + ADD_STRING ("\n i4: "); + ADD_MEM (regs[31], 8); + ADD_STRING (" i5: "); + ADD_MEM (regs[32], 8); + ADD_STRING (" fp: "); + ADD_MEM (regs[33], 8); + ADD_STRING (" i7: "); + ADD_MEM (regs[34], 8); + ADD_STRING ("\n\n Old mask: "); + ADD_MEM (regs[35], 8); + + if ((ctx->si_regs.psr & 0xff000000) == 0xff000000) + { + struct __siginfo_sparc64_fpu *f; + + f = *(struct __siginfo_sparc64_fpu **) (ctx + 1); + if (f != NULL) + { + for (i = 0; i < 64; i++) + hexvalue (f->si_float_regs[i], fregs[i], 8); + hexvalue (f->si_xfsr, fregs[64], 8); + hexvalue (f->si_fsr, fregs[65], 8); + hexvalue (f->si_gsr, fregs[66], 2); + hexvalue (f->si_fprs, fregs[67], 1); + ADD_STRING (" XFSR: "); + ADD_MEM (fregs[64], 8); + ADD_MEM (fregs[65], 8); + ADD_STRING (" GSR: "); + ADD_MEM (fregs[66], 2); + ADD_STRING (" FPRS: "); + ADD_MEM (fregs[67], 1); + ADD_STRING ("\n f0: "); + ADD_MEM (fregs[0], 16); + ADD_STRING (" f2: "); + ADD_MEM (fregs[2], 16); + ADD_STRING (" f4: "); + ADD_MEM (fregs[4], 16); + ADD_STRING ("\n f6: "); + ADD_MEM (fregs[6], 16); + ADD_STRING (" f8: "); + ADD_MEM (fregs[8], 16); + ADD_STRING (" f10: "); + ADD_MEM (fregs[10], 16); + ADD_STRING ("\n f12: "); + ADD_MEM (fregs[12], 16); + ADD_STRING (" f14: "); + ADD_MEM (fregs[14], 16); + ADD_STRING (" f16: "); + ADD_MEM (fregs[16], 16); + ADD_STRING ("\n f18: "); + ADD_MEM (fregs[18], 16); + ADD_STRING (" f20: "); + ADD_MEM (fregs[20], 16); + ADD_STRING (" f22: "); + ADD_MEM (fregs[22], 16); + ADD_STRING ("\n f24: "); + ADD_MEM (fregs[24], 16); + ADD_STRING (" f26: "); + ADD_MEM (fregs[26], 16); + ADD_STRING (" f28: "); + ADD_MEM (fregs[28], 16); + ADD_STRING ("\n f30: "); + ADD_MEM (fregs[30], 16); + ADD_STRING (" f32: "); + ADD_MEM (fregs[32], 16); + ADD_STRING (" f34: "); + ADD_MEM (fregs[34], 16); + ADD_STRING ("\n f36: "); + ADD_MEM (fregs[36], 16); + ADD_STRING (" f38: "); + ADD_MEM (fregs[38], 16); + ADD_STRING (" f40: "); + ADD_MEM (fregs[40], 16); + ADD_STRING ("\n f42: "); + ADD_MEM (fregs[42], 16); + ADD_STRING (" f44: "); + ADD_MEM (fregs[44], 16); + ADD_STRING (" f46: "); + ADD_MEM (fregs[46], 16); + ADD_STRING ("\n f48: "); + ADD_MEM (fregs[48], 16); + ADD_STRING (" f50: "); + ADD_MEM (fregs[50], 16); + ADD_STRING (" f52: "); + ADD_MEM (fregs[52], 16); + ADD_STRING ("\n f54: "); + ADD_MEM (fregs[54], 16); + ADD_STRING (" f56: "); + ADD_MEM (fregs[56], 16); + ADD_STRING (" f58: "); + ADD_MEM (fregs[58], 16); + ADD_STRING ("\n f60: "); + ADD_MEM (fregs[60], 16); + ADD_STRING (" f62: "); + ADD_MEM (fregs[62], 16); + } + } + else + { + struct __siginfo_sparc32_fpu *f; + + f = *(struct __siginfo_sparc32_fpu **) (ctx + 1); + if (f != NULL) + { + for (i = 0; i < 32; i++) + hexvalue (f->si_float_regs[i], fregs[i], 8); + hexvalue (f->si_fsr, fregs[64], 8); + hexvalue (f->si_fpq, fregs[65], 8); + ADD_STRING (" FSR: "); + ADD_MEM (fregs[64], 8); + ADD_STRING (" FPQ: "); + ADD_MEM (fregs[65], 8); + ADD_STRING ("\n f0: "); + ADD_MEM (fregs[0], 16); + ADD_STRING (" f2: "); + ADD_MEM (fregs[2], 16); + ADD_STRING (" f4: "); + ADD_MEM (fregs[4], 16); + ADD_STRING ("\n f6: "); + ADD_MEM (fregs[6], 16); + ADD_STRING (" f8: "); + ADD_MEM (fregs[8], 16); + ADD_STRING (" f10: "); + ADD_MEM (fregs[10], 16); + ADD_STRING ("\n f12: "); + ADD_MEM (fregs[12], 16); + ADD_STRING (" f14: "); + ADD_MEM (fregs[14], 16); + ADD_STRING (" f16: "); + ADD_MEM (fregs[16], 16); + ADD_STRING ("\n f18: "); + ADD_MEM (fregs[18], 16); + ADD_STRING (" f20: "); + ADD_MEM (fregs[20], 16); + ADD_STRING (" f22: "); + ADD_MEM (fregs[22], 16); + ADD_STRING ("\n f24: "); + ADD_MEM (fregs[24], 16); + ADD_STRING (" f26: "); + ADD_MEM (fregs[26], 16); + ADD_STRING (" f28: "); + ADD_MEM (fregs[28], 16); + ADD_STRING ("\n f30: "); + ADD_MEM (fregs[30], 16); + } + } + + ADD_STRING ("\n"); + + /* Write the stuff out. */ + writev (fd, iov, nr); +} + + +#define REGISTER_DUMP register_dump (fd, ctx) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c new file mode 100644 index 0000000000..506fd8877c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/scandir64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S new file mode 100644 index 0000000000..1a5f2de823 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S @@ -0,0 +1,118 @@ +/* Install given context. + Copyright (C) 2008-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David S. Miller <davem@davemloft.net>, 2008. + + 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 <sys/trap.h> + +#include "ucontext_i.h" + + +/* int __setcontext (const ucontext_t *ucp) + + Restores the machine context in UCP and thereby resumes execution + in that context. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to restore anything + other than the PRESERVED state. */ + +ENTRY(__setcontext) + save %sp, -112, %sp + + mov SIG_SETMASK, %o0 + add %i0, UC_SIGMASK, %o1 + clr %o2 + mov 8, %o3 + mov __NR_rt_sigprocmask, %g1 + ta 0x10 + + /* This is a bit on the expensive side, and we could optimize + the unwind similar to how the 32-bit sparc longjmp code + does if performance of this routine really matters. */ + ta ST_FLUSH_WINDOWS + + ldub [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN], %g1 + cmp %g1, 0 + be 1f + nop + ld [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_FSR], %fsr + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D0], %f0 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D2], %f2 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D4], %f4 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D6], %f6 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D8], %f8 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D10], %f10 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D12], %f12 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D14], %f14 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D16], %f16 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D18], %f18 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D20], %f20 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D22], %f22 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D24], %f24 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D26], %f26 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D28], %f28 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D30], %f30 +1: + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y], %g1 + wr %g1, 0x0, %y + + /* We specifically do not restore %g1 since we need it here as + a temporary. */ + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2], %g2 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3], %g3 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4], %g4 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5], %g5 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6], %g6 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7], %g7 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1], %i1 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2], %i2 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3], %i3 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4], %i4 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5], %i5 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6], %i6 + restore + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_O7], %o7 + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_PC], %g1 + jmpl %g1, %g0 + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_O0], %o0 +END(__setcontext) + +weak_alias (__setcontext, setcontext) + +/* This is the helper code which gets called if a function which is + registered with 'makecontext' returns. In this case we have to + install the context listed in the uc_link element of the context + 'makecontext' manipulated at the time of the 'makecontext' call. + If the pointer is NULL the process must terminate. */ + +ENTRY(__start_context) + ld [%sp + (16 * 4)], %g1 + cmp %g1, 0 + be,a 1f + clr %o0 + call __setcontext + mov %g1, %o0 + /* If this returns (which can happen if the syscall fails) we'll + exit the program with the return error value (-1). */ +1: call HIDDEN_JUMPTARGET(exit) + nop + /* The 'exit' call should never return. In case it does cause + the process to terminate. */ + unimp +END(__start_context) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions new file mode 100644 index 0000000000..ca5d15b1df --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions @@ -0,0 +1 @@ +ld=ld-linux.so.2 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c new file mode 100644 index 0000000000..295bfb2d15 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c @@ -0,0 +1,88 @@ +/* POSIX.1 sigaction call for Linux/SPARC. + Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx>, 1997. + + 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 <string.h> +#include <syscall.h> +#include <sys/signal.h> +#include <errno.h> +#include <kernel_sigaction.h> +#include <sysdep.h> + +static void __rt_sigreturn_stub (void); +static void __sigreturn_stub (void); + +int +__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) +{ + struct kernel_sigaction kact, koact; + unsigned long stub = 0; + int ret; + + if (act) + { + kact.k_sa_handler = act->sa_handler; + memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); + if (((kact.sa_flags = act->sa_flags) & SA_SIGINFO) != 0) + stub = (unsigned long) &__rt_sigreturn_stub; + else + stub = (unsigned long) &__sigreturn_stub; + stub -= 8; + 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> + + +static +inhibit_stack_protector +void +__rt_sigreturn_stub (void) +{ + __asm__ ("mov %0, %%g1\n\t" + "ta 0x10\n\t" + : /* no outputs */ + : "i" (__NR_rt_sigreturn)); +} + +static +inhibit_stack_protector +void +__sigreturn_stub (void) +{ + __asm__ ("mov %0, %%g1\n\t" + "ta 0x10\n\t" + : /* no outputs */ + : "i" (__NR_sigreturn)); +} diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h new file mode 100644 index 0000000000..99cf6ab7f4 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h @@ -0,0 +1,31 @@ +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. + + 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 SIGCONTEXT struct sigcontext * +#define SIGCONTEXT_EXTRA_ARGS +#define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.pc)) +#define FIRST_FRAME_POINTER \ + ({ void *ret; \ + asm volatile ("ta 3; add %%fp, 56, %0" : "=r" (ret)); ret; }) +#define ADVANCE_STACK_FRAME(__next) \ + ((void *) (((unsigned *)(__next))+14)) + +#define GET_STACK(__ctx) ((void *) (__ctx)->si_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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies new file mode 100644 index 0000000000..70568c5d17 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies @@ -0,0 +1,3 @@ +# We must list this here to move it ahead of the ldbl-opt code. +sparc/sparc32/sparcv9/fpu +sparc/sparc32/fpu diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies new file mode 100644 index 0000000000..a380d8a739 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies @@ -0,0 +1,4 @@ +# We must list this here to move it ahead of the ldbl-opt code. +sparc/sparc32/sparcv9/fpu/multiarch +sparc/sparc32/sparcv9/fpu +sparc/sparc32/fpu diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c new file mode 100644 index 0000000000..4191085d1f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S new file mode 100644 index 0000000000..7ef57e989b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S @@ -0,0 +1,118 @@ +/* Save current context and install the given one. + Copyright (C) 2008-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David S. Miller <davem@davemloft.net>, 2008. + + 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 <sys/trap.h> + +#include "ucontext_i.h" + + +/* int __swapcontext (ucontext_t *oucp, const ucontext_t *ucp); + + Saves the machine context in oucp such that when it is activated, + it appears as if __swapcontext() returned again, restores the + machine context in ucp and thereby resumes execution in that + context. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to save anything + other than the PRESERVED state. */ + +ENTRY(__swapcontext) + save %sp, -112, %sp + ta ST_FLUSH_WINDOWS + st %g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PSR] + add %i7, 8, %o0 + st %o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_PC] + add %o0, 4, %o0 + st %o0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_NPC] + rd %y, %o1 + st %o1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y] + st %g1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G1] + st %g2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2] + st %g3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3] + st %g4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4] + st %g5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5] + st %g6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6] + st %g7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7] + st %g0, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O0] + st %i1, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1] + st %i2, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2] + st %i3, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3] + st %i4, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4] + st %i5, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5] + st %i6, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6] + st %i7, [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O7] + st %g0, [%i0 + UC_MCONTEXT + MC_GWINS] + stb %g0, [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN] + st %g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_ID] + st %g0, [%i0 + UC_MCONTEXT + MC_XRS + XRS_PTR] + + mov SIG_SETMASK, %o0 + add %i1, UC_SIGMASK, %o1 + add %i0, UC_SIGMASK, %o2 + mov 8, %o3 + mov __NR_rt_sigprocmask, %g1 + ta 0x10 + + mov %i1, %i0 + ldub [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_EN], %g1 + cmp %g1, 0 + be 1f + nop + ld [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_FSR], %fsr + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D0], %f0 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D2], %f2 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D4], %f4 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D6], %f6 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D8], %f8 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D10], %f10 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D12], %f12 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D14], %f14 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D16], %f16 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D18], %f18 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D20], %f20 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D22], %f22 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D24], %f24 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D26], %f26 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D28], %f28 + ldd [%i0 + UC_MCONTEXT + MC_FPREGS + FPU_D30], %f30 +1: + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_Y], %g1 + wr %g1, 0x0, %y + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G2], %g2 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G3], %g3 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G4], %g4 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G5], %g5 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G6], %g6 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_G7], %g7 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O1], %i1 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O2], %i2 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O3], %i3 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O4], %i4 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O5], %i5 + ld [%i0 + UC_MCONTEXT + MC_GREGS + GREG_O6], %i6 + restore + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_O7], %o7 + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_PC], %g1 + jmpl %g1, %g0 + ld [%o0 + UC_MCONTEXT + MC_GREGS + GREG_O0], %o0 +END(__swapcontext) + +weak_alias (__swapcontext, swapcontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S new file mode 100644 index 0000000000..5a2ea17d8e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S @@ -0,0 +1,37 @@ +/* Copyright (C) 1991-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + + .text + .globl __syscall_error +ENTRY(syscall) + mov %o0, %g1 + mov %o1, %o0 + mov %o2, %o1 + mov %o3, %o2 + mov %o4, %o3 + mov %o5, %o4 + ld [%sp + 92], %o5 + ta 0x10 + bcc 1f + mov %o7, %g1 + call __syscall_error + mov %g1, %o7 +1: retl + nop +END(syscall) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list new file mode 100644 index 0000000000..0b6095ffab --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list @@ -0,0 +1,19 @@ +# File name Caller Syscall name # args Strong name Weak names + +chown - chown32 i:sii __chown chown +lchown - lchown32 i:sii __lchown lchown +fchown - fchown32 i:iii __fchown fchown + +getegid - getegid32 Ei: __getegid getegid +geteuid - geteuid32 Ei: __geteuid geteuid +getgid - getgid32 Ei: __getgid getgid +getuid - getuid32 Ei: __getuid getuid +getresuid - getresuid32 3 getresuid +getresgid - getresgid32 3 getresgid +getgroups - getgroups32 i:ip __getgroups getgroups + +setfsgid - setfsgid32 Ei:i setfsgid +setfsuid - setfsuid32 Ei:i setfsuid + +prlimit64 EXTRA prlimit64 i:iipp prlimit64 +fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h new file mode 100644 index 0000000000..c513212f1e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h @@ -0,0 +1,111 @@ +/* Copyright (C) 2002-2017 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;\ + cmp %g1, 0; \ + bne 1f; \ +.type __##syscall_name##_nocancel,@function; \ +.globl __##syscall_name##_nocancel; \ +__##syscall_name##_nocancel: \ + mov SYS_ify(syscall_name), %g1; \ + ta 0x10; \ + bcc 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, -96, %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 0x10; \ + bcc 1f; \ + mov %o0, %l1; \ + CDISABLE; \ + mov %l0, %o0; \ + call __syscall_error; \ + mov %l1, %o0; \ + b 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/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h new file mode 100644 index 0000000000..30aab691e7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h @@ -0,0 +1,147 @@ +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, January 1997. + + 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 _LINUX_SPARC32_SYSDEP_H +#define _LINUX_SPARC32_SYSDEP_H 1 + +#include <sysdeps/unix/sysv/linux/sparc/sysdep.h> + +#if IS_IN (rtld) +# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */ +#endif +#include <tls.h> + +#undef SYS_ify +#define SYS_ify(syscall_name) __NR_##syscall_name + +#ifdef __ASSEMBLER__ + +#define LOADSYSCALL(x) mov __NR_##x, %g1 + +#undef PSEUDO +#define PSEUDO(name, syscall_name, args) \ + .text; \ +ENTRY(name); \ + LOADSYSCALL(syscall_name); \ + ta 0x10; \ + bcc 1f; \ + nop; \ + SYSCALL_ERROR_HANDLER \ +1: + +#undef PSEUDO_NOERRNO +#define PSEUDO_NOERRNO(name, syscall_name, args)\ + .text; \ +ENTRY(name); \ + LOADSYSCALL(syscall_name); \ + ta 0x10; + +#undef PSEUDO_ERRVAL +#define PSEUDO_ERRVAL(name, syscall_name, args) \ + .text; \ +ENTRY(name); \ + LOADSYSCALL(syscall_name); \ + ta 0x10; + +#undef PSEUDO_END +#define PSEUDO_END(name) \ + END(name) + +#ifndef PIC +# define SYSCALL_ERROR_HANDLER \ + mov %o7, %g1; \ + call __syscall_error; \ + mov %g1, %o7; +#else +# if RTLD_PRIVATE_ERRNO +# define SYSCALL_ERROR_HANDLER \ +0: SETUP_PIC_REG_LEAF(o2,g1) \ + sethi %gdop_hix22(rtld_errno), %g1; \ + xor %g1, %gdop_lox10(rtld_errno), %g1;\ + ld [%o2 + %g1], %g1, %gdop(rtld_errno); \ + st %o0, [%g1]; \ + jmp %o7 + 8; \ + mov -1, %o0; +# elif defined _LIBC_REENTRANT + +# if IS_IN (libc) +# define SYSCALL_ERROR_ERRNO __libc_errno +# else +# define SYSCALL_ERROR_ERRNO errno +# endif +# define SYSCALL_ERROR_HANDLER \ +0: SETUP_PIC_REG_LEAF(o2,g1) \ + sethi %tie_hi22(SYSCALL_ERROR_ERRNO), %g1; \ + add %g1, %tie_lo10(SYSCALL_ERROR_ERRNO), %g1; \ + ld [%o2 + %g1], %g1, %tie_ld(SYSCALL_ERROR_ERRNO); \ + st %o0, [%g7 + %g1]; \ + jmp %o7 + 8; \ + mov -1, %o0; +# else +# define SYSCALL_ERROR_HANDLER \ +0: SETUP_PIC_REG_LEAF(o2,g1) \ + sethi %gdop_hix22(errno), %g1;\ + xor %g1, %gdop_lox10(errno), %g1;\ + ld [%o2 + %g1], %g1, %gdop(errno);\ + st %o0, [%g1]; \ + jmp %o7 + 8; \ + mov -1, %o0; +# endif /* _LIBC_REENTRANT */ +#endif /* PIC */ + + +#else /* __ASSEMBLER__ */ + +#define __SYSCALL_STRING \ + "ta 0x10;" \ + "bcc 1f;" \ + " mov 0, %%g1;" \ + "sub %%g0, %%o0, %%o0;" \ + "mov 1, %%g1;" \ + "1:" + +#define __SYSCALL_CLOBBERS \ + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ + "cc", "memory" + +#endif /* __ASSEMBLER__ */ + +/* Pointer mangling support. */ +#if IS_IN (rtld) +/* We cannot use the thread descriptor because in ld.so we use setjmp + earlier than the descriptor is initialized. */ +#else +# ifdef __ASSEMBLER__ +# define PTR_MANGLE(dreg, reg, tmpreg) \ + ld [%g7 + POINTER_GUARD], tmpreg; \ + xor reg, tmpreg, dreg +# define PTR_DEMANGLE(dreg, reg, tmpreg) PTR_MANGLE (dreg, reg, tmpreg) +# define PTR_MANGLE2(dreg, reg, tmpreg) \ + xor reg, tmpreg, dreg +# define PTR_DEMANGLE2(dreg, reg, tmpreg) PTR_MANGLE2 (dreg, reg, tmpreg) +# else +# define PTR_MANGLE(var) \ + (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) +# define PTR_DEMANGLE(var) PTR_MANGLE (var) +# endif +#endif + +#endif /* linux/sparc/sysdep.h */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym new file mode 100644 index 0000000000..544030ce8b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym @@ -0,0 +1,61 @@ +#include <stddef.h> +#include <signal.h> +#include <sys/ucontext.h> + +-- + +SIG_BLOCK +SIG_SETMASK + +UC_FLAGS offsetof (ucontext_t, uc_flags) +UC_LINK offsetof (ucontext_t, uc_link) +UC_SIGMASK offsetof (ucontext_t, uc_sigmask) +UC_STACK offsetof (ucontext_t, uc_stack) +UC_MCONTEXT offsetof (ucontext_t, uc_mcontext) +MC_GREGS offsetof (mcontext_t, gregs) +MC_GWINS offsetof (mcontext_t, gwins) +MC_FPREGS offsetof (mcontext_t, fpregs) +MC_XRS offsetof (mcontext_t, xrs) +MC_FILLER offsetof (mcontext_t, filler) +GREG_PSR (REG_PSR * sizeof(greg_t)) +GREG_PC (REG_PC * sizeof(greg_t)) +GREG_NPC (REG_nPC * sizeof(greg_t)) +GREG_Y (REG_Y * sizeof(greg_t)) +GREG_G1 (REG_G1 * sizeof(greg_t)) +GREG_G2 (REG_G2 * sizeof(greg_t)) +GREG_G3 (REG_G3 * sizeof(greg_t)) +GREG_G4 (REG_G4 * sizeof(greg_t)) +GREG_G5 (REG_G5 * sizeof(greg_t)) +GREG_G6 (REG_G6 * sizeof(greg_t)) +GREG_G7 (REG_G7 * sizeof(greg_t)) +GREG_O0 (REG_O0 * sizeof(greg_t)) +GREG_O1 (REG_O1 * sizeof(greg_t)) +GREG_O2 (REG_O2 * sizeof(greg_t)) +GREG_O3 (REG_O3 * sizeof(greg_t)) +GREG_O4 (REG_O4 * sizeof(greg_t)) +GREG_O5 (REG_O5 * sizeof(greg_t)) +GREG_O6 (REG_O6 * sizeof(greg_t)) +GREG_O7 (REG_O7 * sizeof(greg_t)) +FPU_D0 offsetof (fpregset_t, fpu_fr.fpu_dregs[0]) +FPU_D2 offsetof (fpregset_t, fpu_fr.fpu_dregs[1]) +FPU_D4 offsetof (fpregset_t, fpu_fr.fpu_dregs[2]) +FPU_D6 offsetof (fpregset_t, fpu_fr.fpu_dregs[3]) +FPU_D8 offsetof (fpregset_t, fpu_fr.fpu_dregs[4]) +FPU_D10 offsetof (fpregset_t, fpu_fr.fpu_dregs[5]) +FPU_D12 offsetof (fpregset_t, fpu_fr.fpu_dregs[6]) +FPU_D14 offsetof (fpregset_t, fpu_fr.fpu_dregs[7]) +FPU_D16 offsetof (fpregset_t, fpu_fr.fpu_dregs[8]) +FPU_D18 offsetof (fpregset_t, fpu_fr.fpu_dregs[9]) +FPU_D20 offsetof (fpregset_t, fpu_fr.fpu_dregs[10]) +FPU_D22 offsetof (fpregset_t, fpu_fr.fpu_dregs[11]) +FPU_D24 offsetof (fpregset_t, fpu_fr.fpu_dregs[12]) +FPU_D26 offsetof (fpregset_t, fpu_fr.fpu_dregs[13]) +FPU_D28 offsetof (fpregset_t, fpu_fr.fpu_dregs[14]) +FPU_D30 offsetof (fpregset_t, fpu_fr.fpu_dregs[15]) +FPU_Q offsetof (fpregset_t, fpu_q) +FPU_FSR offsetof (fpregset_t, fpu_fsr) +FPU_QCNT offsetof (fpregset_t, fpu_qcnt) +FPU_Q_ENTRY_SZ offsetof (fpregset_t, fpu_q_entrysize) +FPU_EN offsetof (fpregset_t, fpu_en) +XRS_ID offsetof (xrs_t, xrs_id) +XRS_PTR offsetof (xrs_t, xrs_ptr) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S new file mode 100644 index 0000000000..fb43b1766f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S @@ -0,0 +1,41 @@ +/* Copyright (C) 2004-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 2004. + + 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 <tcb-offsets.h> + + .text + .globl __syscall_error +ENTRY(__libc_vfork) + LOADSYSCALL(vfork) + ta 0x10 + bcc 2f + mov %o7, %g1 + call __syscall_error + mov %g1, %o7 +2: sub %o1, 1, %o1 + andcc %o0, %o1, %o0 +1: retl + nop +END(__libc_vfork) + +#if IS_IN (libc) +weak_alias (__libc_vfork, vfork) +strong_alias (__libc_vfork, __vfork) +libc_hidden_def (__vfork) +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c new file mode 100644 index 0000000000..e9869f5508 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/xstat.c> |