diff options
164 files changed, 32 insertions, 15720 deletions
@@ -1,3 +1,26 @@ +2018-04-27 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/tile: Remove. + * sysdeps/unix/sysv/linux/tile: Likewise. + * README (tilegx-*-linux-gnu): Remove from list of supported + configurations. + * manual/contrib.texi (Contributors): Mention Chris Metcalf's + contribution of support for generic Linux kernel syscall + interface. + * scripts/build-many-glibcs.py (Context.add_all_configs): Remove + tilegx configurations. + (Config.install_linux_headers): Do not handle tile. + * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile + in comment. + * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise. + * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise. + [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove + conditional undefine and redefine. + * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile + in comment. + [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove + conditional undefine and redefine. + 2018-04-26 Aurelien Jarno <aurelien@aurel32.net> * signal/tst-sigaction.c: New file to test BZ #23069. @@ -57,6 +57,8 @@ Deprecated and removed features, and other changes affecting compatibility: these macros should first include <sys/types.h>, and then include <sys/sysmacros.h> if __GNU_LIBRARY__ is defined. +* The tilegx*-*-linux-gnu configurations are no longer supported. + Changes to build and runtime requirements: [Add changes to build and runtime requirements here] @@ -41,7 +41,6 @@ The GNU C Library supports these configurations for using Linux kernels: sh[34]-*-linux-gnu sparc*-*-linux-gnu sparc64*-*-linux-gnu - tilegx-*-linux-gnu If you are interested in doing a port, please contact the glibc maintainers; see http://www.gnu.org/software/libc/ for more diff --git a/manual/contrib.texi b/manual/contrib.texi index 0da6dcb..dd28e92 100644 --- a/manual/contrib.texi +++ b/manual/contrib.texi @@ -265,7 +265,8 @@ version 3 (@code{i386-sequent-bsd}). @item Chris Metcalf for the port to Linux/Tile (@code{tilegx-@var{anything}-linux} and -@code{tilepro-@var{anything}-linux}). +@code{tilepro-@var{anything}-linux}) and support for the generic Linux +kernel syscall interface used by several newer ports. @item David Miller for contributing the port to Linux/Sparc diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index f911b20..19411c1 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -376,14 +376,6 @@ class Context(object): 'arch': 'sparcv9', 'ccopts': '-m32 -mlong-double-128', 'cfg': ['--disable-multi-arch']}]) - self.add_config(arch='tilegx', - os_name='linux-gnu', - glibcs=[{}, - {'variant': '32', 'ccopts': '-m32'}]) - self.add_config(arch='tilegxbe', - os_name='linux-gnu', - glibcs=[{}, - {'variant': '32', 'ccopts': '-m32'}]) self.add_config(arch='x86_64', os_name='linux-gnu', gcc_cfg=['--with-multilib-list=m64,m32,mx32'], @@ -1271,7 +1263,6 @@ class Config(object): 'riscv64': 'riscv', 'sh': 'sh', 'sparc': 'sparc', - 'tile': 'tile', 'x86_64': 'x86'} linux_arch = None for k in arch_map: diff --git a/sysdeps/tile/Implies b/sysdeps/tile/Implies deleted file mode 100644 index cb17441..0000000 --- a/sysdeps/tile/Implies +++ /dev/null @@ -1,4 +0,0 @@ -ieee754/soft-fp -ieee754/dbl-64/wordsize-64 -ieee754/dbl-64 -ieee754/flt-32 diff --git a/sysdeps/tile/Makefile b/sysdeps/tile/Makefile deleted file mode 100644 index dcb8777..0000000 --- a/sysdeps/tile/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -include $(common-objpfx)cflags-mcmodel-large.mk - -# Check for gcc to support the command-line switch, and for -# binutils to support the hwN_plt() assembly operators and relocations. -$(common-objpfx)cflags-mcmodel-large.mk: $(common-objpfx)config.make - mcmodel=no; \ - (echo 'int main() { return getuid(); }' | \ - $(CC) -o /dev/null -xc - -mcmodel=large -fpic) && mcmodel=yes; \ - echo "cflags-mcmodel-large = $$mcmodel" > $@ - -ifeq (yes,$(cflags-mcmodel-large)) - -ifeq ($(subdir),csu) -# elf-init.c is in libc_nonshared.o (the end of the shared object) but -# must reach the _init symbol at the very start of the shared object. -CFLAGS-elf-init.c += -mcmodel=large - -# __gmon_start__ is at the very start of the shared object when linked -# with profiling, but calls to libc.so via the PLT at the very end. -CFLAGS-gmon-start.c += -mcmodel=large -endif - -else - -# Don't try to compile assembly code with hwN_plt() directives if the -# toolchain doesn't support -mcmodel=large. -ifeq ($(subdir),csu) -CPPFLAGS-start.S += -DNO_PLT_PCREL -CPPFLAGS-crti.S += -DNO_PLT_PCREL -endif -ifeq ($(subdir),nptl) -CPPFLAGS-pt-crti.S += -DNO_PLT_PCREL -endif - -endif - -# We don't support long doubles as a distinct type. We don't need to set -# this variable; it's here mostly for documentational purposes. - -long-double-fcts = no - -ifeq ($(subdir),gmon) -sysdep_routines += _mcount -endif - -ifeq ($(subdir),elf) -# Extra shared linker files to link only into dl-allobjs.so. -sysdep-rtld-routines += dl-start __tls_get_addr -endif diff --git a/sysdeps/tile/Versions b/sysdeps/tile/Versions deleted file mode 100644 index b275d7f..0000000 --- a/sysdeps/tile/Versions +++ /dev/null @@ -1,6 +0,0 @@ -libc { - GLIBC_2.12 { - # name requested by gcc community. - __mcount; - } -} diff --git a/sysdeps/tile/__longjmp.S b/sysdeps/tile/__longjmp.S deleted file mode 100644 index 17d82b9..0000000 --- a/sysdeps/tile/__longjmp.S +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> -#include <asm-syntax.h> -#include <arch/spr_def.h> - -/* PL to return to via iret in longjmp */ -#define RETURN_PL 0 - - .text -ENTRY (__longjmp) - FEEDBACK_ENTER(__longjmp) - -#define RESTORE(r) { ld r, r0 ; ADDI_PTR r0, r0, REGSIZE } - FOR_EACH_CALLEE_SAVED_REG(RESTORE) - - /* Make longjmp(buf, 0) return "1" instead. - At the same time, construct our iret context; we set ICS so - we can validly load EX_CONTEXT for iret without being - interrupted halfway through. */ - { - ld r2, r0 /* retrieve ICS bit from jmp_buf */ - movei r3, 1 - cmpeqi r0, r1, 0 - } - { - mtspr INTERRUPT_CRITICAL_SECTION, r3 - shli r2, r2, SPR_EX_CONTEXT_0_1__ICS_SHIFT - } - { - mtspr EX_CONTEXT_0_0, lr - ori r2, r2, RETURN_PL - } - { - or r0, r1, r0 - mtspr EX_CONTEXT_0_1, r2 - } - iret - jrp lr /* Keep the backtracer happy. */ -END (__longjmp) diff --git a/sysdeps/tile/__tls_get_addr.S b/sysdeps/tile/__tls_get_addr.S deleted file mode 100644 index 078f377..0000000 --- a/sysdeps/tile/__tls_get_addr.S +++ /dev/null @@ -1,141 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 -#define LOG_SIZEOF_DTV_T 4 -#else -#define LOG_SIZEOF_DTV_T 3 -#endif - -/* On entry, r0 points to two words, the module and the offset. - On return, r0 holds the pointer to the relevant TLS memory. - Only registers r25..r29 are clobbered by the call. */ - - .text -ENTRY (__tls_get_addr) - { - lnk r25 - ADDI_PTR r27, tp, DTV_OFFSET - } -.Llnk: - { - LD_PTR r27, r27 /* r27 = THREAD_DTV() */ - moveli r26, hw1_last(_rtld_local + TLS_GENERATION_OFFSET - .Llnk) - } - shl16insli r26, r26, hw0(_rtld_local + TLS_GENERATION_OFFSET - .Llnk) - { - ADD_PTR r25, r25, r26 - LD_PTR r26, r0 /* r26 = ti_module */ - } - LD_PTR r25, r25 /* r25 = DL(dl_tls_generation) */ - { - LD_PTR r28, r27 /* r28 = THREAD_DTV()->counter */ - ADDI_PTR r29, r0, __SIZEOF_POINTER__ - } - { - LD_PTR r29, r29 /* r29 = ti_offset */ - cmpeq r25, r28, r25 /* r25 nonzero if generation OK */ - shli r28, r26, LOG_SIZEOF_DTV_T /* byte index into dtv array */ - } - { - beqz r25, .Lslowpath - cmpeqi r25, r26, -1 /* r25 nonzero if ti_module invalid */ - } - { - bnez r25, .Lslowpath - ADD_PTR r28, r28, r27 /* pointer into module array */ - } - LD_PTR r26, r28 /* r26 = module TLS pointer */ - cmpeqi r25, r26, -1 /* check r26 == TLS_DTV_UNALLOCATED */ - bnez r25, .Lslowpath - { - ADD_PTR r0, r26, r29 - jrp lr - } - -.Lslowpath: - { - st sp, lr - ADDLI_PTR r29, sp, - (25 * REGSIZE) - } - cfi_offset (lr, 0) - { - st r29, sp - ADDLI_PTR sp, sp, - (26 * REGSIZE) - } - cfi_def_cfa_offset (26 * REGSIZE) - ADDI_PTR r29, sp, (2 * REGSIZE) - { st r29, r1; ADDI_PTR r29, r29, REGSIZE } - { st r29, r2; ADDI_PTR r29, r29, REGSIZE } - { st r29, r3; ADDI_PTR r29, r29, REGSIZE } - { st r29, r4; ADDI_PTR r29, r29, REGSIZE } - { st r29, r5; ADDI_PTR r29, r29, REGSIZE } - { st r29, r6; ADDI_PTR r29, r29, REGSIZE } - { st r29, r7; ADDI_PTR r29, r29, REGSIZE } - { st r29, r8; ADDI_PTR r29, r29, REGSIZE } - { st r29, r9; ADDI_PTR r29, r29, REGSIZE } - { st r29, r10; ADDI_PTR r29, r29, REGSIZE } - { st r29, r11; ADDI_PTR r29, r29, REGSIZE } - { st r29, r12; ADDI_PTR r29, r29, REGSIZE } - { st r29, r13; ADDI_PTR r29, r29, REGSIZE } - { st r29, r14; ADDI_PTR r29, r29, REGSIZE } - { st r29, r15; ADDI_PTR r29, r29, REGSIZE } - { st r29, r16; ADDI_PTR r29, r29, REGSIZE } - { st r29, r17; ADDI_PTR r29, r29, REGSIZE } - { st r29, r18; ADDI_PTR r29, r29, REGSIZE } - { st r29, r19; ADDI_PTR r29, r29, REGSIZE } - { st r29, r20; ADDI_PTR r29, r29, REGSIZE } - { st r29, r21; ADDI_PTR r29, r29, REGSIZE } - { st r29, r22; ADDI_PTR r29, r29, REGSIZE } - { st r29, r23; ADDI_PTR r29, r29, REGSIZE } - { st r29, r24; ADDI_PTR r29, r29, REGSIZE } - .hidden __tls_get_addr_slow - jal __tls_get_addr_slow - ADDI_PTR r29, sp, (2 * REGSIZE) - { ld r1, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r2, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r3, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r4, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r5, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r6, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r7, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r8, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r9, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r10, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r11, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r12, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r13, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r14, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r15, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r16, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r17, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r18, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r19, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r20, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r21, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r22, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r23, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r24, r29; ADDLI_PTR sp, sp, (26 * REGSIZE) } - cfi_def_cfa_offset (0) - ld lr, sp - jrp lr -END (__tls_get_addr) diff --git a/sysdeps/tile/_mcount.S b/sysdeps/tile/_mcount.S deleted file mode 100644 index 9883428..0000000 --- a/sysdeps/tile/_mcount.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - Based on work contributed by David Mosberger (davidm@cs.arizona.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/>. */ - -/* Assembly stub to invoke __mcount_internal(). Compiler-generated - code calls mcount after executing a function's prologue, placing - the "lr" register in "r10" for the call. As a result "lr" is the - function that invoked mcount, and "r10" is mcount's caller's - caller. However, we have to save all the parameter registers here - before invoking _mcount_internal. Callee-save and temporary - registers need no special attention. We save r10 and restore it to - lr on the way out, to properly handle the case of ENTRY() in - assembly code, before lr is saved. We use the name __mcount since - the gcc community prefers using the reserved namespace. */ - -#include <sysdep.h> - - .text -ENTRY(__mcount) - { - st sp, lr - ADDI_PTR r29, sp, - (12 * REGSIZE) - } - cfi_offset (lr, 0) - { - ADDI_PTR sp, sp, - (13 * REGSIZE) - st r29, sp - ADDI_PTR r29, r29, REGSIZE - } - cfi_def_cfa_offset (13 * REGSIZE) - { st r29, r0; ADDI_PTR r29, r29, REGSIZE } - { st r29, r1; ADDI_PTR r29, r29, REGSIZE } - { st r29, r2; ADDI_PTR r29, r29, REGSIZE } - { st r29, r3; ADDI_PTR r29, r29, REGSIZE } - { st r29, r4; ADDI_PTR r29, r29, REGSIZE } - { st r29, r5; ADDI_PTR r29, r29, REGSIZE } - { st r29, r6; ADDI_PTR r29, r29, REGSIZE } - { st r29, r7; ADDI_PTR r29, r29, REGSIZE } - { st r29, r8; ADDI_PTR r29, r29, REGSIZE } - { st r29, r9; ADDI_PTR r29, r29, REGSIZE } - { st r29, r10; ADDI_PTR r29, r29, REGSIZE; move r0, r10 } - { - move r1, lr - jal __mcount_internal - } - { - ADDI_PTR r29, sp, (2 * REGSIZE) - } - { ld r0, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r1, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r2, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r3, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r4, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r5, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r6, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r7, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r8, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r9, r29; ADDI_PTR r29, r29, REGSIZE } - { ld r10, r29; ADDI_PTR sp, sp, (13 * REGSIZE) } - cfi_def_cfa_offset (0) - { - ld lr, sp - } - { - move lr, r10 - jrp lr - } -END(__mcount) - -#undef mcount -weak_alias (__mcount, _mcount) /* exported in gmon/Versions */ -weak_alias (__mcount, mcount) /* exported in stdlib/Versions */ diff --git a/sysdeps/tile/abort-instr.h b/sysdeps/tile/abort-instr.h deleted file mode 100644 index 0f57da5..0000000 --- a/sysdeps/tile/abort-instr.h +++ /dev/null @@ -1,2 +0,0 @@ -/* An instruction which should crash any program is `hlt'. */ -#define ABORT_INSTRUCTION asm ("ill") diff --git a/sysdeps/tile/atomic-machine.h b/sysdeps/tile/atomic-machine.h deleted file mode 100644 index 482b460..0000000 --- a/sysdeps/tile/atomic-machine.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _ATOMIC_MACHINE_H -#define _ATOMIC_MACHINE_H 1 - -#include <stdint.h> -#include <features.h> -#include <arch/spr_def.h> - -typedef int32_t atomic32_t; -typedef uint32_t uatomic32_t; -typedef int_fast32_t atomic_fast32_t; -typedef uint_fast32_t uatomic_fast32_t; - -typedef int64_t atomic64_t; -typedef uint64_t uatomic64_t; -typedef int_fast64_t atomic_fast64_t; -typedef uint_fast64_t uatomic_fast64_t; - -typedef intptr_t atomicptr_t; -typedef uintptr_t uatomicptr_t; -typedef intmax_t atomic_max_t; -typedef uintmax_t uatomic_max_t; - -#ifdef _LP64 -# define __HAVE_64B_ATOMICS 1 -#else -/* tilegx32 does have 64-bit atomics, but assumptions in the semaphore - code mean that unaligned 64-bit atomics will be used if this symbol - is true, and unaligned atomics are not supported on tile. */ -# define __HAVE_64B_ATOMICS 0 -#endif - -#define USE_ATOMIC_COMPILER_BUILTINS 0 -#define ATOMIC_EXCHANGE_USES_CAS 0 - -/* Pick appropriate 8- or 4-byte instruction. */ -#define __atomic_update(mem, v, op) \ - ((__typeof (*(mem))) (__typeof (*(mem) - *(mem))) \ - ((sizeof (*(mem)) == 8) ? \ - __insn_##op ((void *) (mem), (int64_t) (__typeof((v) - (v))) (v)) : \ - (sizeof (*(mem)) == 4) ? \ - __insn_##op##4 ((void *) (mem), (int32_t) (__typeof ((v) - (v))) (v)) : \ - __atomic_error_bad_argument_size())) - -#define atomic_compare_and_exchange_val_acq(mem, n, o) \ - ({ __insn_mtspr (SPR_CMPEXCH_VALUE, (int64_t) (__typeof ((o) - (o))) (o)); \ - __atomic_update (mem, n, cmpexch); }) -#define atomic_exchange_acq(mem, newvalue) \ - __atomic_update (mem, newvalue, exch) -#define atomic_exchange_and_add(mem, value) \ - __atomic_update (mem, value, fetchadd) -#define atomic_and_val(mem, mask) \ - __atomic_update (mem, mask, fetchand) -#define atomic_or_val(mem, mask) \ - __atomic_update (mem, mask, fetchor) -#define atomic_decrement_if_positive(mem) \ - __atomic_update (mem, -1, fetchaddgez) - -/* Barrier macro. */ -#define atomic_full_barrier() __sync_synchronize() - -/* APIs with "release" semantics. */ -#define atomic_compare_and_exchange_val_rel(mem, n, o) \ - ({ \ - atomic_full_barrier (); \ - atomic_compare_and_exchange_val_acq ((mem), (n), (o)); \ - }) -#define atomic_exchange_rel(mem, n) \ - ({ \ - atomic_full_barrier (); \ - atomic_exchange_acq ((mem), (n)); \ - }) - -/* Various macros that should just be synonyms. */ -#define catomic_exchange_and_add atomic_exchange_and_add -#define atomic_and(mem, mask) ((void) atomic_and_val ((mem), (mask))) -#define catomic_and atomic_and -#define atomic_or(mem, mask) ((void) atomic_or_val ((mem), (mask))) -#define catomic_or atomic_or - -/* atomic_bit_test_set in terms of atomic_or_val. */ -#define atomic_bit_test_set(mem, bit) \ - ({ __typeof (*(mem)) __att0_mask = ((__typeof (*(mem))) 1 << (bit)); \ - atomic_or_val ((mem), __att0_mask) & __att0_mask; }) - -/* - * This non-existent symbol is called for unsupporrted sizes, - * indicating a bug in the caller. - */ -extern int __atomic_error_bad_argument_size(void) - __attribute__ ((warning ("bad sizeof atomic argument"))); - -#endif /* _ATOMIC_MACHINE_H */ diff --git a/sysdeps/tile/bits/endian.h b/sysdeps/tile/bits/endian.h deleted file mode 100644 index 835042a..0000000 --- a/sysdeps/tile/bits/endian.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Set endianness for tile. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#if defined __BIG_ENDIAN__ -# define __BYTE_ORDER __BIG_ENDIAN -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/tile/bits/fenv.h b/sysdeps/tile/bits/fenv.h deleted file mode 100644 index 3fe93fe..0000000 --- a/sysdeps/tile/bits/fenv.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - -/* The TILE-Gx hardware does not provide floating-point exception - handling, and TILEPro does not support any floating-point operations. */ -#define FE_ALL_EXCEPT 0 - -/* TILE-Gx supports only round-to-nearest. The software - floating-point support also acts this way. */ -enum - { - __FE_UNDEFINED = 0, - - FE_TONEAREST = -#define FE_TONEAREST 1 - FE_TONEAREST, - }; - -/* Type representing exception flags (if there were any). */ -typedef unsigned int fexcept_t; - -/* Type representing floating-point environment. */ -typedef unsigned int fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1l) - -#if __GLIBC_USE (IEC_60559_BFP_EXT) -/* Type representing floating-point control modes. */ -typedef unsigned int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif diff --git a/sysdeps/tile/bits/link.h b/sysdeps/tile/bits/link.h deleted file mode 100644 index e78fd62..0000000 --- a/sysdeps/tile/bits/link.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _LINK_H -# error "Never include <bits/link.h> directly; use <link.h> instead." -#endif - -#define __need_int_reg_t -#include <arch/abi.h> - - -/* Registers for entry into PLT. */ -typedef struct La_tile_regs -{ - __uint_reg_t lr_reg[10]; -} La_tile_regs; - -/* Return values for calls from PLT. */ -typedef struct La_tile_retval -{ - /* Up to ten registers can be used for a return value (e.g. small struct). */ - __uint_reg_t lrv_reg[10]; -} La_tile_retval; - - -__BEGIN_DECLS - -extern ElfW(Addr) la_tile_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_tile_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_tile_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_tile_regs *__inregs, - La_tile_retval *__outregs, - const char *__symname); - -__END_DECLS diff --git a/sysdeps/tile/bits/setjmp.h b/sysdeps/tile/bits/setjmp.h deleted file mode 100644 index 22e8043..0000000 --- a/sysdeps/tile/bits/setjmp.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 the machine-dependent type `jmp_buf'. TILE version. */ -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -#ifndef _ASM - -#define __need_int_reg_t -#include <arch/abi.h> - -typedef __uint_reg_t __jmp_buf[32]; - -#endif - -#endif /* bits/setjmp.h */ diff --git a/sysdeps/tile/bits/wordsize.h b/sysdeps/tile/bits/wordsize.h deleted file mode 100644 index 9dc4da5..0000000 --- a/sysdeps/tile/bits/wordsize.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#ifdef __LP64__ -# define __WORDSIZE 64 -# define __WORDSIZE_TIME64_COMPAT32 1 -#else -# define __WORDSIZE 32 -# define __WORDSIZE_TIME64_COMPAT32 0 -# define __WORDSIZE32_SIZE_ULONG 0 -# define __WORDSIZE32_PTRDIFF_LONG 0 -#endif diff --git a/sysdeps/tile/bsd-_setjmp.S b/sysdeps/tile/bsd-_setjmp.S deleted file mode 100644 index 4e6a2da..0000000 --- a/sysdeps/tile/bsd-_setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* _setjmp is in setjmp.S */ diff --git a/sysdeps/tile/bsd-setjmp.S b/sysdeps/tile/bsd-setjmp.S deleted file mode 100644 index 1da848d..0000000 --- a/sysdeps/tile/bsd-setjmp.S +++ /dev/null @@ -1 +0,0 @@ -/* setjmp is in setjmp.S */ diff --git a/sysdeps/tile/bzero.S b/sysdeps/tile/bzero.S deleted file mode 100644 index c53f363..0000000 --- a/sysdeps/tile/bzero.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 -ENTRY(__bzero) - FEEDBACK_ENTER(__bzero) - { - move r2, r1 - move r1, zero - } - j __memset -END(__bzero) -weak_alias (__bzero, bzero) diff --git a/sysdeps/tile/configure b/sysdeps/tile/configure deleted file mode 100644 index 534c7db..0000000 --- a/sysdeps/tile/configure +++ /dev/null @@ -1,7 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/tile. - -# We can always access static and hidden symbols in a position independent way. -$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h - -# work around problem with autoconf and empty lines at the end of files diff --git a/sysdeps/tile/configure.ac b/sysdeps/tile/configure.ac deleted file mode 100644 index 6e246a3..0000000 --- a/sysdeps/tile/configure.ac +++ /dev/null @@ -1,6 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/tile. - -# We can always access static and hidden symbols in a position independent way. -AC_DEFINE(PI_STATIC_AND_HIDDEN) -# work around problem with autoconf and empty lines at the end of files diff --git a/sysdeps/tile/crti.S b/sysdeps/tile/crti.S deleted file mode 100644 index 4811395..0000000 --- a/sysdeps/tile/crti.S +++ /dev/null @@ -1,113 +0,0 @@ -/* Special .init and .fini section support for tile. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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/>. */ - -/* crti.S puts a function prologue at the beginning of the .init and - .fini sections and defines global symbols for those addresses, so - they can be called as functions. The symbols _init and _fini are - magic and cause the linker to emit DT_INIT and DT_FINI. */ - -#include <libc-symbols.h> -#include <sysdep.h> - -#ifndef PREINIT_FUNCTION -# define PREINIT_FUNCTION __gmon_start__ -#endif - -#ifndef PREINIT_FUNCTION_WEAK -# define PREINIT_FUNCTION_WEAK 1 -#endif - -#if PREINIT_FUNCTION_WEAK - weak_extern (PREINIT_FUNCTION) -#else - .hidden PREINIT_FUNCTION -#endif - - .section .init,"ax",@progbits - .align 8 - .globl _init - .type _init, @function -_init: - { - move r29, sp - ADDI_PTR r28, sp, -REGSIZE - st sp, lr - } - ADDI_PTR sp, sp, -(2 * REGSIZE) - st r28, r29 -#if PREINIT_FUNCTION_WEAK - lnk r2 -0: - moveli r1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 0b) - { - shl16insli r1, r1, hw1(_GLOBAL_OFFSET_TABLE_ - 0b) - moveli r0, hw1_last_got(PREINIT_FUNCTION) - } - { - shl16insli r1, r1, hw0(_GLOBAL_OFFSET_TABLE_ - 0b) - shl16insli r0, r0, hw0_got(PREINIT_FUNCTION) - } - ADD_PTR r0, r0, r1 - ADD_PTR r0, r0, r2 - LD_PTR r0, r0 - beqz r0, .Lno_weak_fn - jalr r0 -#elif !defined(NO_PLT_PCREL) - /* Since we are calling from the start of the object to the PLT, - call by loading the full address into a register. */ - lnk r2 -0: - moveli r0, hw2_last_plt(PREINIT_FUNCTION - 0b) - shl16insli r0, r0, hw1_plt(PREINIT_FUNCTION - 0b) - shl16insli r0, r0, hw0_plt(PREINIT_FUNCTION - 0b) - add r0, r0, r2 - jalr r0 -#else - jal plt(PREINIT_FUNCTION) -#endif -.Lno_weak_fn: - - .section .fini,"ax",@progbits - .align 8 - .globl _fini - .type _fini, @function -_fini: - { - move r29, sp - ADDI_PTR r28, sp, -REGSIZE - st sp, lr - } - ADDI_PTR sp, sp, -(2 * REGSIZE) - st r28, r29 diff --git a/sysdeps/tile/crtn.S b/sysdeps/tile/crtn.S deleted file mode 100644 index 7168418..0000000 --- a/sysdeps/tile/crtn.S +++ /dev/null @@ -1,55 +0,0 @@ -/* Special .init and .fini section support for tile. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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/>. */ - -/* crtn.S puts function epilogues in the .init and .fini sections - corresponding to the prologues in crti.S. */ - -#include <sysdep.h> - - .section .init,"ax",@progbits - ADDI_PTR r29, sp, (2 * REGSIZE) - { - ADDI_PTR sp, sp, (2 * REGSIZE) - ld lr, r29 - } - jrp lr - - .section .fini,"ax",@progbits - ADDI_PTR r29, sp, (2 * REGSIZE) - { - ADDI_PTR sp, sp, (2 * REGSIZE) - ld lr, r29 - } - jrp lr diff --git a/sysdeps/tile/dl-lookupcfg.h b/sysdeps/tile/dl-lookupcfg.h deleted file mode 100644 index 87a6ebe..0000000 --- a/sysdeps/tile/dl-lookupcfg.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 DL_UNMAP_IS_SPECIAL - -#include_next <dl-lookupcfg.h> - -struct link_map; - -void _dl_unmap (struct link_map *map); - -#define DL_UNMAP(map) _dl_unmap (map) diff --git a/sysdeps/tile/dl-machine.h b/sysdeps/tile/dl-machine.h deleted file mode 100644 index d615447..0000000 --- a/sysdeps/tile/dl-machine.h +++ /dev/null @@ -1,692 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - Based on work contributed by by Carl Pederson & Martin Schwidefsky. - - 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 dl_machine_h -#define dl_machine_h - -#define ELF_MACHINE_NAME "tilegx" - -#include <sys/param.h> -#include <string.h> -#include <link.h> -#include <bits/wordsize.h> -#include <arch/icache.h> -#include <arch/opcode.h> - -/* Return nonzero iff ELF header is compatible with the running host. */ -static inline int -elf_machine_matches_host (const ElfW(Ehdr) *ehdr) -{ - if (ehdr->e_machine != EM_TILEGX) - return 0; -#if __WORDSIZE == 32 - return (ehdr->e_ident[EI_CLASS] == ELFCLASS32); -#else - return (ehdr->e_ident[EI_CLASS] == ELFCLASS64); -#endif -} - - -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ - -static inline ElfW(Addr) -elf_machine_dynamic (void) -{ - ElfW(Addr) *got; - - ElfW(Addr) tmp; - asm( " { lnk %0; moveli %1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1f) }\n" - "1: shl16insli %1, %1, hw1(_GLOBAL_OFFSET_TABLE_ - 1b)\n" - " shl16insli %1, %1, hw0(_GLOBAL_OFFSET_TABLE_ - 1b)\n" - " add %0, %0, %1" - : "=r" (got), "=r" (tmp)); - - return *got; -} - - -/* Return the run-time load address of the shared object. */ -static inline ElfW(Addr) -elf_machine_load_address (void) -{ - ElfW(Addr) *got; - ElfW(Addr) dynamic; - ElfW(Addr) tmp; - - asm( " lnk %2\n" - "1: {\n" - " moveli %0, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1b)\n" - " moveli %1, hw2_last(_DYNAMIC - 1b)\n" - " }\n" - " {\n" - " shl16insli %0, %0, hw1(_GLOBAL_OFFSET_TABLE_ - 1b)\n" - " shl16insli %1, %1, hw1(_DYNAMIC - 1b)\n" - " }\n" - " {\n" - " shl16insli %0, %0, hw0(_GLOBAL_OFFSET_TABLE_ - 1b)\n" - " shl16insli %1, %1, hw0(_DYNAMIC - 1b)\n" - " }\n" - " {\n" - " add %0, %0, %2\n" - " add %1, %1, %2\n" - " }" - : "=r" (got), "=r" (dynamic), "=r" (tmp)); - - return dynamic - *got; -} - -/* Flush some range of the instruction cache. If invoked prior to - actually setting dl_pagesize, we conservatively use 4KB, which - is the smallest page size we could plausibly be running with. */ -static inline void -_dl_flush_icache (const void *addr, unsigned long size) -{ - invalidate_icache (addr, size, GLRO(dl_pagesize) ? : 4096); -} - -/* Set up the loaded object described by L so its unrelocated PLT - entries will jump to the on-demand fixup code in dl-runtime.c. */ - -static inline int __attribute__ ((unused)) -elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) -{ - ElfW(Addr) *gotplt; - extern void _dl_runtime_resolve (ElfW(Word)); - extern void _dl_runtime_profile (ElfW(Word)); - - if (l->l_info[DT_JMPREL] && lazy) - { - gotplt = (ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]); - - /* The GOT entries for functions in the PLT have not yet been filled - in. Their initial contents will arrange when called to put in - registers an offset into the .rel.plt section, and gotplt[0], then - jump to gotplt[1]. */ - - /* Identify this shared object. */ - gotplt[0] = (ElfW(Addr)) l; - - /* The gotplt[1] entry contains the address of a function which gets - called to get the address of a so far unresolved function and jump - to it. The profiling extension of the dynamic linker allows to - intercept the calls to collect information. In this case we don't - store the address in the GOTPLT so that all future calls also end - in this function. */ - if (__builtin_expect (profile, 0)) - { - gotplt[1] = (ElfW(Addr)) &_dl_runtime_profile; - - if (GLRO(dl_profile) != NULL - && _dl_name_match_p (GLRO(dl_profile), l)) - /* This is the object we are looking for. Say that we really - want profiling and the timers are started. */ - GL(dl_profile_map) = l; - } - else - /* This function will get called to fix up the GOTPLT entry - indicated by the offset on the stack, and then jump to the - resolved address. */ - gotplt[1] = (ElfW(Addr)) &_dl_runtime_resolve; - } - - return lazy; -} - -#if __WORDSIZE == 32 -/* Mask identifying addresses reserved for the user program, - where the dynamic linker should not map anything. */ -#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL -#endif - -/* Initial entry point code for the dynamic linker. - The C function `_dl_start' is the real entry point; - its return value is the user program's entry point. */ - -#define RTLD_START asm (".globl _dl_start"); - -#ifndef RTLD_START_SPECIAL_INIT -#define RTLD_START_SPECIAL_INIT /* nothing */ -#endif - -/* Wrap a generic Tilera relocation type. */ -#define R_TILE(x) R_TILEGX_##x -#define __R_TILE_TLS(x,c) R_TILEGX_TLS_##x##c -#define _R_TILE_TLS(x,c) __R_TILE_TLS(x,c) -#define R_TILE_TLS(x) _R_TILE_TLS(x,__ELF_NATIVE_CLASS) - -/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or - TLS variable, so undefined references should not be allowed to - define the value. - ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one - of the main executable's symbols, as for a COPY reloc. */ -#define elf_machine_type_class(type) \ - ((((type) == R_TILE(JMP_SLOT) || (type) == R_TILE_TLS(DTPMOD) \ - || (type) == R_TILE_TLS(DTPOFF) || (type) == R_TILE_TLS(TPOFF)) \ - * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_TILE(COPY)) * ELF_RTYPE_CLASS_COPY)) - -/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ -#define ELF_MACHINE_JMP_SLOT R_TILE(JMP_SLOT) - -/* TILE never uses Elf32_Rel relocations. */ -#define ELF_MACHINE_NO_REL 1 -#define ELF_MACHINE_NO_RELA 0 - -/* We define an initialization functions. This is called very early in - _dl_sysdep_start. */ -#define DL_PLATFORM_INIT dl_platform_init () - -static inline void __attribute__ ((unused)) -dl_platform_init (void) -{ - if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0') - /* Avoid an empty string which would disturb us. */ - GLRO(dl_platform) = NULL; -} - -static inline ElfW(Addr) -elf_machine_fixup_plt (struct link_map *map, lookup_t t, - const ElfW(Sym) *refsym, const ElfW(Sym) *sym, - const ElfW(Rela) *reloc, - ElfW(Addr) *reloc_addr, ElfW(Addr) value) -{ - return *reloc_addr = value; -} - -/* Return the final value of a plt relocation. */ -static inline ElfW(Addr) -elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc, - ElfW(Addr) value) -{ - return value; -} - -/* Support notifying the simulator about new objects. */ -void _dl_after_load (struct link_map *l); -#define DL_AFTER_LOAD _dl_after_load - -/* Names of the architecture-specific auditing callback functions. */ -#define ARCH_LA_PLTENTER tile_gnu_pltenter -#define ARCH_LA_PLTEXIT tile_gnu_pltexit - -#endif /* !dl_machine_h */ - - -#ifdef RESOLVE_MAP - -struct reloc_howto -{ - /* Right shift operand by this number of bits. */ - unsigned char right_shift; - - /* If nonzero, this is updating a code bundle. */ - unsigned char is_bundle_update; - - /* If nonzero, subtract the containing address from the address. */ - unsigned char is_pcrel; - - /* Size in bytes, or 0 if this table entry should be ignored. */ - unsigned char byte_size; -}; - -/* Relocation information. Cannot contain create_* function pointers - because then the table would not be position-independent. */ -static const struct reloc_howto howto[] = -{ -#if __WORDSIZE == 32 - /* The GX -m32 loader only handles 32-bit types, so it will be confused - by shifts larger than that. We convert them to just sign-extend; - they usually indicate a program bug or missed optimization, but we - have to handle them correctly anyway. */ -# define S32 31 -# define S48 31 -#else -# define S32 32 -# define S48 48 -#endif - - /* R_TILEGX_NONE */ { 0, 0, 0, 0 }, - /* R_TILEGX_64 */ { 0, 0, 0, 8 }, - /* R_TILEGX_32 */ { 0, 0, 0, 4 }, - /* R_TILEGX_16 */ { 0, 0, 0, 2 }, - /* R_TILEGX_8 */ { 0, 0, 0, 1 }, - /* R_TILEGX_64_PCREL */ { 0, 0, 1, 8 }, - /* R_TILEGX_32_PCREL */ { 0, 0, 1, 4 }, - /* R_TILEGX_16_PCREL */ { 0, 0, 1, 2 }, - /* R_TILEGX_8_PCREL */ { 0, 0, 1, 1 }, - /* R_TILEGX_HW0 */ { 0, 0, 0, 0 }, - /* R_TILEGX_HW1 */ { 16, 0, 0, 0 }, - /* R_TILEGX_HW2 */ { S32, 0, 0, 0 }, - /* R_TILEGX_HW3 */ { S48, 0, 0, 0 }, - /* R_TILEGX_HW0_LAST */ { 0, 0, 0, 0 }, - /* R_TILEGX_HW1_LAST */ { 16, 0, 0, 0 }, - /* R_TILEGX_HW2_LAST */ { S32, 0, 0, 0 }, - /* R_TILEGX_COPY */ { 0, 0, 0, 0 }, - /* R_TILEGX_GLOB_DAT */ { 0, 0, 0, 8 }, - /* R_TILEGX_JMP_SLOT */ { 0, 0, 0, 0 }, - /* R_TILEGX_RELATIVE */ { 0, 0, 0, 0 }, - /* R_TILEGX_BROFF_X1 */ { 3, 1, 1, 8 }, - /* R_TILEGX_JUMPOFF_X1 */ { 3, 1, 1, 8 }, - /* R_TILEGX_JUMPOFF_X1_PLT */ { 3, 1, 1, 8 }, - /* R_TILEGX_IMM8_X0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM8_Y0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM8_X1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM8_Y1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_DEST_IMM8_X1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_MT_IMM14_X1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_MF_IMM14_X1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_MMSTART_X0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_MMEND_X0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_SHAMT_X0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_SHAMT_X1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_SHAMT_Y0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_SHAMT_Y1 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0 */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1 */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1 */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2 */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2 */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW3 */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW3 */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0_LAST */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0_LAST */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1_LAST */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1_LAST */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2_LAST */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2_LAST */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0_PCREL */ { 0, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW0_PCREL */ { 0, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW1_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW1_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW2_PCREL */ { S32, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW2_PCREL */ { S32, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW3_PCREL */ { S48, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW3_PCREL */ { S48, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW0_LAST_PCREL */ { 0, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW0_LAST_PCREL */ { 0, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW1_LAST_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW1_LAST_PCREL */ { 16, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW2_LAST_PCREL */ { S32, 1, 1, 8 }, - /* R_TILEGX_IMM16_X1_HW2_LAST_PCREL */ { S32, 1, 1, 8 }, - /* R_TILEGX_IMM16_X0_HW0_GOT */ { 0, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW0_GOT */ { 0, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW1_GOT */ { 16, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW1_GOT */ { 16, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW2_GOT */ { S32, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW2_GOT */ { S32, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW3_GOT */ { S48, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW3_GOT */ { S48, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW0_LAST_GOT */ { 0, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW0_LAST_GOT */ { 0, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW1_LAST_GOT */ { 16, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW1_LAST_GOT */ { 16, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW2_LAST_GOT */ { S32, 1, 0, 0 }, - /* R_TILEGX_IMM16_X1_HW2_LAST_GOT */ { S32, 1, 0, 0 }, - /* R_TILEGX_IMM16_X0_HW0_TLS_GD */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0_TLS_GD */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1_TLS_GD */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1_TLS_GD */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2_TLS_GD */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2_TLS_GD */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW3_TLS_GD */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW3_TLS_GD */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD */{ 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD */{ 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD */{ 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD */{ 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD */{ S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD */{ S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0_TLS_IE */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0_TLS_IE */ { 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1_TLS_IE */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1_TLS_IE */ { 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2_TLS_IE */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2_TLS_IE */ { S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW3_TLS_IE */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW3_TLS_IE */ { S48, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE */{ 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE */{ 0, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE */{ 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE */{ 16, 1, 0, 8 }, - /* R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE */{ S32, 1, 0, 8 }, - /* R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE */{ S32, 1, 0, 8 }, - /* R_TILEGX_TLS_DTPMOD64 */ { 0, 0, 0, 0 }, - /* R_TILEGX_TLS_DTPOFF64 */ { 0, 0, 0, 0 }, - /* R_TILEGX_TLS_TPOFF64 */ { 0, 0, 0, 0 }, - /* R_TILEGX_TLS_DTPMOD32 */ { 0, 0, 0, 0 }, - /* R_TILEGX_TLS_DTPOFF32 */ { 0, 0, 0, 0 }, - /* R_TILEGX_TLS_TPOFF32 */ { 0, 0, 0, 0 } -}; - -#if __ELF_NATIVE_CLASS == 32 -#define ELFW_R_TYPE ELF32_R_TYPE -#define ELFW_ST_TYPE ELF32_ST_TYPE -#else -#define ELFW_R_TYPE ELF64_R_TYPE -#define ELFW_ST_TYPE ELF64_ST_TYPE -#endif - -/* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - -auto inline void __attribute__ ((always_inline)) -elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, - const ElfW(Sym) *sym, const struct r_found_version *version, - void *const reloc_addr_arg, int skip_ifunc) -{ - ElfW(Addr) *const reloc_addr = reloc_addr_arg; - const unsigned int r_type = ELFW_R_TYPE (reloc->r_info); - -#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC - if (__builtin_expect (r_type == R_TILE(RELATIVE), 0)) - { -# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC - /* This is defined in rtld.c, but nowhere in the static libc.a; - make the reference weak so static programs can still link. - This declaration cannot be done when compiling rtld.c - (i.e. #ifdef RTLD_BOOTSTRAP) because rtld.c contains the - common defn for _dl_rtld_map, which is incompatible with a - weak decl in the same file. */ -# ifndef SHARED - weak_extern (GL(dl_rtld_map)); -# endif - if (map != &GL(dl_rtld_map)) /* Already done in rtld itself. */ -# endif - *reloc_addr = map->l_addr + reloc->r_addend; - return; - } -#endif - - if (__builtin_expect (r_type == R_TILE(NONE), 0)) - return; - -#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP - const ElfW(Sym) *const refsym = sym; -#endif - struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type); - ElfW(Addr) value; - - if (sym == NULL) - value = 0; - else if (ELFW_ST_TYPE (sym->st_info) == STT_SECTION) - value = map->l_addr; /* like a RELATIVE reloc */ - else - value = SYMBOL_ADDRESS (sym_map, sym, true); - - if (sym != NULL - && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0) - && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1) - && __builtin_expect (!skip_ifunc, 1)) - value = ((Elf64_Addr (*) (void)) value) (); - - switch (r_type) - { - case R_TILE(JMP_SLOT): - elf_machine_fixup_plt (map, 0, 0, 0, reloc, reloc_addr, - value + reloc->r_addend); - return; - -#ifndef RESOLVE_CONFLICT_FIND_MAP - case R_TILE_TLS(DTPMOD): -# ifdef RTLD_BOOTSTRAP - /* During startup the dynamic linker is always the module - with index 1. - XXX If this relocation is necessary move before RESOLVE - call. */ - *reloc_addr = 1; -# else - /* Get the information from the link map returned by the - resolv function. */ - if (sym_map != NULL) - *reloc_addr = sym_map->l_tls_modid; -# endif - return; - case R_TILE_TLS(DTPOFF): -# ifndef RTLD_BOOTSTRAP - /* During relocation all TLS symbols are defined and used. - Therefore the offset is already correct. */ - if (sym != NULL) - *reloc_addr = sym->st_value + reloc->r_addend; -# endif - return; - case R_TILE_TLS(TPOFF): -# ifdef RTLD_BOOTSTRAP - *reloc_addr = sym->st_value + reloc->r_addend + map->l_tls_offset; -# else - if (sym != NULL) - { - CHECK_STATIC_TLS (map, sym_map); - *reloc_addr = (sym->st_value + reloc->r_addend - + sym_map->l_tls_offset); - } -#endif - return; -#endif /* use TLS */ - -#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP - /* Not needed in dl-conflict.c. */ - case R_TILE(COPY): - if (sym == NULL) - /* This can happen in trace mode if an object could not be found. */ - return; - if (__builtin_expect (sym->st_size > refsym->st_size, 0) - || (__builtin_expect (sym->st_size < refsym->st_size, 0) - && __builtin_expect (GLRO(dl_verbose), 0))) - { - const char *strtab; - - strtab = (const char *) D_PTR (map,l_info[DT_STRTAB]); - _dl_error_printf ("%s: Symbol `%s' has different size in shared" - " object, consider re-linking\n", - RTLD_PROGNAME, strtab + refsym->st_name); - } - memcpy (reloc_addr_arg, (void *) value, - MIN (sym->st_size, refsym->st_size)); - return; -#endif - } - - /* All remaining relocations must be in the lookup table. */ - const struct reloc_howto *h = &howto[r_type]; - if ((unsigned int) r_type >= sizeof howto / sizeof howto[0] || - h->byte_size == 0) - { -#if !defined RTLD_BOOTSTRAP || defined _NDEBUG - /* We add these checks in the version to relocate ld.so only - if we are still debugging. */ - _dl_reloc_bad_type (map, r_type, 0); -#endif - return; - } - - value += reloc->r_addend; - - /* The lookup table entry knows how to perform this reloc. */ - if (h->is_pcrel) - value -= (ElfW(Addr)) reloc_addr; - - value = ((long) value) >> h->right_shift; - - switch (h->byte_size) - { - case 1: - *(char *) reloc_addr = value; - return; - case 2: - *(short *) reloc_addr = value; - return; - case 4: - *(int *) reloc_addr = value; - return; - case 8: - if (!h->is_bundle_update) - { - *(ElfW(Addr) *) reloc_addr = value; - return; - } - } - - /* We are updating a bundle, so use the function pointer that - swizzles the operand bits into the right location. */ - - tile_bundle_bits *p = (tile_bundle_bits *) reloc_addr; - tile_bundle_bits bits = *p; - -#define MUNGE_SIGNED(func, length) do { \ - bits = ((bits & ~create_##func (-1)) | create_##func (value)); \ - ElfW(Addr) result = get_##func (bits); \ - int signbits = __WORDSIZE - length; \ - result = (long) (result << signbits) >> signbits; \ - if (result != value) \ - _dl_signal_error (0, map->l_name, NULL, \ - "relocation value too large for " #func); \ - } while (0) - -#define MUNGE(func) MUNGE_SIGNED(func, __WORDSIZE) - -#define MUNGE_NOCHECK(func) \ - bits = ((bits & ~create_##func (-1)) | create_##func (value)) - - switch (r_type) - { - case R_TILEGX_BROFF_X1: - MUNGE_SIGNED (BrOff_X1, 17); - break; - case R_TILEGX_JUMPOFF_X1: - case R_TILEGX_JUMPOFF_X1_PLT: - MUNGE_SIGNED (JumpOff_X1, 27); - break; - case R_TILEGX_IMM8_X0: - MUNGE_SIGNED (Imm8_X0, 8); - break; - case R_TILEGX_IMM8_Y0: - MUNGE_SIGNED (Imm8_Y0, 8); - break; - case R_TILEGX_IMM8_X1: - MUNGE_SIGNED (Imm8_X1, 8); - break; - case R_TILEGX_IMM8_Y1: - MUNGE_SIGNED (Imm8_Y1, 8); - break; - case R_TILEGX_MT_IMM14_X1: - MUNGE (MT_Imm14_X1); - break; - case R_TILEGX_MF_IMM14_X1: - MUNGE (MF_Imm14_X1); - break; - case R_TILEGX_IMM16_X0_HW0: - case R_TILEGX_IMM16_X0_HW1: - case R_TILEGX_IMM16_X0_HW2: - case R_TILEGX_IMM16_X0_HW3: - case R_TILEGX_IMM16_X0_HW0_PCREL: - case R_TILEGX_IMM16_X0_HW1_PCREL: - case R_TILEGX_IMM16_X0_HW2_PCREL: - case R_TILEGX_IMM16_X0_HW3_PCREL: - case R_TILEGX_IMM16_X0_HW0_TLS_GD: - case R_TILEGX_IMM16_X0_HW0_TLS_IE: - MUNGE_NOCHECK (Imm16_X0); - break; - case R_TILEGX_IMM16_X0_HW0_LAST: - case R_TILEGX_IMM16_X0_HW1_LAST: - case R_TILEGX_IMM16_X0_HW2_LAST: - case R_TILEGX_IMM16_X0_HW0_LAST_PCREL: - case R_TILEGX_IMM16_X0_HW1_LAST_PCREL: - case R_TILEGX_IMM16_X0_HW2_LAST_PCREL: - case R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: - case R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: - case R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: - case R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: - MUNGE_SIGNED (Imm16_X0, 16); - break; - case R_TILEGX_IMM16_X1_HW0: - case R_TILEGX_IMM16_X1_HW1: - case R_TILEGX_IMM16_X1_HW2: - case R_TILEGX_IMM16_X1_HW3: - case R_TILEGX_IMM16_X1_HW0_PCREL: - case R_TILEGX_IMM16_X1_HW1_PCREL: - case R_TILEGX_IMM16_X1_HW2_PCREL: - case R_TILEGX_IMM16_X1_HW3_PCREL: - case R_TILEGX_IMM16_X1_HW0_TLS_GD: - case R_TILEGX_IMM16_X1_HW0_TLS_IE: - MUNGE_NOCHECK (Imm16_X1); - break; - case R_TILEGX_IMM16_X1_HW0_LAST: - case R_TILEGX_IMM16_X1_HW1_LAST: - case R_TILEGX_IMM16_X1_HW2_LAST: - case R_TILEGX_IMM16_X1_HW0_LAST_PCREL: - case R_TILEGX_IMM16_X1_HW1_LAST_PCREL: - case R_TILEGX_IMM16_X1_HW2_LAST_PCREL: - case R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: - case R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: - case R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: - case R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: - MUNGE_SIGNED (Imm16_X1, 16); - break; - case R_TILEGX_MMSTART_X0: - MUNGE (BFStart_X0); - break; - case R_TILEGX_MMEND_X0: - MUNGE (BFEnd_X0); - break; - case R_TILEGX_SHAMT_X0: - MUNGE (ShAmt_X0); - break; - case R_TILEGX_SHAMT_X1: - MUNGE (ShAmt_X1); - break; - case R_TILEGX_SHAMT_Y0: - MUNGE (ShAmt_Y0); - break; - case R_TILEGX_SHAMT_Y1: - MUNGE (ShAmt_Y1); - break; - } -#undef MUNGE - *p = bits; - _dl_flush_icache (p, sizeof (*p)); -} - -auto inline void __attribute__ ((always_inline)) -elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, - void *const reloc_addr_arg) -{ - ElfW(Addr) *const reloc_addr = reloc_addr_arg; - *reloc_addr = l_addr + reloc->r_addend; -} - -auto inline void __attribute__ ((always_inline)) -elf_machine_lazy_rel (struct link_map *map, - ElfW(Addr) l_addr, const ElfW(Rela) *reloc, - int skip_ifunc) -{ - const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); - - /* Check for unexpected PLT reloc type. */ - if (__builtin_expect (r_type == R_TILE(JMP_SLOT), 1)) - { - *(ElfW(Addr) *) (l_addr + reloc->r_offset) += l_addr; - } - else - _dl_reloc_bad_type (map, r_type, 1); -} - -#endif /* RESOLVE_MAP */ diff --git a/sysdeps/tile/dl-runtime.c b/sysdeps/tile/dl-runtime.c deleted file mode 100644 index 6ad9769..0000000 --- a/sysdeps/tile/dl-runtime.c +++ /dev/null @@ -1,159 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -/* Like x86_64, we pass the index of the relocation and not its offset. - In _dl_profile_fixup and _dl_call_pltexit we also use the index. - Therefore it is wasteful to compute the offset in the trampoline - just to reverse the operation immediately afterwards. */ -#define reloc_offset reloc_arg * sizeof (PLTREL) -#define reloc_index reloc_arg - -#include <elf/dl-runtime.c> - -#include <sys/mman.h> -#include <arch/sim.h> -#include <dl-unmap-segments.h> - -/* Like realpath(), but simplified: no dynamic memory use, no lstat(), - no set_errno(), no valid "rpath" on error, etc. This handles some - simple cases where the simulator might not have a valid entry for - a loaded Elf object, in particular dlopen() with a relative path. - For this relatively rare case, one could also imagine using - link_map.l_origin to avoid the getcwd() here, but the simpler code - here seems like a better solution. */ -static char * -dl_realpath (const char *name, char *rpath) -{ - char *dest; - const char *start, *end; - - if (name[0] != '/') - { - if (!__getcwd (rpath, PATH_MAX)) - return NULL; - dest = __rawmemchr (rpath, '\0'); - } - else - { - rpath[0] = '/'; - dest = rpath + 1; - } - - for (start = end = name; *start; start = end) - { - /* Skip sequence of multiple path-separators. */ - while (*start == '/') - ++start; - - /* Find end of path component. */ - for (end = start; *end && *end != '/'; ++end) - /* Nothing. */; - - if (end - start == 0) - break; - else if (end - start == 1 && start[0] == '.') - /* nothing */; - else if (end - start == 2 && start[0] == '.' && start[1] == '.') - { - /* Back up to previous component, ignore if at root already. */ - if (dest > rpath + 1) - while ((--dest)[-1] != '/'); - } - else - { - if (dest[-1] != '/') - *dest++ = '/'; - - if (dest + (end - start) >= rpath + PATH_MAX) - return NULL; - - dest = __mempcpy (dest, start, end - start); - *dest = '\0'; - } - } - if (dest > rpath + 1 && dest[-1] == '/') - --dest; - *dest = '\0'; - - return rpath; -} - -/* Support notifying the simulator about new objects. */ -void -_dl_after_load (struct link_map *l) -{ - int shift; - char pathbuf[PATH_MAX]; - char *path; - - /* Don't bother if not in the simulator. */ - if (__insn_mfspr (SPR_SIM_CONTROL) == 0) - return; - -#define DLPUTC(c) __insn_mtspr (SPR_SIM_CONTROL, \ - (SIM_CONTROL_DLOPEN \ - | ((c) << _SIM_CONTROL_OPERATOR_BITS))) - - /* Write the library address in hex. */ - DLPUTC ('0'); - DLPUTC ('x'); - for (shift = (int) sizeof (unsigned long) * 8 - 4; shift >= 0; shift -= 4) - DLPUTC ("0123456789abcdef"[(l->l_map_start >> shift) & 0xF]); - DLPUTC (':'); - - /* Write the library path, including the terminating '\0'. */ - path = dl_realpath (l->l_name, pathbuf) ?: l->l_name; - for (size_t i = 0;; i++) - { - DLPUTC (path[i]); - if (path[i] == '\0') - break; - } -#undef DLPUTC -} - -/* Support notifying the simulator about removed objects prior to munmap(). */ -static void -sim_dlclose (ElfW(Addr) map_start) -{ - int shift; - - /* Don't bother if not in the simulator. */ - if (__insn_mfspr (SPR_SIM_CONTROL) == 0) - return; - -#define DLPUTC(c) __insn_mtspr (SPR_SIM_CONTROL, \ - (SIM_CONTROL_DLCLOSE \ - | ((c) << _SIM_CONTROL_OPERATOR_BITS))) - - /* Write the library address in hex. */ - DLPUTC ('0'); - DLPUTC ('x'); - for (shift = (int) sizeof (unsigned long) * 8 - 4; shift >= 0; shift -= 4) - DLPUTC ("0123456789abcdef"[(map_start >> shift) & 0xF]); - DLPUTC ('\0'); - -#undef DLPUTC -} - -void -_dl_unmap (struct link_map *map) -{ - sim_dlclose (map->l_map_start); - _dl_unmap_segments (map); -} diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S deleted file mode 100644 index 5820baf..0000000 --- a/sysdeps/tile/dl-start.S +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> - - /* Get address of "sym" in "reg" assuming r51 holds ".Llink". */ - .macro pic_addr reg, sym - moveli \reg, hw1_last(\sym - .Llink) - shl16insli \reg, \reg, hw0(\sym - .Llink) - ADD_PTR \reg, r51, \reg - .endm - - .text -ENTRY (_start) - /* Linux starts us with sp pointing at the conventional Elf layout, - but we need to allow two 'caller' words for our ABI convention. */ - { - move r52, sp - andi sp, sp, -8 - } - cfi_def_cfa_register (r52) - { - /* Point sp at base of ABI area; point r4 to the caller-sp word. */ - ADDI_PTR sp, sp, -(2 * REGSIZE) - ADDI_PTR r4, sp, -REGSIZE - } - { - /* Save zero for caller sp in our 'caller' save area, and make - sure lr has a zero value, to limit backtraces. */ - move lr, zero - st r4, zero - } - { - move r0, r52 - jal _dl_start - } - /* Save returned start of user program address for later. */ - move r50, r0 - - /* See if we were invoked explicitly with the dynamic loader, - in which case we have to adjust the argument vector. */ - lnk r51; .Llink: - pic_addr r4, _dl_skip_args - ld4u r4, r4 - beqzt r4, .Lno_skip - - /* Load the argc word at the initial sp and adjust it. - We basically jump "sp" up over the first few argv entries - and write "argc" a little higher up in memory, to be the - base of the new kernel-initialized stack area. */ - LD_PTR r0, r52 - { - sub r0, r0, r4 - SHL_PTR_ADD r52, r4, r52 - } - { - ST_PTR r52, r0 - SHL_PTR_ADD sp, r4, sp - } - andi sp, sp, -8 - -.Lno_skip: - /* Call_dl_init (_dl_loaded, argc, argv, envp). See elf/start.s - for the layout of memory here; r52 is pointing to "+0". */ - pic_addr r0, _rtld_local - { - LD_PTR r1, r52 /* load argc in r1 */ - ADDLI_PTR r2, r52, __SIZEOF_POINTER__ /* point r2 at argv */ - } - { - LD_PTR r0, r0 /* yields _rtld_global._ns_loaded */ - addi r3, r1, 1 - move lr, zero - } - { - SHL_PTR_ADD r3, r3, r2 /* point r3 at envp */ - jal _dl_init - } - - /* Call user program whose address we saved in r50. - We invoke it just like a static binary, but with _dl_fini - in r0 so we can distinguish. */ - - pic_addr r0, _dl_fini - move lr, zero - { - move sp, r52 - jr r50 - } - - /* Tell backtracer to give up (_start has no caller). */ - info 2 /* INFO_OP_CANNOT_BACKTRACE */ - -END (_start) diff --git a/sysdeps/tile/dl-tls.c b/sysdeps/tile/dl-tls.c deleted file mode 100644 index 81df8f3..0000000 --- a/sysdeps/tile/dl-tls.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -#ifdef SHARED -/* We provide a fast-path version of __tls_get_addr to allow for - the normal case to be fast, both by coding the function tightly, - and more importantly by fixing its register clobber API so the - compiler can avoid having to set up frames, etc., unnecessarily. */ -#define __tls_get_addr __tls_get_addr_slow -#endif - -#include <elf/dl-tls.c> diff --git a/sysdeps/tile/dl-tls.h b/sysdeps/tile/dl-tls.h deleted file mode 100644 index 04c4a82..0000000 --- a/sysdeps/tile/dl-tls.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - - -/* Type used for the representation of TLS information in the GOT. */ -typedef struct -{ - unsigned long int ti_module; - unsigned long int ti_offset; -} tls_index; - -/* Fast-path function to get a TLS pointer. */ -extern void *__tls_get_addr (tls_index *ti); - -/* The thread pointer points to the first static TLS block. */ -#define TLS_TP_OFFSET 0 - -/* Dynamic thread vector pointers at the start of each TLS block. */ -#define TLS_DTV_OFFSET 0 - -/* Compute the value for a GOTTPREL reloc. */ -#define TLS_TPREL_VALUE(sym_map, sym) \ - ((sym_map)->l_tls_offset + (sym)->st_value - TLS_TP_OFFSET) - -/* Compute the value for a DTPREL reloc. */ -#define TLS_DTPREL_VALUE(sym) \ - ((sym)->st_value - TLS_DTV_OFFSET) diff --git a/sysdeps/tile/dl-trampoline.S b/sysdeps/tile/dl-trampoline.S deleted file mode 100644 index 7669d77..0000000 --- a/sysdeps/tile/dl-trampoline.S +++ /dev/null @@ -1,193 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <arch/abi.h> - -/* This function is called via the PLT header, which is called - from an individual PLT entry. - - At this point we have several values passed in: - - lr: return address to original user code - r28: the tpnt value to pass to _dl_runtime_resolver - r29: the PLT index of the invoked jump table entry. - - We set up a frame entry that looks like this (in int_reg_t units): - - +57: r25 return values from function... - +56: r24 - [...] - +33: r1 - +32: r0 - +31: PLT index - +30: tpnt - +29: stackframe - +28: caller lr - +27: r25 arguments to function... - +26: r24 - [...] - +3: r1 - +2: r0 - +1: standard ABI slot (sp) - +0: standard ABI slot (callee lr) - - The entries from "stackframe" up are only used in _dl_profile_resolve. - We save and restore r0 through r25, rather than the strictly - architected r0 through r9, to support unusual calling conventions; - for example, __tls_get_addr takes r0 and returns r0, but promises - not to clobber r1 through r24 to support its usual fast path. */ - -#define FRAME_SP (1 * REGSIZE) -#define FRAME_REGS (2 * REGSIZE) -#define FRAME_LR (28 * REGSIZE) /* Must follow FRAME_REGS */ -#define FRAME_STACKFRAME (29 * REGSIZE) -#define FRAME_TPNT (30 * REGSIZE) -#define FRAME_INDEX (31 * REGSIZE) -#define FRAME_RETVAL (32 * REGSIZE) - -#define FRAME_SIZE_SMALL (30 * REGSIZE) -#define FRAME_SIZE_LARGE (58 * REGSIZE) - -#define FOR_EACH_REG(f) \ - f(r0); f(r1); f(r2); f(r3); \ - f(r4); f(r5); f(r6); f(r7); \ - f(r8); f(r9); f(r10); f(r11); \ - f(r12); f(r13); f(r14); f(r15); \ - f(r16); f(r17); f(r18); f(r19); \ - f(r20); f(r21); f(r22); f(r23); \ - f(r24); f(r25) - -#define SAVE(REG) { st r27, REG; ADDI_PTR r27, r27, REGSIZE } -#define RESTORE(REG) { ld REG, r27; ADDI_PTR r27, r27, REGSIZE } - - .macro dl_resolve, name, profile, framesize -.text -.global \name -.hidden \name -/* Note that cpp expands ENTRY(\name) incorrectly. */ -.type \name,@function -.align 8 -\name: - cfi_startproc - { - st sp, lr - move r26, sp - } - { - ADDLI_PTR sp, sp, -\framesize - ADDLI_PTR r27, sp, FRAME_SP - \framesize - } - cfi_def_cfa_offset (\framesize) - { - st r27, r26 - ADDI_PTR r27, r27, FRAME_REGS - FRAME_SP - } - FOR_EACH_REG(SAVE) - { - st r27, lr - ADDLI_PTR r27, sp, FRAME_TPNT - } - cfi_offset (lr, FRAME_LR - \framesize) - .if \profile - { - move r0, r28 /* tpnt value */ - st r27, r28 - ADDI_PTR r27, r27, FRAME_INDEX - FRAME_TPNT - } - { - move r1, r29 /* PLT index */ - st r27, r29 - } - { - move r2, lr /* retaddr */ - ADDI_PTR r3, sp, FRAME_REGS /* La_tile_regs pointer */ - } - { - ADDLI_PTR r4, sp, FRAME_STACKFRAME /* framesize pointer */ - jal _dl_profile_fixup - } - ADDLI_PTR r28, sp, FRAME_STACKFRAME - LD_PTR r28, r28 - bgtz r28, 1f - .else - { - move r0, r28 /* tpnt value 1 */ - move r1, r29 /* PLT index 2 */ - } - jal _dl_fixup - .endif - { - /* Copy aside the return value so we can restore r0 below. */ - move r29, r0 - /* Set up r27 to let us start restoring registers. */ - ADDLI_PTR r27, sp, FRAME_REGS - } - FOR_EACH_REG(RESTORE) - .if \profile - ADDLI_PTR r28, sp, FRAME_STACKFRAME - ld r28, r28 - bgtz r28, 1f - .endif - { - /* Restore original user return address. */ - ld lr, r27 - /* Pop off our stack frame. */ - ADDLI_PTR sp, sp, \framesize - } - cfi_def_cfa_offset (0) - jr r29 /* Transfer control to freshly loaded code. */ - jrp lr /* Keep backtracer happy. */ - - .if \profile -1: jalr r29 /* Call resolved function. */ - { - ADDLI_PTR r28, sp, FRAME_TPNT - ADDLI_PTR r27, sp, FRAME_RETVAL - } - FOR_EACH_REG(SAVE) - { - ld r0, r28 - ADDI_PTR r28, r28, FRAME_INDEX - FRAME_TPNT - } - { - ld r1, r28 - ADDLI_PTR r2, sp, FRAME_REGS - } - { - ADDLI_PTR r3, sp, FRAME_RETVAL - jal _dl_call_pltexit - } - { - ADDLI_PTR lr, sp, FRAME_LR - ADDLI_PTR r27, sp, FRAME_RETVAL - } - FOR_EACH_REG(RESTORE) - { - ld lr, lr - ADDLI_PTR sp, sp, \framesize - } - jrp lr - .endif -END (\name) - .endm - - dl_resolve _dl_runtime_resolve, 0, FRAME_SIZE_SMALL -#ifndef PROF - dl_resolve _dl_runtime_profile, 1, FRAME_SIZE_LARGE -#endif diff --git a/sysdeps/tile/ffs.c b/sysdeps/tile/ffs.c deleted file mode 100644 index 6c34273..0000000 --- a/sysdeps/tile/ffs.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <limits.h> -#define ffsl __something_else -#include <string.h> - -#undef ffs -int -__ffs (int x) -{ - return __builtin_ffs (x); -} -weak_alias (__ffs, ffs) -libc_hidden_def (__ffs) -libc_hidden_builtin_def (ffs) - -#if ULONG_MAX == UINT_MAX -#undef ffsl -weak_alias (__ffs, ffsl) -#endif diff --git a/sysdeps/tile/ffsll.c b/sysdeps/tile/ffsll.c deleted file mode 100644 index 409ce70..0000000 --- a/sysdeps/tile/ffsll.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <limits.h> -#define ffsl __something_else -#include <string.h> - -#undef ffsll -int -ffsll (long long x) -{ - return __builtin_ffsll (x); -} - -#if ULONG_MAX > UINT_MAX -#undef ffsl -weak_alias (ffsll, ffsl) -#endif diff --git a/sysdeps/tile/gccframe.h b/sysdeps/tile/gccframe.h deleted file mode 100644 index b3c351c..0000000 --- a/sysdeps/tile/gccframe.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 FIRST_PSEUDO_REGISTER 64 - -#include <sysdeps/generic/gccframe.h> diff --git a/sysdeps/tile/jmpbuf-offsets.h b/sysdeps/tile/jmpbuf-offsets.h deleted file mode 100644 index 8285826..0000000 --- a/sysdeps/tile/jmpbuf-offsets.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -/* We don't use most of these symbols; they are here for documentation. */ -#define JB_R30 0 -#define JB_R31 1 -#define JB_R32 2 -#define JB_R33 3 -#define JB_R34 4 -#define JB_R35 5 -#define JB_R36 6 -#define JB_R37 7 -#define JB_R38 8 -#define JB_R39 9 -#define JB_R40 10 -#define JB_R41 11 -#define JB_R42 12 -#define JB_R43 13 -#define JB_R44 14 -#define JB_R45 15 -#define JB_R46 16 -#define JB_R47 17 -#define JB_R48 18 -#define JB_R49 19 -#define JB_R50 20 -#define JB_R51 21 -#define JB_FP 22 /* r52 */ -#define JB_TP 23 /* r53 */ -#define JB_SP 24 /* r54 */ -#define JB_PC 25 /* normally LR, r55 */ -#define JB_ICS 26 /* interrupt critical section bit */ - -/* We save space for some extra state to accommodate future changes. */ -#define JB_LEN 32 /* number of words */ - -#define JB_SIZE (JB_LEN * REGSIZE) - -/* Helper macro used by all the setjmp/longjmp assembly code. */ -#define FOR_EACH_CALLEE_SAVED_REG(f) \ - .no_require_canonical_reg_names; f(r30); f(r31); \ - f(r32); f(r33); f(r34); f(r35); f(r36); f(r37); f(r38); f(r39); \ - f(r40); f(r41); f(r42); f(r43); f(r44); f(r45); f(r46); f(r47); \ - f(r48); f(r49); f(r50); f(r51); f(r52); f(r53); f(r54); f(r55) - -/* Helper for generic ____longjmp_chk(). */ -#define JB_FRAME_ADDRESS(buf) \ - ((void *) (unsigned long) (buf[JB_SP])) diff --git a/sysdeps/tile/jmpbuf-unwind.h b/sysdeps/tile/jmpbuf-unwind.h deleted file mode 100644 index 906977b..0000000 --- a/sysdeps/tile/jmpbuf-unwind.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - Based on work contributed by Jakub Jelinek <jakub@redhat.com>, 2003. - - 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 <setjmp.h> -#include <jmpbuf-offsets.h> -#include <stdint.h> -#include <unwind.h> -#include <sysdep.h> - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle ((jmpbuf)[JB_SP])) - -#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \ - _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) (long) _Unwind_GetCFA (_context), _adj) - -static inline uintptr_t __attribute__ ((unused)) -_jmpbuf_sp (__jmp_buf regs) -{ - uintptr_t sp = regs[JB_SP]; -#ifdef PTR_DEMANGLE - PTR_DEMANGLE (sp); -#endif - return sp; -} - -#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \ - ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj)) - -/* We use the normal longjmp for unwinding. */ -#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val) diff --git a/sysdeps/tile/ldsodefs.h b/sysdeps/tile/ldsodefs.h deleted file mode 100644 index 6deacb7..0000000 --- a/sysdeps/tile/ldsodefs.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _TILE_LDSODEFS_H -#define _TILE_LDSODEFS_H 1 - -#include <elf.h> - -struct La_tile_regs; -struct La_tile_retval; - -#define ARCH_PLTENTER_MEMBERS \ - ElfW(Addr) (*tile_gnu_pltenter) (ElfW(Sym) *, unsigned int, uintptr_t *, \ - uintptr_t *, struct La_tile_regs *, \ - unsigned int *, const char *, \ - long int *) - -#define ARCH_PLTEXIT_MEMBERS \ - ElfW(Addr) (*tile_gnu_pltexit) (ElfW(Sym) *, unsigned int, uintptr_t *, \ - uintptr_t *, const struct La_tile_regs *, \ - struct La_tile_retval *, const char *) - -#include_next <ldsodefs.h> - -#endif diff --git a/sysdeps/tile/libm-test-ulps b/sysdeps/tile/libm-test-ulps deleted file mode 100644 index a9d2c23..0000000 --- a/sysdeps/tile/libm-test-ulps +++ /dev/null @@ -1,394 +0,0 @@ -# Begin of automatic generation - -# Maximal error of functions: -Function: "acos": -float: 1 -ifloat: 1 - -Function: "acosh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "asin": -float: 1 -ifloat: 1 - -Function: "asinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "atan": -float: 1 -ifloat: 1 - -Function: "atan2": -float: 1 -ifloat: 1 - -Function: "atanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "cabs": -double: 1 -idouble: 1 - -Function: Real part of "cacos": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Imaginary part of "cacos": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "cacosh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "cacosh": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "carg": -float: 1 -ifloat: 1 - -Function: Real part of "casin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "casin": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "casinh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "casinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "catanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "catanh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "cbrt": -double: 3 -float: 1 -idouble: 3 -ifloat: 1 - -Function: Real part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccos": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ccosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "cexp": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "cexp": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: Real part of "clog": -double: 3 -float: 3 -idouble: 3 -ifloat: 3 - -Function: Imaginary part of "clog": -float: 1 -ifloat: 1 - -Function: Real part of "clog10": -double: 3 -float: 4 -idouble: 3 -ifloat: 4 - -Function: Imaginary part of "clog10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "cos": -float: 1 -ifloat: 1 - -Function: "cosh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "cpow": -double: 2 -float: 4 -idouble: 2 -ifloat: 4 - -Function: Imaginary part of "cpow": -float: 2 -ifloat: 2 - -Function: Real part of "csin": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "csinh": -float: 1 -ifloat: 1 - -Function: Imaginary part of "csinh": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Real part of "csqrt": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Imaginary part of "csqrt": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: Real part of "ctan": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: Imaginary part of "ctan": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Real part of "ctanh": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: Imaginary part of "ctanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "erf": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "erfc": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "exp": -float: 1 -ifloat: 1 - -Function: "exp10": -double: 2 -idouble: 2 - -Function: "exp2": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "expm1": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "gamma": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "hypot": -double: 1 -idouble: 1 - -Function: "j0": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "j1": -double: 1 -float: 2 -idouble: 1 -ifloat: 2 - -Function: "jn": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "lgamma": -double: 4 -float: 4 -idouble: 4 -ifloat: 4 - -Function: "log": -float: 1 -ifloat: 1 - -Function: "log10": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "log1p": -double: 1 -float: 1 -idouble: 1 -ifloat: 1 - -Function: "log2": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "pow": -float: 3 -ifloat: 3 - -Function: "sin": -float: 1 -ifloat: 1 - -Function: "sincos": -float: 1 -ifloat: 1 - -Function: "sinh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "tan": -float: 1 -ifloat: 1 - -Function: "tanh": -double: 2 -float: 2 -idouble: 2 -ifloat: 2 - -Function: "tgamma": -double: 5 -float: 5 -idouble: 5 -ifloat: 5 - -Function: "y0": -double: 2 -float: 1 -idouble: 2 -ifloat: 1 - -Function: "y1": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -Function: "yn": -double: 3 -float: 2 -idouble: 3 -ifloat: 2 - -# end of automatic generation diff --git a/sysdeps/tile/libm-test-ulps-name b/sysdeps/tile/libm-test-ulps-name deleted file mode 100644 index 69673dc..0000000 --- a/sysdeps/tile/libm-test-ulps-name +++ /dev/null @@ -1 +0,0 @@ -Tile diff --git a/sysdeps/tile/machine-gmon.h b/sysdeps/tile/machine-gmon.h deleted file mode 100644 index b129a69..0000000 --- a/sysdeps/tile/machine-gmon.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _MCOUNT_DECL(from, self) \ - void __mcount_internal (u_long from, u_long self) - -/* Call __mcount_internal with our the return PC for our caller, and - the return PC our caller will return to. Empty since we use an - assembly stub instead. */ -#define MCOUNT diff --git a/sysdeps/tile/math-tests.h b/sysdeps/tile/math-tests.h deleted file mode 100644 index 8eeafb8..0000000 --- a/sysdeps/tile/math-tests.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Configuration for math tests. Tile version. - Copyright (C) 2013-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -/* Tile hardware/softfloat does not support exceptions and rounding modes. */ -#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) -#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) -#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST) -#define EXCEPTION_TESTS_float 0 -#define EXCEPTION_TESTS_double 0 -#define EXCEPTION_TESTS_long_double 0 - -/* Tile hardware/softfloat floating-point ops do not preserve NaN payloads. */ -#define SNAN_TESTS_PRESERVE_PAYLOAD 0 - -#include_next <math-tests.h> diff --git a/sysdeps/tile/memchr.c b/sysdeps/tile/memchr.c deleted file mode 100644 index 96a9f6e..0000000 --- a/sysdeps/tile/memchr.c +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -void * -__memchr (const void *s, int c, size_t n) -{ - const uint64_t *last_word_ptr; - const uint64_t *p; - const char *last_byte_ptr; - uintptr_t s_int; - uint64_t goal, before_mask, v, bits; - char *ret; - - if (__builtin_expect (n == 0, 0)) - { - /* Don't dereference any memory if the array is empty. */ - return NULL; - } - - /* Get an aligned pointer. */ - s_int = (uintptr_t) s; - p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - goal = copy_byte(c); - - /* Read the first word, but munge it so that bytes before the array - will not match goal. */ - before_mask = MASK (s_int); - v = (*p | before_mask) ^ (goal & before_mask); - - /* Compute the address of the last byte. */ - last_byte_ptr = (const char *) s + n - 1; - - /* Handle possible addition overflow. */ - if (__glibc_unlikely ((uintptr_t) last_byte_ptr < (uintptr_t) s)) - last_byte_ptr = (const char *) UINTPTR_MAX; - - /* Compute the address of the word containing the last byte. */ - last_word_ptr = (const uint64_t *) ((uintptr_t) last_byte_ptr & -8); - - while ((bits = v1cmpeq (v, goal)) == 0) - { - if (__builtin_expect (p == last_word_ptr, 0)) - { - /* We already read the last word in the array, so give up. */ - return NULL; - } - v = *++p; - } - - /* We found a match, but it might be in a byte past the end - of the array. */ - ret = ((char *) p) + (CFZ (bits) >> 3); - return (ret <= last_byte_ptr) ? ret : NULL; -} -weak_alias (__memchr, memchr) -libc_hidden_builtin_def (memchr) diff --git a/sysdeps/tile/memcmp.c b/sysdeps/tile/memcmp.c deleted file mode 100644 index b7cf00a..0000000 --- a/sysdeps/tile/memcmp.c +++ /dev/null @@ -1,349 +0,0 @@ -/* Copyright (C) 1991-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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/>. */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#if defined HAVE_STRING_H || defined _LIBC -# include <string.h> -#endif - -#undef memcmp - -#ifndef MEMCMP -# define MEMCMP memcmp -#endif - -#ifdef _LIBC - -# include <memcopy.h> -# include <endian.h> - -# if __BYTE_ORDER == __BIG_ENDIAN -# define WORDS_BIGENDIAN -# endif - -#else /* Not in the GNU C library. */ - -# include <sys/types.h> - -/* Type to use for aligned memory operations. - This should normally be the biggest type supported by a single load - and store. Must be an unsigned type. */ -# define op_t unsigned long int -# define OPSIZ (sizeof(op_t)) - -/* Threshold value for when to enter the unrolled loops. */ -# define OP_T_THRES 16 - -/* Type to use for unaligned operations. */ -typedef unsigned char byte; - -#endif /* In the GNU C library. */ - -/* Provide the appropriate builtins to shift two registers based on - the alignment of a pointer held in a third register, and to reverse - the bytes in a word. */ -#define DBLALIGN __insn_dblalign -#define REVBYTES __insn_revbytes - -#ifdef WORDS_BIGENDIAN -# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1) -#else -# define CMP_LT_OR_GT(a, b) (REVBYTES(a) > REVBYTES(b) ? 1 : -1) -#endif - -/* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */ - -/* The strategy of this memcmp is: - - 1. Compare bytes until one of the block pointers is aligned. - - 2. Compare using memcmp_common_alignment or - memcmp_not_common_alignment, regarding the alignment of the other - block after the initial byte operations. The maximum number of - full words (of type op_t) are compared in this way. - - 3. Compare the few remaining bytes. */ - -static int memcmp_common_alignment (long, long, size_t) __THROW; - -/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t' - objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for - memory operations on `op_t's. */ -static int -memcmp_common_alignment (long int srcp1, long int srcp2, size_t len) -{ - op_t a0, a1; - op_t b0, b1; - - switch (len % 4) - { - default: /* Avoid warning about uninitialized local variables. */ - case 2: - a0 = ((op_t *) srcp1)[0]; - b0 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - len += 2; - goto do1; - case 3: - a1 = ((op_t *) srcp1)[0]; - b1 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - len += 1; - goto do2; - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return 0; - a0 = ((op_t *) srcp1)[0]; - b0 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - goto do3; - case 1: - a1 = ((op_t *) srcp1)[0]; - b1 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - /* Fall through. */ - } - - do - { - a0 = ((op_t *) srcp1)[0]; - b0 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (a1 != b1)) - return CMP_LT_OR_GT (a1, b1); - - do3: - a1 = ((op_t *) srcp1)[0]; - b1 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (a0 != b0)) - return CMP_LT_OR_GT (a0, b0); - - do2: - a0 = ((op_t *) srcp1)[0]; - b0 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (a1 != b1)) - return CMP_LT_OR_GT (a1, b1); - - do1: - a1 = ((op_t *) srcp1)[0]; - b1 = ((op_t *) srcp2)[0]; - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (a0 != b0)) - return CMP_LT_OR_GT (a0, b0); - - len -= 4; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - if (__glibc_likely (a1 != b1)) - return CMP_LT_OR_GT (a1, b1); - return 0; -} - -static int memcmp_not_common_alignment (long, long, size_t) __THROW; - -/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN - `op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory - operations on `op_t', but SRCP1 *should be unaligned*. */ -static int -memcmp_not_common_alignment (long int srcp1, long int srcp2, size_t len) -{ - void * srcp1i; - op_t a0, a1, a2, a3; - op_t b0, b1, b2, b3; - op_t x; - - /* Calculate how to shift a word read at the memory operation - aligned srcp1 to make it aligned for comparison. */ - - srcp1i = (void *) srcp1; - - /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t' - it points in the middle of. */ - srcp1 &= -OPSIZ; - - switch (len % 4) - { - default: /* Avoid warning about uninitialized local variables. */ - case 2: - a1 = ((op_t *) srcp1)[0]; - a2 = ((op_t *) srcp1)[1]; - b2 = ((op_t *) srcp2)[0]; - srcp1 += 2 * OPSIZ; - srcp2 += 1 * OPSIZ; - len += 2; - goto do1; - case 3: - a0 = ((op_t *) srcp1)[0]; - a1 = ((op_t *) srcp1)[1]; - b1 = ((op_t *) srcp2)[0]; - srcp1 += 2 * OPSIZ; - srcp2 += 1 * OPSIZ; - len += 1; - goto do2; - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return 0; - a3 = ((op_t *) srcp1)[0]; - a0 = ((op_t *) srcp1)[1]; - b0 = ((op_t *) srcp2)[0]; - srcp1 += 2 * OPSIZ; - srcp2 += 1 * OPSIZ; - goto do3; - case 1: - a2 = ((op_t *) srcp1)[0]; - a3 = ((op_t *) srcp1)[1]; - b3 = ((op_t *) srcp2)[0]; - srcp1 += 2 * OPSIZ; - srcp2 += 1 * OPSIZ; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - /* Fall through. */ - } - - do - { - a0 = ((op_t *) srcp1)[0]; - b0 = ((op_t *) srcp2)[0]; - x = DBLALIGN (a2, a3, srcp1i); - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (x != b3)) - return CMP_LT_OR_GT (x, b3); - - do3: - a1 = ((op_t *) srcp1)[0]; - b1 = ((op_t *) srcp2)[0]; - x = DBLALIGN (a3, a0, srcp1i); - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (x != b0)) - return CMP_LT_OR_GT (x, b0); - - do2: - a2 = ((op_t *) srcp1)[0]; - b2 = ((op_t *) srcp2)[0]; - x = DBLALIGN (a0, a1, srcp1i); - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (x != b1)) - return CMP_LT_OR_GT (x, b1); - - do1: - a3 = ((op_t *) srcp1)[0]; - b3 = ((op_t *) srcp2)[0]; - x = DBLALIGN (a1, a2, srcp1i); - srcp1 += OPSIZ; - srcp2 += OPSIZ; - if (__glibc_likely (x != b2)) - return CMP_LT_OR_GT (x, b2); - - len -= 4; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - x = DBLALIGN (a2, a3, srcp1i); - if (__glibc_likely (x != b3)) - return CMP_LT_OR_GT (x, b3); - return 0; -} - -int -MEMCMP (const void *s1, const void *s2, size_t len) -{ - op_t a0; - op_t b0; - long int srcp1 = (long int) s1; - long int srcp2 = (long int) s2; - int res; - - if (len >= OP_T_THRES) - { - /* There are at least some bytes to compare. No need to test - for LEN == 0 in this alignment loop. */ - while (srcp2 % OPSIZ != 0) - { - a0 = ((byte *) srcp1)[0]; - b0 = ((byte *) srcp2)[0]; - srcp1 += 1; - srcp2 += 1; - res = a0 - b0; - if (__glibc_likely (res != 0)) - return res; - len -= 1; - } - - /* SRCP2 is now aligned for memory operations on `op_t'. - SRCP1 alignment determines if we can do a simple, - aligned compare or need to shuffle bits. */ - - if (srcp1 % OPSIZ == 0) - res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ); - else - res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ); - if (res != 0) - return res; - - /* Number of bytes remaining in the interval [0..OPSIZ-1]. */ - srcp1 += len & -OPSIZ; - srcp2 += len & -OPSIZ; - len %= OPSIZ; - } - - /* There are just a few bytes to compare. Use byte memory operations. */ - while (len != 0) - { - a0 = ((byte *) srcp1)[0]; - b0 = ((byte *) srcp2)[0]; - srcp1 += 1; - srcp2 += 1; - res = a0 - b0; - if (__glibc_likely (res != 0)) - return res; - len -= 1; - } - - return 0; -} -libc_hidden_builtin_def(memcmp) -#ifdef weak_alias -# undef bcmp -weak_alias (memcmp, bcmp) -#endif diff --git a/sysdeps/tile/memcopy.h b/sysdeps/tile/memcopy.h deleted file mode 100644 index 0c357c1..0000000 --- a/sysdeps/tile/memcopy.h +++ /dev/null @@ -1,31 +0,0 @@ -/* memcopy.h -- definitions for memory copy functions. Tile version. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 <sysdeps/generic/memcopy.h> -#include <bits/wordsize.h> - -/* The tilegx implementation of memcpy is safe to use for memmove. */ -#undef MEMCPY_OK_FOR_FWD_MEMMOVE -#define MEMCPY_OK_FOR_FWD_MEMMOVE 1 - -/* Support more efficient copying on tilegx32, which supports - long long as a native 64-bit type. */ -#if __WORDSIZE == 32 -# undef op_t -# define op_t unsigned long long int -#endif diff --git a/sysdeps/tile/memcpy.c b/sysdeps/tile/memcpy.c deleted file mode 100644 index cbf92bc..0000000 --- a/sysdeps/tile/memcpy.c +++ /dev/null @@ -1,272 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include <stdlib.h> -#include <memcopy.h> -#include <arch/chip.h> - -/* How many cache lines ahead should we prefetch? */ -#define PREFETCH_LINES_AHEAD 3 - -void * inhibit_loop_to_libcall -__memcpy (void *__restrict dstv, const void *__restrict srcv, size_t n) -{ - char *__restrict dst1 = (char *) dstv; - const char *__restrict src1 = (const char *) srcv; - const char *__restrict src1_end; - const char *__restrict prefetch; - op_t *__restrict dst8; /* 8-byte pointer to destination memory. */ - op_t final; /* Final bytes to write to trailing word, if any */ - long i; - - if (n < 16) - { - for (; n; n--) - *dst1++ = *src1++; - return dstv; - } - - /* Locate the end of source memory we will copy. Don't prefetch - past this. */ - src1_end = src1 + n - 1; - - /* Prefetch ahead a few cache lines, but not past the end. */ - prefetch = src1; - for (i = 0; i < PREFETCH_LINES_AHEAD; i++) - { - __insn_prefetch (prefetch); - prefetch += CHIP_L2_LINE_SIZE (); - prefetch = (prefetch < src1_end) ? prefetch : src1; - } - - /* Copy bytes until dst is word-aligned. */ - for (; (uintptr_t) dst1 & (sizeof (op_t) - 1); n--) - *dst1++ = *src1++; - - /* 8-byte pointer to destination memory. */ - dst8 = (op_t *) dst1; - - if (__builtin_expect ((uintptr_t) src1 & (sizeof (op_t) - 1), 0)) - { - /* Misaligned copy. Use glibc's _wordcopy_fwd_dest_aligned, but - inline it to avoid prologue/epilogue. TODO: Consider - prefetching and using wh64 as well. */ - void * srci; - op_t a0, a1, a2, a3; - long int dstp = (long int) dst1; - long int srcp = (long int) src1; - long int len = n / OPSIZ; - - /* Save the initial source pointer so we know the number of - bytes to shift for merging two unaligned results. */ - srci = (void *) srcp; - - /* Make SRCP aligned by rounding it down to the beginning of the - `op_t' it points in the middle of. */ - srcp &= -OPSIZ; - - switch (len % 4) - { - case 2: - a1 = ((op_t *) srcp)[0]; - a2 = ((op_t *) srcp)[1]; - len += 2; - srcp += 2 * OPSIZ; - goto do1; - case 3: - a0 = ((op_t *) srcp)[0]; - a1 = ((op_t *) srcp)[1]; - len += 1; - srcp += 2 * OPSIZ; - goto do2; - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return dstv; - a3 = ((op_t *) srcp)[0]; - a0 = ((op_t *) srcp)[1]; - len += 0; - srcp += 2 * OPSIZ; - goto do3; - case 1: - a2 = ((op_t *) srcp)[0]; - a3 = ((op_t *) srcp)[1]; - srcp += 2 * OPSIZ; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - goto do4; /* No-op. */ - } - - do - { - do4: - a0 = ((op_t *) srcp)[0]; - a2 = __insn_dblalign (a2, a3, srci); - ((op_t *) dstp)[0] = a2; - srcp += OPSIZ; - dstp += OPSIZ; - do3: - a1 = ((op_t *) srcp)[0]; - a3 = __insn_dblalign (a3, a0, srci); - ((op_t *) dstp)[0] = a3; - srcp += OPSIZ; - dstp += OPSIZ; - do2: - a2 = ((op_t *) srcp)[0]; - a0 = __insn_dblalign (a0, a1, srci); - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - do1: - a3 = ((op_t *) srcp)[0]; - a1 = __insn_dblalign (a1, a2, srci); - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - len -= 4; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - ((op_t *) dstp)[0] = __insn_dblalign (a2, a3, srci); - - n = n % OPSIZ; - if (n == 0) - return dstv; - - a0 = ((const char *) srcp <= src1_end) ? ((op_t *) srcp)[0] : 0; - - final = __insn_dblalign (a3, a0, srci); - dst8 = (op_t *)(dstp + OPSIZ); - } - else - { - /* Aligned copy. */ - - const op_t *__restrict src8 = (const op_t *) src1; - - /* src8 and dst8 are both word-aligned. */ - if (n >= CHIP_L2_LINE_SIZE ()) - { - /* Copy until 'dst' is cache-line-aligned. */ - for (; (uintptr_t) dst8 & (CHIP_L2_LINE_SIZE () - 1); - n -= sizeof (op_t)) - *dst8++ = *src8++; - - for (; n >= CHIP_L2_LINE_SIZE ();) - { - op_t tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - - /* Prefetch and advance to next line to prefetch, but - don't go past the end. */ - __insn_prefetch (prefetch); - prefetch += CHIP_L2_LINE_SIZE (); - prefetch = (prefetch < src1_end) ? prefetch : - (const char *) src8; - - /* Do all the loads before wh64. This is necessary if - [src8, src8+7] and [dst8, dst8+7] share the same - cache line and dst8 <= src8, as can be the case when - called from memmove, or with code tested on x86 whose - memcpy always works with forward copies. */ - tmp0 = *src8++; - tmp1 = *src8++; - tmp2 = *src8++; - tmp3 = *src8++; - tmp4 = *src8++; - tmp5 = *src8++; - tmp6 = *src8++; - tmp7 = *src8++; - - __insn_wh64 (dst8); - - *dst8++ = tmp0; - *dst8++ = tmp1; - *dst8++ = tmp2; - *dst8++ = tmp3; - *dst8++ = tmp4; - *dst8++ = tmp5; - *dst8++ = tmp6; - *dst8++ = tmp7; - - n -= 64; - } -#if CHIP_L2_LINE_SIZE() != 64 -# error "Fix code that assumes particular L2 cache line size." -#endif - } - - for (; n >= sizeof (op_t); n -= sizeof (op_t)) - *dst8++ = *src8++; - - if (__builtin_expect (n == 0, 1)) - return dstv; - - final = *src8; - } - - /* n != 0 if we get here. Write out any trailing bytes. */ - dst1 = (char *) dst8; -#ifndef __BIG_ENDIAN__ - if (n & 4) - { - *(uint32_t *) dst1 = final; - dst1 += 4; - final >>= 32; - n &= 3; - } - if (n & 2) - { - *(uint16_t *) dst1 = final; - dst1 += 2; - final >>= 16; - n &= 1; - } - if (n) - *(uint8_t *) dst1 = final; -#else - if (n & 4) - { - *(uint32_t *) dst1 = final >> 32; - dst1 += 4; - } - else - { - final >>= 32; - } - if (n & 2) - { - *(uint16_t *) dst1 = final >> 16; - dst1 += 2; - } - else - { - final >>= 16; - } - if (n & 1) - *(uint8_t *) dst1 = final >> 8; -#endif - - return dstv; -} -weak_alias (__memcpy, memcpy) -libc_hidden_builtin_def (memcpy) diff --git a/sysdeps/tile/memset.c b/sysdeps/tile/memset.c deleted file mode 100644 index db3769b..0000000 --- a/sysdeps/tile/memset.c +++ /dev/null @@ -1,151 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <arch/chip.h> -#include <string.h> -#include <stdint.h> -#include "string-endian.h" - -void * inhibit_loop_to_libcall -__memset (void *s, int c, size_t n) -{ - uint64_t *out64; - int n64, to_align64; - uint64_t v64; - uint8_t *out8 = s; - - /* Experimentation shows that a trivial tight loop is a win up until - around a size of 20, where writing a word at a time starts to win. */ -#define BYTE_CUTOFF 20 - -#if BYTE_CUTOFF < 7 - /* This must be at least at least this big, or some code later - on doesn't work. */ -# error "BYTE_CUTOFF is too small." -#endif - - if (n < BYTE_CUTOFF) - { - /* Strangely, this turns out to be the tightest way to write - this loop. */ - if (n != 0) - { - do - { - /* Strangely, combining these into one line performs worse. */ - *out8 = c; - out8++; - } - while (--n != 0); - } - - return s; - } - - /* Align 'out8'. We know n >= 7 so this won't write past the end. */ - while (((uintptr_t) out8 & 7) != 0) - { - *out8++ = c; - --n; - } - - /* Align 'n'. */ - while (n & 7) - out8[--n] = c; - - out64 = (uint64_t *) out8; - n64 = n >> 3; - - /* Tile input byte out to 64 bits. */ - v64 = copy_byte(c); - - /* This must be at least 8 or the following loop doesn't work. */ -#define CACHE_LINE_SIZE_IN_DOUBLEWORDS (CHIP_L2_LINE_SIZE() / 8) - - /* Determine how many words we need to emit before the 'out32' - pointer becomes aligned modulo the cache line size. */ - to_align64 = (-((uintptr_t) out64 >> 3)) & - (CACHE_LINE_SIZE_IN_DOUBLEWORDS - 1); - - /* Only bother aligning and using wh64 if there is at least - one full cache line to process. This check also prevents - overrunning the end of the buffer with alignment words. */ - if (to_align64 <= n64 - CACHE_LINE_SIZE_IN_DOUBLEWORDS) - { - int lines_left; - - /* Align out64 mod the cache line size so we can use wh64. */ - n64 -= to_align64; - for (; to_align64 != 0; to_align64--) - { - *out64 = v64; - out64++; - } - - /* Use unsigned divide to turn this into a right shift. */ - lines_left = (unsigned) n64 / CACHE_LINE_SIZE_IN_DOUBLEWORDS; - - do - { - /* Only wh64 a few lines at a time, so we don't exceed the - maximum number of victim lines. */ - int x = ((lines_left < CHIP_MAX_OUTSTANDING_VICTIMS ()) ? lines_left - : CHIP_MAX_OUTSTANDING_VICTIMS ()); - uint64_t *wh = out64; - int i = x; - int j; - - lines_left -= x; - - do - { - __insn_wh64 (wh); - wh += CACHE_LINE_SIZE_IN_DOUBLEWORDS; - } - while (--i); - - for (j = x * (CACHE_LINE_SIZE_IN_DOUBLEWORDS / 4); j != 0; j--) - { - *out64++ = v64; - *out64++ = v64; - *out64++ = v64; - *out64++ = v64; - } - } - while (lines_left != 0); - - /* We processed all full lines above, so only this many - words remain to be processed. */ - n64 &= CACHE_LINE_SIZE_IN_DOUBLEWORDS - 1; - } - - /* Now handle any leftover values. */ - if (n64 != 0) - { - do - { - *out64 = v64; - out64++; - } - while (--n64 != 0); - } - - return s; -} -weak_alias (__memset, memset) -libc_hidden_builtin_def (memset) diff --git a/sysdeps/tile/memusage.h b/sysdeps/tile/memusage.h deleted file mode 100644 index b2343fe..0000000 --- a/sysdeps/tile/memusage.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include <arch/spr_def.h> - -#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; }) - -#define GETTIME(low,high) \ - { \ - uint64_t cycles = __insn_mfspr (SPR_CYCLE); \ - low = cycles & 0xffffffff; \ - high = cycles >> 32; \ - } - -#include <sysdeps/generic/memusage.h> diff --git a/sysdeps/tile/nptl/Makefile b/sysdeps/tile/nptl/Makefile deleted file mode 100644 index 60e19c7..0000000 --- a/sysdeps/tile/nptl/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (C) 2002-2018 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# 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/>. - -ifeq ($(subdir),csu) -gen-as-const-headers += tcb-offsets.sym -endif diff --git a/sysdeps/tile/nptl/bits/pthreadtypes-arch.h b/sysdeps/tile/nptl/bits/pthreadtypes-arch.h deleted file mode 100644 index 7c0844f..0000000 --- a/sysdeps/tile/nptl/bits/pthreadtypes-arch.h +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Based on work contributed by Ulrich Drepper <drepper@redhat.com>, 2002. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _BITS_PTHREADTYPES_ARCH_H -#define _BITS_PTHREADTYPES_ARCH_H 1 - -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 -# define __SIZEOF_PTHREAD_MUTEX_T 40 -# define __SIZEOF_PTHREAD_ATTR_T 56 -# define __SIZEOF_PTHREAD_RWLOCK_T 56 -# define __SIZEOF_PTHREAD_BARRIER_T 32 -#else -# define __SIZEOF_PTHREAD_MUTEX_T 24 -# define __SIZEOF_PTHREAD_ATTR_T 36 -# define __SIZEOF_PTHREAD_RWLOCK_T 32 -# define __SIZEOF_PTHREAD_BARRIER_T 20 -#endif -#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 -#define __SIZEOF_PTHREAD_COND_T 48 -#define __SIZEOF_PTHREAD_CONDATTR_T 4 -#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 -#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 - -/* Data structure for mutex handling. */ -#define __PTHREAD_COMPAT_PADDING_MID -#define __PTHREAD_COMPAT_PADDING_END -#define __PTHREAD_MUTEX_LOCK_ELISION 0 -#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64) -#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64) - -#define __LOCK_ALIGNMENT -#define __ONCE_ALIGNMENT - -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; -#if __WORDSIZE == 64 - int __cur_writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - unsigned char __shared; - unsigned char __pad1; - unsigned char __pad2; - int __cur_writer; -#endif -}; - -#define __PTHREAD_RWLOCK_ELISION_EXTRA 0 - -#endif /* bits/pthreadtypes.h */ diff --git a/sysdeps/tile/nptl/bits/semaphore.h b/sysdeps/tile/nptl/bits/semaphore.h deleted file mode 100644 index 733ba8a..0000000 --- a/sysdeps/tile/nptl/bits/semaphore.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - Based on work contributed by Ulrich Drepper <drepper@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/>. */ - -#ifndef _SEMAPHORE_H -# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead." -#endif - -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 -# define __SIZEOF_SEM_T 32 -#else -# define __SIZEOF_SEM_T 16 -#endif - - -/* Value returned if `sem_open' failed. */ -#define SEM_FAILED ((sem_t *) 0) - - -typedef union -{ - char __size[__SIZEOF_SEM_T]; - long int __align; -} sem_t; diff --git a/sysdeps/tile/nptl/pthread-offsets.h b/sysdeps/tile/nptl/pthread-offsets.h deleted file mode 100644 index bdda1f1..0000000 --- a/sysdeps/tile/nptl/pthread-offsets.h +++ /dev/null @@ -1,15 +0,0 @@ -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 -# define __PTHREAD_MUTEX_NUSERS_OFFSET 12 -# define __PTHREAD_MUTEX_KIND_OFFSET 16 -# define __PTHREAD_MUTEX_SPINS_OFFSET 20 -# define __PTHREAD_MUTEX_ELISION_OFFSET 22 -# define __PTHREAD_MUTEX_LIST_OFFSET 24 -#else -# define __PTHREAD_MUTEX_NUSERS_OFFSET 16 -# define __PTHREAD_MUTEX_KIND_OFFSET 12 -# define __PTHREAD_MUTEX_SPINS_OFFSET 20 -# define __PTHREAD_MUTEX_ELISION_OFFSET 22 -# define __PTHREAD_MUTEX_LIST_OFFSET 20 -#endif diff --git a/sysdeps/tile/nptl/pthread_spin_lock.c b/sysdeps/tile/nptl/pthread_spin_lock.c deleted file mode 100644 index 94f5f1b..0000000 --- a/sysdeps/tile/nptl/pthread_spin_lock.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 "pthreadP.h" -#include <arch/spr_def.h> -#include <atomic.h> - -/* Bound point for bounded exponential backoff */ -#define BACKOFF_MAX 2048 - -/* Initial cycle delay for exponential backoff */ -#define BACKOFF_START 32 - -/* Use cmpexch() after the initial fast-path exch to avoid - invalidating the cache line of the lock holder. */ -#define TNS(p) atomic_exchange_acq((p), 1) -#define CMPTNS(p) atomic_compare_and_exchange_val_acq((p), 1, 0) - -int -pthread_spin_lock (pthread_spinlock_t *lock) -{ - if (__builtin_expect (TNS (lock) != 0, 0)) - { - unsigned int backoff = BACKOFF_START; - while (CMPTNS (lock) != 0) - { - unsigned int start = __insn_mfspr (SPR_CYCLE); - while (__insn_mfspr (SPR_CYCLE) - start < backoff) - ; - if (backoff < BACKOFF_MAX) - backoff *= 2; - } - } - return 0; -} diff --git a/sysdeps/tile/nptl/pthread_spin_trylock.c b/sysdeps/tile/nptl/pthread_spin_trylock.c deleted file mode 100644 index 7e549a5..0000000 --- a/sysdeps/tile/nptl/pthread_spin_trylock.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 "pthreadP.h" -#include <errno.h> - -#define TNS(p) __insn_exch4((p), 1) - -int -pthread_spin_trylock (pthread_spinlock_t *lock) -{ - return (TNS (lock) == 0) ? 0 : EBUSY; -} diff --git a/sysdeps/tile/nptl/pthread_spin_unlock.c b/sysdeps/tile/nptl/pthread_spin_unlock.c deleted file mode 100644 index f356747..0000000 --- a/sysdeps/tile/nptl/pthread_spin_unlock.c +++ /dev/null @@ -1,28 +0,0 @@ -/* pthread_spin_unlock -- unlock a spin lock. Tile version. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 "pthreadP.h" -#include <atomic.h> - -int -pthread_spin_unlock (pthread_spinlock_t *lock) -{ - /* Use exchange() to bypass the write buffer. */ - atomic_exchange_rel (lock, 0); - return 0; -} diff --git a/sysdeps/tile/nptl/pthreaddef.h b/sysdeps/tile/nptl/pthreaddef.h deleted file mode 100644 index a1c0062..0000000 --- a/sysdeps/tile/nptl/pthreaddef.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdlib.h> -#include <string.h> - -/* Default stack size. */ -#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024) - -/* Required stack pointer alignment at beginning. */ -#define STACK_ALIGN 16 - -/* Minimal stack size after allocating thread descriptor and guard size. */ -#define MINIMAL_REST_STACK 2048 - -/* Alignment requirement for TCB. */ -#define TCB_ALIGNMENT 16 - - -/* Location of current stack frame. */ -#define CURRENT_STACK_FRAME __builtin_frame_address (0) diff --git a/sysdeps/tile/nptl/tcb-offsets.sym b/sysdeps/tile/nptl/tcb-offsets.sym deleted file mode 100644 index 0147ffa..0000000 --- a/sysdeps/tile/nptl/tcb-offsets.sym +++ /dev/null @@ -1,16 +0,0 @@ -#define SHARED /* needed to get struct rtld_global from <ldsodefs.h> */ -#include <sysdep.h> -#include <tls.h> -#include <ldsodefs.h> - --- - --- Abuse tls.h macros to derive offsets relative to the thread register. -#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE) - -MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) -TID_OFFSET thread_offsetof (tid) -POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) -FEEDBACK_DATA_OFFSET (offsetof (tcbhead_t, feedback_data) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) -DTV_OFFSET (offsetof (tcbhead_t, dtv) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) -TLS_GENERATION_OFFSET offsetof (struct rtld_global, _dl_tls_generation) diff --git a/sysdeps/tile/nptl/tls.h b/sysdeps/tile/nptl/tls.h deleted file mode 100644 index 45d6c53..0000000 --- a/sysdeps/tile/nptl/tls.h +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _TLS_H -#define _TLS_H 1 - -# include <dl-sysdep.h> - -#ifndef __ASSEMBLER__ -# include <stdbool.h> -# include <stddef.h> -# include <stdint.h> -# include <dl-dtv.h> - -#else /* __ASSEMBLER__ */ -# include <tcb-offsets.h> -#endif /* __ASSEMBLER__ */ - - -#ifndef __ASSEMBLER__ - -/* Get system call information. */ -# include <sysdep.h> - -/* The TP points to the start of the thread blocks. */ -# define TLS_DTV_AT_TP 1 -# define TLS_TCB_AT_TP 0 - -/* We use the multiple_threads field in the pthread struct */ -#define TLS_MULTIPLE_THREADS_IN_TCB 1 - -/* Get the thread descriptor definition. */ -# include <nptl/descr.h> - -/* The stack_guard is accessed directly by GCC -fstack-protector code, - so it is a part of public ABI. The dtv and pointer_guard fields - are private. */ -typedef struct -{ - void *feedback_data; - uintptr_t pointer_guard; - uintptr_t stack_guard; - dtv_t *dtv; -} tcbhead_t; - -/* This is the size of the initial TCB. Because our TCB is before the thread - pointer, we don't need this. */ -# define TLS_INIT_TCB_SIZE 0 - -/* Alignment requirements for the initial TCB. */ -# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread) - -/* This is the size of the TCB. Because our TCB is before the thread - pointer, we don't need this. */ -# define TLS_TCB_SIZE 0 - -/* Alignment requirements for the TCB. */ -# define TLS_TCB_ALIGN __alignof__ (struct pthread) - -/* This is the size we need before TCB - actually, it includes the TCB. */ -# define TLS_PRE_TCB_SIZE \ - (sizeof (struct pthread) \ - + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1))) - -/* Return the thread descriptor (tp) for the current thread. */ -register void *__thread_pointer asm ("tp"); - -/* The thread pointer (in hardware register tp) points to the end of - the TCB. The pthread_descr structure is immediately in front of the TCB. */ -# define TLS_TCB_OFFSET 0 - -/* Install the dtv pointer. The pointer passed is to the element with - index -1 which contain the length. */ -# define INSTALL_DTV(tcbp, dtvp) \ - (((tcbhead_t *) (tcbp))[-1].dtv = (dtvp) + 1) - -/* Install new dtv for current thread. */ -# define INSTALL_NEW_DTV(dtv) (THREAD_DTV() = (dtv)) - -/* Return dtv of given thread descriptor. */ -# define GET_DTV(tcbp) (((tcbhead_t *) (tcbp))[-1].dtv) - -/* Code to initially initialize the thread pointer (tp). */ -# define TLS_INIT_TP(tcbp) \ - (__thread_pointer = (char *)(tcbp) + TLS_TCB_OFFSET, NULL) - -/* Value passed to 'clone' for initialization of the thread register. */ -# define TLS_DEFINE_INIT_TP(tp, pd) \ - void *tp = (void *) (pd) + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE - -/* Return the address of the dtv for the current thread. */ -# define THREAD_DTV() \ - (((tcbhead_t *) (__thread_pointer - TLS_TCB_OFFSET))[-1].dtv) - -/* Return the thread descriptor for the current thread. */ -# define THREAD_SELF \ - ((struct pthread *) (__thread_pointer \ - - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)) - -/* Magic for libthread_db to know how to do THREAD_SELF. */ -# define DB_THREAD_SELF \ - REGISTER (64, 64, REG_TP * 8, - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE) - -/* Read member of the thread descriptor directly. */ -# define THREAD_GETMEM(descr, member) (descr->member) - -/* Same as THREAD_GETMEM, but the member offset can be non-constant. */ -# define THREAD_GETMEM_NC(descr, member, idx) \ - (descr->member[idx]) - -/* Set member of the thread descriptor directly. */ -# define THREAD_SETMEM(descr, member, value) \ - (descr->member = (value)) - -/* Same as THREAD_SETMEM, but the member offset can be non-constant. */ -# define THREAD_SETMEM_NC(descr, member, idx, value) \ - (descr->member[idx] = (value)) - -/* Set the stack guard field in TCB head. */ -# define THREAD_SET_STACK_GUARD(value) \ - (((tcbhead_t *) ((char *) __thread_pointer \ - - TLS_TCB_OFFSET))[-1].stack_guard = (value)) -# define THREAD_COPY_STACK_GUARD(descr) \ - (((tcbhead_t *) ((char *) (descr) \ - + TLS_PRE_TCB_SIZE))[-1].stack_guard \ - = ((tcbhead_t *) ((char *) __thread_pointer \ - - TLS_TCB_OFFSET))[-1].stack_guard) - -/* Set the pointer guard field in TCB head. */ -# define THREAD_GET_POINTER_GUARD() \ - (((tcbhead_t *) ((char *) __thread_pointer \ - - TLS_TCB_OFFSET))[-1].pointer_guard) -# define THREAD_SET_POINTER_GUARD(value) \ - (THREAD_GET_POINTER_GUARD () = (value)) -# define THREAD_COPY_POINTER_GUARD(descr) \ - (((tcbhead_t *) ((char *) (descr) \ - + TLS_PRE_TCB_SIZE))[-1].pointer_guard \ - = THREAD_GET_POINTER_GUARD()) - -/* l_tls_offset == 0 is perfectly valid on Tile, so we have to use some - different value to mean unset l_tls_offset. */ -# define NO_TLS_OFFSET -1 - -/* Get and set the global scope generation counter in struct pthread. */ -#define THREAD_GSCOPE_IN_TCB 1 -#define THREAD_GSCOPE_FLAG_UNUSED 0 -#define THREAD_GSCOPE_FLAG_USED 1 -#define THREAD_GSCOPE_FLAG_WAIT 2 -#define THREAD_GSCOPE_RESET_FLAG() \ - do \ - { int __res \ - = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ - THREAD_GSCOPE_FLAG_UNUSED); \ - if (__res == THREAD_GSCOPE_FLAG_WAIT) \ - lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \ - } \ - while (0) -#define THREAD_GSCOPE_SET_FLAG() \ - do \ - { \ - THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ - atomic_write_barrier (); \ - } \ - while (0) -#define THREAD_GSCOPE_WAIT() \ - GL(dl_wait_lookup_done) () - -#endif /* __ASSEMBLER__ */ - -#endif /* tls.h */ diff --git a/sysdeps/tile/preconfigure b/sysdeps/tile/preconfigure deleted file mode 100644 index 21382df..0000000 --- a/sysdeps/tile/preconfigure +++ /dev/null @@ -1,10 +0,0 @@ -# This is a -*- sh -*- -case "$machine" in - tilegx*) - base_machine=tile - if $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep -q __LP64__; then - machine=tile/tilegx64 - else - machine=tile/tilegx32 - fi ;; -esac diff --git a/sysdeps/tile/rawmemchr.c b/sysdeps/tile/rawmemchr.c deleted file mode 100644 index 26e892a..0000000 --- a/sysdeps/tile/rawmemchr.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -void * -__rawmemchr (const void *s, int c) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - const uint64_t goal = copy_byte(c); - - /* Read the first word, but munge it so that bytes before the array - will not match goal. */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = (*p | before_mask) ^ (goal & before_mask); - - uint64_t bits; - while ((bits = v1cmpeq (v, goal)) == 0) - v = *++p; - - return ((char *) p) + (CFZ (bits) >> 3); -} -libc_hidden_def (__rawmemchr) -weak_alias (__rawmemchr, rawmemchr) diff --git a/sysdeps/tile/setjmp.S b/sysdeps/tile/setjmp.S deleted file mode 100644 index 748a6d3..0000000 --- a/sysdeps/tile/setjmp.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> - - .text - - /* Keep traditional entry points in with sigsetjmp(). */ -ENTRY(setjmp) - { movei r1, 1; j 1f } -END(setjmp) - -ENTRY(_setjmp) - { movei r1, 0; j 1f } -END(_setjmp) -libc_hidden_def (_setjmp) - -ENTRY(__sigsetjmp) - FEEDBACK_ENTER(__sigsetjmp) -1: - move r2, r0 - -#define SAVE(r) { st r2, r ; ADDI_PTR r2, r2, REGSIZE } - FOR_EACH_CALLEE_SAVED_REG(SAVE) - - mfspr r3, INTERRUPT_CRITICAL_SECTION - st r2, r3 - j plt(__sigjmp_save) - jrp lr /* Keep the backtracer happy. */ -END(__sigsetjmp) -hidden_def (__sigsetjmp) diff --git a/sysdeps/tile/sfp-machine.h b/sysdeps/tile/sfp-machine.h deleted file mode 100644 index 9931214..0000000 --- a/sysdeps/tile/sfp-machine.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Machine-dependent software floating-point definitions, tile version. - Copyright (C) 2013-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <bits/wordsize.h> - -#define _FP_W_TYPE_SIZE __WORDSIZE -#define _FP_W_TYPE unsigned long -#define _FP_WS_TYPE signed long -#define _FP_I_TYPE long - -#if _FP_W_TYPE_SIZE == 64 - -#define _FP_MUL_MEAT_S(R,X,Y) \ - _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y) -#define _FP_MUL_MEAT_D(R,X,Y) \ - _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_Q(R,X,Y) \ - _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_MUL_MEAT_DW_S(R,X,Y) \ - _FP_MUL_MEAT_DW_1_imm(_FP_WFRACBITS_S,R,X,Y) -#define _FP_MUL_MEAT_DW_D(R,X,Y) \ - _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_DW_Q(R,X,Y) \ - _FP_MUL_MEAT_DW_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) -#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) - -#define _FP_NANFRAC_S _FP_QNANBIT_S -#define _FP_NANFRAC_D _FP_QNANBIT_D -#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0 - -#else /* _FP_W_TYPE_SIZE == 32 */ - -#define _FP_MUL_MEAT_S(R,X,Y) \ - _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_D(R,X,Y) \ - _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_Q(R,X,Y) \ - _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_MUL_MEAT_DW_S(R,X,Y) \ - _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_DW_D(R,X,Y) \ - _FP_MUL_MEAT_DW_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) -#define _FP_MUL_MEAT_DW_Q(R,X,Y) \ - _FP_MUL_MEAT_DW_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) - -#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) -#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) - -#define _FP_NANFRAC_S _FP_QNANBIT_S -#define _FP_NANFRAC_D _FP_QNANBIT_D, 0 -#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0 - -#endif - -#define _FP_NANSIGN_S 1 -#define _FP_NANSIGN_D 1 -#define _FP_NANSIGN_Q 1 - -#define _FP_KEEPNANFRACP 1 -#define _FP_QNANNEGATEDP 0 - -#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ - do { \ - if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \ - && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \ - { \ - R##_s = Y##_s; \ - _FP_FRAC_COPY_##wc(R,Y); \ - } \ - else \ - { \ - R##_s = X##_s; \ - _FP_FRAC_COPY_##wc(R,X); \ - } \ - R##_c = FP_CLS_NAN; \ - } while (0) - -#define _FP_TININESS_AFTER_ROUNDING 0 diff --git a/sysdeps/tile/sotruss-lib.c b/sysdeps/tile/sotruss-lib.c deleted file mode 100644 index b830c67..0000000 --- a/sysdeps/tile/sotruss-lib.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Override generic sotruss-lib.c to define actual functions for tile. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 HAVE_ARCH_PLTENTER -#define HAVE_ARCH_PLTEXIT - -#include <elf/sotruss-lib.c> - -ElfW(Addr) -la_tile_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)), - unsigned int ndx __attribute__ ((unused)), - uintptr_t *refcook, uintptr_t *defcook, - La_tile_regs *regs, unsigned int *flags, - const char *symname, long int *framesizep) -{ - print_enter (refcook, defcook, symname, - regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], - *flags); - - /* No need to copy anything, we will not need the parameters in any case. */ - *framesizep = 0; - - return sym->st_value; -} - -unsigned int -la_tile_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook, - uintptr_t *defcook, const struct La_tile_regs *inregs, - struct La_tile_retval *outregs, const char *symname) -{ - print_exit (refcook, defcook, symname, outregs->lrv_reg[0]); - - return 0; -} diff --git a/sysdeps/tile/stackguard-macros.h b/sysdeps/tile/stackguard-macros.h deleted file mode 100644 index c3ea0ad..0000000 --- a/sysdeps/tile/stackguard-macros.h +++ /dev/null @@ -1,13 +0,0 @@ -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 -# define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; }) -# define POINTER_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; }) -#else -# define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) -# define POINTER_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) -#endif diff --git a/sysdeps/tile/stackinfo.h b/sysdeps/tile/stackinfo.h deleted file mode 100644 index 91bb0bd..0000000 --- a/sysdeps/tile/stackinfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -/* This file contains a bit of information about the stack allocation - of the processor. */ - -#ifndef _STACKINFO_H -#define _STACKINFO_H 1 - -#include <elf.h> - -/* On tile the stack grows down. */ -#define _STACK_GROWS_DOWN 1 - -/* Default to a non-executable stack. */ -#define DEFAULT_STACK_PERMS (PF_R|PF_W) - -/* Access to the stack pointer. The macros are used in alloca_account - for which they need to act as barriers as well, hence the additional - (unnecessary) parameters. */ -#define stackinfo_get_sp() \ - ({ void *p__; asm volatile ("move %0, sp" : "=r" (p__)); p__; }) -#if __WORDSIZE == 32 -#define __stackinfo_sub "subx" -#else -#define __stackinfo_sub "sub" -#endif -#define stackinfo_sub_sp(ptr) \ - ({ ptrdiff_t d__; \ - asm volatile (__stackinfo_sub " %0, %0, sp" : "=r" (d__) : "0" (ptr)); \ - d__; }) - -#endif /* stackinfo.h */ diff --git a/sysdeps/tile/start.S b/sysdeps/tile/start.S deleted file mode 100644 index 6219012..0000000 --- a/sysdeps/tile/start.S +++ /dev/null @@ -1,184 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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/>. */ - -/* This is the canonical entry point, usually the first thing in the text - segment. The ELF standard tells us that the stack is set up like this on - entry (the left side is the offset from "sp"), in units of - __SIZEOF_POINTER__ entries: - - +0 argc - +1 argv[0] - ... - +(argc+1) NULL - +(argc+2) envp[0] - ... - NULL - ... ElfInfo - - The ElfInfo is pairs of key/value long words following the envp - pointers and terminated by a zero-valued key. - - Although not mandated by the standard, it happens to be the case - that we store the actual argv and envp strings immediately after - the ElfInfo data on the stack. - - On entry r0 points to the shared library termination function, or 0 - if there isn't one. -*/ - -#include <features.h> -#include <sysdep.h> -#include <arch/abi.h> - -/* Just create no-ops if we don't support PC-relative PLT relocations. */ -#ifdef NO_PLT_PCREL -# define hw2_last_plt(x) 0 -# define hw1_plt(x) 0 -# define hw0_plt(x) 0 -#endif - - .text - .global _start - .type _start,@function - .align 8 -_start: - /* Linux starts us with sp pointing at the conventional Elf layout, - but we need to allow two "caller" words for our ABI convention. */ - { - /* Load argc (stored as a "long", equivalent to a pointer type). */ - LD_PTR r1, sp - - /* Save incoming 'sp', which points to the Elf argument block. */ - move r52, sp - } - - { - /* Allocate stack frame callee space for __libc_start_main. */ - ADDI_PTR r12, sp, -(2 * REGSIZE) - } - - { - /* Get our PC. */ - lnk r13 - - /* sp is not necessarily properly aligned on startup because - of the way ld.so pops off leading argv elements. So align it. */ - andi sp, r12, -8 - } -.Lmy_pc: - - { - /* Pass the address of the shared library termination function. */ - move r5, r0 - - /* Compute location where __libc_start_main's caller is supposed to - store its frame pointer. */ - ADDI_PTR r12, sp, REGSIZE - - /* Zero out callee space for return address. Unnecessary but free. - This is just paranoia to help backtracing not go awry. */ - st sp, zero - } - { - /* Zero out our frame pointer for __libc_start_main. */ - st r12, zero - - /* Zero out lr to make __libc_start_main the end of backtrace. */ - move lr, zero - - /* Compute a pointer to argv. envp will be determined - later in __libc_start_main. We set up the first argument - (the address of main) below. */ - ADDI_PTR r2, r52, __SIZEOF_POINTER__ - } - { - /* Pass the highest stack address to user code. */ - ADDI_PTR r6, sp, (2 * REGSIZE) - - /* Pass address of main() in r0, and of our own entry - points to .fini and .init in r3 and r4. */ - moveli r0, hw2_last(main - .Lmy_pc) - } - { - shl16insli r0, r0, hw1(main - .Lmy_pc) - moveli r3, hw2_last(__libc_csu_init - .Lmy_pc) - } - { - shl16insli r0, r0, hw0(main - .Lmy_pc) - shl16insli r3, r3, hw1(__libc_csu_init - .Lmy_pc) - } - { - ADD_PTR r0, r0, r13 - shl16insli r3, r3, hw0(__libc_csu_init - .Lmy_pc) - } - { - moveli r12, hw2_last_plt(__libc_start_main - .Lmy_pc) - ADD_PTR r3, r3, r13 - } - { - shl16insli r12, r12, hw1_plt(__libc_start_main - .Lmy_pc) - moveli r4, hw2_last(__libc_csu_fini - .Lmy_pc) - } - { - shl16insli r12, r12, hw0_plt(__libc_start_main - .Lmy_pc) - shl16insli r4, r4, hw1(__libc_csu_fini - .Lmy_pc) - } - { - ADD_PTR r12, r12, r13 - shl16insli r4, r4, hw0(__libc_csu_fini - .Lmy_pc) - } - { - ADD_PTR r4, r4, r13 -#ifdef NO_PLT_PCREL - j plt(__libc_start_main) -#else - jr r12 -#endif - } - - { - /* Tell backtracer to give up (_start has no caller). */ - info INFO_OP_CANNOT_BACKTRACE - } -.size _start, .-_start - -/* Define a symbol for the first piece of initialized data. */ - .data - .global __data_start - .align 8 -__data_start: - .long 0 - .weak data_start - data_start = __data_start diff --git a/sysdeps/tile/strcasestr.c b/sysdeps/tile/strcasestr.c deleted file mode 100644 index e2cc058..0000000 --- a/sysdeps/tile/strcasestr.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Return the offset of one string within another. - Copyright (C) 1994-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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/>. */ - -#if HAVE_CONFIG_H -# include <config.h> -#endif - -/* Specification. */ -#include <string.h> - -#include <ctype.h> -#include <stdbool.h> -#include <strings.h> - -#define USE_AS_STRCASESTR -#define STRSTR __strcasestr -#define STRSTR2 strcasestr2 -#define STRCHR strcasechr -#define STRSTR_SCAN strcasestr_scan - -#undef strcasestr -#undef __strcasestr - -#ifndef STRCASESTR -#define STRCASESTR __strcasestr -#endif - -#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) - -#define CANON_ELEMENT(c) TOLOWER (c) -#define CMP_FUNC(p1, p2, l) \ - __strncasecmp ((const char *) (p1), (const char *) (p2), l) - -#include "strstr.c" - -#ifndef NO_ALIAS -weak_alias (__strcasestr, strcasestr) -#endif diff --git a/sysdeps/tile/strchr.c b/sysdeps/tile/strchr.c deleted file mode 100644 index f2bb833..0000000 --- a/sysdeps/tile/strchr.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -#undef strchr - -char * -strchr (const char *s, int c) -{ - int z, g; - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - const uint64_t goal = copy_byte(c); - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each byte - is 1, and the low 7 bits are all the opposite of the goal byte). */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1)); - - uint64_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = v1cmpeqi (v, 0); - - /* Look for the goal byte. */ - goal_matches = v1cmpeq (v, goal); - - if (__builtin_expect ((zero_matches | goal_matches) != 0, 0)) - break; - - v = *++p; - } - - z = CFZ (zero_matches); - g = CFZ (goal_matches); - - /* If we found c before '\0' we got a match. Note that if c == '\0' - then g == z, and we correctly return the address of the '\0' - rather than NULL. */ - return (g <= z) ? ((char *) p) + (g >> 3) : NULL; -} -weak_alias (strchr, index) -libc_hidden_builtin_def (strchr) diff --git a/sysdeps/tile/strchrnul.c b/sysdeps/tile/strchrnul.c deleted file mode 100644 index 2f425a2..0000000 --- a/sysdeps/tile/strchrnul.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -char * -__strchrnul (const char *s, int c) -{ - int z, g; - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - const uint64_t goal = copy_byte(c); - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each byte - is 1, and the low 7 bits are all the opposite of the goal byte). */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1)); - - uint64_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = v1cmpeqi (v, 0); - - /* Look for the goal byte. */ - goal_matches = v1cmpeq (v, goal); - - if (__builtin_expect ((zero_matches | goal_matches) != 0, 0)) - break; - - v = *++p; - } - - z = CFZ (zero_matches); - g = CFZ (goal_matches); - - /* Return a pointer to the NUL or goal, whichever is first. */ - if (z < g) - g = z; - return ((char *) p) + (g >> 3); -} -weak_alias (__strchrnul, strchrnul) diff --git a/sysdeps/tile/string-endian.h b/sysdeps/tile/string-endian.h deleted file mode 100644 index 3a2d495..0000000 --- a/sysdeps/tile/string-endian.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <endian.h> -#include <stdint.h> - -/* Provide a set of macros to help keep endianness #ifdefs out of - the string functions. - - MASK: Provide a mask based on the pointer alignment that - sets up non-zero bytes before the beginning of the string. - The MASK expression works because shift counts are taken mod 64. - - NULMASK: Clear bytes beyond a given point in the string. - - CFZ: Find the first zero bit in the 8 string bytes in a long. - - REVCZ: Find the last zero bit in the 8 string bytes in a long. - - STRSHIFT: Shift N bits towards the start of the string. */ - -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define MASK(x) (__insn_shl(1ULL, (x << 3)) - 1) -#define NULMASK(x) ((2ULL << x) - 1) -#define CFZ(x) __insn_ctz(x) -#define REVCZ(x) __insn_clz(x) -#define STRSHIFT(x,n) ((x) >> n) -#else -#define MASK(x) (__insn_shl(-2LL, ((-x << 3) - 1))) -#define NULMASK(x) (-2LL << (63 - x)) -#define CFZ(x) __insn_clz(x) -#define REVCZ(x) __insn_ctz(x) -#define STRSHIFT(x,n) ((x) << n) -#endif - -/* Create eight copies of the byte in a uint64_t. Byte Shuffle uses - the bytes of srcB as the index into the dest vector to select a - byte. With all indices of zero, the first byte is copied into all - the other bytes. */ -static inline uint64_t copy_byte(uint8_t byte) -{ - return __insn_shufflebytes(byte, 0, 0); -} - -/* Implement the byte vector instructions using extended assembly. - The __insn_OP() builtins are buggy in the upstream compiler; - see gcc bugzilla 78117. */ - -#define VECOP(OP) \ - static inline uint64_t OP (uint64_t a, uint64_t b) \ - { \ - uint64_t result; \ - asm volatile (#OP " %0, %1, %2" : "=r"(result) : "r"(a), "r"(b)); \ - return result; \ - } \ - \ - static inline uint64_t OP ## i (uint64_t a, uint64_t b) \ - { \ - uint64_t result; \ - asm volatile (#OP "i %0, %1, %2" : "=r"(result) : "r"(a), "I"(b)); \ - return result; \ - } - -VECOP(v1cmpeq) -VECOP(v1cmpltu) -VECOP(v1cmpne) -VECOP(v1add) -VECOP(v1shru) -VECOP(v1shl) diff --git a/sysdeps/tile/strlen.c b/sysdeps/tile/strlen.c deleted file mode 100644 index 62c50b1..0000000 --- a/sysdeps/tile/strlen.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -size_t -strlen (const char *s) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Read and MASK the first word. */ - uint64_t v = *p | MASK (s_int); - - uint64_t bits; - while ((bits = v1cmpeqi (v, 0)) == 0) - v = *++p; - - return ((const char *) p) + (CFZ (bits) >> 3) - s; -} -libc_hidden_builtin_def (strlen) diff --git a/sysdeps/tile/strnlen.c b/sysdeps/tile/strnlen.c deleted file mode 100644 index c7c7281..0000000 --- a/sysdeps/tile/strnlen.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2013-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <string.h> -#include <stdint.h> -#include "string-endian.h" - -/* Find the length of S, but scan at most MAXLEN characters. If no - '\0' terminator is found in that many characters, return MAXLEN. */ -size_t -__strnlen (const char *s, size_t maxlen) -{ - /* When maxlen is 0, can't read any bytes or it might cause a page fault. */ - if (maxlen == 0) - return 0; - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - size_t bytes_read = sizeof (*p) - (s_int & (sizeof (*p) - 1)); - - /* Read and MASK the first word. */ - uint64_t v = *p | MASK (s_int); - - uint64_t bits; - while ((bits = v1cmpeqi (v, 0)) == 0) - { - if (bytes_read >= maxlen) - { - /* Read maxlen bytes and didn't find the terminator. */ - return maxlen; - } - v = *++p; - bytes_read += sizeof (v); - } - - /* Found '\0', check it is not larger than maxlen */ - size_t len = ((const char *) p) + (CFZ (bits) >> 3) - s; - return (len < maxlen ? len : maxlen); -} -libc_hidden_def (__strnlen) -weak_alias (__strnlen, strnlen) -libc_hidden_def (strnlen) diff --git a/sysdeps/tile/strrchr.c b/sysdeps/tile/strrchr.c deleted file mode 100644 index 33dcd4b..0000000 --- a/sysdeps/tile/strrchr.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdint.h> -#include "string-endian.h" - -char * -strrchr (const char *s, int c) -{ - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - const uint64_t goal = copy_byte(c); - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each byte - is 1, and the low 7 bits are all the opposite of the goal byte). */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1)); - const char *found = NULL; - uint64_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = v1cmpeqi (v, 0); - - /* Look for the goal byte. */ - goal_matches = v1cmpeq (v, goal); - - /* If we found the goal, record the last offset. */ - if (__builtin_expect (goal_matches != 0, 0)) - { - if (__builtin_expect (zero_matches != 0, 0)) - { - /* Clear any goal after the first zero. */ - int first_nul = CFZ (zero_matches); - goal_matches &= NULMASK (first_nul); - } - if (__builtin_expect (goal_matches != 0, 1)) - found = ((char *) p) + 7 - (REVCZ (goal_matches) >> 3); - } - - if (__builtin_expect (zero_matches != 0, 0)) - return (char *) found; - - v = *++p; - } -} -weak_alias (strrchr, rindex) -libc_hidden_builtin_def (strrchr) diff --git a/sysdeps/tile/strstr.c b/sysdeps/tile/strstr.c deleted file mode 100644 index 961e2af..0000000 --- a/sysdeps/tile/strstr.c +++ /dev/null @@ -1,270 +0,0 @@ -/* Copyright (C) 2013-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Specification of strstr. */ -#include <string.h> - -#include <stdbool.h> -#include "string-endian.h" - -#define RETURN_TYPE char * -#define AVAILABLE(h, h_l, j, n_l) \ - (!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \ - && ((h_l) = (j) + (n_l))) -#include "str-two-way.h" -typeof(two_way_short_needle) two_way_short_needle __attribute__((unused)); - -#undef strstr - -#ifndef STRSTR -#define STRSTR strstr -#endif - -#ifndef STRSTR2 -#define STRSTR2 strstr2 -#endif - -#ifndef STRCHR -#define STRCHR strchr -#endif - -#ifndef STRSTR_SCAN -#define STRSTR_SCAN strstr_scan -#endif - -#ifndef TOLOWER -# define TOLOWER(Ch) (Ch) -#endif - -#ifdef USE_AS_STRCASESTR - -static uint64_t -vec_tolower (uint64_t cc) -{ - /* For Uppercases letters, add 32 to convert to lower case. */ - uint64_t less_than_eq_Z = v1cmpltui (cc, 'Z' + 1); - uint64_t less_than_A = v1cmpltui (cc, 'A'); - uint64_t is_upper = v1cmpne (less_than_eq_Z, less_than_A); - return v1add (cc, v1shli (is_upper, 5)); -} - -/* There is no strcasechr() defined, but needed for 1 byte case - of strcasestr(), so create it here. */ - -static char * -strcasechr (const char *s, int c) -{ - int z, g; - - c = tolower (c); - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) s; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the byte for which we are looking. */ - const uint64_t goal = copy_byte(c); - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each byte - is 1, and the low 7 bits are all the opposite of the goal byte). */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = - (vec_tolower (*p) | before_mask) ^ (goal & v1shrui (before_mask, 1)); - - uint64_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = v1cmpeqi (v, 0); - - /* Look for the goal byte. */ - goal_matches = v1cmpeq (v, goal); - - if (__builtin_expect ((zero_matches | goal_matches) != 0, 0)) - break; - - v = vec_tolower (*++p); - } - - z = CFZ (zero_matches); - g = CFZ (goal_matches); - - /* If we found c before '\0' we got a match. Note that if c == '\0' - then g == z, and we correctly return the address of the '\0' - rather than NULL. */ - return (g <= z) ? ((char *) p) + (g >> 3) : NULL; -} - -# define vec_load(p) vec_tolower (*(p)) -# define STRCHR strcasechr -# define CMP_FUNC __strncasecmp - -#else - -# define vec_load(p) (*(p)) -# define STRCHR strchr -# define CMP_FUNC memcmp - -#endif - - -/* Compare 2-character needle using SIMD. */ -static char * -STRSTR2 (const char *haystack_start, const char *needle) -{ - int z, g; - - __insn_prefetch (haystack_start + 64); - - /* Get an aligned pointer. */ - const uintptr_t s_int = (uintptr_t) haystack_start; - const uint64_t *p = (const uint64_t *) (s_int & -8); - - /* Create eight copies of the first byte for which we are looking. */ - const uint64_t byte1 = copy_byte (TOLOWER (*needle)); - /* Create eight copies of the second byte for which we are looking. */ - const uint64_t byte2 = copy_byte (TOLOWER (*(needle + 1))); - - /* Read the first aligned word, but force bytes before the string to - match neither zero nor goal (we make sure the high bit of each byte - is 1, and the low 7 bits are all the opposite of the goal byte). */ - const uint64_t before_mask = MASK (s_int); - uint64_t v = - (vec_load (p) | before_mask) ^ (byte1 & v1shrui (before_mask, 1)); - - uint64_t zero_matches, goal_matches; - while (1) - { - /* Look for a terminating '\0'. */ - zero_matches = v1cmpeqi (v, 0); - uint64_t byte1_matches = v1cmpeq (v, byte1); - if (__builtin_expect (zero_matches != 0, 0)) - { - /* This is the last vector. Don't worry about matches - crossing into the next vector. Shift the second byte - back 1 byte to align it with the first byte, then and to - check for both matching. Each vector has a 1 in the LSB - of the byte if there was match. */ - uint64_t byte2_matches = v1cmpeq (v, byte2); - goal_matches = byte1_matches & STRSHIFT (byte2_matches, 8); - break; - } - else - { - /* This is not the last vector, so load the next vector now. - And compare byte2 to the 8-bytes starting 1 byte shifted from v, - which goes 1-byte into the next vector. */ - uint64_t v2 = vec_load (p + 1); - if (byte1_matches) - { - /* 8-bytes starting 1 byte into v. */ - v = __insn_dblalign (v, v2, (void*)1); - uint64_t byte2_matches_shifted = v1cmpeq (v, byte2); - goal_matches = byte1_matches & byte2_matches_shifted; - if (__builtin_expect (goal_matches != 0, 0)) - break; - } - __insn_prefetch (p + 4); - /* Move to next vector. */ - v = v2; - p++; - } - } - - z = CFZ (zero_matches); - g = CFZ (goal_matches); - - /* If we found the match before '\0' we got a true match. Note that - if c == '\0' then g == z, and we correctly return the address of - the '\0' rather than NULL. */ - return (g <= z) ? ((char *) p) + (g >> 3) : NULL; -} - -/* Scan for NEEDLE, using the first two characters as a filter. */ -static char * -STRSTR_SCAN (const char *haystack, const char *needle, - unsigned int needle_len) -{ - char *match; - while (1) - { - match = STRSTR2 (haystack, needle); - if (match == NULL) - return NULL; - /* Found first two characters of needle, check for remainder. */ - if (CMP_FUNC (match + 2, needle + 2, needle_len - 2) == 0) - return match; - /* Move past the previous match. Could be +2 instead of +1 if - first two characters are different, but that tested slower. */ - haystack = match + 1; - } -} - -/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK - if NEEDLE is empty, otherwise NULL if NEEDLE is not found in - HAYSTACK. */ -char * -STRSTR (const char *haystack_start, const char *needle_start) -{ - const char *haystack = haystack_start; - const char *needle = needle_start; - __insn_prefetch (haystack); - size_t needle_len = strlen (needle_start); /* Length of NEEDLE. */ - size_t haystack_len; /* Known minimum length of HAYSTACK. */ - - if (needle_len <= 2) - { - if (needle_len == 1) - return STRCHR (haystack_start, *needle_start); - if (needle_len == 0) - return (char *) haystack_start; - else - return STRSTR2 (haystack_start, needle_start); - } - - /* Fail if NEEDLE is longer than HAYSTACK. */ - if (__strnlen (haystack, needle_len) < needle_len) - return NULL; - - /* Perform the search. Abstract memory is considered to be an array - of 'unsigned char' values, not an array of 'char' values. See - ISO C 99 section 6.2.6.1. */ - if (needle_len < 40) - return STRSTR_SCAN (haystack_start, needle_start, needle_len); - else - { - /* Reduce the size of haystack using STRSTR2, since it has a smaller - linear coefficient than the Two-Way algorithm. */ - haystack = STRSTR2 (haystack_start, needle_start); - if (haystack == NULL) - return NULL; - needle = needle_start; - haystack_len = (haystack > haystack_start + needle_len ? 1 - : needle_len + haystack_start - haystack); - - return two_way_long_needle ((const unsigned char *) haystack, - haystack_len, - (const unsigned char *) needle, needle_len); - } -} -#ifndef USE_AS_STRCASESTR -libc_hidden_builtin_def (STRSTR) -#endif - -#undef LONG_NEEDLE_THRESHOLD diff --git a/sysdeps/tile/sysdep.h b/sysdeps/tile/sysdep.h deleted file mode 100644 index bb82d3c..0000000 --- a/sysdeps/tile/sysdep.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <sysdeps/generic/sysdep.h> -#include <bits/wordsize.h> -#include <arch/abi.h> - -#if defined __ASSEMBLER__ || defined REQUEST_ASSEMBLER_MACROS - -#include <feedback.h> - -/* Make use of .size directive. */ -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name; - -/* Define an entry point visible from C. */ -#define ENTRY(name) \ - .globl C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name),@function; \ - .align 8; \ - C_LABEL(name) \ - cfi_startproc; \ - CALL_MCOUNT - -#undef END -#define END(name) \ - cfi_endproc; \ - ASM_SIZE_DIRECTIVE(name) - -/* Since C identifiers are not normally prefixed with an underscore - on this system, the asm identifier `syscall_error' intrudes on the - C name space. Make sure we use an innocuous name. */ -#define syscall_error __syscall_error -#define mcount __mcount - -/* If compiled for profiling, call `mcount' at the start of each function. - The mcount code requires the caller PC in r10. The `mcount' function - sets lr back to the value r10 had on entry when it returns. */ -#ifdef PROF -#define CALL_MCOUNT { move r10, lr; jal mcount } -#else -#define CALL_MCOUNT /* Do nothing. */ -#endif - -/* Local label name for asm code. */ -#define L(name) .L##name - -/* Specify the size in bytes of a machine register. */ -#define REGSIZE 8 - -/* Provide "pointer-oriented" instruction variants. These differ not - just for tilepro vs tilegx, but also for tilegx -m64 vs -m32. */ -#if __WORDSIZE == 32 -#define ADD_PTR addx -#define ADDI_PTR addxi -#define ADDLI_PTR addxli -#define LD_PTR ld4s -#define ST_PTR st4 -#define SHL_PTR_ADD shl2add -#else -#define ADD_PTR add -#define ADDI_PTR addi -#define ADDLI_PTR addli -#define LD_PTR LD -#define ST_PTR ST -#define SHL_PTR_ADD shl3add -#endif - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/tile/tilegx32/Implies b/sysdeps/tile/tilegx32/Implies deleted file mode 100644 index 709e1dc..0000000 --- a/sysdeps/tile/tilegx32/Implies +++ /dev/null @@ -1,2 +0,0 @@ -tile -wordsize-32 diff --git a/sysdeps/tile/tilegx64/Implies b/sysdeps/tile/tilegx64/Implies deleted file mode 100644 index 1e9db8e..0000000 --- a/sysdeps/tile/tilegx64/Implies +++ /dev/null @@ -1,2 +0,0 @@ -tile -wordsize-64 diff --git a/sysdeps/tile/tls-macros.h b/sysdeps/tile/tls-macros.h deleted file mode 100644 index 162d309..0000000 --- a/sysdeps/tile/tls-macros.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 TLS_GD_OFFSET(x) \ - "moveli r0, hw1_last_tls_gd(" #x ")\n\t" \ - "shl16insli r0, r0, hw0_tls_gd(" #x ")\n\t" \ - "addi r0, %1, tls_add(" #x ")\n\t" - -#define TLS_GD(x) \ - ({ \ - int *__retval; \ - extern char _GLOBAL_OFFSET_TABLE_[]; \ - \ - asm (TLS_GD_OFFSET(x) \ - "jal tls_gd_call(" #x ")\n\t" \ - "addi %0, r0, tls_gd_add(" #x ")" : \ - "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_) : \ - "r0", "r25", "r26", "r27", "r28", "r29"); \ - __retval; }) - -/* No special support for LD mode. */ -#define TLS_LD TLS_GD - -#define TLS_IE_OFFSET(x) \ - "moveli %0, hw1_last_tls_ie(" #x ")\n\t" \ - "shl16insli %0, %0, hw0_tls_ie(" #x ")\n\t" \ - "addi %0, %1, tls_add(" #x ")\n\t" -#define LD_TLS "ld_tls" - -#define TLS_IE(x) \ - ({ \ - int *__retval; \ - extern char _GLOBAL_OFFSET_TABLE_[]; \ - \ - asm (TLS_IE_OFFSET(x) \ - LD_TLS " %0, %0, tls_ie_load(" #x ")\n\t" \ - "add %0, %0, tp" : \ - "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_)); \ - __retval; }) - -#define _TLS_LE(x) \ - "moveli %0, hw1_last_tls_le(" #x ")\n\t" \ - "shl16insli %0, %0, hw0_tls_le(" #x ")\n\t" \ - "add %0, %0, tp" - -#define TLS_LE(x) \ - ({ \ - int *__retval; \ - asm (_TLS_LE(x) : "=r" (__retval)); \ - __retval; }) diff --git a/sysdeps/tile/tst-audit.h b/sysdeps/tile/tst-audit.h deleted file mode 100644 index 4196c32..0000000 --- a/sysdeps/tile/tst-audit.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 pltenter la_tile_gnu_pltenter -#define pltexit la_tile_gnu_pltexit -#define La_regs La_tile_regs -#define La_retval La_tile_retval -#define int_retval lrv_reg[0] diff --git a/sysdeps/tile/wordcopy.c b/sysdeps/tile/wordcopy.c deleted file mode 100644 index ba73a0b..0000000 --- a/sysdeps/tile/wordcopy.c +++ /dev/null @@ -1,433 +0,0 @@ -/* wordcopy.c -- subroutines for memory copy functions. Tile version. - Copyright (C) 1991-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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/>. */ - -/* To optimize for tile, we make the following changes from the - default glibc version: - - Use the double align instruction instead of the MERGE macro. - - Since we don't have offset addressing mode, make sure the loads / - stores in the inner loop always have indices of 0. - - Use post-increment addresses in the inner loops, which yields - better scheduling. */ - -/* BE VERY CAREFUL IF YOU CHANGE THIS CODE...! */ - -#include <stddef.h> -#include <memcopy.h> - -/* Provide the appropriate dblalign builtin to shift two registers - based on the alignment of a pointer held in a third register. */ -#define DBLALIGN __insn_dblalign - -/* _wordcopy_fwd_aligned -- Copy block beginning at SRCP to - block beginning at DSTP with LEN `op_t' words (not LEN bytes!). - Both SRCP and DSTP should be aligned for memory operations on `op_t's. */ - -void -_wordcopy_fwd_aligned (long int dstp, long int srcp, size_t len) -{ - op_t a0, a1; - - switch (len % 8) - { - case 2: - a0 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 6; - goto do1; - case 3: - a1 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 5; - goto do2; - case 4: - a0 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 4; - goto do3; - case 5: - a1 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 3; - goto do4; - case 6: - a0 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 2; - goto do5; - case 7: - a1 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len += 1; - goto do6; - - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return; - a0 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - goto do7; - case 1: - a1 = ((op_t *) srcp)[0]; - srcp += OPSIZ; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - goto do8; /* No-op. */ - } - - do - { - do8: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - do7: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - do6: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - do5: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - do4: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - do3: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - do2: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - do1: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - - len -= 8; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - ((op_t *) dstp)[0] = a1; -} - -/* _wordcopy_fwd_dest_aligned -- Copy block beginning at SRCP to - block beginning at DSTP with LEN `op_t' words (not LEN bytes!). - DSTP should be aligned for memory operations on `op_t's, but SRCP must - *not* be aligned. */ - -void -_wordcopy_fwd_dest_aligned (long int dstp, long int srcp, size_t len) -{ - void * srci; - op_t a0, a1, a2, a3; - - /* Save the initial source pointer so we know the number of bytes to - shift for merging two unaligned results. */ - srci = (void *) srcp; - - /* Make SRCP aligned by rounding it down to the beginning of the `op_t' - it points in the middle of. */ - srcp &= -OPSIZ; - - switch (len % 4) - { - case 2: - a1 = ((op_t *) srcp)[0]; - a2 = ((op_t *) srcp)[1]; - len += 2; - srcp += 2 * OPSIZ; - goto do1; - case 3: - a0 = ((op_t *) srcp)[0]; - a1 = ((op_t *) srcp)[1]; - len += 1; - srcp += 2 * OPSIZ; - goto do2; - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return; - a3 = ((op_t *) srcp)[0]; - a0 = ((op_t *) srcp)[1]; - len += 0; - srcp += 2 * OPSIZ; - goto do3; - case 1: - a2 = ((op_t *) srcp)[0]; - a3 = ((op_t *) srcp)[1]; - srcp += 2 * OPSIZ; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - goto do4; /* No-op. */ - } - - do - { - do4: - a0 = ((op_t *) srcp)[0]; - a2 = DBLALIGN (a2, a3, srci); - ((op_t *) dstp)[0] = a2; - srcp += OPSIZ; - dstp += OPSIZ; - do3: - a1 = ((op_t *) srcp)[0]; - a3 = DBLALIGN (a3, a0, srci); - ((op_t *) dstp)[0] = a3; - srcp += OPSIZ; - dstp += OPSIZ; - do2: - a2 = ((op_t *) srcp)[0]; - a0 = DBLALIGN (a0, a1, srci); - ((op_t *) dstp)[0] = a0; - srcp += OPSIZ; - dstp += OPSIZ; - do1: - a3 = ((op_t *) srcp)[0]; - a1 = DBLALIGN (a1, a2, srci); - ((op_t *) dstp)[0] = a1; - srcp += OPSIZ; - dstp += OPSIZ; - len -= 4; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - ((op_t *) dstp)[0] = DBLALIGN (a2, a3, srci); -} - -/* _wordcopy_bwd_aligned -- Copy block finishing right before - SRCP to block finishing right before DSTP with LEN `op_t' words - (not LEN bytes!). Both SRCP and DSTP should be aligned for memory - operations on `op_t's. */ - -void -_wordcopy_bwd_aligned (long int dstp, long int srcp, size_t len) -{ - op_t a0, a1; - long int srcp1; - - srcp1 = srcp - 1 * OPSIZ; - srcp -= 2 * OPSIZ; - dstp -= 1 * OPSIZ; - - switch (len % 8) - { - case 2: - a0 = ((op_t *) srcp1)[0]; - len += 6; - goto do1; - case 3: - a1 = ((op_t *) srcp1)[0]; - len += 5; - goto do2; - case 4: - a0 = ((op_t *) srcp1)[0]; - len += 4; - goto do3; - case 5: - a1 = ((op_t *) srcp1)[0]; - len += 3; - goto do4; - case 6: - a0 = ((op_t *) srcp1)[0]; - len += 2; - goto do5; - case 7: - a1 = ((op_t *) srcp1)[0]; - len += 1; - goto do6; - - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return; - a0 = ((op_t *) srcp1)[0]; - goto do7; - case 1: - a1 = ((op_t *) srcp1)[0]; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - goto do8; /* No-op. */ - } - - do - { - do8: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp -= OPSIZ; - dstp -= OPSIZ; - do7: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp -= OPSIZ; - dstp -= OPSIZ; - do6: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp -= OPSIZ; - dstp -= OPSIZ; - do5: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp -= OPSIZ; - dstp -= OPSIZ; - do4: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp -= OPSIZ; - dstp -= OPSIZ; - do3: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp -= OPSIZ; - dstp -= OPSIZ; - do2: - a0 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a1; - srcp -= OPSIZ; - dstp -= OPSIZ; - do1: - a1 = ((op_t *) srcp)[0]; - ((op_t *) dstp)[0] = a0; - srcp -= OPSIZ; - dstp -= OPSIZ; - - len -= 8; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - ((op_t *) dstp)[0] = a1; -} - -/* _wordcopy_bwd_dest_aligned -- Copy block finishing right - before SRCP to block finishing right before DSTP with LEN `op_t' - words (not LEN bytes!). DSTP should be aligned for memory - operations on `op_t', but SRCP must *not* be aligned. */ - -void -_wordcopy_bwd_dest_aligned (long int dstp, long int srcp, size_t len) -{ - void * srci; - op_t a0, a1, a2, a3; - op_t b0, b1, b2, b3; - - /* Save the initial source pointer so we know the number of bytes to - shift for merging two unaligned results. */ - srci = (void *) srcp; - - /* Make SRCP aligned by rounding it down to the beginning of the op_t - it points in the middle of. */ - srcp &= -OPSIZ; - srcp += OPSIZ; - - switch (len % 4) - { - case 2: - srcp -= 3 * OPSIZ; - dstp -= 1 * OPSIZ; - b2 = ((op_t *) srcp)[2]; - b1 = a1 = ((op_t *) srcp)[1]; - len += 2; - goto do1; - case 3: - srcp -= 3 * OPSIZ; - dstp -= 1 * OPSIZ; - b3 = ((op_t *) srcp)[2]; - b2 = a2 = ((op_t *) srcp)[1]; - len += 1; - goto do2; - case 0: - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - return; - srcp -= 3 * OPSIZ; - dstp -= 1 * OPSIZ; - b0 = ((op_t *) srcp)[2]; - b3 = a3 = ((op_t *) srcp)[1]; - goto do3; - case 1: - srcp -= 3 * OPSIZ; - dstp -= 1 * OPSIZ; - b1 = ((op_t *) srcp)[2]; - b0 = a0 = ((op_t *) srcp)[1]; - len -= 1; - if (OP_T_THRES <= 3 * OPSIZ && len == 0) - goto do0; - goto do4; /* No-op. */ - } - - do - { - do4: - b3 = a3 = ((op_t *) srcp)[0]; - a0 = DBLALIGN (a0, b1, srci); - ((op_t *) dstp)[0] = a0; - srcp -= OPSIZ; - dstp -= OPSIZ; - do3: - b2 = a2 = ((op_t *) srcp)[0]; - a3 = DBLALIGN (a3, b0, srci); - ((op_t *) dstp)[0] = a3; - srcp -= OPSIZ; - dstp -= OPSIZ; - do2: - b1 = a1 = ((op_t *) srcp)[0]; - a2 = DBLALIGN (a2, b3, srci); - ((op_t *) dstp)[0] = a2; - srcp -= OPSIZ; - dstp -= OPSIZ; - do1: - b0 = a0 = ((op_t *) srcp)[0]; - a1 = DBLALIGN (a1, b2, srci); - ((op_t *) dstp)[0] = a1; - srcp -= OPSIZ; - dstp -= OPSIZ; - - len -= 4; - } - while (len != 0); - - /* This is the right position for do0. Please don't move - it into the loop. */ - do0: - a0 = DBLALIGN (a0, b1, srci); - ((op_t *) dstp)[0] = a0; -} diff --git a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h index 2f2f973..ff88292 100644 --- a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h +++ b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h @@ -1,4 +1,5 @@ -/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile. +/* Run-time dynamic linker data structures for loaded ELF shared objects. + AArch64 version. Copyright (C) 2001-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/sysdeps/unix/sysv/linux/nios2/Makefile b/sysdeps/unix/sysv/linux/nios2/Makefile index d0af9ec..20910fa 100644 --- a/sysdeps/unix/sysv/linux/nios2/Makefile +++ b/sysdeps/unix/sysv/linux/nios2/Makefile @@ -3,7 +3,7 @@ gen-as-const-headers += ucontext_i.sym endif ifeq ($(subdir),misc) -# MIPS/Tile-style cacheflush routine +# MIPS-style cacheflush routine sysdep_headers += sys/cachectl.h sysdep_routines += cacheflush endif diff --git a/sysdeps/unix/sysv/linux/posix_fadvise.c b/sysdeps/unix/sysv/linux/posix_fadvise.c index 08ccc22..d676a68 100644 --- a/sysdeps/unix/sysv/linux/posix_fadvise.c +++ b/sysdeps/unix/sysv/linux/posix_fadvise.c @@ -31,9 +31,8 @@ (redefined to __NR_fadvise64_64 in kernel-features.h) that behaves as __NR_fadvise64_64 (without the aligment argument required for the ABI). - Third option will be used by both tile 32-bits and mips o32. Tile - will set __ASSUME_FADVISE64_64_NO_ALIGN to issue a 6 argument syscall, - while mips will use a 7 argument one with __NR_fadvise64. + Third option will be used by mips o32. Mips will use a 7 argument + syscall with __NR_fadvise64. s390 implements fadvice64_64 using a specific struct with arguments packed inside. This is the only implementation handled in arch-specific @@ -53,11 +52,6 @@ posix_fadvise (int fd, off_t offset, off_t len, int advise) SYSCALL_LL (offset), SYSCALL_LL (len)); # else -# ifdef __ASSUME_FADVISE64_64_NO_ALIGN -# undef __ALIGNMENT_ARG -# define __ALIGNMENT_ARG -# endif - # ifndef __NR_fadvise64_64 # define __NR_fadvise64_64 __NR_fadvise64 # endif diff --git a/sysdeps/unix/sysv/linux/posix_fadvise64.c b/sysdeps/unix/sysv/linux/posix_fadvise64.c index eebf10c..61dfe89 100644 --- a/sysdeps/unix/sysv/linux/posix_fadvise64.c +++ b/sysdeps/unix/sysv/linux/posix_fadvise64.c @@ -26,18 +26,10 @@ libc_hidden_proto (__posix_fadvise64_l64) just after 'fd' to avoid the requirement of implementing 7-arg syscalls. ARM also defines __NR_fadvise64_64 as __NR_arm_fadvise64_64. - tile requires __ASSUME_ALIGNED_REGISTER_PAIRS but implements the 32-bit - fadvise64_64 without the padding 0 after fd. - s390 implements fadvice64_64 using a specific struct with arguments packed inside. This is the only implementation handled in arch-specific code. */ -#ifdef __ASSUME_FADVISE64_64_NO_ALIGN -# undef __ALIGNMENT_ARG -# define __ALIGNMENT_ARG -#endif - #ifndef __NR_fadvise64_64 # define __NR_fadvise64_64 __NR_fadvise64 #endif diff --git a/sysdeps/unix/sysv/linux/tile/Implies b/sysdeps/unix/sysv/linux/tile/Implies deleted file mode 100644 index e050152..0000000 --- a/sysdeps/unix/sysv/linux/tile/Implies +++ /dev/null @@ -1 +0,0 @@ -tile/nptl diff --git a/sysdeps/unix/sysv/linux/tile/Makefile b/sysdeps/unix/sysv/linux/tile/Makefile deleted file mode 100644 index fddaf18..0000000 --- a/sysdeps/unix/sysv/linux/tile/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# Provide biarch definitions. -abi-variants := 64 32 -abi-64-condition := __WORDSIZE == 64 -abi-32-condition := __WORDSIZE == 32 - -ifeq ($(subdir),misc) - -# <sys/reg.h> provides something like x86 compatibility. -# New code should probably use <arch/abi.h> instead. -sysdep_headers += sys/reg.h - -# MIPS-style cacheflush routine -sysdep_headers += sys/cachectl.h -sysdep_routines += cacheflush - -# Control dataplane properties of current thread (compatibility only). -sysdep_routines += set_dataplane - -endif - -ifeq ($(subdir),elf) -sysdep_routines += dl-vdso -ifeq ($(build-shared),yes) -# This is needed for DSO loading from static binaries. -sysdep-dl-routines += dl-static -endif -endif - -ifeq ($(subdir),nptl) -# pull in __syscall_error routine -libpthread-routines += sysdep -libpthread-shared-only-routines += sysdep -endif diff --git a/sysdeps/unix/sysv/linux/tile/Versions b/sysdeps/unix/sysv/linux/tile/Versions deleted file mode 100644 index 13da68f..0000000 --- a/sysdeps/unix/sysv/linux/tile/Versions +++ /dev/null @@ -1,18 +0,0 @@ -ld { - GLIBC_PRIVATE { - # used for loading by static libraries - _dl_var_init; - } -} -libc { - GLIBC_2.12 { - _flush_cache; - cacheflush; - fallocate64; - set_dataplane; - } - GLIBC_PRIVATE { - __syscall_error; - __vdso_clock_gettime; - } -} diff --git a/sysdeps/unix/sysv/linux/tile/bits/environments.h b/sysdeps/unix/sysv/linux/tile/bits/environments.h deleted file mode 100644 index b672f59..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/environments.h +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _UNISTD_H -# error "Never include this file directly. Use <unistd.h> instead" -#endif - -#include <bits/wordsize.h> - -/* This header should define the following symbols under the described - situations. A value `1' means that the model is always supported, - `-1' means it is never supported. Undefined means it cannot be - statically decided. - - _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type - _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type - - _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type - _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type - - The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, - _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, - _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were - used in previous versions of the Unix standard and are available - only for compatibility. -*/ - -#if __WORDSIZE == 64 - -/* Environments with 32-bit wide pointers are optionally provided. - Therefore following macros aren't defined: - # undef _POSIX_V7_ILP32_OFF32 - # undef _POSIX_V7_ILP32_OFFBIG - # undef _POSIX_V6_ILP32_OFF32 - # undef _POSIX_V6_ILP32_OFFBIG - # undef _XBS5_ILP32_OFF32 - # undef _XBS5_ILP32_OFFBIG - and users need to check at runtime. */ - -/* We also have no use (for now) for an environment with bigger pointers - and offsets. */ -# define _POSIX_V7_LPBIG_OFFBIG -1 -# define _POSIX_V6_LPBIG_OFFBIG -1 -# define _XBS5_LPBIG_OFFBIG -1 - -/* By default we have 64-bit wide `long int', pointers and `off_t'. */ -# define _POSIX_V7_LP64_OFF64 1 -# define _POSIX_V6_LP64_OFF64 1 -# define _XBS5_LP64_OFF64 1 - -#else /* __WORDSIZE == 32 */ - -/* By default we have 32-bit wide `int', `long int', pointers and `off_t' - and all platforms support LFS. */ -# define _POSIX_V7_ILP32_OFF32 1 -# define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFF32 1 -# define _XBS5_ILP32_OFFBIG 1 - -/* We optionally provide an environment with the above size but an 64-bit - side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ - -/* Environments with 64-bit wide pointers can be provided, - so these macros aren't defined: - # undef _POSIX_V7_LP64_OFF64 - # undef _POSIX_V7_LPBIG_OFFBIG - # undef _POSIX_V6_LP64_OFF64 - # undef _POSIX_V6_LPBIG_OFFBIG - # undef _XBS5_LP64_OFF64 - # undef _XBS5_LPBIG_OFFBIG - and sysconf tests for it at runtime. */ - -#endif /* __WORDSIZE == 32 */ - -/* TILE-Gx has the ability to choose 32- or 64-bit. */ -#define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -#define __ILP32_OFF32_LDFLAGS "-m32" -#define __ILP32_OFFBIG_LDFLAGS "-m32" -#define __LP64_OFF64_CFLAGS "-m64" -#define __LP64_OFF64_LDFLAGS "-m64" diff --git a/sysdeps/unix/sysv/linux/tile/bits/local_lim.h b/sysdeps/unix/sysv/linux/tile/bits/local_lim.h deleted file mode 100644 index ba67237..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/local_lim.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -/* The kernel header pollutes the namespace with the NR_OPEN symbol - and defines LINK_MAX although filesystems have different maxima. A - similar thing is true for OPEN_MAX: the limit can be changed at - runtime and therefore the macro must not be defined. Remove this - after including the header if necessary. */ -#ifndef NR_OPEN -# define __undef_NR_OPEN -#endif -#ifndef LINK_MAX -# define __undef_LINK_MAX -#endif -#ifndef OPEN_MAX -# define __undef_OPEN_MAX -#endif -#ifndef ARG_MAX -# define __undef_ARG_MAX -#endif - -/* The kernel sources contain a file with all the needed information. */ -#include <linux/limits.h> - -/* Have to remove NR_OPEN? */ -#ifdef __undef_NR_OPEN -# undef NR_OPEN -# undef __undef_NR_OPEN -#endif -/* Have to remove LINK_MAX? */ -#ifdef __undef_LINK_MAX -# undef LINK_MAX -# undef __undef_LINK_MAX -#endif -/* Have to remove OPEN_MAX? */ -#ifdef __undef_OPEN_MAX -# undef OPEN_MAX -# undef __undef_OPEN_MAX -#endif -/* Have to remove ARG_MAX? */ -#ifdef __undef_ARG_MAX -# undef ARG_MAX -# undef __undef_ARG_MAX -#endif - -/* The number of data keys per process. */ -#define _POSIX_THREAD_KEYS_MAX 128 -/* This is the value this implementation supports. */ -#define PTHREAD_KEYS_MAX 1024 - -/* Controlling the iterations of destructors for thread-specific data. */ -#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 -/* Number of iterations this implementation does. */ -#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS - -/* The number of threads per process. */ -#define _POSIX_THREAD_THREADS_MAX 64 -/* We have no predefined limit on the number of threads. */ -#undef PTHREAD_THREADS_MAX - -/* Maximum amount by which a process can descrease its asynchronous I/O - priority level. */ -#define AIO_PRIO_DELTA_MAX 20 - -/* Minimum size for a thread. At least two pages for systems with 64k - pages. */ -#define PTHREAD_STACK_MIN 131072 - -/* Maximum number of timer expiration overruns. */ -#define DELAYTIMER_MAX 2147483647 - -/* Maximum tty name length. */ -#define TTY_NAME_MAX 32 - -/* Maximum login name length. This is arbitrary. */ -#define LOGIN_NAME_MAX 256 - -/* Maximum host name length. */ -#define HOST_NAME_MAX 64 - -/* Maximum message queue priority level. */ -#define MQ_PRIO_MAX 32768 - -/* Maximum value the semaphore can have. */ -#define SEM_VALUE_MAX (2147483647) diff --git a/sysdeps/unix/sysv/linux/tile/bits/mman.h b/sysdeps/unix/sysv/linux/tile/bits/mman.h deleted file mode 100644 index 4b59ce2..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/mman.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _SYS_MMAN_H -# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - -#ifdef __USE_MISC -/* These are Linux-specific. */ -# define MAP_NONBLOCK 0x00080 /* Do not block on IO. */ -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_STACK MAP_GROWSDOWN /* Provide convenience alias. */ -# define MAP_LOCKED 0x00200 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00400 /* Don't check for reservations. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_POPULATE 0x00040 /* Populate (prefault) pagetables. */ -# define MAP_HUGETLB 0x04000 /* Create huge page mapping. */ -#endif - -/* Include generic Linux declarations. */ -#include <bits/mman-linux.h> diff --git a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h deleted file mode 100644 index d0467bd..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _BITS_SIGACTION_H -#define _BITS_SIGACTION_H 1 - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - - /* Restore handler. */ - void (*sa_restorer) (void); - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */ -#define SA_SIGINFO 4 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -# define SA_NOPTRACE 0x02000000 /* Don't ptrace this signal. */ -# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ - -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ - -#endif diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h b/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h deleted file mode 100644 index 7d0c24c..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h +++ /dev/null @@ -1,10 +0,0 @@ -/* Architecture-specific adjustments to siginfo_t. Tile version. */ -#ifndef _BITS_SIGINFO_ARCH_H -#define _BITS_SIGINFO_ARCH_H 1 - -#define __SI_SIGFAULT_ADDL \ - int _si_trapno; - -#define si_trapno _sifields._sigfault._si_trapno - -#endif diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h b/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h deleted file mode 100644 index 2e76d20..0000000 --- a/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h +++ /dev/null @@ -1,14 +0,0 @@ -/* Architecture-specific additional siginfo constants. Tile version. */ -#ifndef _BITS_SIGINFO_CONSTS_ARCH_H -#define _BITS_SIGINFO_CONSTS_ARCH_H 1 - -/* `si_code' values for SIGILL signal. */ -enum -{ - ILL_DBLFLT = ILL_BADSTK + 1, /* Double fault. */ -#define ILL_DBLFLT ILL_DBLFLT - ILL_HARDWALL /* User networks hardwall violation. */ -#define ILL_HARDWALL ILL_HARDWALL -}; - -#endif diff --git a/sysdeps/unix/sysv/linux/tile/cacheflush.c b/sysdeps/unix/sysv/linux/tile/cacheflush.c deleted file mode 100644 index c236da1..0000000 --- a/sysdeps/unix/sysv/linux/tile/cacheflush.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stddef.h> -#include <unistd.h> - -/* Flush cache(s). */ -int -_flush_cache (char *addr, const int nbytes, const int op) -{ -#ifdef __NR_cacheflush - return INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op); -#else - __set_errno (ENOSYS); - return -1; -#endif -} -weak_alias (_flush_cache, cacheflush) diff --git a/sysdeps/unix/sysv/linux/tile/clone.S b/sysdeps/unix/sysv/linux/tile/clone.S deleted file mode 100644 index a38f65e..0000000 --- a/sysdeps/unix/sysv/linux/tile/clone.S +++ /dev/null @@ -1,176 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 it's all over. */ - -#include <sysdep.h> -#define _ERRNO_H 1 -#include <bits/errno.h> - -#include <asm/unistd.h> -#include <arch/abi.h> -#include <tls.h> -#include <linux/sched.h> - -/* What we save where in the stack frame; must include all callee-saves. */ -#define FRAME_NEXT_LR (0 * REGSIZE) /* reserved by ABI; not used here */ -#define FRAME_SP (1 * REGSIZE) -#define FRAME_R30 (2 * REGSIZE) -#define FRAME_R31 (3 * REGSIZE) -#define FRAME_R32 (4 * REGSIZE) -#define FRAME_SIZE (5 * REGSIZE) - -/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, - pid_t *ptid, struct user_desc *tls, pid_t *ctid); */ - - .text -ENTRY (__clone) - /* Create a stack frame so we can pass callee-saves to new task. */ - { - move r10, sp - st sp, lr - ADDI_PTR sp, sp, -FRAME_SIZE - } - cfi_offset (lr, 0) - cfi_def_cfa_offset (FRAME_SIZE) - ADDI_PTR r11, sp, FRAME_SP - { - st r11, r10 - ADDI_PTR r11, sp, FRAME_R30 - } - { - st r11, r30 - ADDI_PTR r11, sp, FRAME_R31 - } - cfi_offset (r30, FRAME_R30 - FRAME_SIZE) - { - st r11, r31 - ADDI_PTR r11, sp, FRAME_R32 - } - cfi_offset (r31, FRAME_R31 - FRAME_SIZE) - st r11, r32 - cfi_offset (r32, FRAME_R32 - FRAME_SIZE) - - /* sanity check arguments */ - beqz r0, .Linvalid - beqz r1, .Linvalid - - /* Make sure child stack is properly aligned, and set up the - top frame so that we can call out of it immediately in the - child. Setting it up here means we fault in the parent if - it's bogus, which is probably cleaner than faulting first - thing in the child. */ - ADDI_PTR r1, r1, -C_ABI_SAVE_AREA_SIZE - andi r1, r1, -C_ABI_SAVE_AREA_SIZE - ADDI_PTR r9, r1, REGSIZE /* sp of this frame on entry, i.e. zero */ - st r9, zero - - /* We need to switch the argument convention around from - libc to kernel: - - libc: - r0 fn - r1 child_stack - r2 flags - r3 arg - r4 ptid - r5 tls - r6 ctid - - kernel: - r0 flags - r1 child_stack [same as libc] - r2 ptid - r3 ctid - r4 tls - - Plus the callee-saves as described at .Lthread_start, below. */ - { - move r32, r0 - move r0, r2 - } - { - move r31, r3 - move r3, r6 - } - { - move r30, r2 - move r2, r4 - } - { - move r4, r5 - moveli TREG_SYSCALL_NR_NAME, __NR_clone - } - swint1 - beqz r0, .Lthread_start /* If in child task. */ - -.Ldone: - /* Restore the callee-saved registers and return. */ - ADDLI_PTR lr, sp, FRAME_SIZE - { - ld lr, lr - ADDLI_PTR r30, sp, FRAME_R30 - } - { - ld r30, r30 - ADDLI_PTR r31, sp, FRAME_R31 - } - { - ld r31, r31 - ADDLI_PTR r32, sp, FRAME_R32 - } - { - ld r32, r32 - ADDI_PTR sp, sp, FRAME_SIZE - } - cfi_def_cfa_offset (0) - - bnez r1, .Lerror - jrp lr - -.Lerror: - j SYSCALL_ERROR_NAME - -.Linvalid: - { - movei r1, EINVAL - j .Ldone - } - -/* This function expects to receive: - - sp: the top of a valid stack area - r30: clone() flags - r31: the argument to pass to the user function - r32: the user function pointer */ - -.Lthread_start: - cfi_def_cfa_offset (FRAME_SIZE) - cfi_undefined (lr) - { - /* Invoke user function with specified argument. */ - move r0, r31 - jalr r32 - } - moveli TREG_SYSCALL_NR_NAME, __NR_exit - swint1 -PSEUDO_END (__clone) - -libc_hidden_def (__clone) -weak_alias (__clone, clone) diff --git a/sysdeps/unix/sysv/linux/tile/configure b/sysdeps/unix/sysv/linux/tile/configure deleted file mode 100644 index 32ce16c..0000000 --- a/sysdeps/unix/sysv/linux/tile/configure +++ /dev/null @@ -1,21 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx - -ldd_rewrite_script=$dir/ldd-rewrite.sed - -case $machine in -tile/tilegx32) - test -n "$libc_cv_slibdir" || -case "$prefix" in -/usr | /usr/) - libc_cv_slibdir='/lib32' - libc_cv_rtlddir='/lib32' - if test "$libdir" = '${exec_prefix}/lib'; then - libdir='${exec_prefix}/lib32'; - # Locale data can be shared between 32-bit and 64-bit libraries. - libc_cv_complocaledir='${exec_prefix}/lib/locale' - fi - ;; -esac - ;; -esac diff --git a/sysdeps/unix/sysv/linux/tile/configure.ac b/sysdeps/unix/sysv/linux/tile/configure.ac deleted file mode 100644 index 45ec42c..0000000 --- a/sysdeps/unix/sysv/linux/tile/configure.ac +++ /dev/null @@ -1,10 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx - -ldd_rewrite_script=$dir/ldd-rewrite.sed - -case $machine in -tile/tilegx32) - LIBC_SLIBDIR_RTLDDIR([lib32], [lib32]) - ;; -esac diff --git a/sysdeps/unix/sysv/linux/tile/dl-static.c b/sysdeps/unix/sysv/linux/tile/dl-static.c deleted file mode 100644 index 6c3b004..0000000 --- a/sysdeps/unix/sysv/linux/tile/dl-static.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Variable initialization. Tile version. - Copyright (C) 2001-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 <ldsodefs.h> - -#ifdef SHARED - -void -_dl_var_init (void *array[]) -{ - /* It has to match "variables" below. */ - enum - { - DL_PAGESIZE = 0 - }; - - GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]); -} - -#else - -static void *variables[] = -{ - &GLRO(dl_pagesize) -}; - -static void -_dl_unprotect_relro (struct link_map *l) -{ - ElfW(Addr) start = ((l->l_addr + l->l_relro_addr) - & ~(GLRO(dl_pagesize) - 1)); - ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size) - & ~(GLRO(dl_pagesize) - 1)); - - if (start != end) - __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE); -} - -void -_dl_static_init (struct link_map *l) -{ - struct link_map *rtld_map = l; - struct r_scope_elem **scope; - const ElfW(Sym) *ref = NULL; - lookup_t loadbase; - void (*f) (void *[]); - size_t i; - - loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope, - NULL, 0, 1, NULL); - - for (scope = l->l_local_scope; *scope != NULL; scope++) - for (i = 0; i < (*scope)->r_nlist; i++) - if ((*scope)->r_list[i] == loadbase) - { - rtld_map = (*scope)->r_list[i]; - break; - } - - if (ref != NULL) - { - f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref); - _dl_unprotect_relro (rtld_map); - f (variables); - _dl_protect_relro (rtld_map); - } -} - -#endif diff --git a/sysdeps/unix/sysv/linux/tile/getcontext.S b/sysdeps/unix/sysv/linux/tile/getcontext.S deleted file mode 100644 index eedd2b7..0000000 --- a/sysdeps/unix/sysv/linux/tile/getcontext.S +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <arch/abi.h> - -#include "ucontext_i.h" - -/* int getcontext (ucontext_t *ucp) */ - - .text -ENTRY (__getcontext) - FEEDBACK_ENTER(__getcontext) - - /* Save the callee-saved GPRs. There's no need to save the - caller-saved GPRs since the eventual setcontext() or - swapcontext() will assume those registers are all dead. - Save value "1" to uc_flags to later recognize getcontext(). */ - { movei r11, 1; ADDI_PTR r10, r0, UC_FLAGS_OFFSET } - { ST_PTR r10, r11; addli r10, r0, UC_REG(30) } - { st r10, r30; ADDI_PTR r10, r10, REGSIZE } - { st r10, r31; ADDI_PTR r10, r10, REGSIZE } - { st r10, r32; ADDI_PTR r10, r10, REGSIZE } - { st r10, r33; ADDI_PTR r10, r10, REGSIZE } - { st r10, r34; ADDI_PTR r10, r10, REGSIZE } - { st r10, r35; ADDI_PTR r10, r10, REGSIZE } - { st r10, r36; ADDI_PTR r10, r10, REGSIZE } - { st r10, r37; ADDI_PTR r10, r10, REGSIZE } - { st r10, r38; ADDI_PTR r10, r10, REGSIZE } - { st r10, r39; ADDI_PTR r10, r10, REGSIZE } - { st r10, r40; ADDI_PTR r10, r10, REGSIZE } - { st r10, r41; ADDI_PTR r10, r10, REGSIZE } - { st r10, r42; ADDI_PTR r10, r10, REGSIZE } - { st r10, r43; ADDI_PTR r10, r10, REGSIZE } - { st r10, r44; ADDI_PTR r10, r10, REGSIZE } - { st r10, r45; ADDI_PTR r10, r10, REGSIZE } - { st r10, r46; ADDI_PTR r10, r10, REGSIZE } - { st r10, r47; ADDI_PTR r10, r10, REGSIZE } - { st r10, r48; ADDI_PTR r10, r10, REGSIZE } - { st r10, r49; ADDI_PTR r10, r10, REGSIZE } - { st r10, r50; ADDI_PTR r10, r10, REGSIZE } - { st r10, r51; ADDI_PTR r10, r10, REGSIZE } - { st r10, r52; ADDI_PTR r10, r10, REGSIZE } - { st r10, tp; ADDI_PTR r10, r10, REGSIZE } - { st r10, sp; ADDI_PTR r10, r10, REGSIZE } - { st r10, lr; ADDI_PTR r10, r10, REGSIZE } - lnk r11 /* Point PC at the "jrp lr" instruction. */ - addli r11, r11, .Lreturn - . - { st r10, r11; ADDI_PTR r10, r10, REGSIZE } - mfspr r11, INTERRUPT_CRITICAL_SECTION - { - st r10, r11 - movei r1, 0 - } - - /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG / 8) */ - { - movei r3, _NSIG / 8 - addli r2, r0, UC_SIGMASK_OFFSET - } - { - movei r0, SIG_BLOCK - moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask - } - swint1 - bnez r1, .Lsyscall_error - -.Lreturn: - { - movei r0, 0 - jrp lr - } - -.Lsyscall_error: - j SYSCALL_ERROR_NAME - -END (__getcontext) -.hidden __getcontext - -weak_alias (__getcontext, getcontext) diff --git a/sysdeps/unix/sysv/linux/tile/init-first.c b/sysdeps/unix/sysv/linux/tile/init-first.c deleted file mode 100644 index 0e9454f..0000000 --- a/sysdeps/unix/sysv/linux/tile/init-first.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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/>. */ - -#ifdef SHARED -#include <dl-vdso.h> -#include <libc-vdso.h> - -struct syscall_return_value (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, - void *) - attribute_hidden; - -struct syscall_return_value (*VDSO_SYMBOL(clock_gettime)) (clockid_t, - struct timespec *) - __attribute__ ((nocommon)); - - -static inline void -_libc_vdso_platform_setup (void) -{ - PREPARE_VERSION (linux26, "LINUX_2.6", 61765110); - - void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26); - PTR_MANGLE (p); - VDSO_SYMBOL (gettimeofday) = p; - - p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26); - PTR_MANGLE (p); - VDSO_SYMBOL (clock_gettime) = p; -} - -#define VDSO_SETUP _libc_vdso_platform_setup -#endif - -#include <csu/init-first.c> diff --git a/sysdeps/unix/sysv/linux/tile/ioctl.S b/sysdeps/unix/sysv/linux/tile/ioctl.S deleted file mode 100644 index 461bd53..0000000 --- a/sysdeps/unix/sysv/linux/tile/ioctl.S +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - - -/* TILE-Gx specifies that "unsigned int" is sign extended in the high - 32 bits. But since the userspace API claims to be "unsigned long", - calls into __ioctl() will not be sign extended, but rather pass all - 64 bits of the argument. Therefore, when we pass the "request" - value to the kernel, we must explicitly sign-extend it to match the - kernel's internal use of "unsigned int" as the second argument, - which we do by casting to "unsigned int". */ - -#include <sysdep.h> - - .text -ENTRY (__ioctl) - FEEDBACK_ENTER(__ioctl) - { - addxi r1, r1, 0 - moveli TREG_SYSCALL_NR_NAME, __NR_ioctl - } - swint1 - bnez r1, 0f - jrp lr -PSEUDO_END (__ioctl) -libc_hidden_def (__ioctl) -weak_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/linux/tile/ipc_priv.h b/sysdeps/unix/sysv/linux/tile/ipc_priv.h deleted file mode 100644 index 1292856..0000000 --- a/sysdeps/unix/sysv/linux/tile/ipc_priv.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Old SysV permission definition for Linux. Tile version. - Copyright (C) 2017-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <sys/ipc.h> /* For __key_t */ - -#define __IPC_64 0x0 diff --git a/sysdeps/unix/sysv/linux/tile/kernel-features.h b/sysdeps/unix/sysv/linux/tile/kernel-features.h deleted file mode 100644 index b47f1a0..0000000 --- a/sysdeps/unix/sysv/linux/tile/kernel-features.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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_next <kernel-features.h> - -/* Define this if your 32-bit syscall API requires 64-bit register - pairs to start with an even-number register. */ -#ifndef _LP64 -# define __ASSUME_ALIGNED_REGISTER_PAIRS 1 -# define __ASSUME_FADVISE64_64_NO_ALIGN 1 -#endif diff --git a/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h b/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h deleted file mode 100644 index a943d52..0000000 --- a/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h +++ /dev/null @@ -1,9 +0,0 @@ -/* tile kernel sigaction is similar to generic Linux UAPI one - and SA_RESTORER is used only for binary compatibility. */ -#define SA_RESTORER 0x04000000 -#include <sysdeps/unix/sysv/linux/kernel_sigaction.h> - -#define SET_SA_RESTORER(kact, act) \ - (kact)->sa_restorer = (act)->sa_restorer -#define RESET_SA_RESTORER(act, kact) \ - (act)->sa_restorer = (kact)->sa_restorer diff --git a/sysdeps/unix/sysv/linux/tile/ldconfig.h b/sysdeps/unix/sysv/linux/tile/ldconfig.h deleted file mode 100644 index 3234576..0000000 --- a/sysdeps/unix/sysv/linux/tile/ldconfig.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <sysdeps/generic/ldconfig.h> - -#define SYSDEP_KNOWN_INTERPRETER_NAMES \ - { "/lib/ld.so.1", FLAG_ELF_LIBC6 }, \ - { "/lib32/ld.so.1", FLAG_ELF_LIBC6 }, -#define SYSDEP_KNOWN_LIBRARY_NAMES \ - { "libc.so.6", FLAG_ELF_LIBC6 }, \ - { "libm.so.6", FLAG_ELF_LIBC6 }, diff --git a/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed deleted file mode 100644 index 8b0bb69..0000000 --- a/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed +++ /dev/null @@ -1 +0,0 @@ -s_^\(RTLDLIST=\)\(.*lib\)\(\|32\)\(/[^/]*\.so\.[0-9.]*\)[ ]*$_\1"\2\4 \232\4"_ diff --git a/sysdeps/unix/sysv/linux/tile/ldsodefs.h b/sysdeps/unix/sysv/linux/tile/ldsodefs.h deleted file mode 100644 index 2f2f973..0000000 --- a/sysdeps/unix/sysv/linux/tile/ldsodefs.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile. - Copyright (C) 2001-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 _LDSODEFS_H - -/* Get the real definitions. */ -#include_next <ldsodefs.h> - -/* Now define our stuff. */ - -/* We need special support to initialize DSO loaded for statically linked - binaries. */ -extern void _dl_static_init (struct link_map *map); -#undef DL_STATIC_INIT -#define DL_STATIC_INIT(map) _dl_static_init (map) - -#endif /* ldsodefs.h */ diff --git a/sysdeps/unix/sysv/linux/tile/libc-vdso.h b/sysdeps/unix/sysv/linux/tile/libc-vdso.h deleted file mode 100644 index 4a3e6ba..0000000 --- a/sysdeps/unix/sysv/linux/tile/libc-vdso.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Resolve function pointers to VDSO functions. - Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - - -#ifndef _LIBC_VDSO_H -#define _LIBC_VDSO_H - -#ifdef SHARED - -#include <sysdep-vdso.h> - -struct syscall_return_value -{ - long int value; - long int error; -}; - -extern struct syscall_return_value (*VDSO_SYMBOL (gettimeofday)) (struct - timeval *, - void *) - attribute_hidden; - -extern struct syscall_return_value (*VDSO_SYMBOL (clock_gettime)) (clockid_t, - struct - timespec *); -#endif -#endif /* _LIBC_VDSO_H */ diff --git a/sysdeps/unix/sysv/linux/tile/makecontext.c b/sysdeps/unix/sysv/linux/tile/makecontext.c deleted file mode 100644 index e2e6927..0000000 --- a/sysdeps/unix/sysv/linux/tile/makecontext.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stdarg.h> -#include <stdio.h> -#include <stdint.h> -#include <stdlib.h> -#include <ucontext.h> -#include <arch/abi.h> - -void -__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) -{ - extern void __startcontext (void); - uint_reg_t *sp, *args; - va_list ap; - int i; - - /* Initialize the top of stack. */ - sp = (uint_reg_t *) ((((intptr_t) ucp->uc_stack.ss_sp - + ucp->uc_stack.ss_size) & -16L) - 16); - - /* Allow room for memory-passed arguments if necessary. */ - if (argc > 10) - sp -= 2 + (argc - 10); - - sp[0] = sp[1] = 0; - - /* Set parameters. */ - va_start (ap, argc); - args = &ucp->uc_mcontext.gregs[0]; - for (i = 0; i < argc; i++) - { - if (i == 10) - args = &sp[2]; - *args++ = va_arg (ap, long); - } - va_end (ap); - - /* Start in the trampoline. */ - ucp->uc_mcontext.pc = (long) __startcontext; - - /* Set stack pointer. */ - ucp->uc_mcontext.sp = (long) sp; - - /* Pass FUNC to __startcontext in r31. */ - ucp->uc_mcontext.gregs[31] = (long) func; - - /* Pass ucp->uc_link to __startcontext in r30. */ - ucp->uc_mcontext.gregs[30] = (long) ucp->uc_link; -} -weak_alias (__makecontext, makecontext) diff --git a/sysdeps/unix/sysv/linux/tile/profil-counter.h b/sysdeps/unix/sysv/linux/tile/profil-counter.h deleted file mode 100644 index 525f64e..0000000 --- a/sysdeps/unix/sysv/linux/tile/profil-counter.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> -#include <sigcontextinfo.h> - -static void -__profil_counter (int signo, SIGCONTEXT scp) -{ - profil_count ((void *) GET_PC (scp)); -} diff --git a/sysdeps/unix/sysv/linux/tile/pt-vfork.c b/sysdeps/unix/sysv/linux/tile/pt-vfork.c deleted file mode 100644 index 5fbc652..0000000 --- a/sysdeps/unix/sysv/linux/tile/pt-vfork.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/aarch64/pt-vfork.c> diff --git a/sysdeps/unix/sysv/linux/tile/register-dump.h b/sysdeps/unix/sysv/linux/tile/register-dump.h deleted file mode 100644 index 002c889..0000000 --- a/sysdeps/unix/sysv/linux/tile/register-dump.h +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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: - - R0: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R4: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R8: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R12: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R16: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R20: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R24: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R28: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R32: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R36: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R40: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R44: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R48: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX - R52: XXXXXXXXXXXXXXXX TP: XXXXXXXXXXXXXXXX - SP: XXXXXXXXXXXXXXXX LR: XXXXXXXXXXXXXXXX - - PC: XXXXXXXXXXXXXXXX ICS: X FAULTNUM: XX - - */ - -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'; -} - -static void -register_dump (int fd, mcontext_t *ctx) -{ - char regs[59][16]; - struct iovec iov[132]; - size_t nr = 0; - unsigned int i; - -#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. */ - for (i = 0; i < 56; ++i) - hexvalue (ctx->gregs[i], regs[i], 16); - hexvalue (ctx->pc, regs[56], 16); - hexvalue (ctx->ics, regs[57], 1); - hexvalue (ctx->faultnum, regs[58], 2); - - /* Generate the output. */ - for (i = 0; i < 56;) - { - const char *prefixes[] = { - "Register dump:\n\n R0: ", - "\n R4: ", - "\n R8: ", - "\n R12: ", - "\n R16: ", - "\n R20: ", - "\n R24: ", - "\n R28: ", - "\n R32: ", - "\n R36: ", - "\n R40: ", - "\n R44: ", - "\n R48: " - }; - ADD_STRING (prefixes[i / 4]); - do - { - ADD_MEM (regs[i], 16); - ADD_STRING (" "); - } - while (++i % 4); - } - ADD_STRING ("\n R52: "); - ADD_MEM (regs[52], 16); - ADD_STRING (" TP: "); - ADD_MEM (regs[53], 16); - ADD_STRING ("\n SP: "); - ADD_MEM (regs[54], 16); - ADD_STRING (" LR: "); - ADD_MEM (regs[55], 16); - ADD_STRING ("\n\n PC: "); - ADD_MEM (regs[56], 16); - ADD_STRING (" ICS: "); - ADD_MEM (regs[57], 1); - ADD_STRING (" FAULTNUM: "); - ADD_MEM (regs[58], 2); - ADD_STRING ("\n"); - - /* Write the stuff out. */ - writev (fd, iov, nr); -} - - -#define REGISTER_DUMP register_dump (fd, &ctx->uc_mcontext) diff --git a/sysdeps/unix/sysv/linux/tile/sched_getcpu.c b/sysdeps/unix/sysv/linux/tile/sched_getcpu.c deleted file mode 100644 index 06b6f60..0000000 --- a/sysdeps/unix/sysv/linux/tile/sched_getcpu.c +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 2012-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 <stddef.h> -#include <fcntl.h> -#include <unistd.h> -#include <sched.h> -#include <sysdep.h> -#include <arch/spr_def.h> - - -/* The count of cores horizontally (X dimension) on the chip. */ -static int chip_width; - -/* Read the chip "width" from the /sys filesystem. */ -static int -initialize_chip_width (void) -{ - int w = 0; - int fd; - - fd = __open ("/sys/devices/system/cpu/chip_width", O_RDONLY); - if (fd >= 0) - { - char buf[64]; - ssize_t n; - int i; - - n = __read (fd, buf, sizeof (buf)); - __close (fd); - - for (i = 0; i < n; ++i) - { - if (buf[i] < '0' || buf[i] > '9') - break; - w = (w * 10) + (buf[i] - '0'); - } - } - - /* Store a negative value so we don't try again. */ - if (w == 0) - w = -1; - - /* Using an atomic idempotent write here makes this thread-safe. */ - chip_width = w; - return w; -} - -int -sched_getcpu (void) -{ - unsigned int coord; - int w = chip_width; - - if (__builtin_expect (w <= 0, 0)) - { - if (w == 0) - w = initialize_chip_width (); - if (w < 0) - { - unsigned int cpu; - int r = INLINE_SYSCALL (getcpu, 3, &cpu, NULL, NULL); - return r == -1 ? r : cpu; - } - } - - /* Assign 64-bit value to a 32-bit variable to ensure 32-bit multiply. */ - coord = __insn_mfspr (SPR_TILE_COORD); - - /* Extract Y coord from bits 7..10 and X coord from bits 18..21. */ - return ((coord >> 7) & 0xf) * w + ((coord >> 18) & 0xf); -} diff --git a/sysdeps/unix/sysv/linux/tile/set_dataplane.c b/sysdeps/unix/sysv/linux/tile/set_dataplane.c deleted file mode 100644 index fccaecd..0000000 --- a/sysdeps/unix/sysv/linux/tile/set_dataplane.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <stddef.h> -#include <unistd.h> -#include <shlib-compat.h> - -/* Request dataplane modes from the kernel (compatibility only). */ -#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_25) -int -attribute_compat_text_section -__old_set_dataplane (int flags) -{ -#ifdef __NR_set_dataplane - return INLINE_SYSCALL (set_dataplane, 1, flags); -#else - __set_errno (ENOSYS); - return -1; -#endif -} - -compat_symbol (libc, __old_set_dataplane, set_dataplane, GLIBC_2_12); -#endif diff --git a/sysdeps/unix/sysv/linux/tile/setcontext.S b/sysdeps/unix/sysv/linux/tile/setcontext.S deleted file mode 100644 index efd4f5c..0000000 --- a/sysdeps/unix/sysv/linux/tile/setcontext.S +++ /dev/null @@ -1,206 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <asm/errno.h> -#include <arch/spr_def.h> -#include <arch/abi.h> - -#include "ucontext_i.h" - -/* PL to return to via iret in setcontext */ -#define RETURN_PL 0 - -/* int setcontext (const ucontext_t *ucp) */ - - .text -ENTRY (__setcontext) - FEEDBACK_ENTER(__setcontext) - - /* See if this is a true signal context (flags == 0). - If so, restore by invoking rt_sigreturn(). */ -#if UC_FLAGS_OFFSET != 0 -# error "Add offset to r0 prior to load." -#endif - LD_PTR r10, r0 - { - beqz r10, .Lsigreturn - addi r10, r10, -1 /* Confirm that it has value "1". */ - } - bnez r10, .Lbadcontext - - /* Save lr and r0 briefly on the stack and set the signal mask: - rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG / 8). */ - { - st sp, lr - ADDI_PTR r11, sp, -(2 * REGSIZE) - move r10, sp - } - ADDI_PTR sp, sp, -(3 * REGSIZE) - cfi_def_cfa_offset (3 * REGSIZE) - cfi_offset (lr, 0) - { - st r11, r10 - ADDI_PTR r10, sp, (2 * REGSIZE) - } - { - st r10, r0 - ADDLI_PTR r1, r0, UC_SIGMASK_OFFSET - } - cfi_offset (r0, -REGSIZE) - { - movei r3, _NSIG / 8 - movei r2, 0 - } - { - movei r0, SIG_SETMASK - moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask - } - swint1 - ADDI_PTR r11, sp, 2 * REGSIZE /* Restore uc_context to r11. */ - { - ld r11, r11 - ADDI_PTR sp, sp, 3 * REGSIZE - } - cfi_def_cfa_offset (0) - ld lr, sp - { - ADDI_PTR r10, r11, UC_REG(0) - bnez r1, .Lsyscall_error - } - - /* Restore the argument registers; note they will be random - unless makecontext() has been called. */ - { ld r0, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r1, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r2, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r3, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r4, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r5, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r6, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r7, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r8, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r9, r10; ADDLI_PTR r10, r10, UC_REG(30) - UC_REG(9) } - - /* Restore the callee-saved GPRs. */ - { ld r30, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r31, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r32, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r33, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r34, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r35, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r36, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r37, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r38, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r39, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r40, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r41, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r42, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r43, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r44, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r45, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r46, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r47, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r48, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r49, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r50, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r51, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r52, r10; ADDI_PTR r10, r10, REGSIZE * 2 } - /* Skip tp since it must not change for a given thread. */ - { ld sp, r10; ADDI_PTR r10, r10, REGSIZE } - { ld lr, r10; ADDI_PTR r10, r10, REGSIZE } - { ld r11, r10; ADDI_PTR r10, r10, REGSIZE } - - /* Construct an iret context; we set ICS so we can validly load - EX_CONTEXT for iret without being interrupted halfway through. */ - { - ld r12, r10 - movei r13, 1 - } - { - mtspr INTERRUPT_CRITICAL_SECTION, r13 - shli r12, r12, SPR_EX_CONTEXT_0_1__ICS_SHIFT - } - { - mtspr EX_CONTEXT_0_0, r11 - ori r12, r12, RETURN_PL - } - mtspr EX_CONTEXT_0_1, r12 - iret - jrp lr /* keep the backtracer happy */ - -.Lsigreturn: - /* This is a context obtained from a signal handler. - Perform a full restore by pushing the context - passed onto a simulated signal frame on the stack - and call the signal return syscall as if a signal - handler exited normally. */ - { - ADDLI_PTR sp, sp, -(C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE) - ADDLI_PTR r1, sp, -UC_SIZE - } - cfi_def_cfa_offset (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE) - moveli r2, UC_SIZE / REGSIZE -0: { - ld r10, r0 - ADDI_PTR r0, r0, REGSIZE - } - { - st r1, r10 - ADDI_PTR r1, r1, REGSIZE - addi r2, r2, -1 - } - bnez r2, 0b - moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigreturn - swint1 - - /* Restore the stack and fall through to the error - path. Successful rt_sigreturn never returns to - its calling place. */ - ADDLI_PTR sp, sp, (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE) - cfi_def_cfa_offset (0) - -.Lsyscall_error: - j SYSCALL_ERROR_NAME - -.Lbadcontext: - { - movei r1, EINVAL - j SYSCALL_ERROR_NAME - } - -END (__setcontext) - -.hidden __setcontext -weak_alias (__setcontext, setcontext) - -ENTRY (__startcontext) - cfi_undefined (lr) - FEEDBACK_ENTER(__startcontext) - jalr r31 - beqz r30, 1f - { - move r0, r30 - jal __setcontext - } -1: { - movei r0, 0 - j HIDDEN_JUMPTARGET(exit) - } -END (__startcontext) -.hidden __startcontext diff --git a/sysdeps/unix/sysv/linux/tile/shlib-versions b/sysdeps/unix/sysv/linux/tile/shlib-versions deleted file mode 100644 index b4360d3..0000000 --- a/sysdeps/unix/sysv/linux/tile/shlib-versions +++ /dev/null @@ -1,2 +0,0 @@ -# glibc 2.12 was released to customers; 2.15 was the first community version. -DEFAULT GLIBC_2.12 GLIBC_2.15 diff --git a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h b/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h deleted file mode 100644 index b23b846..0000000 --- a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <arch/abi.h> - -#define SIGCONTEXT siginfo_t *_si, ucontext_t * -#define GET_PC(ctx) ((void *) (long) ctx->uc_mcontext.pc) diff --git a/sysdeps/unix/sysv/linux/tile/swapcontext.S b/sysdeps/unix/sysv/linux/tile/swapcontext.S deleted file mode 100644 index 39397ea..0000000 --- a/sysdeps/unix/sysv/linux/tile/swapcontext.S +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */ - - .text -ENTRY (__swapcontext) - FEEDBACK_ENTER(__swapcontext) - /* Set up a frame and save r0 and r1. */ - { - st sp, lr - ADDI_PTR r11, sp, -(3 * REGSIZE) - move r10, sp - } - ADDI_PTR sp, sp, -(4 * REGSIZE) - cfi_def_cfa_offset (4 * REGSIZE) - cfi_offset (lr, 0) - { - st r11, r10 - ADDI_PTR r10, sp, (2 * REGSIZE) - } - { - st r10, r0 - ADDI_PTR r10, sp, (3 * REGSIZE) - } - st r10, r1 - - /* Save the current context. */ - jal __getcontext - - /* Tear down the frame and restore r0, r1, and lr. */ - { - bnez r0, .Lerror - ADDI_PTR r1, sp, 3 * REGSIZE - } - { - ld r1, r1 - ADDI_PTR r0, sp, 2 * REGSIZE - } - { - ld r0, r0 - ADDI_PTR sp, sp, 4 * REGSIZE - } - cfi_def_cfa_offset (0) - { - ld lr, sp - ADDLI_PTR r10, r0, UC_REG(54) - } - - /* Update the stored sp and lr. */ - { - st r10, sp - ADDLI_PTR r10, r0, UC_REG(55) - } - st r10, lr - - /* Tail-call setcontext to finish up. */ - { - move r0, r1 - j __setcontext - } - -.Lerror: - ADDI_PTR sp, sp, 4 * REGSIZE - cfi_def_cfa_offset (0) - ld lr, sp - jrp lr -END (__swapcontext) - -weak_alias (__swapcontext, swapcontext) diff --git a/sysdeps/unix/sysv/linux/tile/sys/cachectl.h b/sysdeps/unix/sysv/linux/tile/sys/cachectl.h deleted file mode 100644 index 08de699..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/cachectl.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _SYS_CACHECTL_H -#define _SYS_CACHECTL_H 1 - -#include <features.h> - -/* Get the kernel definition for the op bits. */ -#include <asm/cachectl.h> - -__BEGIN_DECLS - -#ifdef __USE_MISC -extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW; -#endif -extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW; - -__END_DECLS - -#endif /* sys/cachectl.h */ diff --git a/sysdeps/unix/sysv/linux/tile/sys/procfs.h b/sysdeps/unix/sysv/linux/tile/sys/procfs.h deleted file mode 100644 index cc93f57..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/procfs.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _SYS_PROCFS_H -#define _SYS_PROCFS_H 1 - -/* This is somewhat modelled after the file of the same name on SVR4 - systems. It provides a definition of the core file format for ELF - used on Linux. It doesn't have anything to do with the /proc file - system, even though Linux has one. - - Anyway, the whole purpose of this file is for GDB and GDB only. - Don't read too much into it. Don't use it for anything other than - GDB unless you know what you are doing. */ - -#include <features.h> -#include <sys/time.h> -#include <sys/types.h> - -#define __need_int_reg_t -#include <arch/abi.h> - -__BEGIN_DECLS - -/* Type for a general-purpose register. */ -typedef __uint_reg_t elf_greg_t; - -/* And the whole bunch of them. We could have used `struct pt_regs' - from <asm/ptrace.h> directly in the typedef, but tradition says that - the register set is an array, which does have some peculiar - semantics, so leave it that way. */ -#define ELF_NGREG 64 -#define ELF_NFPREG 0 -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; -typedef elf_greg_t elf_fpregset_t[ELF_NFPREG]; - -/* Signal info. */ -struct elf_siginfo - { - int si_signo; /* Signal number. */ - int si_code; /* Extra code. */ - int si_errno; /* Errno. */ - }; - - -/* Definitions to generate Intel SVR4-like core files. These mostly - have the same names as the SVR4 types with "elf_" tacked on the - front to prevent clashes with Linux definitions, and the typedef - forms have been avoided. This is mostly like the SVR4 structure, - but more Linuxy, with things that Linux does not support and which - GDB doesn't really use excluded. */ - -struct elf_prstatus - { - struct elf_siginfo pr_info; /* Info associated with signal. */ - short int pr_cursig; /* Current signal. */ - unsigned long int pr_sigpend; /* Set of pending signals. */ - unsigned long int pr_sighold; /* Set of held signals. */ - __pid_t pr_pid; - __pid_t pr_ppid; - __pid_t pr_pgrp; - __pid_t pr_sid; - struct timeval pr_utime; /* User time. */ - struct timeval pr_stime; /* System time. */ - struct timeval pr_cutime; /* Cumulative user time. */ - struct timeval pr_cstime; /* Cumulative system time. */ - elf_gregset_t pr_reg; /* GP registers. */ - int pr_fpvalid; /* True if math copro being used. */ - }; - - -#define ELF_PRARGSZ (80) /* Number of chars for args. */ - -struct elf_prpsinfo - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - unsigned long int pr_flag; /* Flags. */ - unsigned int pr_uid; - unsigned int pr_gid; - int pr_pid, pr_ppid, pr_pgrp, pr_sid; - /* Lots missing */ - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ - }; - - -/* The rest of this file provides the types for emulation of the - Solaris <proc_service.h> interfaces that should be implemented by - users of libthread_db. */ - -/* Addresses. */ -typedef void *psaddr_t; - -/* Register sets. Linux has different names. */ -typedef elf_gregset_t prgregset_t; - -/* Provide dummy declaration here; we don't have FP registers. */ -typedef elf_fpregset_t prfpregset_t; - -/* We don't have any differences between processes and threads, - therefore have only one PID type. */ -typedef __pid_t lwpid_t; - -/* Process status and info. In the end we do provide typedefs for them. */ -typedef struct elf_prstatus prstatus_t; -typedef struct elf_prpsinfo prpsinfo_t; - -__END_DECLS - -#endif /* sys/procfs.h */ diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h deleted file mode 100644 index d391037..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h +++ /dev/null @@ -1,152 +0,0 @@ -/* `ptrace' debugger support interface. Linux/Tile version. - Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _SYS_PTRACE_H -#define _SYS_PTRACE_H 1 - -#include <features.h> -#include <bits/types.h> - -__BEGIN_DECLS - -/* Type of the REQUEST argument to `ptrace.' */ -enum __ptrace_request -{ - /* Indicate that the process making this request should be traced. - All signals received by this process can be intercepted by its - parent, and its parent can use the other `ptrace' requests. */ - PTRACE_TRACEME = 0, -#define PT_TRACE_ME PTRACE_TRACEME - - /* Return the word in the process's text space at address ADDR. */ - PTRACE_PEEKTEXT = 1, -#define PT_READ_I PTRACE_PEEKTEXT - - /* Return the word in the process's data space at address ADDR. */ - PTRACE_PEEKDATA = 2, -#define PT_READ_D PTRACE_PEEKDATA - - /* Return the word in the process's user area at offset ADDR. */ - PTRACE_PEEKUSER = 3, -#define PT_READ_U PTRACE_PEEKUSER - - /* Write the word DATA into the process's text space at address ADDR. */ - PTRACE_POKETEXT = 4, -#define PT_WRITE_I PTRACE_POKETEXT - - /* Write the word DATA into the process's data space at address ADDR. */ - PTRACE_POKEDATA = 5, -#define PT_WRITE_D PTRACE_POKEDATA - - /* Write the word DATA into the process's user area at offset ADDR. */ - PTRACE_POKEUSER = 6, -#define PT_WRITE_U PTRACE_POKEUSER - - /* Continue the process. */ - PTRACE_CONT = 7, -#define PT_CONTINUE PTRACE_CONT - - /* Kill the process. */ - PTRACE_KILL = 8, -#define PT_KILL PTRACE_KILL - - /* Single step the process. */ - PTRACE_SINGLESTEP = 9, -#define PT_STEP PTRACE_SINGLESTEP - - /* Get all general purpose registers used by a processes. */ - PTRACE_GETREGS = 12, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. */ - PTRACE_SETREGS = 13, -#define PT_SETREGS PTRACE_SETREGS - - /* Attach to a process that is already running. */ - PTRACE_ATTACH = 16, -#define PT_ATTACH PTRACE_ATTACH - - /* Detach from a process attached to with PTRACE_ATTACH. */ - PTRACE_DETACH = 17, -#define PT_DETACH PTRACE_DETACH - - /* Continue and stop at the next entry to or return from syscall. */ - PTRACE_SYSCALL = 24, -#define PT_SYSCALL PTRACE_SYSCALL - - /* Set ptrace filter options. */ - PTRACE_SETOPTIONS = 0x4200, -#define PT_SETOPTIONS PTRACE_SETOPTIONS - - /* Get last ptrace message. */ - PTRACE_GETEVENTMSG = 0x4201, -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG - - /* Get siginfo for process. */ - PTRACE_GETSIGINFO = 0x4202, -#define PT_GETSIGINFO PTRACE_GETSIGINFO - - /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203, -#define PT_SETSIGINFO PTRACE_SETSIGINFO - - /* Set register content. */ - PTRACE_SETREGSET = 0x4205, -#define PTRACE_SETREGSET PTRACE_SETREGSET - - /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect - signal or group stop state. */ - PTRACE_SEIZE = 0x4206, -#define PTRACE_SEIZE PTRACE_SEIZE - - /* Trap seized tracee. */ - PTRACE_INTERRUPT = 0x4207, -#define PTRACE_INTERRUPT PTRACE_INTERRUPT - - /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208, -#define PTRACE_LISTEN PTRACE_LISTEN - - /* Retrieve siginfo_t structures without removing signals from a queue. */ - PTRACE_PEEKSIGINFO = 0x4209, -#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO - - /* Get the mask of blocked signals. */ - PTRACE_GETSIGMASK = 0x420a, -#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK - - /* Change the mask of blocked signals. */ - PTRACE_SETSIGMASK = 0x420b, -#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK - - /* Get seccomp BPF filters. */ - PTRACE_SECCOMP_GET_FILTER = 0x420c, -#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER - - /* Get seccomp BPF filter metadata. */ - PTRACE_SECCOMP_GET_METADATA = 0x420d -#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA -}; - - -#include <bits/ptrace-shared.h> - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ diff --git a/sysdeps/unix/sysv/linux/tile/sys/reg.h b/sysdeps/unix/sysv/linux/tile/sys/reg.h deleted file mode 100644 index 1ab17ce..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/reg.h +++ /dev/null @@ -1,2 +0,0 @@ -/* The traditional purpose of "sys/reg.h" is satisfied by "arch/abi.h". */ -#include <arch/abi.h> diff --git a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h b/sysdeps/unix/sysv/linux/tile/sys/ucontext.h deleted file mode 100644 index 06d0888..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> - -#include <bits/types/sigset_t.h> -#include <bits/types/stack_t.h> - -#ifdef __USE_MISC -# define __ctx(fld) fld -#else -# define __ctx(fld) __ ## fld -#endif - -#ifdef __USE_MISC -/* Get register type and register names. */ -# include <arch/abi.h> - - -/* Type for general register. */ -typedef uint_reg_t greg_t; - -/* Number of general registers. Must agree with <asm/ptrace.h>. */ -# define NGREG 64 - -/* Container for all general registers. */ -typedef greg_t gregset_t[NGREG]; -#endif - -#ifdef __USE_GNU -/* Names for interesting registers in the `gregset_t' array. */ -enum -{ - /* ... r0 through r51 are just 0 through 51 ... */ - REG_FP = TREG_FP, -# define REG_FP REG_FP - REG_TP = TREG_TP, -# define REG_TP REG_TP - REG_SP = TREG_SP, -# define REG_SP REG_SP - REG_LR = TREG_LR, -# define REG_LR REG_LR -}; -#endif - -#define __need_int_reg_t -#include <arch/abi.h> - -/* A machine context is exactly a sigcontext. */ -typedef struct - { - __extension__ union - { - __uint_reg_t __ctx(gregs)[56]; - __extension__ struct - { - __uint_reg_t __ctx(__gregs)[53]; - __uint_reg_t __ctx(tp); - __uint_reg_t __ctx(sp); - __uint_reg_t __ctx(lr); - }; - }; - __uint_reg_t __ctx(pc); - __uint_reg_t __ctx(ics); - __uint_reg_t __ctx(faultnum); - __uint_reg_t __glibc_reserved1[5]; - } mcontext_t; - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long int __ctx(uc_flags); - struct ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - sigset_t uc_sigmask; - } ucontext_t; - -#undef __ctx - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/tile/sys/user.h b/sysdeps/unix/sysv/linux/tile/sys/user.h deleted file mode 100644 index c871f1a..0000000 --- a/sysdeps/unix/sysv/linux/tile/sys/user.h +++ /dev/null @@ -1 +0,0 @@ -/* This file is not needed, but in practice gdb might try to include it. */ diff --git a/sysdeps/unix/sysv/linux/tile/syscall.S b/sysdeps/unix/sysv/linux/tile/syscall.S deleted file mode 100644 index f6aaf6b..0000000 --- a/sysdeps/unix/sysv/linux/tile/syscall.S +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <arch/abi.h> - - .text -ENTRY (syscall) - FEEDBACK_ENTER(syscall) - { move TREG_SYSCALL_NR_NAME, r0; move r0, r1 } - { move r1, r2; move r2, r3 } - { move r3, r4; move r4, r5 } - { move r5, r6; move r6, r7 } - swint1 - bnez r1, 0f - jrp lr -PSEUDO_END (syscall) diff --git a/sysdeps/unix/sysv/linux/tile/sysconf.c b/sysdeps/unix/sysv/linux/tile/sysconf.c deleted file mode 100644 index d585ec0..0000000 --- a/sysdeps/unix/sysv/linux/tile/sysconf.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (C) 2014-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - 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 <unistd.h> -#include <sys/sysinfo.h> -#include <arch/chip.h> - -static long int linux_sysconf (int name); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (int name) -{ - /* Currently we support only tilegx, which have statically-known cache - sizes. */ - switch (name) - { - /* Level 1 cache. */ - case _SC_LEVEL1_ICACHE_SIZE: - return CHIP_L1I_CACHE_SIZE(); - case _SC_LEVEL1_ICACHE_ASSOC: - return CHIP_L1I_ASSOC(); - case _SC_LEVEL1_ICACHE_LINESIZE: - return CHIP_L1I_LINE_SIZE(); - case _SC_LEVEL1_DCACHE_SIZE: - return CHIP_L1D_CACHE_SIZE(); - case _SC_LEVEL1_DCACHE_ASSOC: - return CHIP_L1D_ASSOC(); - case _SC_LEVEL1_DCACHE_LINESIZE: - return CHIP_L1D_LINE_SIZE(); - - /* Level 2 cache. */ - case _SC_LEVEL2_CACHE_SIZE: - return CHIP_L2_CACHE_SIZE(); - case _SC_LEVEL2_CACHE_ASSOC: - return CHIP_L2_ASSOC(); - case _SC_LEVEL2_CACHE_LINESIZE: - return CHIP_L2_LINE_SIZE(); - - /* Level 3 cache is layered on level 2 cache. */ - case _SC_LEVEL3_CACHE_SIZE: - return CHIP_L2_CACHE_SIZE() * __get_nprocs(); - case _SC_LEVEL3_CACHE_ASSOC: - return CHIP_L2_ASSOC(); - case _SC_LEVEL3_CACHE_LINESIZE: - return CHIP_L2_LINE_SIZE(); - - /* No level 4 cache. */ - case _SC_LEVEL4_CACHE_SIZE: - case _SC_LEVEL4_CACHE_ASSOC: - case _SC_LEVEL4_CACHE_LINESIZE: - return -1; - } - - return linux_sysconf (name); -} - -/* Now the generic Linux version. */ -#undef __sysconf -#define __sysconf static linux_sysconf -#include <sysdeps/unix/sysv/linux/sysconf.c> diff --git a/sysdeps/unix/sysv/linux/tile/sysdep.c b/sysdeps/unix/sysv/linux/tile/sysdep.c deleted file mode 100644 index 37c9d96..0000000 --- a/sysdeps/unix/sysv/linux/tile/sysdep.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <errno.h> - -int __syscall_error (int dummy, int err); -hidden_proto (__syscall_error) - -/* This routine is jumped to by all the syscall handlers, to stash - an error number into errno. */ -int -__syscall_error (int dummy, int err) -{ - __set_errno (err); - return -1; -} -hidden_def (__syscall_error) diff --git a/sysdeps/unix/sysv/linux/tile/sysdep.h b/sysdeps/unix/sysv/linux/tile/sysdep.h deleted file mode 100644 index 9827e4b..0000000 --- a/sysdeps/unix/sysv/linux/tile/sysdep.h +++ /dev/null @@ -1,243 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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 <asm/unistd.h> -#include <sysdeps/tile/sysdep.h> -#include <sysdeps/unix/sysv/linux/generic/sysdep.h> -#include <sys/syscall.h> - -#undef SYS_ify -#define SYS_ify(syscall_name) __NR_##syscall_name - - -#ifdef __ASSEMBLER__ - -/* The actual implementation of doing a syscall. */ -#define DO_CALL(syscall_name, args) \ - moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name); \ - swint1 - -/* TILE Linux returns the result in r0 (or a negative errno). - The kernel "owns" the code to decide if a given value is an error, - and puts errno in r1 if so, or otherwise zero. */ -#define PSEUDO(name, syscall_name, args) \ - ENTRY (name); \ - DO_CALL(syscall_name, args); \ - BNEZ r1, 0f - -#define ret jrp lr - -#ifndef SHARED -/* For static code, on error jump to __syscall_error directly. */ -# define SYSCALL_ERROR_NAME __syscall_error -#elif IS_IN (libc) || IS_IN (libpthread) -/* Use the internal name for libc/libpthread shared objects. */ -# define SYSCALL_ERROR_NAME __GI___syscall_error -#else -/* Otherwise, on error do a full PLT jump. */ -# define SYSCALL_ERROR_NAME plt(__syscall_error) -#endif - -#undef PSEUDO_END -#define PSEUDO_END(name) \ -0: \ - j SYSCALL_ERROR_NAME; \ - END (name) - -#undef PSEUDO_NOERRNO -#define PSEUDO_NOERRNO(name, syscall_name, args) \ - ENTRY (name); \ - DO_CALL(syscall_name, args) - -#define ret_NOERRNO jrp lr - -#undef PSEUDO_END_NOERRNO -#define PSEUDO_END_NOERRNO(name) \ - END (name) - -/* Convenience wrappers. */ -#define SYSCALL__(name, args) PSEUDO (__##name, name, args) -#define SYSCALL(name, args) PSEUDO (name, name, args) - -#else /* not __ASSEMBLER__ */ - -#include <errno.h> - -/* Define a macro which expands inline into the wrapper code for a system - call. */ -# undef INLINE_SYSCALL -# define INLINE_SYSCALL(name, nr, args...) \ - ({ \ - INTERNAL_SYSCALL_DECL (_sc_err); \ - unsigned long _sc_val = INTERNAL_SYSCALL (name, _sc_err, nr, args); \ - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sc_val, _sc_err), 0)) \ - { \ - __set_errno (INTERNAL_SYSCALL_ERRNO (_sc_val, _sc_err)); \ - _sc_val = -1; \ - } \ - (long) _sc_val; \ - }) - -#undef INTERNAL_SYSCALL -#define INTERNAL_SYSCALL(name, err, nr, args...) \ - internal_syscall##nr (SYS_ify (name), err, args) - -#undef INTERNAL_SYSCALL_NCS -#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \ - internal_syscall##nr (number, err, args) - -#undef INTERNAL_SYSCALL_DECL -#define INTERNAL_SYSCALL_DECL(err) int err - -#undef INTERNAL_SYSCALL_ERROR_P -#define INTERNAL_SYSCALL_ERROR_P(val, err) ({ (void) (val); (err) != 0; }) - -#undef INTERNAL_SYSCALL_ERRNO -#define INTERNAL_SYSCALL_ERRNO(val, err) ({ (void) (val); (err); }) - -#define internal_syscall0(num, err, dummy...) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall1(num, err, arg0) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall2(num, err, arg0, arg1) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0), "R01" (arg1) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall3(num, err, arg0, arg1, arg2) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall4(num, err, arg0, arg1, arg2, arg3) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \ - "R03" (arg3) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall5(num, err, arg0, arg1, arg2, arg3, arg4) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \ - "R03" (arg3), "R04" (arg4) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#define internal_syscall6(num, err, arg0, arg1, arg2, arg3, arg4, arg5) \ - ({ \ - long _sys_result, __SYSCALL_CLOBBER_DECLS; \ - __asm__ __volatile__ ( \ - "swint1" \ - : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \ - : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \ - "R03" (arg3), "R04" (arg4), "R05" (arg5) \ - : __SYSCALL_CLOBBERS); \ - _sys_result; \ - }) - -#undef __SYSCALL_CLOBBERS -#define __SYSCALL_CLOBBERS \ - "r6", "r7", \ - "r8", "r9", "r11", "r12", "r13", "r14", "r15", \ - "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", \ - "r24", "r25", "r26", "r27", "r28", "r29", "memory" - -/* gcc doesn't seem to allow an input operand to be clobbered, so we - fake it with dummy outputs. */ -#define __SYSCALL_CLOBBER_DECLS \ - _clobber_r2, _clobber_r3, _clobber_r4, _clobber_r5, _clobber_r10 - -#define __SYSCALL_CLOBBER_OUTPUTS \ - "=R02" (_clobber_r2), "=R03" (_clobber_r3), "=R04" (_clobber_r4), \ - "=R05" (_clobber_r5), "=R10" (_clobber_r10) - - -#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \ - ({ \ - struct syscall_return_value _sc_rv = funcptr (args); \ - err = _sc_rv.error; \ - _sc_rv.value; \ - }) - -/* List of system calls which are supported as vsyscalls. */ -#define HAVE_CLOCK_GETTIME_VSYSCALL 1 -#define HAVE_GETTIMEOFDAY_VSYSCALL 1 - -/* Previously tile used the generic version without the libc_hidden_def - which lead in a non existent __send symbol in libc.so. */ -#undef HAVE_INTERNAL_SEND_SYMBOL - -#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(reg, tmpreg) \ - ADDLI_PTR tmpreg, pt, POINTER_GUARD; \ - LD tmpreg, tmpreg; \ - xor reg, tmpreg, reg -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (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 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/Implies b/sysdeps/unix/sysv/linux/tile/tilegx32/Implies deleted file mode 100644 index 0023bb7..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/Implies +++ /dev/null @@ -1,3 +0,0 @@ -unix/sysv/linux/tile -unix/sysv/linux/generic/wordsize-32 -unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile deleted file mode 100644 index 1e9d29b..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile +++ /dev/null @@ -1 +0,0 @@ -default-abi := 32 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data deleted file mode 100644 index 1a7bcb3..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data +++ /dev/null @@ -1,67 +0,0 @@ -blkcnt64_t:x -blkcnt_t:l -blksize_t:i -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:x -rlim64_t:y -rlim_t:m -sigset_t:10__sigset_t -size_t:j -socklen_t:j -ssize_t:i -suseconds_t:l -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/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h deleted file mode 100644 index eb64802..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h +++ /dev/null @@ -1,6 +0,0 @@ -#define JMP_BUF_SIZE 392 -#define SIGJMP_BUF_SIZE 392 -#define JMP_BUF_ALIGN 8 -#define SIGJMP_BUF_ALIGN 8 -#define MASK_WAS_SAVED_OFFSET 256 -#define SAVED_MASK_OFFSET 260 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist deleted file mode 100644 index f166310..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist +++ /dev/null @@ -1,9 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __libc_stack_end D 0x4 -GLIBC_2.12 __tls_get_addr F -GLIBC_2.12 _dl_mcount F -GLIBC_2.12 _r_debug D 0x14 -GLIBC_2.12 calloc F -GLIBC_2.12 free F -GLIBC_2.12 malloc F -GLIBC_2.12 realloc F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist deleted file mode 100644 index 0d64827..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist +++ /dev/null @@ -1,2 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist deleted file mode 100644 index a3b1cc0..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist +++ /dev/null @@ -1,5 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 gai_cancel F -GLIBC_2.12 gai_error F -GLIBC_2.12 gai_suspend F -GLIBC_2.12 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist deleted file mode 100644 index ab56ece..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist +++ /dev/null @@ -1,2138 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _Exit F -GLIBC_2.12 _IO_2_1_stderr_ D 0xa0 -GLIBC_2.12 _IO_2_1_stdin_ D 0xa0 -GLIBC_2.12 _IO_2_1_stdout_ D 0xa0 -GLIBC_2.12 _IO_adjust_column F -GLIBC_2.12 _IO_adjust_wcolumn F -GLIBC_2.12 _IO_default_doallocate F -GLIBC_2.12 _IO_default_finish F -GLIBC_2.12 _IO_default_pbackfail F -GLIBC_2.12 _IO_default_uflow F -GLIBC_2.12 _IO_default_xsgetn F -GLIBC_2.12 _IO_default_xsputn F -GLIBC_2.12 _IO_do_write F -GLIBC_2.12 _IO_doallocbuf F -GLIBC_2.12 _IO_fclose F -GLIBC_2.12 _IO_fdopen F -GLIBC_2.12 _IO_feof F -GLIBC_2.12 _IO_ferror F -GLIBC_2.12 _IO_fflush F -GLIBC_2.12 _IO_fgetpos F -GLIBC_2.12 _IO_fgetpos64 F -GLIBC_2.12 _IO_fgets F -GLIBC_2.12 _IO_file_attach F -GLIBC_2.12 _IO_file_close F -GLIBC_2.12 _IO_file_close_it F -GLIBC_2.12 _IO_file_doallocate F -GLIBC_2.12 _IO_file_finish F -GLIBC_2.12 _IO_file_fopen F -GLIBC_2.12 _IO_file_init F -GLIBC_2.12 _IO_file_jumps D 0x54 -GLIBC_2.12 _IO_file_open F -GLIBC_2.12 _IO_file_overflow F -GLIBC_2.12 _IO_file_read F -GLIBC_2.12 _IO_file_seek F -GLIBC_2.12 _IO_file_seekoff F -GLIBC_2.12 _IO_file_setbuf F -GLIBC_2.12 _IO_file_stat F -GLIBC_2.12 _IO_file_sync F -GLIBC_2.12 _IO_file_underflow F -GLIBC_2.12 _IO_file_write F -GLIBC_2.12 _IO_file_xsputn F -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_flush_all F -GLIBC_2.12 _IO_flush_all_linebuffered F -GLIBC_2.12 _IO_fopen F -GLIBC_2.12 _IO_fprintf F -GLIBC_2.12 _IO_fputs F -GLIBC_2.12 _IO_fread F -GLIBC_2.12 _IO_free_backup_area F -GLIBC_2.12 _IO_free_wbackup_area F -GLIBC_2.12 _IO_fsetpos F -GLIBC_2.12 _IO_fsetpos64 F -GLIBC_2.12 _IO_ftell F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 _IO_fwrite F -GLIBC_2.12 _IO_getc F -GLIBC_2.12 _IO_getline F -GLIBC_2.12 _IO_getline_info F -GLIBC_2.12 _IO_gets F -GLIBC_2.12 _IO_init F -GLIBC_2.12 _IO_init_marker F -GLIBC_2.12 _IO_init_wmarker F -GLIBC_2.12 _IO_iter_begin F -GLIBC_2.12 _IO_iter_end F -GLIBC_2.12 _IO_iter_file F -GLIBC_2.12 _IO_iter_next F -GLIBC_2.12 _IO_least_wmarker F -GLIBC_2.12 _IO_link_in F -GLIBC_2.12 _IO_list_all D 0x4 -GLIBC_2.12 _IO_list_lock F -GLIBC_2.12 _IO_list_resetlock F -GLIBC_2.12 _IO_list_unlock F -GLIBC_2.12 _IO_marker_delta F -GLIBC_2.12 _IO_marker_difference F -GLIBC_2.12 _IO_padn F -GLIBC_2.12 _IO_peekc_locked F -GLIBC_2.12 _IO_popen F -GLIBC_2.12 _IO_printf F -GLIBC_2.12 _IO_proc_close F -GLIBC_2.12 _IO_proc_open F -GLIBC_2.12 _IO_putc F -GLIBC_2.12 _IO_puts F -GLIBC_2.12 _IO_remove_marker F -GLIBC_2.12 _IO_seekmark F -GLIBC_2.12 _IO_seekoff F -GLIBC_2.12 _IO_seekpos F -GLIBC_2.12 _IO_seekwmark F -GLIBC_2.12 _IO_setb F -GLIBC_2.12 _IO_setbuffer F -GLIBC_2.12 _IO_setvbuf F -GLIBC_2.12 _IO_sgetn F -GLIBC_2.12 _IO_sprintf F -GLIBC_2.12 _IO_sputbackc F -GLIBC_2.12 _IO_sputbackwc F -GLIBC_2.12 _IO_sscanf F -GLIBC_2.12 _IO_str_init_readonly F -GLIBC_2.12 _IO_str_init_static F -GLIBC_2.12 _IO_str_overflow F -GLIBC_2.12 _IO_str_pbackfail F -GLIBC_2.12 _IO_str_seekoff F -GLIBC_2.12 _IO_str_underflow F -GLIBC_2.12 _IO_sungetc F -GLIBC_2.12 _IO_sungetwc F -GLIBC_2.12 _IO_switch_to_get_mode F -GLIBC_2.12 _IO_switch_to_main_wget_area F -GLIBC_2.12 _IO_switch_to_wbackup_area F -GLIBC_2.12 _IO_switch_to_wget_mode F -GLIBC_2.12 _IO_un_link F -GLIBC_2.12 _IO_ungetc F -GLIBC_2.12 _IO_unsave_markers F -GLIBC_2.12 _IO_unsave_wmarkers F -GLIBC_2.12 _IO_vfprintf F -GLIBC_2.12 _IO_vfscanf F -GLIBC_2.12 _IO_vsprintf F -GLIBC_2.12 _IO_wdefault_doallocate F -GLIBC_2.12 _IO_wdefault_finish F -GLIBC_2.12 _IO_wdefault_pbackfail F -GLIBC_2.12 _IO_wdefault_uflow F -GLIBC_2.12 _IO_wdefault_xsgetn F -GLIBC_2.12 _IO_wdefault_xsputn F -GLIBC_2.12 _IO_wdo_write F -GLIBC_2.12 _IO_wdoallocbuf F -GLIBC_2.12 _IO_wfile_jumps D 0x54 -GLIBC_2.12 _IO_wfile_overflow F -GLIBC_2.12 _IO_wfile_seekoff F -GLIBC_2.12 _IO_wfile_sync F -GLIBC_2.12 _IO_wfile_underflow F -GLIBC_2.12 _IO_wfile_xsputn F -GLIBC_2.12 _IO_wmarker_delta F -GLIBC_2.12 _IO_wsetb F -GLIBC_2.12 ___brk_addr D 0x4 -GLIBC_2.12 __adjtimex F -GLIBC_2.12 __after_morecore_hook D 0x4 -GLIBC_2.12 __argz_count F -GLIBC_2.12 __argz_next F -GLIBC_2.12 __argz_stringify F -GLIBC_2.12 __asprintf F -GLIBC_2.12 __asprintf_chk F -GLIBC_2.12 __assert F -GLIBC_2.12 __assert_fail F -GLIBC_2.12 __assert_perror_fail F -GLIBC_2.12 __backtrace F -GLIBC_2.12 __backtrace_symbols F -GLIBC_2.12 __backtrace_symbols_fd F -GLIBC_2.12 __bsd_getpgrp F -GLIBC_2.12 __bzero F -GLIBC_2.12 __check_rhosts_file D 0x4 -GLIBC_2.12 __chk_fail F -GLIBC_2.12 __clone F -GLIBC_2.12 __close F -GLIBC_2.12 __cmsg_nxthdr F -GLIBC_2.12 __confstr_chk F -GLIBC_2.12 __connect F -GLIBC_2.12 __ctype_b_loc F -GLIBC_2.12 __ctype_get_mb_cur_max F -GLIBC_2.12 __ctype_tolower_loc F -GLIBC_2.12 __ctype_toupper_loc F -GLIBC_2.12 __curbrk D 0x4 -GLIBC_2.12 __cxa_at_quick_exit F -GLIBC_2.12 __cxa_atexit F -GLIBC_2.12 __cxa_finalize F -GLIBC_2.12 __cyg_profile_func_enter F -GLIBC_2.12 __cyg_profile_func_exit F -GLIBC_2.12 __daylight D 0x4 -GLIBC_2.12 __dcgettext F -GLIBC_2.12 __default_morecore F -GLIBC_2.12 __dgettext F -GLIBC_2.12 __dprintf_chk F -GLIBC_2.12 __dup2 F -GLIBC_2.12 __duplocale F -GLIBC_2.12 __endmntent F -GLIBC_2.12 __environ D 0x4 -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fbufsize F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __ffs F -GLIBC_2.12 __fgets_chk F -GLIBC_2.12 __fgets_unlocked_chk F -GLIBC_2.12 __fgetws_chk F -GLIBC_2.12 __fgetws_unlocked_chk F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __flbf F -GLIBC_2.12 __fork F -GLIBC_2.12 __fpending F -GLIBC_2.12 __fprintf_chk F -GLIBC_2.12 __fpu_control D 0x4 -GLIBC_2.12 __fpurge F -GLIBC_2.12 __fread_chk F -GLIBC_2.12 __fread_unlocked_chk F -GLIBC_2.12 __freadable F -GLIBC_2.12 __freading F -GLIBC_2.12 __free_hook D 0x4 -GLIBC_2.12 __freelocale F -GLIBC_2.12 __fsetlocking F -GLIBC_2.12 __fwprintf_chk F -GLIBC_2.12 __fwritable F -GLIBC_2.12 __fwriting F -GLIBC_2.12 __fxstat F -GLIBC_2.12 __fxstat64 F -GLIBC_2.12 __fxstatat F -GLIBC_2.12 __fxstatat64 F -GLIBC_2.12 __getcwd_chk F -GLIBC_2.12 __getdelim F -GLIBC_2.12 __getdomainname_chk F -GLIBC_2.12 __getgroups_chk F -GLIBC_2.12 __gethostname_chk F -GLIBC_2.12 __getlogin_r_chk F -GLIBC_2.12 __getmntent_r F -GLIBC_2.12 __getpagesize F -GLIBC_2.12 __getpgid F -GLIBC_2.12 __getpid F -GLIBC_2.12 __gets_chk F -GLIBC_2.12 __gettimeofday F -GLIBC_2.12 __getwd_chk F -GLIBC_2.12 __gmtime_r F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __isalnum_l F -GLIBC_2.12 __isalpha_l F -GLIBC_2.12 __isascii_l F -GLIBC_2.12 __isblank_l F -GLIBC_2.12 __iscntrl_l F -GLIBC_2.12 __isctype F -GLIBC_2.12 __isdigit_l F -GLIBC_2.12 __isgraph_l F -GLIBC_2.12 __isinf F -GLIBC_2.12 __isinff F -GLIBC_2.12 __islower_l F -GLIBC_2.12 __isnan F -GLIBC_2.12 __isnanf F -GLIBC_2.12 __isoc99_fscanf F -GLIBC_2.12 __isoc99_fwscanf F -GLIBC_2.12 __isoc99_scanf F -GLIBC_2.12 __isoc99_sscanf F -GLIBC_2.12 __isoc99_swscanf F -GLIBC_2.12 __isoc99_vfscanf F -GLIBC_2.12 __isoc99_vfwscanf F -GLIBC_2.12 __isoc99_vscanf F -GLIBC_2.12 __isoc99_vsscanf F -GLIBC_2.12 __isoc99_vswscanf F -GLIBC_2.12 __isoc99_vwscanf F -GLIBC_2.12 __isoc99_wscanf F -GLIBC_2.12 __isprint_l F -GLIBC_2.12 __ispunct_l F -GLIBC_2.12 __isspace_l F -GLIBC_2.12 __isupper_l F -GLIBC_2.12 __iswalnum_l F -GLIBC_2.12 __iswalpha_l F -GLIBC_2.12 __iswblank_l F -GLIBC_2.12 __iswcntrl_l F -GLIBC_2.12 __iswctype F -GLIBC_2.12 __iswctype_l F -GLIBC_2.12 __iswdigit_l F -GLIBC_2.12 __iswgraph_l F -GLIBC_2.12 __iswlower_l F -GLIBC_2.12 __iswprint_l F -GLIBC_2.12 __iswpunct_l F -GLIBC_2.12 __iswspace_l F -GLIBC_2.12 __iswupper_l F -GLIBC_2.12 __iswxdigit_l F -GLIBC_2.12 __isxdigit_l F -GLIBC_2.12 __ivaliduser F -GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x4 -GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x4 -GLIBC_2.12 __key_gendes_LOCAL D 0x4 -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_calloc F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __libc_free F -GLIBC_2.12 __libc_freeres F -GLIBC_2.12 __libc_init_first F -GLIBC_2.12 __libc_mallinfo F -GLIBC_2.12 __libc_malloc F -GLIBC_2.12 __libc_mallopt F -GLIBC_2.12 __libc_memalign F -GLIBC_2.12 __libc_pvalloc F -GLIBC_2.12 __libc_realloc F -GLIBC_2.12 __libc_sa_len F -GLIBC_2.12 __libc_start_main F -GLIBC_2.12 __libc_valloc F -GLIBC_2.12 __longjmp_chk F -GLIBC_2.12 __lseek F -GLIBC_2.12 __lxstat F -GLIBC_2.12 __lxstat64 F -GLIBC_2.12 __malloc_hook D 0x4 -GLIBC_2.12 __malloc_initialize_hook D 0x4 -GLIBC_2.12 __mbrlen F -GLIBC_2.12 __mbrtowc F -GLIBC_2.12 __mbsnrtowcs_chk F -GLIBC_2.12 __mbsrtowcs_chk F -GLIBC_2.12 __mbstowcs_chk F -GLIBC_2.12 __mcount F -GLIBC_2.12 __memalign_hook D 0x4 -GLIBC_2.12 __memcpy_chk F -GLIBC_2.12 __memmove_chk F -GLIBC_2.12 __mempcpy F -GLIBC_2.12 __mempcpy_chk F -GLIBC_2.12 __mempcpy_small F -GLIBC_2.12 __memset_chk F -GLIBC_2.12 __monstartup F -GLIBC_2.12 __morecore D 0x4 -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __newlocale F -GLIBC_2.12 __nl_langinfo_l F -GLIBC_2.12 __nss_configure_lookup F -GLIBC_2.12 __nss_database_lookup F -GLIBC_2.12 __nss_group_lookup F -GLIBC_2.12 __nss_hostname_digits_dots F -GLIBC_2.12 __nss_hosts_lookup F -GLIBC_2.12 __nss_next F -GLIBC_2.12 __nss_passwd_lookup F -GLIBC_2.12 __obstack_printf_chk F -GLIBC_2.12 __obstack_vprintf_chk F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __open64_2 F -GLIBC_2.12 __open_2 F -GLIBC_2.12 __openat64_2 F -GLIBC_2.12 __openat_2 F -GLIBC_2.12 __overflow F -GLIBC_2.12 __pipe F -GLIBC_2.12 __poll F -GLIBC_2.12 __posix_getopt F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pread64_chk F -GLIBC_2.12 __pread_chk F -GLIBC_2.12 __printf_chk F -GLIBC_2.12 __printf_fp F -GLIBC_2.12 __profile_frequency F -GLIBC_2.12 __progname D 0x4 -GLIBC_2.12 __progname_full D 0x4 -GLIBC_2.12 __ptsname_r_chk F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __rawmemchr F -GLIBC_2.12 __rcmd_errstr D 0x4 -GLIBC_2.12 __read F -GLIBC_2.12 __read_chk F -GLIBC_2.12 __readlink_chk F -GLIBC_2.12 __readlinkat_chk F -GLIBC_2.12 __realloc_hook D 0x4 -GLIBC_2.12 __realpath_chk F -GLIBC_2.12 __recv_chk F -GLIBC_2.12 __recvfrom_chk F -GLIBC_2.12 __register_atfork F -GLIBC_2.12 __res_init F -GLIBC_2.12 __res_nclose F -GLIBC_2.12 __res_ninit F -GLIBC_2.12 __res_randomid F -GLIBC_2.12 __res_state F -GLIBC_2.12 __rpc_thread_createerr F -GLIBC_2.12 __rpc_thread_svc_fdset F -GLIBC_2.12 __rpc_thread_svc_max_pollfd F -GLIBC_2.12 __rpc_thread_svc_pollfd F -GLIBC_2.12 __sbrk F -GLIBC_2.12 __sched_cpualloc F -GLIBC_2.12 __sched_cpucount F -GLIBC_2.12 __sched_cpufree F -GLIBC_2.12 __sched_get_priority_max F -GLIBC_2.12 __sched_get_priority_min F -GLIBC_2.12 __sched_getparam F -GLIBC_2.12 __sched_getscheduler F -GLIBC_2.12 __sched_setscheduler F -GLIBC_2.12 __sched_yield F -GLIBC_2.12 __secure_getenv F -GLIBC_2.12 __select F -GLIBC_2.12 __setmntent F -GLIBC_2.12 __setpgid F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __sigaddset F -GLIBC_2.12 __sigdelset F -GLIBC_2.12 __sigismember F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 __sigpause F -GLIBC_2.12 __sigsetjmp F -GLIBC_2.12 __sigsuspend F -GLIBC_2.12 __snprintf_chk F -GLIBC_2.12 __sprintf_chk F -GLIBC_2.12 __stack_chk_fail F -GLIBC_2.12 __statfs F -GLIBC_2.12 __stpcpy F -GLIBC_2.12 __stpcpy_chk F -GLIBC_2.12 __stpcpy_small F -GLIBC_2.12 __stpncpy F -GLIBC_2.12 __stpncpy_chk F -GLIBC_2.12 __strcasecmp F -GLIBC_2.12 __strcasecmp_l F -GLIBC_2.12 __strcasestr F -GLIBC_2.12 __strcat_chk F -GLIBC_2.12 __strcoll_l F -GLIBC_2.12 __strcpy_chk F -GLIBC_2.12 __strcpy_small F -GLIBC_2.12 __strcspn_c1 F -GLIBC_2.12 __strcspn_c2 F -GLIBC_2.12 __strcspn_c3 F -GLIBC_2.12 __strdup F -GLIBC_2.12 __strerror_r F -GLIBC_2.12 __strfmon_l F -GLIBC_2.12 __strftime_l F -GLIBC_2.12 __strncasecmp_l F -GLIBC_2.12 __strncat_chk F -GLIBC_2.12 __strncpy_chk F -GLIBC_2.12 __strndup F -GLIBC_2.12 __strpbrk_c2 F -GLIBC_2.12 __strpbrk_c3 F -GLIBC_2.12 __strsep_1c F -GLIBC_2.12 __strsep_2c F -GLIBC_2.12 __strsep_3c F -GLIBC_2.12 __strsep_g F -GLIBC_2.12 __strspn_c1 F -GLIBC_2.12 __strspn_c2 F -GLIBC_2.12 __strspn_c3 F -GLIBC_2.12 __strtod_internal F -GLIBC_2.12 __strtod_l F -GLIBC_2.12 __strtof_internal F -GLIBC_2.12 __strtof_l F -GLIBC_2.12 __strtok_r F -GLIBC_2.12 __strtok_r_1c F -GLIBC_2.12 __strtol_internal F -GLIBC_2.12 __strtol_l F -GLIBC_2.12 __strtold_internal F -GLIBC_2.12 __strtold_l F -GLIBC_2.12 __strtoll_internal F -GLIBC_2.12 __strtoll_l F -GLIBC_2.12 __strtoul_internal F -GLIBC_2.12 __strtoul_l F -GLIBC_2.12 __strtoull_internal F -GLIBC_2.12 __strtoull_l F -GLIBC_2.12 __strverscmp F -GLIBC_2.12 __strxfrm_l F -GLIBC_2.12 __swprintf_chk F -GLIBC_2.12 __sysconf F -GLIBC_2.12 __syslog_chk F -GLIBC_2.12 __sysv_signal F -GLIBC_2.12 __timezone D 0x4 -GLIBC_2.12 __toascii_l F -GLIBC_2.12 __tolower_l F -GLIBC_2.12 __toupper_l F -GLIBC_2.12 __towctrans F -GLIBC_2.12 __towctrans_l F -GLIBC_2.12 __towlower_l F -GLIBC_2.12 __towupper_l F -GLIBC_2.12 __ttyname_r_chk F -GLIBC_2.12 __tzname D 0x8 -GLIBC_2.12 __uflow F -GLIBC_2.12 __underflow F -GLIBC_2.12 __uselocale F -GLIBC_2.12 __vasprintf_chk F -GLIBC_2.12 __vdprintf_chk F -GLIBC_2.12 __vfork F -GLIBC_2.12 __vfprintf_chk F -GLIBC_2.12 __vfscanf F -GLIBC_2.12 __vfwprintf_chk F -GLIBC_2.12 __vprintf_chk F -GLIBC_2.12 __vsnprintf F -GLIBC_2.12 __vsnprintf_chk F -GLIBC_2.12 __vsprintf_chk F -GLIBC_2.12 __vsscanf F -GLIBC_2.12 __vswprintf_chk F -GLIBC_2.12 __vsyslog_chk F -GLIBC_2.12 __vwprintf_chk F -GLIBC_2.12 __wait F -GLIBC_2.12 __waitpid F -GLIBC_2.12 __wcpcpy_chk F -GLIBC_2.12 __wcpncpy_chk F -GLIBC_2.12 __wcrtomb_chk F -GLIBC_2.12 __wcscasecmp_l F -GLIBC_2.12 __wcscat_chk F -GLIBC_2.12 __wcscoll_l F -GLIBC_2.12 __wcscpy_chk F -GLIBC_2.12 __wcsftime_l F -GLIBC_2.12 __wcsncasecmp_l F -GLIBC_2.12 __wcsncat_chk F -GLIBC_2.12 __wcsncpy_chk F -GLIBC_2.12 __wcsnrtombs_chk F -GLIBC_2.12 __wcsrtombs_chk F -GLIBC_2.12 __wcstod_internal F -GLIBC_2.12 __wcstod_l F -GLIBC_2.12 __wcstof_internal F -GLIBC_2.12 __wcstof_l F -GLIBC_2.12 __wcstol_internal F -GLIBC_2.12 __wcstol_l F -GLIBC_2.12 __wcstold_internal F -GLIBC_2.12 __wcstold_l F -GLIBC_2.12 __wcstoll_internal F -GLIBC_2.12 __wcstoll_l F -GLIBC_2.12 __wcstombs_chk F -GLIBC_2.12 __wcstoul_internal F -GLIBC_2.12 __wcstoul_l F -GLIBC_2.12 __wcstoull_internal F -GLIBC_2.12 __wcstoull_l F -GLIBC_2.12 __wcsxfrm_l F -GLIBC_2.12 __wctomb_chk F -GLIBC_2.12 __wctrans_l F -GLIBC_2.12 __wctype_l F -GLIBC_2.12 __wmemcpy_chk F -GLIBC_2.12 __wmemmove_chk F -GLIBC_2.12 __wmempcpy_chk F -GLIBC_2.12 __wmemset_chk F -GLIBC_2.12 __woverflow F -GLIBC_2.12 __wprintf_chk F -GLIBC_2.12 __write F -GLIBC_2.12 __wuflow F -GLIBC_2.12 __wunderflow F -GLIBC_2.12 __xmknod F -GLIBC_2.12 __xmknodat F -GLIBC_2.12 __xpg_basename F -GLIBC_2.12 __xpg_sigpause F -GLIBC_2.12 __xpg_strerror_r F -GLIBC_2.12 __xstat F -GLIBC_2.12 __xstat64 F -GLIBC_2.12 _authenticate F -GLIBC_2.12 _dl_mcount_wrapper F -GLIBC_2.12 _dl_mcount_wrapper_check F -GLIBC_2.12 _environ D 0x4 -GLIBC_2.12 _exit F -GLIBC_2.12 _flush_cache F -GLIBC_2.12 _flushlbf F -GLIBC_2.12 _libc_intl_domainname D 0x5 -GLIBC_2.12 _longjmp F -GLIBC_2.12 _mcleanup F -GLIBC_2.12 _mcount F -GLIBC_2.12 _nl_default_dirname D 0x12 -GLIBC_2.12 _nl_domain_bindings D 0x4 -GLIBC_2.12 _nl_msg_cat_cntr D 0x4 -GLIBC_2.12 _null_auth D 0xc -GLIBC_2.12 _obstack_allocated_p F -GLIBC_2.12 _obstack_begin F -GLIBC_2.12 _obstack_begin_1 F -GLIBC_2.12 _obstack_free F -GLIBC_2.12 _obstack_memory_used F -GLIBC_2.12 _obstack_newchunk F -GLIBC_2.12 _res D 0x200 -GLIBC_2.12 _res_hconf D 0x30 -GLIBC_2.12 _rpc_dtablesize F -GLIBC_2.12 _seterr_reply F -GLIBC_2.12 _setjmp F -GLIBC_2.12 _sys_errlist D 0x21c -GLIBC_2.12 _sys_nerr D 0x4 -GLIBC_2.12 _sys_siglist D 0x104 -GLIBC_2.12 _tolower F -GLIBC_2.12 _toupper F -GLIBC_2.12 a64l F -GLIBC_2.12 abort F -GLIBC_2.12 abs F -GLIBC_2.12 accept F -GLIBC_2.12 accept4 F -GLIBC_2.12 access F -GLIBC_2.12 acct F -GLIBC_2.12 addmntent F -GLIBC_2.12 addseverity F -GLIBC_2.12 adjtime F -GLIBC_2.12 adjtimex F -GLIBC_2.12 advance F -GLIBC_2.12 alarm F -GLIBC_2.12 alphasort F -GLIBC_2.12 alphasort64 F -GLIBC_2.12 argp_err_exit_status D 0x4 -GLIBC_2.12 argp_error F -GLIBC_2.12 argp_failure F -GLIBC_2.12 argp_help F -GLIBC_2.12 argp_parse F -GLIBC_2.12 argp_program_bug_address D 0x4 -GLIBC_2.12 argp_program_version D 0x4 -GLIBC_2.12 argp_program_version_hook D 0x4 -GLIBC_2.12 argp_state_help F -GLIBC_2.12 argp_usage F -GLIBC_2.12 argz_add F -GLIBC_2.12 argz_add_sep F -GLIBC_2.12 argz_append F -GLIBC_2.12 argz_count F -GLIBC_2.12 argz_create F -GLIBC_2.12 argz_create_sep F -GLIBC_2.12 argz_delete F -GLIBC_2.12 argz_extract F -GLIBC_2.12 argz_insert F -GLIBC_2.12 argz_next F -GLIBC_2.12 argz_replace F -GLIBC_2.12 argz_stringify F -GLIBC_2.12 asctime F -GLIBC_2.12 asctime_r F -GLIBC_2.12 asprintf F -GLIBC_2.12 atof F -GLIBC_2.12 atoi F -GLIBC_2.12 atol F -GLIBC_2.12 atoll F -GLIBC_2.12 authdes_create F -GLIBC_2.12 authdes_getucred F -GLIBC_2.12 authdes_pk_create F -GLIBC_2.12 authnone_create F -GLIBC_2.12 authunix_create F -GLIBC_2.12 authunix_create_default F -GLIBC_2.12 backtrace F -GLIBC_2.12 backtrace_symbols F -GLIBC_2.12 backtrace_symbols_fd F -GLIBC_2.12 basename F -GLIBC_2.12 bcmp F -GLIBC_2.12 bcopy F -GLIBC_2.12 bdflush F -GLIBC_2.12 bind F -GLIBC_2.12 bind_textdomain_codeset F -GLIBC_2.12 bindresvport F -GLIBC_2.12 bindtextdomain F -GLIBC_2.12 brk F -GLIBC_2.12 bsd_signal F -GLIBC_2.12 bsearch F -GLIBC_2.12 btowc F -GLIBC_2.12 bzero F -GLIBC_2.12 cacheflush F -GLIBC_2.12 calloc F -GLIBC_2.12 callrpc F -GLIBC_2.12 canonicalize_file_name F -GLIBC_2.12 capget F -GLIBC_2.12 capset F -GLIBC_2.12 catclose F -GLIBC_2.12 catgets F -GLIBC_2.12 catopen F -GLIBC_2.12 cbc_crypt F -GLIBC_2.12 cfgetispeed F -GLIBC_2.12 cfgetospeed F -GLIBC_2.12 cfmakeraw F -GLIBC_2.12 cfree F -GLIBC_2.12 cfsetispeed F -GLIBC_2.12 cfsetospeed F -GLIBC_2.12 cfsetspeed F -GLIBC_2.12 chdir F -GLIBC_2.12 chflags F -GLIBC_2.12 chmod F -GLIBC_2.12 chown F -GLIBC_2.12 chroot F -GLIBC_2.12 clearenv F -GLIBC_2.12 clearerr F -GLIBC_2.12 clearerr_unlocked F -GLIBC_2.12 clnt_broadcast F -GLIBC_2.12 clnt_create F -GLIBC_2.12 clnt_pcreateerror F -GLIBC_2.12 clnt_perrno F -GLIBC_2.12 clnt_perror F -GLIBC_2.12 clnt_spcreateerror F -GLIBC_2.12 clnt_sperrno F -GLIBC_2.12 clnt_sperror F -GLIBC_2.12 clntraw_create F -GLIBC_2.12 clnttcp_create F -GLIBC_2.12 clntudp_bufcreate F -GLIBC_2.12 clntudp_create F -GLIBC_2.12 clntunix_create F -GLIBC_2.12 clock F -GLIBC_2.12 clone F -GLIBC_2.12 close F -GLIBC_2.12 closedir F -GLIBC_2.12 closelog F -GLIBC_2.12 confstr F -GLIBC_2.12 connect F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 creat F -GLIBC_2.12 creat64 F -GLIBC_2.12 create_module F -GLIBC_2.12 ctermid F -GLIBC_2.12 ctime F -GLIBC_2.12 ctime_r F -GLIBC_2.12 cuserid F -GLIBC_2.12 daemon F -GLIBC_2.12 daylight D 0x4 -GLIBC_2.12 dcgettext F -GLIBC_2.12 dcngettext F -GLIBC_2.12 delete_module F -GLIBC_2.12 des_setparity F -GLIBC_2.12 dgettext F -GLIBC_2.12 difftime F -GLIBC_2.12 dirfd F -GLIBC_2.12 dirname F -GLIBC_2.12 div F -GLIBC_2.12 dl_iterate_phdr F -GLIBC_2.12 dngettext F -GLIBC_2.12 dprintf F -GLIBC_2.12 drand48 F -GLIBC_2.12 drand48_r F -GLIBC_2.12 dup F -GLIBC_2.12 dup2 F -GLIBC_2.12 dup3 F -GLIBC_2.12 duplocale F -GLIBC_2.12 dysize F -GLIBC_2.12 eaccess F -GLIBC_2.12 ecb_crypt F -GLIBC_2.12 ecvt F -GLIBC_2.12 ecvt_r F -GLIBC_2.12 endaliasent F -GLIBC_2.12 endfsent F -GLIBC_2.12 endgrent F -GLIBC_2.12 endhostent F -GLIBC_2.12 endmntent F -GLIBC_2.12 endnetent F -GLIBC_2.12 endnetgrent F -GLIBC_2.12 endprotoent F -GLIBC_2.12 endpwent F -GLIBC_2.12 endrpcent F -GLIBC_2.12 endservent F -GLIBC_2.12 endsgent F -GLIBC_2.12 endspent F -GLIBC_2.12 endttyent F -GLIBC_2.12 endusershell F -GLIBC_2.12 endutent F -GLIBC_2.12 endutxent F -GLIBC_2.12 environ D 0x4 -GLIBC_2.12 envz_add F -GLIBC_2.12 envz_entry F -GLIBC_2.12 envz_get F -GLIBC_2.12 envz_merge F -GLIBC_2.12 envz_remove F -GLIBC_2.12 envz_strip F -GLIBC_2.12 epoll_create F -GLIBC_2.12 epoll_create1 F -GLIBC_2.12 epoll_ctl F -GLIBC_2.12 epoll_pwait F -GLIBC_2.12 epoll_wait F -GLIBC_2.12 erand48 F -GLIBC_2.12 erand48_r F -GLIBC_2.12 err F -GLIBC_2.12 error F -GLIBC_2.12 error_at_line F -GLIBC_2.12 error_message_count D 0x4 -GLIBC_2.12 error_one_per_line D 0x4 -GLIBC_2.12 error_print_progname D 0x4 -GLIBC_2.12 errx F -GLIBC_2.12 ether_aton F -GLIBC_2.12 ether_aton_r F -GLIBC_2.12 ether_hostton F -GLIBC_2.12 ether_line F -GLIBC_2.12 ether_ntoa F -GLIBC_2.12 ether_ntoa_r F -GLIBC_2.12 ether_ntohost F -GLIBC_2.12 euidaccess F -GLIBC_2.12 eventfd F -GLIBC_2.12 eventfd_read F -GLIBC_2.12 eventfd_write F -GLIBC_2.12 execl F -GLIBC_2.12 execle F -GLIBC_2.12 execlp F -GLIBC_2.12 execv F -GLIBC_2.12 execve F -GLIBC_2.12 execvp F -GLIBC_2.12 execvpe F -GLIBC_2.12 exit F -GLIBC_2.12 faccessat F -GLIBC_2.12 fallocate F -GLIBC_2.12 fallocate64 F -GLIBC_2.12 fattach F -GLIBC_2.12 fchdir F -GLIBC_2.12 fchflags F -GLIBC_2.12 fchmod F -GLIBC_2.12 fchmodat F -GLIBC_2.12 fchown F -GLIBC_2.12 fchownat F -GLIBC_2.12 fclose F -GLIBC_2.12 fcloseall F -GLIBC_2.12 fcntl F -GLIBC_2.12 fcvt F -GLIBC_2.12 fcvt_r F -GLIBC_2.12 fdatasync F -GLIBC_2.12 fdetach F -GLIBC_2.12 fdopen F -GLIBC_2.12 fdopendir F -GLIBC_2.12 feof F -GLIBC_2.12 feof_unlocked F -GLIBC_2.12 ferror F -GLIBC_2.12 ferror_unlocked F -GLIBC_2.12 fexecve F -GLIBC_2.12 fflush F -GLIBC_2.12 fflush_unlocked F -GLIBC_2.12 ffs F -GLIBC_2.12 ffsl F -GLIBC_2.12 ffsll F -GLIBC_2.12 fgetc F -GLIBC_2.12 fgetc_unlocked F -GLIBC_2.12 fgetgrent F -GLIBC_2.12 fgetgrent_r F -GLIBC_2.12 fgetpos F -GLIBC_2.12 fgetpos64 F -GLIBC_2.12 fgetpwent F -GLIBC_2.12 fgetpwent_r F -GLIBC_2.12 fgets F -GLIBC_2.12 fgets_unlocked F -GLIBC_2.12 fgetsgent F -GLIBC_2.12 fgetsgent_r F -GLIBC_2.12 fgetspent F -GLIBC_2.12 fgetspent_r F -GLIBC_2.12 fgetwc F -GLIBC_2.12 fgetwc_unlocked F -GLIBC_2.12 fgetws F -GLIBC_2.12 fgetws_unlocked F -GLIBC_2.12 fgetxattr F -GLIBC_2.12 fileno F -GLIBC_2.12 fileno_unlocked F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 flistxattr F -GLIBC_2.12 flock F -GLIBC_2.12 flockfile F -GLIBC_2.12 fmemopen F -GLIBC_2.12 fmtmsg F -GLIBC_2.12 fnmatch F -GLIBC_2.12 fopen F -GLIBC_2.12 fopen64 F -GLIBC_2.12 fopencookie F -GLIBC_2.12 fork F -GLIBC_2.12 fpathconf F -GLIBC_2.12 fprintf F -GLIBC_2.12 fputc F -GLIBC_2.12 fputc_unlocked F -GLIBC_2.12 fputs F -GLIBC_2.12 fputs_unlocked F -GLIBC_2.12 fputwc F -GLIBC_2.12 fputwc_unlocked F -GLIBC_2.12 fputws F -GLIBC_2.12 fputws_unlocked F -GLIBC_2.12 fread F -GLIBC_2.12 fread_unlocked F -GLIBC_2.12 free F -GLIBC_2.12 freeaddrinfo F -GLIBC_2.12 freeifaddrs F -GLIBC_2.12 freelocale F -GLIBC_2.12 fremovexattr F -GLIBC_2.12 freopen F -GLIBC_2.12 freopen64 F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 fscanf F -GLIBC_2.12 fseek F -GLIBC_2.12 fseeko F -GLIBC_2.12 fseeko64 F -GLIBC_2.12 fsetpos F -GLIBC_2.12 fsetpos64 F -GLIBC_2.12 fsetxattr F -GLIBC_2.12 fstatfs F -GLIBC_2.12 fstatfs64 F -GLIBC_2.12 fstatvfs F -GLIBC_2.12 fstatvfs64 F -GLIBC_2.12 fsync F -GLIBC_2.12 ftell F -GLIBC_2.12 ftello F -GLIBC_2.12 ftello64 F -GLIBC_2.12 ftime F -GLIBC_2.12 ftok F -GLIBC_2.12 ftruncate F -GLIBC_2.12 ftruncate64 F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 fts_children F -GLIBC_2.12 fts_close F -GLIBC_2.12 fts_open F -GLIBC_2.12 fts_read F -GLIBC_2.12 fts_set F -GLIBC_2.12 ftw F -GLIBC_2.12 ftw64 F -GLIBC_2.12 funlockfile F -GLIBC_2.12 futimens F -GLIBC_2.12 futimes F -GLIBC_2.12 futimesat F -GLIBC_2.12 fwide F -GLIBC_2.12 fwprintf F -GLIBC_2.12 fwrite F -GLIBC_2.12 fwrite_unlocked F -GLIBC_2.12 fwscanf F -GLIBC_2.12 gai_strerror F -GLIBC_2.12 gcvt F -GLIBC_2.12 get_avphys_pages F -GLIBC_2.12 get_current_dir_name F -GLIBC_2.12 get_kernel_syms F -GLIBC_2.12 get_myaddress F -GLIBC_2.12 get_nprocs F -GLIBC_2.12 get_nprocs_conf F -GLIBC_2.12 get_phys_pages F -GLIBC_2.12 getaddrinfo F -GLIBC_2.12 getaliasbyname F -GLIBC_2.12 getaliasbyname_r F -GLIBC_2.12 getaliasent F -GLIBC_2.12 getaliasent_r F -GLIBC_2.12 getc F -GLIBC_2.12 getc_unlocked F -GLIBC_2.12 getchar F -GLIBC_2.12 getchar_unlocked F -GLIBC_2.12 getcontext F -GLIBC_2.12 getcwd F -GLIBC_2.12 getdate F -GLIBC_2.12 getdate_err D 0x4 -GLIBC_2.12 getdate_r F -GLIBC_2.12 getdelim F -GLIBC_2.12 getdirentries F -GLIBC_2.12 getdirentries64 F -GLIBC_2.12 getdomainname F -GLIBC_2.12 getdtablesize F -GLIBC_2.12 getegid F -GLIBC_2.12 getenv F -GLIBC_2.12 geteuid F -GLIBC_2.12 getfsent F -GLIBC_2.12 getfsfile F -GLIBC_2.12 getfsspec F -GLIBC_2.12 getgid F -GLIBC_2.12 getgrent F -GLIBC_2.12 getgrent_r F -GLIBC_2.12 getgrgid F -GLIBC_2.12 getgrgid_r F -GLIBC_2.12 getgrnam F -GLIBC_2.12 getgrnam_r F -GLIBC_2.12 getgrouplist F -GLIBC_2.12 getgroups F -GLIBC_2.12 gethostbyaddr F -GLIBC_2.12 gethostbyaddr_r F -GLIBC_2.12 gethostbyname F -GLIBC_2.12 gethostbyname2 F -GLIBC_2.12 gethostbyname2_r F -GLIBC_2.12 gethostbyname_r F -GLIBC_2.12 gethostent F -GLIBC_2.12 gethostent_r F -GLIBC_2.12 gethostid F -GLIBC_2.12 gethostname F -GLIBC_2.12 getifaddrs F -GLIBC_2.12 getipv4sourcefilter F -GLIBC_2.12 getitimer F -GLIBC_2.12 getline F -GLIBC_2.12 getloadavg F -GLIBC_2.12 getlogin F -GLIBC_2.12 getlogin_r F -GLIBC_2.12 getmntent F -GLIBC_2.12 getmntent_r F -GLIBC_2.12 getmsg F -GLIBC_2.12 getnameinfo F -GLIBC_2.12 getnetbyaddr F -GLIBC_2.12 getnetbyaddr_r F -GLIBC_2.12 getnetbyname F -GLIBC_2.12 getnetbyname_r F -GLIBC_2.12 getnetent F -GLIBC_2.12 getnetent_r F -GLIBC_2.12 getnetgrent F -GLIBC_2.12 getnetgrent_r F -GLIBC_2.12 getnetname F -GLIBC_2.12 getopt F -GLIBC_2.12 getopt_long F -GLIBC_2.12 getopt_long_only F -GLIBC_2.12 getpagesize F -GLIBC_2.12 getpass F -GLIBC_2.12 getpeername F -GLIBC_2.12 getpgid F -GLIBC_2.12 getpgrp F -GLIBC_2.12 getpid F -GLIBC_2.12 getpmsg F -GLIBC_2.12 getppid F -GLIBC_2.12 getpriority F -GLIBC_2.12 getprotobyname F -GLIBC_2.12 getprotobyname_r F -GLIBC_2.12 getprotobynumber F -GLIBC_2.12 getprotobynumber_r F -GLIBC_2.12 getprotoent F -GLIBC_2.12 getprotoent_r F -GLIBC_2.12 getpt F -GLIBC_2.12 getpublickey F -GLIBC_2.12 getpw F -GLIBC_2.12 getpwent F -GLIBC_2.12 getpwent_r F -GLIBC_2.12 getpwnam F -GLIBC_2.12 getpwnam_r F -GLIBC_2.12 getpwuid F -GLIBC_2.12 getpwuid_r F -GLIBC_2.12 getresgid F -GLIBC_2.12 getresuid F -GLIBC_2.12 getrlimit F -GLIBC_2.12 getrlimit64 F -GLIBC_2.12 getrpcbyname F -GLIBC_2.12 getrpcbyname_r F -GLIBC_2.12 getrpcbynumber F -GLIBC_2.12 getrpcbynumber_r F -GLIBC_2.12 getrpcent F -GLIBC_2.12 getrpcent_r F -GLIBC_2.12 getrpcport F -GLIBC_2.12 getrusage F -GLIBC_2.12 gets F -GLIBC_2.12 getsecretkey F -GLIBC_2.12 getservbyname F -GLIBC_2.12 getservbyname_r F -GLIBC_2.12 getservbyport F -GLIBC_2.12 getservbyport_r F -GLIBC_2.12 getservent F -GLIBC_2.12 getservent_r F -GLIBC_2.12 getsgent F -GLIBC_2.12 getsgent_r F -GLIBC_2.12 getsgnam F -GLIBC_2.12 getsgnam_r F -GLIBC_2.12 getsid F -GLIBC_2.12 getsockname F -GLIBC_2.12 getsockopt F -GLIBC_2.12 getsourcefilter F -GLIBC_2.12 getspent F -GLIBC_2.12 getspent_r F -GLIBC_2.12 getspnam F -GLIBC_2.12 getspnam_r F -GLIBC_2.12 getsubopt F -GLIBC_2.12 gettext F -GLIBC_2.12 gettimeofday F -GLIBC_2.12 getttyent F -GLIBC_2.12 getttynam F -GLIBC_2.12 getuid F -GLIBC_2.12 getusershell F -GLIBC_2.12 getutent F -GLIBC_2.12 getutent_r F -GLIBC_2.12 getutid F -GLIBC_2.12 getutid_r F -GLIBC_2.12 getutline F -GLIBC_2.12 getutline_r F -GLIBC_2.12 getutmp F -GLIBC_2.12 getutmpx F -GLIBC_2.12 getutxent F -GLIBC_2.12 getutxid F -GLIBC_2.12 getutxline F -GLIBC_2.12 getw F -GLIBC_2.12 getwc F -GLIBC_2.12 getwc_unlocked F -GLIBC_2.12 getwchar F -GLIBC_2.12 getwchar_unlocked F -GLIBC_2.12 getwd F -GLIBC_2.12 getxattr F -GLIBC_2.12 glob F -GLIBC_2.12 glob64 F -GLIBC_2.12 glob_pattern_p F -GLIBC_2.12 globfree F -GLIBC_2.12 globfree64 F -GLIBC_2.12 gmtime F -GLIBC_2.12 gmtime_r F -GLIBC_2.12 gnu_dev_major F -GLIBC_2.12 gnu_dev_makedev F -GLIBC_2.12 gnu_dev_minor F -GLIBC_2.12 gnu_get_libc_release F -GLIBC_2.12 gnu_get_libc_version F -GLIBC_2.12 grantpt F -GLIBC_2.12 group_member F -GLIBC_2.12 gsignal F -GLIBC_2.12 gtty F -GLIBC_2.12 h_errlist D 0x14 -GLIBC_2.12 h_nerr D 0x4 -GLIBC_2.12 hasmntopt F -GLIBC_2.12 hcreate F -GLIBC_2.12 hcreate_r F -GLIBC_2.12 hdestroy F -GLIBC_2.12 hdestroy_r F -GLIBC_2.12 herror F -GLIBC_2.12 host2netname F -GLIBC_2.12 hsearch F -GLIBC_2.12 hsearch_r F -GLIBC_2.12 hstrerror F -GLIBC_2.12 htonl F -GLIBC_2.12 htons F -GLIBC_2.12 iconv F -GLIBC_2.12 iconv_close F -GLIBC_2.12 iconv_open F -GLIBC_2.12 if_freenameindex F -GLIBC_2.12 if_indextoname F -GLIBC_2.12 if_nameindex F -GLIBC_2.12 if_nametoindex F -GLIBC_2.12 imaxabs F -GLIBC_2.12 imaxdiv F -GLIBC_2.12 in6addr_any D 0x10 -GLIBC_2.12 in6addr_loopback D 0x10 -GLIBC_2.12 index F -GLIBC_2.12 inet6_opt_append F -GLIBC_2.12 inet6_opt_find F -GLIBC_2.12 inet6_opt_finish F -GLIBC_2.12 inet6_opt_get_val F -GLIBC_2.12 inet6_opt_init F -GLIBC_2.12 inet6_opt_next F -GLIBC_2.12 inet6_opt_set_val F -GLIBC_2.12 inet6_option_alloc F -GLIBC_2.12 inet6_option_append F -GLIBC_2.12 inet6_option_find F -GLIBC_2.12 inet6_option_init F -GLIBC_2.12 inet6_option_next F -GLIBC_2.12 inet6_option_space F -GLIBC_2.12 inet6_rth_add F -GLIBC_2.12 inet6_rth_getaddr F -GLIBC_2.12 inet6_rth_init F -GLIBC_2.12 inet6_rth_reverse F -GLIBC_2.12 inet6_rth_segments F -GLIBC_2.12 inet6_rth_space F -GLIBC_2.12 inet_addr F -GLIBC_2.12 inet_aton F -GLIBC_2.12 inet_lnaof F -GLIBC_2.12 inet_makeaddr F -GLIBC_2.12 inet_netof F -GLIBC_2.12 inet_network F -GLIBC_2.12 inet_nsap_addr F -GLIBC_2.12 inet_nsap_ntoa F -GLIBC_2.12 inet_ntoa F -GLIBC_2.12 inet_ntop F -GLIBC_2.12 inet_pton F -GLIBC_2.12 init_module F -GLIBC_2.12 initgroups F -GLIBC_2.12 initstate F -GLIBC_2.12 initstate_r F -GLIBC_2.12 innetgr F -GLIBC_2.12 inotify_add_watch F -GLIBC_2.12 inotify_init F -GLIBC_2.12 inotify_init1 F -GLIBC_2.12 inotify_rm_watch F -GLIBC_2.12 insque F -GLIBC_2.12 ioctl F -GLIBC_2.12 iruserok F -GLIBC_2.12 iruserok_af F -GLIBC_2.12 isalnum F -GLIBC_2.12 isalnum_l F -GLIBC_2.12 isalpha F -GLIBC_2.12 isalpha_l F -GLIBC_2.12 isascii F -GLIBC_2.12 isastream F -GLIBC_2.12 isatty F -GLIBC_2.12 isblank F -GLIBC_2.12 isblank_l F -GLIBC_2.12 iscntrl F -GLIBC_2.12 iscntrl_l F -GLIBC_2.12 isctype F -GLIBC_2.12 isdigit F -GLIBC_2.12 isdigit_l F -GLIBC_2.12 isfdtype F -GLIBC_2.12 isgraph F -GLIBC_2.12 isgraph_l F -GLIBC_2.12 isinf F -GLIBC_2.12 isinff F -GLIBC_2.12 isinfl F -GLIBC_2.12 islower F -GLIBC_2.12 islower_l F -GLIBC_2.12 isnan F -GLIBC_2.12 isnanf F -GLIBC_2.12 isnanl F -GLIBC_2.12 isprint F -GLIBC_2.12 isprint_l F -GLIBC_2.12 ispunct F -GLIBC_2.12 ispunct_l F -GLIBC_2.12 isspace F -GLIBC_2.12 isspace_l F -GLIBC_2.12 isupper F -GLIBC_2.12 isupper_l F -GLIBC_2.12 iswalnum F -GLIBC_2.12 iswalnum_l F -GLIBC_2.12 iswalpha F -GLIBC_2.12 iswalpha_l F -GLIBC_2.12 iswblank F -GLIBC_2.12 iswblank_l F -GLIBC_2.12 iswcntrl F -GLIBC_2.12 iswcntrl_l F -GLIBC_2.12 iswctype F -GLIBC_2.12 iswctype_l F -GLIBC_2.12 iswdigit F -GLIBC_2.12 iswdigit_l F -GLIBC_2.12 iswgraph F -GLIBC_2.12 iswgraph_l F -GLIBC_2.12 iswlower F -GLIBC_2.12 iswlower_l F -GLIBC_2.12 iswprint F -GLIBC_2.12 iswprint_l F -GLIBC_2.12 iswpunct F -GLIBC_2.12 iswpunct_l F -GLIBC_2.12 iswspace F -GLIBC_2.12 iswspace_l F -GLIBC_2.12 iswupper F -GLIBC_2.12 iswupper_l F -GLIBC_2.12 iswxdigit F -GLIBC_2.12 iswxdigit_l F -GLIBC_2.12 isxdigit F -GLIBC_2.12 isxdigit_l F -GLIBC_2.12 jrand48 F -GLIBC_2.12 jrand48_r F -GLIBC_2.12 key_decryptsession F -GLIBC_2.12 key_decryptsession_pk F -GLIBC_2.12 key_encryptsession F -GLIBC_2.12 key_encryptsession_pk F -GLIBC_2.12 key_gendes F -GLIBC_2.12 key_get_conv F -GLIBC_2.12 key_secretkey_is_set F -GLIBC_2.12 key_setnet F -GLIBC_2.12 key_setsecret F -GLIBC_2.12 kill F -GLIBC_2.12 killpg F -GLIBC_2.12 klogctl F -GLIBC_2.12 l64a F -GLIBC_2.12 labs F -GLIBC_2.12 lchmod F -GLIBC_2.12 lchown F -GLIBC_2.12 lckpwdf F -GLIBC_2.12 lcong48 F -GLIBC_2.12 lcong48_r F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 ldiv F -GLIBC_2.12 lfind F -GLIBC_2.12 lgetxattr F -GLIBC_2.12 link F -GLIBC_2.12 linkat F -GLIBC_2.12 listen F -GLIBC_2.12 listxattr F -GLIBC_2.12 llabs F -GLIBC_2.12 lldiv F -GLIBC_2.12 llistxattr F -GLIBC_2.12 llseek F -GLIBC_2.12 loc1 D 0x4 -GLIBC_2.12 loc2 D 0x4 -GLIBC_2.12 localeconv F -GLIBC_2.12 localtime F -GLIBC_2.12 localtime_r F -GLIBC_2.12 lockf F -GLIBC_2.12 lockf64 F -GLIBC_2.12 locs D 0x4 -GLIBC_2.12 longjmp F -GLIBC_2.12 lrand48 F -GLIBC_2.12 lrand48_r F -GLIBC_2.12 lremovexattr F -GLIBC_2.12 lsearch F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 lsetxattr F -GLIBC_2.12 lutimes F -GLIBC_2.12 madvise F -GLIBC_2.12 makecontext F -GLIBC_2.12 mallinfo F -GLIBC_2.12 malloc F -GLIBC_2.12 malloc_get_state F -GLIBC_2.12 malloc_info F -GLIBC_2.12 malloc_set_state F -GLIBC_2.12 malloc_stats F -GLIBC_2.12 malloc_trim F -GLIBC_2.12 malloc_usable_size F -GLIBC_2.12 mallopt F -GLIBC_2.12 mallwatch D 0x4 -GLIBC_2.12 mblen F -GLIBC_2.12 mbrlen F -GLIBC_2.12 mbrtowc F -GLIBC_2.12 mbsinit F -GLIBC_2.12 mbsnrtowcs F -GLIBC_2.12 mbsrtowcs F -GLIBC_2.12 mbstowcs F -GLIBC_2.12 mbtowc F -GLIBC_2.12 mcheck F -GLIBC_2.12 mcheck_check_all F -GLIBC_2.12 mcheck_pedantic F -GLIBC_2.12 mcount F -GLIBC_2.12 memalign F -GLIBC_2.12 memccpy F -GLIBC_2.12 memchr F -GLIBC_2.12 memcmp F -GLIBC_2.12 memcpy F -GLIBC_2.12 memfrob F -GLIBC_2.12 memmem F -GLIBC_2.12 memmove F -GLIBC_2.12 mempcpy F -GLIBC_2.12 memrchr F -GLIBC_2.12 memset F -GLIBC_2.12 mincore F -GLIBC_2.12 mkdir F -GLIBC_2.12 mkdirat F -GLIBC_2.12 mkdtemp F -GLIBC_2.12 mkfifo F -GLIBC_2.12 mkfifoat F -GLIBC_2.12 mkostemp F -GLIBC_2.12 mkostemp64 F -GLIBC_2.12 mkostemps F -GLIBC_2.12 mkostemps64 F -GLIBC_2.12 mkstemp F -GLIBC_2.12 mkstemp64 F -GLIBC_2.12 mkstemps F -GLIBC_2.12 mkstemps64 F -GLIBC_2.12 mktemp F -GLIBC_2.12 mktime F -GLIBC_2.12 mlock F -GLIBC_2.12 mlockall F -GLIBC_2.12 mmap F -GLIBC_2.12 mmap64 F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 moncontrol F -GLIBC_2.12 monstartup F -GLIBC_2.12 mount F -GLIBC_2.12 mprobe F -GLIBC_2.12 mprotect F -GLIBC_2.12 mrand48 F -GLIBC_2.12 mrand48_r F -GLIBC_2.12 mremap F -GLIBC_2.12 msgctl F -GLIBC_2.12 msgget F -GLIBC_2.12 msgrcv F -GLIBC_2.12 msgsnd F -GLIBC_2.12 msync F -GLIBC_2.12 mtrace F -GLIBC_2.12 munlock F -GLIBC_2.12 munlockall F -GLIBC_2.12 munmap F -GLIBC_2.12 muntrace F -GLIBC_2.12 nanosleep F -GLIBC_2.12 netname2host F -GLIBC_2.12 netname2user F -GLIBC_2.12 newlocale F -GLIBC_2.12 nfsservctl F -GLIBC_2.12 nftw F -GLIBC_2.12 nftw64 F -GLIBC_2.12 ngettext F -GLIBC_2.12 nice F -GLIBC_2.12 nl_langinfo F -GLIBC_2.12 nl_langinfo_l F -GLIBC_2.12 nrand48 F -GLIBC_2.12 nrand48_r F -GLIBC_2.12 ntohl F -GLIBC_2.12 ntohs F -GLIBC_2.12 ntp_adjtime F -GLIBC_2.12 ntp_gettime F -GLIBC_2.12 ntp_gettimex F -GLIBC_2.12 obstack_alloc_failed_handler D 0x4 -GLIBC_2.12 obstack_exit_failure D 0x4 -GLIBC_2.12 obstack_free F -GLIBC_2.12 obstack_printf F -GLIBC_2.12 obstack_vprintf F -GLIBC_2.12 on_exit F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 open_memstream F -GLIBC_2.12 open_wmemstream F -GLIBC_2.12 openat F -GLIBC_2.12 openat64 F -GLIBC_2.12 opendir F -GLIBC_2.12 openlog F -GLIBC_2.12 optarg D 0x4 -GLIBC_2.12 opterr D 0x4 -GLIBC_2.12 optind D 0x4 -GLIBC_2.12 optopt D 0x4 -GLIBC_2.12 parse_printf_format F -GLIBC_2.12 passwd2des F -GLIBC_2.12 pathconf F -GLIBC_2.12 pause F -GLIBC_2.12 pclose F -GLIBC_2.12 perror F -GLIBC_2.12 personality F -GLIBC_2.12 pipe F -GLIBC_2.12 pipe2 F -GLIBC_2.12 pivot_root F -GLIBC_2.12 pmap_getmaps F -GLIBC_2.12 pmap_getport F -GLIBC_2.12 pmap_rmtcall F -GLIBC_2.12 pmap_set F -GLIBC_2.12 pmap_unset F -GLIBC_2.12 poll F -GLIBC_2.12 popen F -GLIBC_2.12 posix_fadvise F -GLIBC_2.12 posix_fadvise64 F -GLIBC_2.12 posix_fallocate F -GLIBC_2.12 posix_fallocate64 F -GLIBC_2.12 posix_madvise F -GLIBC_2.12 posix_memalign F -GLIBC_2.12 posix_openpt F -GLIBC_2.12 posix_spawn F -GLIBC_2.12 posix_spawn_file_actions_addclose F -GLIBC_2.12 posix_spawn_file_actions_adddup2 F -GLIBC_2.12 posix_spawn_file_actions_addopen F -GLIBC_2.12 posix_spawn_file_actions_destroy F -GLIBC_2.12 posix_spawn_file_actions_init F -GLIBC_2.12 posix_spawnattr_destroy F -GLIBC_2.12 posix_spawnattr_getflags F -GLIBC_2.12 posix_spawnattr_getpgroup F -GLIBC_2.12 posix_spawnattr_getschedparam F -GLIBC_2.12 posix_spawnattr_getschedpolicy F -GLIBC_2.12 posix_spawnattr_getsigdefault F -GLIBC_2.12 posix_spawnattr_getsigmask F -GLIBC_2.12 posix_spawnattr_init F -GLIBC_2.12 posix_spawnattr_setflags F -GLIBC_2.12 posix_spawnattr_setpgroup F -GLIBC_2.12 posix_spawnattr_setschedparam F -GLIBC_2.12 posix_spawnattr_setschedpolicy F -GLIBC_2.12 posix_spawnattr_setsigdefault F -GLIBC_2.12 posix_spawnattr_setsigmask F -GLIBC_2.12 posix_spawnp F -GLIBC_2.12 ppoll F -GLIBC_2.12 prctl F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 preadv F -GLIBC_2.12 preadv64 F -GLIBC_2.12 printf F -GLIBC_2.12 printf_size F -GLIBC_2.12 printf_size_info F -GLIBC_2.12 profil F -GLIBC_2.12 program_invocation_name D 0x4 -GLIBC_2.12 program_invocation_short_name D 0x4 -GLIBC_2.12 pselect F -GLIBC_2.12 psiginfo F -GLIBC_2.12 psignal F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 ptrace F -GLIBC_2.12 ptsname F -GLIBC_2.12 ptsname_r F -GLIBC_2.12 putc F -GLIBC_2.12 putc_unlocked F -GLIBC_2.12 putchar F -GLIBC_2.12 putchar_unlocked F -GLIBC_2.12 putenv F -GLIBC_2.12 putgrent F -GLIBC_2.12 putmsg F -GLIBC_2.12 putpmsg F -GLIBC_2.12 putpwent F -GLIBC_2.12 puts F -GLIBC_2.12 putsgent F -GLIBC_2.12 putspent F -GLIBC_2.12 pututline F -GLIBC_2.12 pututxline F -GLIBC_2.12 putw F -GLIBC_2.12 putwc F -GLIBC_2.12 putwc_unlocked F -GLIBC_2.12 putwchar F -GLIBC_2.12 putwchar_unlocked F -GLIBC_2.12 pvalloc F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 pwritev F -GLIBC_2.12 pwritev64 F -GLIBC_2.12 qecvt F -GLIBC_2.12 qecvt_r F -GLIBC_2.12 qfcvt F -GLIBC_2.12 qfcvt_r F -GLIBC_2.12 qgcvt F -GLIBC_2.12 qsort F -GLIBC_2.12 qsort_r F -GLIBC_2.12 query_module F -GLIBC_2.12 quick_exit F -GLIBC_2.12 quotactl F -GLIBC_2.12 raise F -GLIBC_2.12 rand F -GLIBC_2.12 rand_r F -GLIBC_2.12 random F -GLIBC_2.12 random_r F -GLIBC_2.12 rawmemchr F -GLIBC_2.12 rcmd F -GLIBC_2.12 rcmd_af F -GLIBC_2.12 re_comp F -GLIBC_2.12 re_compile_fastmap F -GLIBC_2.12 re_compile_pattern F -GLIBC_2.12 re_exec F -GLIBC_2.12 re_match F -GLIBC_2.12 re_match_2 F -GLIBC_2.12 re_search F -GLIBC_2.12 re_search_2 F -GLIBC_2.12 re_set_registers F -GLIBC_2.12 re_set_syntax F -GLIBC_2.12 re_syntax_options D 0x4 -GLIBC_2.12 read F -GLIBC_2.12 readahead F -GLIBC_2.12 readdir F -GLIBC_2.12 readdir64 F -GLIBC_2.12 readdir64_r F -GLIBC_2.12 readdir_r F -GLIBC_2.12 readlink F -GLIBC_2.12 readlinkat F -GLIBC_2.12 readv F -GLIBC_2.12 realloc F -GLIBC_2.12 realpath F -GLIBC_2.12 reboot F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmmsg F -GLIBC_2.12 recvmsg F -GLIBC_2.12 regcomp F -GLIBC_2.12 regerror F -GLIBC_2.12 regexec F -GLIBC_2.12 regfree F -GLIBC_2.12 register_printf_function F -GLIBC_2.12 register_printf_modifier F -GLIBC_2.12 register_printf_specifier F -GLIBC_2.12 register_printf_type F -GLIBC_2.12 registerrpc F -GLIBC_2.12 remap_file_pages F -GLIBC_2.12 remove F -GLIBC_2.12 removexattr F -GLIBC_2.12 remque F -GLIBC_2.12 rename F -GLIBC_2.12 renameat F -GLIBC_2.12 revoke F -GLIBC_2.12 rewind F -GLIBC_2.12 rewinddir F -GLIBC_2.12 rexec F -GLIBC_2.12 rexec_af F -GLIBC_2.12 rexecoptions D 0x4 -GLIBC_2.12 rindex F -GLIBC_2.12 rmdir F -GLIBC_2.12 rpc_createerr D 0x10 -GLIBC_2.12 rpmatch F -GLIBC_2.12 rresvport F -GLIBC_2.12 rresvport_af F -GLIBC_2.12 rtime F -GLIBC_2.12 ruserok F -GLIBC_2.12 ruserok_af F -GLIBC_2.12 ruserpass F -GLIBC_2.12 sbrk F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 scandir F -GLIBC_2.12 scandir64 F -GLIBC_2.12 scanf F -GLIBC_2.12 sched_get_priority_max F -GLIBC_2.12 sched_get_priority_min F -GLIBC_2.12 sched_getaffinity F -GLIBC_2.12 sched_getcpu F -GLIBC_2.12 sched_getparam F -GLIBC_2.12 sched_getscheduler F -GLIBC_2.12 sched_rr_get_interval F -GLIBC_2.12 sched_setaffinity F -GLIBC_2.12 sched_setparam F -GLIBC_2.12 sched_setscheduler F -GLIBC_2.12 sched_yield F -GLIBC_2.12 seed48 F -GLIBC_2.12 seed48_r F -GLIBC_2.12 seekdir F -GLIBC_2.12 select F -GLIBC_2.12 semctl F -GLIBC_2.12 semget F -GLIBC_2.12 semop F -GLIBC_2.12 semtimedop F -GLIBC_2.12 send F -GLIBC_2.12 sendfile F -GLIBC_2.12 sendfile64 F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 set_dataplane F -GLIBC_2.12 setaliasent F -GLIBC_2.12 setbuf F -GLIBC_2.12 setbuffer F -GLIBC_2.12 setcontext F -GLIBC_2.12 setdomainname F -GLIBC_2.12 setegid F -GLIBC_2.12 setenv F -GLIBC_2.12 seteuid F -GLIBC_2.12 setfsent F -GLIBC_2.12 setfsgid F -GLIBC_2.12 setfsuid F -GLIBC_2.12 setgid F -GLIBC_2.12 setgrent F -GLIBC_2.12 setgroups F -GLIBC_2.12 sethostent F -GLIBC_2.12 sethostid F -GLIBC_2.12 sethostname F -GLIBC_2.12 setipv4sourcefilter F -GLIBC_2.12 setitimer F -GLIBC_2.12 setjmp F -GLIBC_2.12 setlinebuf F -GLIBC_2.12 setlocale F -GLIBC_2.12 setlogin F -GLIBC_2.12 setlogmask F -GLIBC_2.12 setmntent F -GLIBC_2.12 setnetent F -GLIBC_2.12 setnetgrent F -GLIBC_2.12 setpgid F -GLIBC_2.12 setpgrp F -GLIBC_2.12 setpriority F -GLIBC_2.12 setprotoent F -GLIBC_2.12 setpwent F -GLIBC_2.12 setregid F -GLIBC_2.12 setresgid F -GLIBC_2.12 setresuid F -GLIBC_2.12 setreuid F -GLIBC_2.12 setrlimit F -GLIBC_2.12 setrlimit64 F -GLIBC_2.12 setrpcent F -GLIBC_2.12 setservent F -GLIBC_2.12 setsgent F -GLIBC_2.12 setsid F -GLIBC_2.12 setsockopt F -GLIBC_2.12 setsourcefilter F -GLIBC_2.12 setspent F -GLIBC_2.12 setstate F -GLIBC_2.12 setstate_r F -GLIBC_2.12 settimeofday F -GLIBC_2.12 setttyent F -GLIBC_2.12 setuid F -GLIBC_2.12 setusershell F -GLIBC_2.12 setutent F -GLIBC_2.12 setutxent F -GLIBC_2.12 setvbuf F -GLIBC_2.12 setxattr F -GLIBC_2.12 sgetsgent F -GLIBC_2.12 sgetsgent_r F -GLIBC_2.12 sgetspent F -GLIBC_2.12 sgetspent_r F -GLIBC_2.12 shmat F -GLIBC_2.12 shmctl F -GLIBC_2.12 shmdt F -GLIBC_2.12 shmget F -GLIBC_2.12 shutdown F -GLIBC_2.12 sigaction F -GLIBC_2.12 sigaddset F -GLIBC_2.12 sigaltstack F -GLIBC_2.12 sigandset F -GLIBC_2.12 sigblock F -GLIBC_2.12 sigdelset F -GLIBC_2.12 sigemptyset F -GLIBC_2.12 sigfillset F -GLIBC_2.12 siggetmask F -GLIBC_2.12 sighold F -GLIBC_2.12 sigignore F -GLIBC_2.12 siginterrupt F -GLIBC_2.12 sigisemptyset F -GLIBC_2.12 sigismember F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 signal F -GLIBC_2.12 signalfd F -GLIBC_2.12 sigorset F -GLIBC_2.12 sigpause F -GLIBC_2.12 sigpending F -GLIBC_2.12 sigprocmask F -GLIBC_2.12 sigqueue F -GLIBC_2.12 sigrelse F -GLIBC_2.12 sigreturn F -GLIBC_2.12 sigset F -GLIBC_2.12 sigsetmask F -GLIBC_2.12 sigstack F -GLIBC_2.12 sigsuspend F -GLIBC_2.12 sigtimedwait F -GLIBC_2.12 sigvec F -GLIBC_2.12 sigwait F -GLIBC_2.12 sigwaitinfo F -GLIBC_2.12 sleep F -GLIBC_2.12 snprintf F -GLIBC_2.12 sockatmark F -GLIBC_2.12 socket F -GLIBC_2.12 socketpair F -GLIBC_2.12 splice F -GLIBC_2.12 sprintf F -GLIBC_2.12 sprofil F -GLIBC_2.12 srand F -GLIBC_2.12 srand48 F -GLIBC_2.12 srand48_r F -GLIBC_2.12 srandom F -GLIBC_2.12 srandom_r F -GLIBC_2.12 sscanf F -GLIBC_2.12 ssignal F -GLIBC_2.12 sstk F -GLIBC_2.12 statfs F -GLIBC_2.12 statfs64 F -GLIBC_2.12 statvfs F -GLIBC_2.12 statvfs64 F -GLIBC_2.12 stderr D 0x4 -GLIBC_2.12 stdin D 0x4 -GLIBC_2.12 stdout D 0x4 -GLIBC_2.12 step F -GLIBC_2.12 stime F -GLIBC_2.12 stpcpy F -GLIBC_2.12 stpncpy F -GLIBC_2.12 strcasecmp F -GLIBC_2.12 strcasecmp_l F -GLIBC_2.12 strcasestr F -GLIBC_2.12 strcat F -GLIBC_2.12 strchr F -GLIBC_2.12 strchrnul F -GLIBC_2.12 strcmp F -GLIBC_2.12 strcoll F -GLIBC_2.12 strcoll_l F -GLIBC_2.12 strcpy F -GLIBC_2.12 strcspn F -GLIBC_2.12 strdup F -GLIBC_2.12 strerror F -GLIBC_2.12 strerror_l F -GLIBC_2.12 strerror_r F -GLIBC_2.12 strfmon F -GLIBC_2.12 strfmon_l F -GLIBC_2.12 strfry F -GLIBC_2.12 strftime F -GLIBC_2.12 strftime_l F -GLIBC_2.12 strlen F -GLIBC_2.12 strncasecmp F -GLIBC_2.12 strncasecmp_l F -GLIBC_2.12 strncat F -GLIBC_2.12 strncmp F -GLIBC_2.12 strncpy F -GLIBC_2.12 strndup F -GLIBC_2.12 strnlen F -GLIBC_2.12 strpbrk F -GLIBC_2.12 strptime F -GLIBC_2.12 strptime_l F -GLIBC_2.12 strrchr F -GLIBC_2.12 strsep F -GLIBC_2.12 strsignal F -GLIBC_2.12 strspn F -GLIBC_2.12 strstr F -GLIBC_2.12 strtod F -GLIBC_2.12 strtod_l F -GLIBC_2.12 strtof F -GLIBC_2.12 strtof_l F -GLIBC_2.12 strtoimax F -GLIBC_2.12 strtok F -GLIBC_2.12 strtok_r F -GLIBC_2.12 strtol F -GLIBC_2.12 strtol_l F -GLIBC_2.12 strtold F -GLIBC_2.12 strtold_l F -GLIBC_2.12 strtoll F -GLIBC_2.12 strtoll_l F -GLIBC_2.12 strtoq F -GLIBC_2.12 strtoul F -GLIBC_2.12 strtoul_l F -GLIBC_2.12 strtoull F -GLIBC_2.12 strtoull_l F -GLIBC_2.12 strtoumax F -GLIBC_2.12 strtouq F -GLIBC_2.12 strverscmp F -GLIBC_2.12 strxfrm F -GLIBC_2.12 strxfrm_l F -GLIBC_2.12 stty F -GLIBC_2.12 svc_exit F -GLIBC_2.12 svc_fdset D 0x80 -GLIBC_2.12 svc_getreq F -GLIBC_2.12 svc_getreq_common F -GLIBC_2.12 svc_getreq_poll F -GLIBC_2.12 svc_getreqset F -GLIBC_2.12 svc_max_pollfd D 0x4 -GLIBC_2.12 svc_pollfd D 0x4 -GLIBC_2.12 svc_register F -GLIBC_2.12 svc_run F -GLIBC_2.12 svc_sendreply F -GLIBC_2.12 svc_unregister F -GLIBC_2.12 svcauthdes_stats D 0xc -GLIBC_2.12 svcerr_auth F -GLIBC_2.12 svcerr_decode F -GLIBC_2.12 svcerr_noproc F -GLIBC_2.12 svcerr_noprog F -GLIBC_2.12 svcerr_progvers F -GLIBC_2.12 svcerr_systemerr F -GLIBC_2.12 svcerr_weakauth F -GLIBC_2.12 svcfd_create F -GLIBC_2.12 svcraw_create F -GLIBC_2.12 svctcp_create F -GLIBC_2.12 svcudp_bufcreate F -GLIBC_2.12 svcudp_create F -GLIBC_2.12 svcudp_enablecache F -GLIBC_2.12 svcunix_create F -GLIBC_2.12 svcunixfd_create F -GLIBC_2.12 swab F -GLIBC_2.12 swapcontext F -GLIBC_2.12 swapoff F -GLIBC_2.12 swapon F -GLIBC_2.12 swprintf F -GLIBC_2.12 swscanf F -GLIBC_2.12 symlink F -GLIBC_2.12 symlinkat F -GLIBC_2.12 sync F -GLIBC_2.12 sync_file_range F -GLIBC_2.12 sys_errlist D 0x21c -GLIBC_2.12 sys_nerr D 0x4 -GLIBC_2.12 sys_sigabbrev D 0x104 -GLIBC_2.12 sys_siglist D 0x104 -GLIBC_2.12 syscall F -GLIBC_2.12 sysconf F -GLIBC_2.12 sysctl F -GLIBC_2.12 sysinfo F -GLIBC_2.12 syslog F -GLIBC_2.12 system F -GLIBC_2.12 sysv_signal F -GLIBC_2.12 tcdrain F -GLIBC_2.12 tcflow F -GLIBC_2.12 tcflush F -GLIBC_2.12 tcgetattr F -GLIBC_2.12 tcgetpgrp F -GLIBC_2.12 tcgetsid F -GLIBC_2.12 tcsendbreak F -GLIBC_2.12 tcsetattr F -GLIBC_2.12 tcsetpgrp F -GLIBC_2.12 tdelete F -GLIBC_2.12 tdestroy F -GLIBC_2.12 tee F -GLIBC_2.12 telldir F -GLIBC_2.12 tempnam F -GLIBC_2.12 textdomain F -GLIBC_2.12 tfind F -GLIBC_2.12 time F -GLIBC_2.12 timegm F -GLIBC_2.12 timelocal F -GLIBC_2.12 timerfd_create F -GLIBC_2.12 timerfd_gettime F -GLIBC_2.12 timerfd_settime F -GLIBC_2.12 times F -GLIBC_2.12 timezone D 0x4 -GLIBC_2.12 tmpfile F -GLIBC_2.12 tmpfile64 F -GLIBC_2.12 tmpnam F -GLIBC_2.12 tmpnam_r F -GLIBC_2.12 toascii F -GLIBC_2.12 tolower F -GLIBC_2.12 tolower_l F -GLIBC_2.12 toupper F -GLIBC_2.12 toupper_l F -GLIBC_2.12 towctrans F -GLIBC_2.12 towctrans_l F -GLIBC_2.12 towlower F -GLIBC_2.12 towlower_l F -GLIBC_2.12 towupper F -GLIBC_2.12 towupper_l F -GLIBC_2.12 tr_break F -GLIBC_2.12 truncate F -GLIBC_2.12 truncate64 F -GLIBC_2.12 tsearch F -GLIBC_2.12 ttyname F -GLIBC_2.12 ttyname_r F -GLIBC_2.12 ttyslot F -GLIBC_2.12 twalk F -GLIBC_2.12 tzname D 0x8 -GLIBC_2.12 tzset F -GLIBC_2.12 ualarm F -GLIBC_2.12 ulckpwdf F -GLIBC_2.12 ulimit F -GLIBC_2.12 umask F -GLIBC_2.12 umount F -GLIBC_2.12 umount2 F -GLIBC_2.12 uname F -GLIBC_2.12 ungetc F -GLIBC_2.12 ungetwc F -GLIBC_2.12 unlink F -GLIBC_2.12 unlinkat F -GLIBC_2.12 unlockpt F -GLIBC_2.12 unsetenv F -GLIBC_2.12 unshare F -GLIBC_2.12 updwtmp F -GLIBC_2.12 updwtmpx F -GLIBC_2.12 uselib F -GLIBC_2.12 uselocale F -GLIBC_2.12 user2netname F -GLIBC_2.12 usleep F -GLIBC_2.12 ustat F -GLIBC_2.12 utime F -GLIBC_2.12 utimensat F -GLIBC_2.12 utimes F -GLIBC_2.12 utmpname F -GLIBC_2.12 utmpxname F -GLIBC_2.12 valloc F -GLIBC_2.12 vasprintf F -GLIBC_2.12 vdprintf F -GLIBC_2.12 verr F -GLIBC_2.12 verrx F -GLIBC_2.12 versionsort F -GLIBC_2.12 versionsort64 F -GLIBC_2.12 vfork F -GLIBC_2.12 vfprintf F -GLIBC_2.12 vfscanf F -GLIBC_2.12 vfwprintf F -GLIBC_2.12 vfwscanf F -GLIBC_2.12 vhangup F -GLIBC_2.12 vlimit F -GLIBC_2.12 vmsplice F -GLIBC_2.12 vprintf F -GLIBC_2.12 vscanf F -GLIBC_2.12 vsnprintf F -GLIBC_2.12 vsprintf F -GLIBC_2.12 vsscanf F -GLIBC_2.12 vswprintf F -GLIBC_2.12 vswscanf F -GLIBC_2.12 vsyslog F -GLIBC_2.12 vtimes F -GLIBC_2.12 vwarn F -GLIBC_2.12 vwarnx F -GLIBC_2.12 vwprintf F -GLIBC_2.12 vwscanf F -GLIBC_2.12 wait F -GLIBC_2.12 wait3 F -GLIBC_2.12 wait4 F -GLIBC_2.12 waitid F -GLIBC_2.12 waitpid F -GLIBC_2.12 warn F -GLIBC_2.12 warnx F -GLIBC_2.12 wcpcpy F -GLIBC_2.12 wcpncpy F -GLIBC_2.12 wcrtomb F -GLIBC_2.12 wcscasecmp F -GLIBC_2.12 wcscasecmp_l F -GLIBC_2.12 wcscat F -GLIBC_2.12 wcschr F -GLIBC_2.12 wcschrnul F -GLIBC_2.12 wcscmp F -GLIBC_2.12 wcscoll F -GLIBC_2.12 wcscoll_l F -GLIBC_2.12 wcscpy F -GLIBC_2.12 wcscspn F -GLIBC_2.12 wcsdup F -GLIBC_2.12 wcsftime F -GLIBC_2.12 wcsftime_l F -GLIBC_2.12 wcslen F -GLIBC_2.12 wcsncasecmp F -GLIBC_2.12 wcsncasecmp_l F -GLIBC_2.12 wcsncat F -GLIBC_2.12 wcsncmp F -GLIBC_2.12 wcsncpy F -GLIBC_2.12 wcsnlen F -GLIBC_2.12 wcsnrtombs F -GLIBC_2.12 wcspbrk F -GLIBC_2.12 wcsrchr F -GLIBC_2.12 wcsrtombs F -GLIBC_2.12 wcsspn F -GLIBC_2.12 wcsstr F -GLIBC_2.12 wcstod F -GLIBC_2.12 wcstod_l F -GLIBC_2.12 wcstof F -GLIBC_2.12 wcstof_l F -GLIBC_2.12 wcstoimax F -GLIBC_2.12 wcstok F -GLIBC_2.12 wcstol F -GLIBC_2.12 wcstol_l F -GLIBC_2.12 wcstold F -GLIBC_2.12 wcstold_l F -GLIBC_2.12 wcstoll F -GLIBC_2.12 wcstoll_l F -GLIBC_2.12 wcstombs F -GLIBC_2.12 wcstoq F -GLIBC_2.12 wcstoul F -GLIBC_2.12 wcstoul_l F -GLIBC_2.12 wcstoull F -GLIBC_2.12 wcstoull_l F -GLIBC_2.12 wcstoumax F -GLIBC_2.12 wcstouq F -GLIBC_2.12 wcswcs F -GLIBC_2.12 wcswidth F -GLIBC_2.12 wcsxfrm F -GLIBC_2.12 wcsxfrm_l F -GLIBC_2.12 wctob F -GLIBC_2.12 wctomb F -GLIBC_2.12 wctrans F -GLIBC_2.12 wctrans_l F -GLIBC_2.12 wctype F -GLIBC_2.12 wctype_l F -GLIBC_2.12 wcwidth F -GLIBC_2.12 wmemchr F -GLIBC_2.12 wmemcmp F -GLIBC_2.12 wmemcpy F -GLIBC_2.12 wmemmove F -GLIBC_2.12 wmempcpy F -GLIBC_2.12 wmemset F -GLIBC_2.12 wordexp F -GLIBC_2.12 wordfree F -GLIBC_2.12 wprintf F -GLIBC_2.12 write F -GLIBC_2.12 writev F -GLIBC_2.12 wscanf F -GLIBC_2.12 xdecrypt F -GLIBC_2.12 xdr_accepted_reply F -GLIBC_2.12 xdr_array F -GLIBC_2.12 xdr_authdes_cred F -GLIBC_2.12 xdr_authdes_verf F -GLIBC_2.12 xdr_authunix_parms F -GLIBC_2.12 xdr_bool F -GLIBC_2.12 xdr_bytes F -GLIBC_2.12 xdr_callhdr F -GLIBC_2.12 xdr_callmsg F -GLIBC_2.12 xdr_char F -GLIBC_2.12 xdr_cryptkeyarg F -GLIBC_2.12 xdr_cryptkeyarg2 F -GLIBC_2.12 xdr_cryptkeyres F -GLIBC_2.12 xdr_des_block F -GLIBC_2.12 xdr_double F -GLIBC_2.12 xdr_enum F -GLIBC_2.12 xdr_float F -GLIBC_2.12 xdr_free F -GLIBC_2.12 xdr_getcredres F -GLIBC_2.12 xdr_hyper F -GLIBC_2.12 xdr_int F -GLIBC_2.12 xdr_int16_t F -GLIBC_2.12 xdr_int32_t F -GLIBC_2.12 xdr_int64_t F -GLIBC_2.12 xdr_int8_t F -GLIBC_2.12 xdr_key_netstarg F -GLIBC_2.12 xdr_key_netstres F -GLIBC_2.12 xdr_keybuf F -GLIBC_2.12 xdr_keystatus F -GLIBC_2.12 xdr_long F -GLIBC_2.12 xdr_longlong_t F -GLIBC_2.12 xdr_netnamestr F -GLIBC_2.12 xdr_netobj F -GLIBC_2.12 xdr_opaque F -GLIBC_2.12 xdr_opaque_auth F -GLIBC_2.12 xdr_pmap F -GLIBC_2.12 xdr_pmaplist F -GLIBC_2.12 xdr_pointer F -GLIBC_2.12 xdr_quad_t F -GLIBC_2.12 xdr_reference F -GLIBC_2.12 xdr_rejected_reply F -GLIBC_2.12 xdr_replymsg F -GLIBC_2.12 xdr_rmtcall_args F -GLIBC_2.12 xdr_rmtcallres F -GLIBC_2.12 xdr_short F -GLIBC_2.12 xdr_sizeof F -GLIBC_2.12 xdr_string F -GLIBC_2.12 xdr_u_char F -GLIBC_2.12 xdr_u_hyper F -GLIBC_2.12 xdr_u_int F -GLIBC_2.12 xdr_u_long F -GLIBC_2.12 xdr_u_longlong_t F -GLIBC_2.12 xdr_u_quad_t F -GLIBC_2.12 xdr_u_short F -GLIBC_2.12 xdr_uint16_t F -GLIBC_2.12 xdr_uint32_t F -GLIBC_2.12 xdr_uint64_t F -GLIBC_2.12 xdr_uint8_t F -GLIBC_2.12 xdr_union F -GLIBC_2.12 xdr_unixcred F -GLIBC_2.12 xdr_vector F -GLIBC_2.12 xdr_void F -GLIBC_2.12 xdr_wrapstring F -GLIBC_2.12 xdrmem_create F -GLIBC_2.12 xdrrec_create F -GLIBC_2.12 xdrrec_endofrecord F -GLIBC_2.12 xdrrec_eof F -GLIBC_2.12 xdrrec_skiprecord F -GLIBC_2.12 xdrstdio_create F -GLIBC_2.12 xencrypt F -GLIBC_2.12 xprt_register F -GLIBC_2.12 xprt_unregister F -GLIBC_2.15 GLIBC_2.15 A -GLIBC_2.15 __fdelt_chk F -GLIBC_2.15 __fdelt_warn F -GLIBC_2.15 clock_adjtime F -GLIBC_2.15 fanotify_init F -GLIBC_2.15 fanotify_mark F -GLIBC_2.15 name_to_handle_at F -GLIBC_2.15 open_by_handle_at F -GLIBC_2.15 posix_spawn F -GLIBC_2.15 posix_spawnp F -GLIBC_2.15 prlimit F -GLIBC_2.15 prlimit64 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.15 sendmmsg F -GLIBC_2.15 setns F -GLIBC_2.15 syncfs F -GLIBC_2.16 GLIBC_2.16 A -GLIBC_2.16 __getauxval F -GLIBC_2.16 __poll_chk F -GLIBC_2.16 __ppoll_chk F -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 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.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.27 GLIBC_2.27 A -GLIBC_2.27 copy_file_range F -GLIBC_2.27 glob F -GLIBC_2.27 glob64 F -GLIBC_2.27 memfd_create F -GLIBC_2.27 mlock2 F -GLIBC_2.27 pkey_alloc F -GLIBC_2.27 pkey_free F -GLIBC_2.27 pkey_get F -GLIBC_2.27 pkey_mprotect F -GLIBC_2.27 pkey_set F -GLIBC_2.27 strfromf32 F -GLIBC_2.27 strfromf32x F -GLIBC_2.27 strfromf64 F -GLIBC_2.27 strtof32 F -GLIBC_2.27 strtof32_l F -GLIBC_2.27 strtof32x F -GLIBC_2.27 strtof32x_l F -GLIBC_2.27 strtof64 F -GLIBC_2.27 strtof64_l F -GLIBC_2.27 wcstof32 F -GLIBC_2.27 wcstof32_l F -GLIBC_2.27 wcstof32x F -GLIBC_2.27 wcstof32x_l F -GLIBC_2.27 wcstof64 F -GLIBC_2.27 wcstof64_l F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist deleted file mode 100644 index d564380..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist +++ /dev/null @@ -1,8 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 crypt F -GLIBC_2.12 crypt_r F -GLIBC_2.12 encrypt F -GLIBC_2.12 encrypt_r F -GLIBC_2.12 fcrypt F -GLIBC_2.12 setkey F -GLIBC_2.12 setkey_r F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist deleted file mode 100644 index cabc30c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist +++ /dev/null @@ -1,10 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 dladdr F -GLIBC_2.12 dladdr1 F -GLIBC_2.12 dlclose F -GLIBC_2.12 dlerror F -GLIBC_2.12 dlinfo F -GLIBC_2.12 dlmopen F -GLIBC_2.12 dlopen F -GLIBC_2.12 dlsym F -GLIBC_2.12 dlvsym F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist deleted file mode 100644 index 73ceb5a..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist +++ /dev/null @@ -1,762 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _LIB_VERSION D 0x4 -GLIBC_2.12 __clog10 F -GLIBC_2.12 __clog10f F -GLIBC_2.12 __clog10l F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __fpclassify F -GLIBC_2.12 __fpclassifyf F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 acos F -GLIBC_2.12 acosf F -GLIBC_2.12 acosh F -GLIBC_2.12 acoshf F -GLIBC_2.12 acoshl F -GLIBC_2.12 acosl F -GLIBC_2.12 asin F -GLIBC_2.12 asinf F -GLIBC_2.12 asinh F -GLIBC_2.12 asinhf F -GLIBC_2.12 asinhl F -GLIBC_2.12 asinl F -GLIBC_2.12 atan F -GLIBC_2.12 atan2 F -GLIBC_2.12 atan2f F -GLIBC_2.12 atan2l F -GLIBC_2.12 atanf F -GLIBC_2.12 atanh F -GLIBC_2.12 atanhf F -GLIBC_2.12 atanhl F -GLIBC_2.12 atanl F -GLIBC_2.12 cabs F -GLIBC_2.12 cabsf F -GLIBC_2.12 cabsl F -GLIBC_2.12 cacos F -GLIBC_2.12 cacosf F -GLIBC_2.12 cacosh F -GLIBC_2.12 cacoshf F -GLIBC_2.12 cacoshl F -GLIBC_2.12 cacosl F -GLIBC_2.12 carg F -GLIBC_2.12 cargf F -GLIBC_2.12 cargl F -GLIBC_2.12 casin F -GLIBC_2.12 casinf F -GLIBC_2.12 casinh F -GLIBC_2.12 casinhf F -GLIBC_2.12 casinhl F -GLIBC_2.12 casinl F -GLIBC_2.12 catan F -GLIBC_2.12 catanf F -GLIBC_2.12 catanh F -GLIBC_2.12 catanhf F -GLIBC_2.12 catanhl F -GLIBC_2.12 catanl F -GLIBC_2.12 cbrt F -GLIBC_2.12 cbrtf F -GLIBC_2.12 cbrtl F -GLIBC_2.12 ccos F -GLIBC_2.12 ccosf F -GLIBC_2.12 ccosh F -GLIBC_2.12 ccoshf F -GLIBC_2.12 ccoshl F -GLIBC_2.12 ccosl F -GLIBC_2.12 ceil F -GLIBC_2.12 ceilf F -GLIBC_2.12 ceill F -GLIBC_2.12 cexp F -GLIBC_2.12 cexpf F -GLIBC_2.12 cexpl F -GLIBC_2.12 cimag F -GLIBC_2.12 cimagf F -GLIBC_2.12 cimagl F -GLIBC_2.12 clog F -GLIBC_2.12 clog10 F -GLIBC_2.12 clog10f F -GLIBC_2.12 clog10l F -GLIBC_2.12 clogf F -GLIBC_2.12 clogl F -GLIBC_2.12 conj F -GLIBC_2.12 conjf F -GLIBC_2.12 conjl F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 cos F -GLIBC_2.12 cosf F -GLIBC_2.12 cosh F -GLIBC_2.12 coshf F -GLIBC_2.12 coshl F -GLIBC_2.12 cosl F -GLIBC_2.12 cpow F -GLIBC_2.12 cpowf F -GLIBC_2.12 cpowl F -GLIBC_2.12 cproj F -GLIBC_2.12 cprojf F -GLIBC_2.12 cprojl F -GLIBC_2.12 creal F -GLIBC_2.12 crealf F -GLIBC_2.12 creall F -GLIBC_2.12 csin F -GLIBC_2.12 csinf F -GLIBC_2.12 csinh F -GLIBC_2.12 csinhf F -GLIBC_2.12 csinhl F -GLIBC_2.12 csinl F -GLIBC_2.12 csqrt F -GLIBC_2.12 csqrtf F -GLIBC_2.12 csqrtl F -GLIBC_2.12 ctan F -GLIBC_2.12 ctanf F -GLIBC_2.12 ctanh F -GLIBC_2.12 ctanhf F -GLIBC_2.12 ctanhl F -GLIBC_2.12 ctanl F -GLIBC_2.12 drem F -GLIBC_2.12 dremf F -GLIBC_2.12 dreml F -GLIBC_2.12 erf F -GLIBC_2.12 erfc F -GLIBC_2.12 erfcf F -GLIBC_2.12 erfcl F -GLIBC_2.12 erff F -GLIBC_2.12 erfl F -GLIBC_2.12 exp F -GLIBC_2.12 exp10 F -GLIBC_2.12 exp10f F -GLIBC_2.12 exp10l F -GLIBC_2.12 exp2 F -GLIBC_2.12 exp2f F -GLIBC_2.12 exp2l F -GLIBC_2.12 expf F -GLIBC_2.12 expl F -GLIBC_2.12 expm1 F -GLIBC_2.12 expm1f F -GLIBC_2.12 expm1l F -GLIBC_2.12 fabs F -GLIBC_2.12 fabsf F -GLIBC_2.12 fabsl F -GLIBC_2.12 fdim F -GLIBC_2.12 fdimf F -GLIBC_2.12 fdiml F -GLIBC_2.12 feclearexcept F -GLIBC_2.12 fedisableexcept F -GLIBC_2.12 feenableexcept F -GLIBC_2.12 fegetenv F -GLIBC_2.12 fegetexcept F -GLIBC_2.12 fegetexceptflag F -GLIBC_2.12 fegetround F -GLIBC_2.12 feholdexcept F -GLIBC_2.12 feraiseexcept F -GLIBC_2.12 fesetenv F -GLIBC_2.12 fesetexceptflag F -GLIBC_2.12 fesetround F -GLIBC_2.12 fetestexcept F -GLIBC_2.12 feupdateenv F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 floor F -GLIBC_2.12 floorf F -GLIBC_2.12 floorl F -GLIBC_2.12 fma F -GLIBC_2.12 fmaf F -GLIBC_2.12 fmal F -GLIBC_2.12 fmax F -GLIBC_2.12 fmaxf F -GLIBC_2.12 fmaxl F -GLIBC_2.12 fmin F -GLIBC_2.12 fminf F -GLIBC_2.12 fminl F -GLIBC_2.12 fmod F -GLIBC_2.12 fmodf F -GLIBC_2.12 fmodl F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 gamma F -GLIBC_2.12 gammaf F -GLIBC_2.12 gammal F -GLIBC_2.12 hypot F -GLIBC_2.12 hypotf F -GLIBC_2.12 hypotl F -GLIBC_2.12 ilogb F -GLIBC_2.12 ilogbf F -GLIBC_2.12 ilogbl F -GLIBC_2.12 j0 F -GLIBC_2.12 j0f F -GLIBC_2.12 j0l F -GLIBC_2.12 j1 F -GLIBC_2.12 j1f F -GLIBC_2.12 j1l F -GLIBC_2.12 jn F -GLIBC_2.12 jnf F -GLIBC_2.12 jnl F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 lgamma F -GLIBC_2.12 lgamma_r F -GLIBC_2.12 lgammaf F -GLIBC_2.12 lgammaf_r F -GLIBC_2.12 lgammal F -GLIBC_2.12 lgammal_r F -GLIBC_2.12 llrint F -GLIBC_2.12 llrintf F -GLIBC_2.12 llrintl F -GLIBC_2.12 llround F -GLIBC_2.12 llroundf F -GLIBC_2.12 llroundl F -GLIBC_2.12 log F -GLIBC_2.12 log10 F -GLIBC_2.12 log10f F -GLIBC_2.12 log10l F -GLIBC_2.12 log1p F -GLIBC_2.12 log1pf F -GLIBC_2.12 log1pl F -GLIBC_2.12 log2 F -GLIBC_2.12 log2f F -GLIBC_2.12 log2l F -GLIBC_2.12 logb F -GLIBC_2.12 logbf F -GLIBC_2.12 logbl F -GLIBC_2.12 logf F -GLIBC_2.12 logl F -GLIBC_2.12 lrint F -GLIBC_2.12 lrintf F -GLIBC_2.12 lrintl F -GLIBC_2.12 lround F -GLIBC_2.12 lroundf F -GLIBC_2.12 lroundl F -GLIBC_2.12 matherr F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 nan F -GLIBC_2.12 nanf F -GLIBC_2.12 nanl F -GLIBC_2.12 nearbyint F -GLIBC_2.12 nearbyintf F -GLIBC_2.12 nearbyintl F -GLIBC_2.12 nextafter F -GLIBC_2.12 nextafterf F -GLIBC_2.12 nextafterl F -GLIBC_2.12 nexttoward F -GLIBC_2.12 nexttowardf F -GLIBC_2.12 nexttowardl F -GLIBC_2.12 pow F -GLIBC_2.12 pow10 F -GLIBC_2.12 pow10f F -GLIBC_2.12 pow10l F -GLIBC_2.12 powf F -GLIBC_2.12 powl F -GLIBC_2.12 remainder F -GLIBC_2.12 remainderf F -GLIBC_2.12 remainderl F -GLIBC_2.12 remquo F -GLIBC_2.12 remquof F -GLIBC_2.12 remquol F -GLIBC_2.12 rint F -GLIBC_2.12 rintf F -GLIBC_2.12 rintl F -GLIBC_2.12 round F -GLIBC_2.12 roundf F -GLIBC_2.12 roundl F -GLIBC_2.12 scalb F -GLIBC_2.12 scalbf F -GLIBC_2.12 scalbl F -GLIBC_2.12 scalbln F -GLIBC_2.12 scalblnf F -GLIBC_2.12 scalblnl F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 signgam D 0x4 -GLIBC_2.12 significand F -GLIBC_2.12 significandf F -GLIBC_2.12 significandl F -GLIBC_2.12 sin F -GLIBC_2.12 sincos F -GLIBC_2.12 sincosf F -GLIBC_2.12 sincosl F -GLIBC_2.12 sinf F -GLIBC_2.12 sinh F -GLIBC_2.12 sinhf F -GLIBC_2.12 sinhl F -GLIBC_2.12 sinl F -GLIBC_2.12 sqrt F -GLIBC_2.12 sqrtf F -GLIBC_2.12 sqrtl F -GLIBC_2.12 tan F -GLIBC_2.12 tanf F -GLIBC_2.12 tanh F -GLIBC_2.12 tanhf F -GLIBC_2.12 tanhl F -GLIBC_2.12 tanl F -GLIBC_2.12 tgamma F -GLIBC_2.12 tgammaf F -GLIBC_2.12 tgammal F -GLIBC_2.12 trunc F -GLIBC_2.12 truncf F -GLIBC_2.12 truncl F -GLIBC_2.12 y0 F -GLIBC_2.12 y0f F -GLIBC_2.12 y0l F -GLIBC_2.12 y1 F -GLIBC_2.12 y1f F -GLIBC_2.12 y1l F -GLIBC_2.12 yn F -GLIBC_2.12 ynf F -GLIBC_2.12 ynl 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 __asin_finite F -GLIBC_2.15 __asinf_finite F -GLIBC_2.15 __atan2_finite F -GLIBC_2.15 __atan2f_finite F -GLIBC_2.15 __atanh_finite F -GLIBC_2.15 __atanhf_finite F -GLIBC_2.15 __cosh_finite F -GLIBC_2.15 __coshf_finite F -GLIBC_2.15 __exp10_finite F -GLIBC_2.15 __exp10f_finite F -GLIBC_2.15 __exp2_finite F -GLIBC_2.15 __exp2f_finite F -GLIBC_2.15 __exp_finite F -GLIBC_2.15 __expf_finite F -GLIBC_2.15 __fmod_finite F -GLIBC_2.15 __fmodf_finite F -GLIBC_2.15 __gamma_r_finite F -GLIBC_2.15 __gammaf_r_finite F -GLIBC_2.15 __hypot_finite F -GLIBC_2.15 __hypotf_finite F -GLIBC_2.15 __j0_finite F -GLIBC_2.15 __j0f_finite F -GLIBC_2.15 __j1_finite F -GLIBC_2.15 __j1f_finite F -GLIBC_2.15 __jn_finite F -GLIBC_2.15 __jnf_finite F -GLIBC_2.15 __lgamma_r_finite F -GLIBC_2.15 __lgammaf_r_finite F -GLIBC_2.15 __log10_finite F -GLIBC_2.15 __log10f_finite F -GLIBC_2.15 __log2_finite F -GLIBC_2.15 __log2f_finite F -GLIBC_2.15 __log_finite F -GLIBC_2.15 __logf_finite F -GLIBC_2.15 __pow_finite F -GLIBC_2.15 __powf_finite F -GLIBC_2.15 __remainder_finite F -GLIBC_2.15 __remainderf_finite F -GLIBC_2.15 __scalb_finite F -GLIBC_2.15 __scalbf_finite F -GLIBC_2.15 __sinh_finite F -GLIBC_2.15 __sinhf_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 __y1_finite F -GLIBC_2.15 __y1f_finite F -GLIBC_2.15 __yn_finite F -GLIBC_2.15 __ynf_finite F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 __issignaling F -GLIBC_2.18 __issignalingf F -GLIBC_2.23 GLIBC_2.23 A -GLIBC_2.23 __signgam D 0x4 -GLIBC_2.23 lgamma F -GLIBC_2.23 lgammaf F -GLIBC_2.23 lgammal F -GLIBC_2.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 canonicalize F -GLIBC_2.25 canonicalizef F -GLIBC_2.25 canonicalizel F -GLIBC_2.25 fegetmode F -GLIBC_2.25 fesetexcept F -GLIBC_2.25 fesetmode F -GLIBC_2.25 fetestexceptflag F -GLIBC_2.25 fmaxmag F -GLIBC_2.25 fmaxmagf F -GLIBC_2.25 fmaxmagl F -GLIBC_2.25 fminmag F -GLIBC_2.25 fminmagf F -GLIBC_2.25 fminmagl F -GLIBC_2.25 fromfp F -GLIBC_2.25 fromfpf F -GLIBC_2.25 fromfpl F -GLIBC_2.25 fromfpx F -GLIBC_2.25 fromfpxf F -GLIBC_2.25 fromfpxl F -GLIBC_2.25 getpayload F -GLIBC_2.25 getpayloadf F -GLIBC_2.25 getpayloadl F -GLIBC_2.25 llogb F -GLIBC_2.25 llogbf F -GLIBC_2.25 llogbl F -GLIBC_2.25 roundeven F -GLIBC_2.25 roundevenf F -GLIBC_2.25 roundevenl F -GLIBC_2.25 setpayload F -GLIBC_2.25 setpayloadf F -GLIBC_2.25 setpayloadl F -GLIBC_2.25 setpayloadsig F -GLIBC_2.25 setpayloadsigf F -GLIBC_2.25 setpayloadsigl F -GLIBC_2.25 totalorder F -GLIBC_2.25 totalorderf F -GLIBC_2.25 totalorderl F -GLIBC_2.25 totalordermag F -GLIBC_2.25 totalordermagf F -GLIBC_2.25 totalordermagl F -GLIBC_2.25 ufromfp F -GLIBC_2.25 ufromfpf F -GLIBC_2.25 ufromfpl F -GLIBC_2.25 ufromfpx F -GLIBC_2.25 ufromfpxf F -GLIBC_2.25 ufromfpxl F -GLIBC_2.27 GLIBC_2.27 A -GLIBC_2.27 acosf32 F -GLIBC_2.27 acosf32x F -GLIBC_2.27 acosf64 F -GLIBC_2.27 acoshf32 F -GLIBC_2.27 acoshf32x F -GLIBC_2.27 acoshf64 F -GLIBC_2.27 asinf32 F -GLIBC_2.27 asinf32x F -GLIBC_2.27 asinf64 F -GLIBC_2.27 asinhf32 F -GLIBC_2.27 asinhf32x F -GLIBC_2.27 asinhf64 F -GLIBC_2.27 atan2f32 F -GLIBC_2.27 atan2f32x F -GLIBC_2.27 atan2f64 F -GLIBC_2.27 atanf32 F -GLIBC_2.27 atanf32x F -GLIBC_2.27 atanf64 F -GLIBC_2.27 atanhf32 F -GLIBC_2.27 atanhf32x F -GLIBC_2.27 atanhf64 F -GLIBC_2.27 cabsf32 F -GLIBC_2.27 cabsf32x F -GLIBC_2.27 cabsf64 F -GLIBC_2.27 cacosf32 F -GLIBC_2.27 cacosf32x F -GLIBC_2.27 cacosf64 F -GLIBC_2.27 cacoshf32 F -GLIBC_2.27 cacoshf32x F -GLIBC_2.27 cacoshf64 F -GLIBC_2.27 canonicalizef32 F -GLIBC_2.27 canonicalizef32x F -GLIBC_2.27 canonicalizef64 F -GLIBC_2.27 cargf32 F -GLIBC_2.27 cargf32x F -GLIBC_2.27 cargf64 F -GLIBC_2.27 casinf32 F -GLIBC_2.27 casinf32x F -GLIBC_2.27 casinf64 F -GLIBC_2.27 casinhf32 F -GLIBC_2.27 casinhf32x F -GLIBC_2.27 casinhf64 F -GLIBC_2.27 catanf32 F -GLIBC_2.27 catanf32x F -GLIBC_2.27 catanf64 F -GLIBC_2.27 catanhf32 F -GLIBC_2.27 catanhf32x F -GLIBC_2.27 catanhf64 F -GLIBC_2.27 cbrtf32 F -GLIBC_2.27 cbrtf32x F -GLIBC_2.27 cbrtf64 F -GLIBC_2.27 ccosf32 F -GLIBC_2.27 ccosf32x F -GLIBC_2.27 ccosf64 F -GLIBC_2.27 ccoshf32 F -GLIBC_2.27 ccoshf32x F -GLIBC_2.27 ccoshf64 F -GLIBC_2.27 ceilf32 F -GLIBC_2.27 ceilf32x F -GLIBC_2.27 ceilf64 F -GLIBC_2.27 cexpf32 F -GLIBC_2.27 cexpf32x F -GLIBC_2.27 cexpf64 F -GLIBC_2.27 cimagf32 F -GLIBC_2.27 cimagf32x F -GLIBC_2.27 cimagf64 F -GLIBC_2.27 clog10f32 F -GLIBC_2.27 clog10f32x F -GLIBC_2.27 clog10f64 F -GLIBC_2.27 clogf32 F -GLIBC_2.27 clogf32x F -GLIBC_2.27 clogf64 F -GLIBC_2.27 conjf32 F -GLIBC_2.27 conjf32x F -GLIBC_2.27 conjf64 F -GLIBC_2.27 copysignf32 F -GLIBC_2.27 copysignf32x F -GLIBC_2.27 copysignf64 F -GLIBC_2.27 cosf32 F -GLIBC_2.27 cosf32x F -GLIBC_2.27 cosf64 F -GLIBC_2.27 coshf32 F -GLIBC_2.27 coshf32x F -GLIBC_2.27 coshf64 F -GLIBC_2.27 cpowf32 F -GLIBC_2.27 cpowf32x F -GLIBC_2.27 cpowf64 F -GLIBC_2.27 cprojf32 F -GLIBC_2.27 cprojf32x F -GLIBC_2.27 cprojf64 F -GLIBC_2.27 crealf32 F -GLIBC_2.27 crealf32x F -GLIBC_2.27 crealf64 F -GLIBC_2.27 csinf32 F -GLIBC_2.27 csinf32x F -GLIBC_2.27 csinf64 F -GLIBC_2.27 csinhf32 F -GLIBC_2.27 csinhf32x F -GLIBC_2.27 csinhf64 F -GLIBC_2.27 csqrtf32 F -GLIBC_2.27 csqrtf32x F -GLIBC_2.27 csqrtf64 F -GLIBC_2.27 ctanf32 F -GLIBC_2.27 ctanf32x F -GLIBC_2.27 ctanf64 F -GLIBC_2.27 ctanhf32 F -GLIBC_2.27 ctanhf32x F -GLIBC_2.27 ctanhf64 F -GLIBC_2.27 erfcf32 F -GLIBC_2.27 erfcf32x F -GLIBC_2.27 erfcf64 F -GLIBC_2.27 erff32 F -GLIBC_2.27 erff32x F -GLIBC_2.27 erff64 F -GLIBC_2.27 exp10f32 F -GLIBC_2.27 exp10f32x F -GLIBC_2.27 exp10f64 F -GLIBC_2.27 exp2f F -GLIBC_2.27 exp2f32 F -GLIBC_2.27 exp2f32x F -GLIBC_2.27 exp2f64 F -GLIBC_2.27 expf F -GLIBC_2.27 expf32 F -GLIBC_2.27 expf32x F -GLIBC_2.27 expf64 F -GLIBC_2.27 expm1f32 F -GLIBC_2.27 expm1f32x F -GLIBC_2.27 expm1f64 F -GLIBC_2.27 fabsf32 F -GLIBC_2.27 fabsf32x F -GLIBC_2.27 fabsf64 F -GLIBC_2.27 fdimf32 F -GLIBC_2.27 fdimf32x F -GLIBC_2.27 fdimf64 F -GLIBC_2.27 floorf32 F -GLIBC_2.27 floorf32x F -GLIBC_2.27 floorf64 F -GLIBC_2.27 fmaf32 F -GLIBC_2.27 fmaf32x F -GLIBC_2.27 fmaf64 F -GLIBC_2.27 fmaxf32 F -GLIBC_2.27 fmaxf32x F -GLIBC_2.27 fmaxf64 F -GLIBC_2.27 fmaxmagf32 F -GLIBC_2.27 fmaxmagf32x F -GLIBC_2.27 fmaxmagf64 F -GLIBC_2.27 fminf32 F -GLIBC_2.27 fminf32x F -GLIBC_2.27 fminf64 F -GLIBC_2.27 fminmagf32 F -GLIBC_2.27 fminmagf32x F -GLIBC_2.27 fminmagf64 F -GLIBC_2.27 fmodf32 F -GLIBC_2.27 fmodf32x F -GLIBC_2.27 fmodf64 F -GLIBC_2.27 frexpf32 F -GLIBC_2.27 frexpf32x F -GLIBC_2.27 frexpf64 F -GLIBC_2.27 fromfpf32 F -GLIBC_2.27 fromfpf32x F -GLIBC_2.27 fromfpf64 F -GLIBC_2.27 fromfpxf32 F -GLIBC_2.27 fromfpxf32x F -GLIBC_2.27 fromfpxf64 F -GLIBC_2.27 getpayloadf32 F -GLIBC_2.27 getpayloadf32x F -GLIBC_2.27 getpayloadf64 F -GLIBC_2.27 hypotf32 F -GLIBC_2.27 hypotf32x F -GLIBC_2.27 hypotf64 F -GLIBC_2.27 ilogbf32 F -GLIBC_2.27 ilogbf32x F -GLIBC_2.27 ilogbf64 F -GLIBC_2.27 j0f32 F -GLIBC_2.27 j0f32x F -GLIBC_2.27 j0f64 F -GLIBC_2.27 j1f32 F -GLIBC_2.27 j1f32x F -GLIBC_2.27 j1f64 F -GLIBC_2.27 jnf32 F -GLIBC_2.27 jnf32x F -GLIBC_2.27 jnf64 F -GLIBC_2.27 ldexpf32 F -GLIBC_2.27 ldexpf32x F -GLIBC_2.27 ldexpf64 F -GLIBC_2.27 lgammaf32 F -GLIBC_2.27 lgammaf32_r F -GLIBC_2.27 lgammaf32x F -GLIBC_2.27 lgammaf32x_r F -GLIBC_2.27 lgammaf64 F -GLIBC_2.27 lgammaf64_r F -GLIBC_2.27 llogbf32 F -GLIBC_2.27 llogbf32x F -GLIBC_2.27 llogbf64 F -GLIBC_2.27 llrintf32 F -GLIBC_2.27 llrintf32x F -GLIBC_2.27 llrintf64 F -GLIBC_2.27 llroundf32 F -GLIBC_2.27 llroundf32x F -GLIBC_2.27 llroundf64 F -GLIBC_2.27 log10f32 F -GLIBC_2.27 log10f32x F -GLIBC_2.27 log10f64 F -GLIBC_2.27 log1pf32 F -GLIBC_2.27 log1pf32x F -GLIBC_2.27 log1pf64 F -GLIBC_2.27 log2f F -GLIBC_2.27 log2f32 F -GLIBC_2.27 log2f32x F -GLIBC_2.27 log2f64 F -GLIBC_2.27 logbf32 F -GLIBC_2.27 logbf32x F -GLIBC_2.27 logbf64 F -GLIBC_2.27 logf F -GLIBC_2.27 logf32 F -GLIBC_2.27 logf32x F -GLIBC_2.27 logf64 F -GLIBC_2.27 lrintf32 F -GLIBC_2.27 lrintf32x F -GLIBC_2.27 lrintf64 F -GLIBC_2.27 lroundf32 F -GLIBC_2.27 lroundf32x F -GLIBC_2.27 lroundf64 F -GLIBC_2.27 modff32 F -GLIBC_2.27 modff32x F -GLIBC_2.27 modff64 F -GLIBC_2.27 nanf32 F -GLIBC_2.27 nanf32x F -GLIBC_2.27 nanf64 F -GLIBC_2.27 nearbyintf32 F -GLIBC_2.27 nearbyintf32x F -GLIBC_2.27 nearbyintf64 F -GLIBC_2.27 nextafterf32 F -GLIBC_2.27 nextafterf32x F -GLIBC_2.27 nextafterf64 F -GLIBC_2.27 nextdownf32 F -GLIBC_2.27 nextdownf32x F -GLIBC_2.27 nextdownf64 F -GLIBC_2.27 nextupf32 F -GLIBC_2.27 nextupf32x F -GLIBC_2.27 nextupf64 F -GLIBC_2.27 powf F -GLIBC_2.27 powf32 F -GLIBC_2.27 powf32x F -GLIBC_2.27 powf64 F -GLIBC_2.27 remainderf32 F -GLIBC_2.27 remainderf32x F -GLIBC_2.27 remainderf64 F -GLIBC_2.27 remquof32 F -GLIBC_2.27 remquof32x F -GLIBC_2.27 remquof64 F -GLIBC_2.27 rintf32 F -GLIBC_2.27 rintf32x F -GLIBC_2.27 rintf64 F -GLIBC_2.27 roundevenf32 F -GLIBC_2.27 roundevenf32x F -GLIBC_2.27 roundevenf64 F -GLIBC_2.27 roundf32 F -GLIBC_2.27 roundf32x F -GLIBC_2.27 roundf64 F -GLIBC_2.27 scalblnf32 F -GLIBC_2.27 scalblnf32x F -GLIBC_2.27 scalblnf64 F -GLIBC_2.27 scalbnf32 F -GLIBC_2.27 scalbnf32x F -GLIBC_2.27 scalbnf64 F -GLIBC_2.27 setpayloadf32 F -GLIBC_2.27 setpayloadf32x F -GLIBC_2.27 setpayloadf64 F -GLIBC_2.27 setpayloadsigf32 F -GLIBC_2.27 setpayloadsigf32x F -GLIBC_2.27 setpayloadsigf64 F -GLIBC_2.27 sincosf32 F -GLIBC_2.27 sincosf32x F -GLIBC_2.27 sincosf64 F -GLIBC_2.27 sinf32 F -GLIBC_2.27 sinf32x F -GLIBC_2.27 sinf64 F -GLIBC_2.27 sinhf32 F -GLIBC_2.27 sinhf32x F -GLIBC_2.27 sinhf64 F -GLIBC_2.27 sqrtf32 F -GLIBC_2.27 sqrtf32x F -GLIBC_2.27 sqrtf64 F -GLIBC_2.27 tanf32 F -GLIBC_2.27 tanf32x F -GLIBC_2.27 tanf64 F -GLIBC_2.27 tanhf32 F -GLIBC_2.27 tanhf32x F -GLIBC_2.27 tanhf64 F -GLIBC_2.27 tgammaf32 F -GLIBC_2.27 tgammaf32x F -GLIBC_2.27 tgammaf64 F -GLIBC_2.27 totalorderf32 F -GLIBC_2.27 totalorderf32x F -GLIBC_2.27 totalorderf64 F -GLIBC_2.27 totalordermagf32 F -GLIBC_2.27 totalordermagf32x F -GLIBC_2.27 totalordermagf64 F -GLIBC_2.27 truncf32 F -GLIBC_2.27 truncf32x F -GLIBC_2.27 truncf64 F -GLIBC_2.27 ufromfpf32 F -GLIBC_2.27 ufromfpf32x F -GLIBC_2.27 ufromfpf64 F -GLIBC_2.27 ufromfpxf32 F -GLIBC_2.27 ufromfpxf32x F -GLIBC_2.27 ufromfpxf64 F -GLIBC_2.27 y0f32 F -GLIBC_2.27 y0f32x F -GLIBC_2.27 y0f64 F -GLIBC_2.27 y1f32 F -GLIBC_2.27 y1f32x F -GLIBC_2.27 y1f64 F -GLIBC_2.27 ynf32 F -GLIBC_2.27 ynf32x F -GLIBC_2.27 ynf64 F -GLIBC_2.28 GLIBC_2.28 A -GLIBC_2.28 daddl F -GLIBC_2.28 dsubl F -GLIBC_2.28 f32addf32x F -GLIBC_2.28 f32addf64 F -GLIBC_2.28 f32subf32x F -GLIBC_2.28 f32subf64 F -GLIBC_2.28 f32xaddf64 F -GLIBC_2.28 f32xsubf64 F -GLIBC_2.28 fadd F -GLIBC_2.28 faddl F -GLIBC_2.28 fsub F -GLIBC_2.28 fsubl F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist deleted file mode 100644 index 0277e5c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist +++ /dev/null @@ -1,122 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __free_fdresult F -GLIBC_2.12 __nis_default_access F -GLIBC_2.12 __nis_default_group F -GLIBC_2.12 __nis_default_owner F -GLIBC_2.12 __nis_default_ttl F -GLIBC_2.12 __nis_finddirectory F -GLIBC_2.12 __nis_hash F -GLIBC_2.12 __nisbind_connect F -GLIBC_2.12 __nisbind_create F -GLIBC_2.12 __nisbind_destroy F -GLIBC_2.12 __nisbind_next F -GLIBC_2.12 __yp_check F -GLIBC_2.12 nis_add F -GLIBC_2.12 nis_add_entry F -GLIBC_2.12 nis_addmember F -GLIBC_2.12 nis_checkpoint F -GLIBC_2.12 nis_clone_directory F -GLIBC_2.12 nis_clone_object F -GLIBC_2.12 nis_clone_result F -GLIBC_2.12 nis_creategroup F -GLIBC_2.12 nis_destroy_object F -GLIBC_2.12 nis_destroygroup F -GLIBC_2.12 nis_dir_cmp F -GLIBC_2.12 nis_domain_of F -GLIBC_2.12 nis_domain_of_r F -GLIBC_2.12 nis_first_entry F -GLIBC_2.12 nis_free_directory F -GLIBC_2.12 nis_free_object F -GLIBC_2.12 nis_free_request F -GLIBC_2.12 nis_freenames F -GLIBC_2.12 nis_freeresult F -GLIBC_2.12 nis_freeservlist F -GLIBC_2.12 nis_freetags F -GLIBC_2.12 nis_getnames F -GLIBC_2.12 nis_getservlist F -GLIBC_2.12 nis_ismember F -GLIBC_2.12 nis_leaf_of F -GLIBC_2.12 nis_leaf_of_r F -GLIBC_2.12 nis_lerror F -GLIBC_2.12 nis_list F -GLIBC_2.12 nis_local_directory F -GLIBC_2.12 nis_local_group F -GLIBC_2.12 nis_local_host F -GLIBC_2.12 nis_local_principal F -GLIBC_2.12 nis_lookup F -GLIBC_2.12 nis_mkdir F -GLIBC_2.12 nis_modify F -GLIBC_2.12 nis_modify_entry F -GLIBC_2.12 nis_name_of F -GLIBC_2.12 nis_name_of_r F -GLIBC_2.12 nis_next_entry F -GLIBC_2.12 nis_perror F -GLIBC_2.12 nis_ping F -GLIBC_2.12 nis_print_directory F -GLIBC_2.12 nis_print_entry F -GLIBC_2.12 nis_print_group F -GLIBC_2.12 nis_print_group_entry F -GLIBC_2.12 nis_print_link F -GLIBC_2.12 nis_print_object F -GLIBC_2.12 nis_print_result F -GLIBC_2.12 nis_print_rights F -GLIBC_2.12 nis_print_table F -GLIBC_2.12 nis_read_obj F -GLIBC_2.12 nis_remove F -GLIBC_2.12 nis_remove_entry F -GLIBC_2.12 nis_removemember F -GLIBC_2.12 nis_rmdir F -GLIBC_2.12 nis_servstate F -GLIBC_2.12 nis_sperrno F -GLIBC_2.12 nis_sperror F -GLIBC_2.12 nis_sperror_r F -GLIBC_2.12 nis_stats F -GLIBC_2.12 nis_verifygroup F -GLIBC_2.12 nis_write_obj F -GLIBC_2.12 readColdStartFile F -GLIBC_2.12 writeColdStartFile F -GLIBC_2.12 xdr_cback_data F -GLIBC_2.12 xdr_domainname F -GLIBC_2.12 xdr_keydat F -GLIBC_2.12 xdr_mapname F -GLIBC_2.12 xdr_obj_p F -GLIBC_2.12 xdr_peername F -GLIBC_2.12 xdr_valdat F -GLIBC_2.12 xdr_yp_buf F -GLIBC_2.12 xdr_ypall F -GLIBC_2.12 xdr_ypbind_binding F -GLIBC_2.12 xdr_ypbind_resp F -GLIBC_2.12 xdr_ypbind_resptype F -GLIBC_2.12 xdr_ypbind_setdom F -GLIBC_2.12 xdr_ypdelete_args F -GLIBC_2.12 xdr_ypmap_parms F -GLIBC_2.12 xdr_ypmaplist F -GLIBC_2.12 xdr_yppush_status F -GLIBC_2.12 xdr_yppushresp_xfr F -GLIBC_2.12 xdr_ypreq_key F -GLIBC_2.12 xdr_ypreq_nokey F -GLIBC_2.12 xdr_ypreq_xfr F -GLIBC_2.12 xdr_ypresp_all F -GLIBC_2.12 xdr_ypresp_key_val F -GLIBC_2.12 xdr_ypresp_maplist F -GLIBC_2.12 xdr_ypresp_master F -GLIBC_2.12 xdr_ypresp_order F -GLIBC_2.12 xdr_ypresp_val F -GLIBC_2.12 xdr_ypresp_xfr F -GLIBC_2.12 xdr_ypstat F -GLIBC_2.12 xdr_ypupdate_args F -GLIBC_2.12 xdr_ypxfrstat F -GLIBC_2.12 yp_all F -GLIBC_2.12 yp_bind F -GLIBC_2.12 yp_first F -GLIBC_2.12 yp_get_default_domain F -GLIBC_2.12 yp_maplist F -GLIBC_2.12 yp_master F -GLIBC_2.12 yp_match F -GLIBC_2.12 yp_next F -GLIBC_2.12 yp_order F -GLIBC_2.12 yp_unbind F -GLIBC_2.12 yp_update F -GLIBC_2.12 ypbinderr_string F -GLIBC_2.12 yperr_string F -GLIBC_2.12 ypprot_err F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist deleted file mode 100644 index d16158f..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist +++ /dev/null @@ -1,226 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 __close F -GLIBC_2.12 __connect F -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __fork F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __lseek F -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pthread_cleanup_routine F -GLIBC_2.12 __pthread_getspecific F -GLIBC_2.12 __pthread_key_create F -GLIBC_2.12 __pthread_mutex_destroy F -GLIBC_2.12 __pthread_mutex_init F -GLIBC_2.12 __pthread_mutex_lock F -GLIBC_2.12 __pthread_mutex_trylock F -GLIBC_2.12 __pthread_mutex_unlock F -GLIBC_2.12 __pthread_mutexattr_destroy F -GLIBC_2.12 __pthread_mutexattr_init F -GLIBC_2.12 __pthread_mutexattr_settype F -GLIBC_2.12 __pthread_once F -GLIBC_2.12 __pthread_register_cancel F -GLIBC_2.12 __pthread_register_cancel_defer F -GLIBC_2.12 __pthread_rwlock_destroy F -GLIBC_2.12 __pthread_rwlock_init F -GLIBC_2.12 __pthread_rwlock_rdlock F -GLIBC_2.12 __pthread_rwlock_tryrdlock F -GLIBC_2.12 __pthread_rwlock_trywrlock F -GLIBC_2.12 __pthread_rwlock_unlock F -GLIBC_2.12 __pthread_rwlock_wrlock F -GLIBC_2.12 __pthread_setspecific F -GLIBC_2.12 __pthread_unregister_cancel F -GLIBC_2.12 __pthread_unregister_cancel_restore F -GLIBC_2.12 __pthread_unwind_next F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __read F -GLIBC_2.12 __res_state F -GLIBC_2.12 __send F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __vfork F -GLIBC_2.12 __wait F -GLIBC_2.12 __write F -GLIBC_2.12 _pthread_cleanup_pop F -GLIBC_2.12 _pthread_cleanup_pop_restore F -GLIBC_2.12 _pthread_cleanup_push F -GLIBC_2.12 _pthread_cleanup_push_defer F -GLIBC_2.12 accept F -GLIBC_2.12 close F -GLIBC_2.12 connect F -GLIBC_2.12 fcntl F -GLIBC_2.12 flockfile F -GLIBC_2.12 fork F -GLIBC_2.12 fsync F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 funlockfile F -GLIBC_2.12 longjmp F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 msync F -GLIBC_2.12 nanosleep F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 pause F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getaffinity_np F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getguardsize F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_getstack F -GLIBC_2.12 pthread_attr_getstackaddr F -GLIBC_2.12 pthread_attr_getstacksize F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setaffinity_np F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setguardsize F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_attr_setstack F -GLIBC_2.12 pthread_attr_setstackaddr F -GLIBC_2.12 pthread_attr_setstacksize F -GLIBC_2.12 pthread_barrier_destroy F -GLIBC_2.12 pthread_barrier_init F -GLIBC_2.12 pthread_barrier_wait F -GLIBC_2.12 pthread_barrierattr_destroy F -GLIBC_2.12 pthread_barrierattr_getpshared F -GLIBC_2.12 pthread_barrierattr_init F -GLIBC_2.12 pthread_barrierattr_setpshared F -GLIBC_2.12 pthread_cancel F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_getclock F -GLIBC_2.12 pthread_condattr_getpshared F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_condattr_setclock F -GLIBC_2.12 pthread_condattr_setpshared F -GLIBC_2.12 pthread_create F -GLIBC_2.12 pthread_detach F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getaffinity_np F -GLIBC_2.12 pthread_getattr_np F -GLIBC_2.12 pthread_getconcurrency F -GLIBC_2.12 pthread_getcpuclockid F -GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_getspecific F -GLIBC_2.12 pthread_join F -GLIBC_2.12 pthread_key_create F -GLIBC_2.12 pthread_key_delete F -GLIBC_2.12 pthread_kill F -GLIBC_2.12 pthread_kill_other_threads_np F -GLIBC_2.12 pthread_mutex_consistent F -GLIBC_2.12 pthread_mutex_consistent_np F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_getprioceiling F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_setprioceiling F -GLIBC_2.12 pthread_mutex_timedlock F -GLIBC_2.12 pthread_mutex_trylock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_mutexattr_destroy F -GLIBC_2.12 pthread_mutexattr_getkind_np F -GLIBC_2.12 pthread_mutexattr_getprioceiling F -GLIBC_2.12 pthread_mutexattr_getprotocol F -GLIBC_2.12 pthread_mutexattr_getpshared F -GLIBC_2.12 pthread_mutexattr_getrobust F -GLIBC_2.12 pthread_mutexattr_getrobust_np F -GLIBC_2.12 pthread_mutexattr_gettype F -GLIBC_2.12 pthread_mutexattr_init F -GLIBC_2.12 pthread_mutexattr_setkind_np F -GLIBC_2.12 pthread_mutexattr_setprioceiling F -GLIBC_2.12 pthread_mutexattr_setprotocol F -GLIBC_2.12 pthread_mutexattr_setpshared F -GLIBC_2.12 pthread_mutexattr_setrobust F -GLIBC_2.12 pthread_mutexattr_setrobust_np F -GLIBC_2.12 pthread_mutexattr_settype F -GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_destroy F -GLIBC_2.12 pthread_rwlock_init F -GLIBC_2.12 pthread_rwlock_rdlock F -GLIBC_2.12 pthread_rwlock_timedrdlock F -GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_tryrdlock F -GLIBC_2.12 pthread_rwlock_trywrlock F -GLIBC_2.12 pthread_rwlock_unlock F -GLIBC_2.12 pthread_rwlock_wrlock F -GLIBC_2.12 pthread_rwlockattr_destroy F -GLIBC_2.12 pthread_rwlockattr_getkind_np F -GLIBC_2.12 pthread_rwlockattr_getpshared F -GLIBC_2.12 pthread_rwlockattr_init F -GLIBC_2.12 pthread_rwlockattr_setkind_np F -GLIBC_2.12 pthread_rwlockattr_setpshared F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setaffinity_np F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setconcurrency F -GLIBC_2.12 pthread_setname_np F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 pthread_setschedprio F -GLIBC_2.12 pthread_setspecific F -GLIBC_2.12 pthread_sigmask F -GLIBC_2.12 pthread_sigqueue F -GLIBC_2.12 pthread_spin_destroy F -GLIBC_2.12 pthread_spin_init F -GLIBC_2.12 pthread_spin_lock F -GLIBC_2.12 pthread_spin_trylock F -GLIBC_2.12 pthread_spin_unlock F -GLIBC_2.12 pthread_testcancel F -GLIBC_2.12 pthread_timedjoin_np F -GLIBC_2.12 pthread_tryjoin_np F -GLIBC_2.12 pthread_yield F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 raise F -GLIBC_2.12 read F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmsg F -GLIBC_2.12 sem_close F -GLIBC_2.12 sem_destroy F -GLIBC_2.12 sem_getvalue F -GLIBC_2.12 sem_init F -GLIBC_2.12 sem_open F -GLIBC_2.12 sem_post F -GLIBC_2.12 sem_timedwait F -GLIBC_2.12 sem_trywait F -GLIBC_2.12 sem_unlink F -GLIBC_2.12 sem_wait F -GLIBC_2.12 send F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 sigaction F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 sigwait F -GLIBC_2.12 system F -GLIBC_2.12 tcdrain F -GLIBC_2.12 vfork F -GLIBC_2.12 wait F -GLIBC_2.12 waitpid F -GLIBC_2.12 write F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 pthread_getattr_default_np F -GLIBC_2.18 pthread_setattr_default_np F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist deleted file mode 100644 index aa2fefa..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist +++ /dev/null @@ -1,92 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __b64_ntop F -GLIBC_2.12 __b64_pton F -GLIBC_2.12 __dn_comp F -GLIBC_2.12 __dn_count_labels F -GLIBC_2.12 __dn_expand F -GLIBC_2.12 __dn_skipname F -GLIBC_2.12 __fp_nquery F -GLIBC_2.12 __fp_query F -GLIBC_2.12 __fp_resstat F -GLIBC_2.12 __hostalias F -GLIBC_2.12 __loc_aton F -GLIBC_2.12 __loc_ntoa F -GLIBC_2.12 __p_cdname F -GLIBC_2.12 __p_cdnname F -GLIBC_2.12 __p_class F -GLIBC_2.12 __p_class_syms D 0x54 -GLIBC_2.12 __p_fqname F -GLIBC_2.12 __p_fqnname F -GLIBC_2.12 __p_option F -GLIBC_2.12 __p_query F -GLIBC_2.12 __p_rcode F -GLIBC_2.12 __p_secstodate F -GLIBC_2.12 __p_time F -GLIBC_2.12 __p_type F -GLIBC_2.12 __p_type_syms D 0x228 -GLIBC_2.12 __putlong F -GLIBC_2.12 __putshort F -GLIBC_2.12 __res_close F -GLIBC_2.12 __res_dnok F -GLIBC_2.12 __res_hnok F -GLIBC_2.12 __res_hostalias F -GLIBC_2.12 __res_isourserver F -GLIBC_2.12 __res_mailok F -GLIBC_2.12 __res_mkquery F -GLIBC_2.12 __res_nameinquery F -GLIBC_2.12 __res_nmkquery F -GLIBC_2.12 __res_nquery F -GLIBC_2.12 __res_nquerydomain F -GLIBC_2.12 __res_nsearch F -GLIBC_2.12 __res_nsend F -GLIBC_2.12 __res_ownok F -GLIBC_2.12 __res_queriesmatch F -GLIBC_2.12 __res_query F -GLIBC_2.12 __res_querydomain F -GLIBC_2.12 __res_search F -GLIBC_2.12 __res_send F -GLIBC_2.12 __sym_ntop F -GLIBC_2.12 __sym_ntos F -GLIBC_2.12 __sym_ston F -GLIBC_2.12 _gethtbyaddr F -GLIBC_2.12 _gethtbyname F -GLIBC_2.12 _gethtbyname2 F -GLIBC_2.12 _gethtent F -GLIBC_2.12 _getlong F -GLIBC_2.12 _getshort F -GLIBC_2.12 _res_opcodes D 0x40 -GLIBC_2.12 _sethtent F -GLIBC_2.12 inet_net_ntop F -GLIBC_2.12 inet_net_pton F -GLIBC_2.12 inet_neta F -GLIBC_2.12 ns_datetosecs F -GLIBC_2.12 ns_format_ttl F -GLIBC_2.12 ns_get16 F -GLIBC_2.12 ns_get32 F -GLIBC_2.12 ns_initparse F -GLIBC_2.12 ns_makecanon F -GLIBC_2.12 ns_msg_getflag F -GLIBC_2.12 ns_name_compress F -GLIBC_2.12 ns_name_ntol F -GLIBC_2.12 ns_name_ntop F -GLIBC_2.12 ns_name_pack F -GLIBC_2.12 ns_name_pton F -GLIBC_2.12 ns_name_rollback F -GLIBC_2.12 ns_name_skip F -GLIBC_2.12 ns_name_uncompress F -GLIBC_2.12 ns_name_unpack F -GLIBC_2.12 ns_parse_ttl F -GLIBC_2.12 ns_parserr F -GLIBC_2.12 ns_put16 F -GLIBC_2.12 ns_put32 F -GLIBC_2.12 ns_samedomain F -GLIBC_2.12 ns_samename F -GLIBC_2.12 ns_skiprr F -GLIBC_2.12 ns_sprintrr F -GLIBC_2.12 ns_sprintrrf F -GLIBC_2.12 ns_subdomain F -GLIBC_2.12 res_gethostbyaddr F -GLIBC_2.12 res_gethostbyname F -GLIBC_2.12 res_gethostbyname2 F -GLIBC_2.12 res_send_setqhook F -GLIBC_2.12 res_send_setrhook F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist deleted file mode 100644 index 14f5c82..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __mq_open_2 F -GLIBC_2.12 aio_cancel F -GLIBC_2.12 aio_cancel64 F -GLIBC_2.12 aio_error F -GLIBC_2.12 aio_error64 F -GLIBC_2.12 aio_fsync F -GLIBC_2.12 aio_fsync64 F -GLIBC_2.12 aio_init F -GLIBC_2.12 aio_read F -GLIBC_2.12 aio_read64 F -GLIBC_2.12 aio_return F -GLIBC_2.12 aio_return64 F -GLIBC_2.12 aio_suspend F -GLIBC_2.12 aio_suspend64 F -GLIBC_2.12 aio_write F -GLIBC_2.12 aio_write64 F -GLIBC_2.12 clock_getcpuclockid F -GLIBC_2.12 clock_getres F -GLIBC_2.12 clock_gettime F -GLIBC_2.12 clock_nanosleep F -GLIBC_2.12 clock_settime F -GLIBC_2.12 lio_listio F -GLIBC_2.12 lio_listio64 F -GLIBC_2.12 mq_close F -GLIBC_2.12 mq_getattr F -GLIBC_2.12 mq_notify F -GLIBC_2.12 mq_open F -GLIBC_2.12 mq_receive F -GLIBC_2.12 mq_send F -GLIBC_2.12 mq_setattr F -GLIBC_2.12 mq_timedreceive F -GLIBC_2.12 mq_timedsend F -GLIBC_2.12 mq_unlink F -GLIBC_2.12 shm_open F -GLIBC_2.12 shm_unlink F -GLIBC_2.12 timer_create F -GLIBC_2.12 timer_delete F -GLIBC_2.12 timer_getoverrun F -GLIBC_2.12 timer_gettime F -GLIBC_2.12 timer_settime F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist deleted file mode 100644 index 4aade0b..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 td_init F -GLIBC_2.12 td_log F -GLIBC_2.12 td_symbol_list F -GLIBC_2.12 td_ta_clear_event F -GLIBC_2.12 td_ta_delete F -GLIBC_2.12 td_ta_enable_stats F -GLIBC_2.12 td_ta_event_addr F -GLIBC_2.12 td_ta_event_getmsg F -GLIBC_2.12 td_ta_get_nthreads F -GLIBC_2.12 td_ta_get_ph F -GLIBC_2.12 td_ta_get_stats F -GLIBC_2.12 td_ta_map_id2thr F -GLIBC_2.12 td_ta_map_lwp2thr F -GLIBC_2.12 td_ta_new F -GLIBC_2.12 td_ta_reset_stats F -GLIBC_2.12 td_ta_set_event F -GLIBC_2.12 td_ta_setconcurrency F -GLIBC_2.12 td_ta_thr_iter F -GLIBC_2.12 td_ta_tsd_iter F -GLIBC_2.12 td_thr_clear_event F -GLIBC_2.12 td_thr_dbresume F -GLIBC_2.12 td_thr_dbsuspend F -GLIBC_2.12 td_thr_event_enable F -GLIBC_2.12 td_thr_event_getmsg F -GLIBC_2.12 td_thr_get_info F -GLIBC_2.12 td_thr_getfpregs F -GLIBC_2.12 td_thr_getgregs F -GLIBC_2.12 td_thr_getxregs F -GLIBC_2.12 td_thr_getxregsize F -GLIBC_2.12 td_thr_set_event F -GLIBC_2.12 td_thr_setfpregs F -GLIBC_2.12 td_thr_setgregs F -GLIBC_2.12 td_thr_setprio F -GLIBC_2.12 td_thr_setsigpending F -GLIBC_2.12 td_thr_setxregs F -GLIBC_2.12 td_thr_sigsetmask F -GLIBC_2.12 td_thr_tls_get_addr F -GLIBC_2.12 td_thr_tlsbase F -GLIBC_2.12 td_thr_tsd F -GLIBC_2.12 td_thr_validate F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist deleted file mode 100644 index e4d4326..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist +++ /dev/null @@ -1,7 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 forkpty F -GLIBC_2.12 login F -GLIBC_2.12 login_tty F -GLIBC_2.12 logout F -GLIBC_2.12 logwtmp F -GLIBC_2.12 openpty F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/Implies b/sysdeps/unix/sysv/linux/tile/tilegx64/Implies deleted file mode 100644 index f814319..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/Implies +++ /dev/null @@ -1,3 +0,0 @@ -unix/sysv/linux/tile -unix/sysv/linux/generic -unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile deleted file mode 100644 index c8991d3..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile +++ /dev/null @@ -1 +0,0 @@ -default-abi := 64 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data deleted file mode 100644 index ac925cc..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data +++ /dev/null @@ -1,67 +0,0 @@ -blkcnt64_t:l -blkcnt_t:l -blksize_t:i -caddr_t:Pc -clockid_t:i -clock_t:l -daddr_t:i -dev_t:m -fd_mask:l -fsblkcnt64_t:m -fsblkcnt_t:m -fsfilcnt64_t:m -fsfilcnt_t:m -fsid_t:8__fsid_t -gid_t:j -id_t:j -ino64_t:m -ino_t:m -int16_t:s -int32_t:i -int64_t:l -int8_t:a -intptr_t:l -key_t:i -loff_t:l -mode_t:j -nlink_t:j -off64_t:l -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:l -register_t:l -rlim64_t:m -rlim_t:m -sigset_t:10__sigset_t -size_t:m -socklen_t:j -ssize_t:l -suseconds_t:l -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:m -u_int8_t:h -ulong:m -u_long:m -u_quad_t:m -useconds_t:j -ushort:t -u_short:t diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h deleted file mode 100644 index 685f9b8..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h +++ /dev/null @@ -1,6 +0,0 @@ -#define JMP_BUF_SIZE 392 -#define SIGJMP_BUF_SIZE 392 -#define JMP_BUF_ALIGN 8 -#define SIGJMP_BUF_ALIGN 8 -#define MASK_WAS_SAVED_OFFSET 256 -#define SAVED_MASK_OFFSET 264 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist deleted file mode 100644 index ab74e7e..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist +++ /dev/null @@ -1,9 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __libc_stack_end D 0x8 -GLIBC_2.12 __tls_get_addr F -GLIBC_2.12 _dl_mcount F -GLIBC_2.12 _r_debug D 0x28 -GLIBC_2.12 calloc F -GLIBC_2.12 free F -GLIBC_2.12 malloc F -GLIBC_2.12 realloc F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist deleted file mode 100644 index 0d64827..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist +++ /dev/null @@ -1,2 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist deleted file mode 100644 index a3b1cc0..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist +++ /dev/null @@ -1,5 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 gai_cancel F -GLIBC_2.12 gai_error F -GLIBC_2.12 gai_suspend F -GLIBC_2.12 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist deleted file mode 100644 index f2518c0..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist +++ /dev/null @@ -1,2138 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _Exit F -GLIBC_2.12 _IO_2_1_stderr_ D 0xe0 -GLIBC_2.12 _IO_2_1_stdin_ D 0xe0 -GLIBC_2.12 _IO_2_1_stdout_ D 0xe0 -GLIBC_2.12 _IO_adjust_column F -GLIBC_2.12 _IO_adjust_wcolumn F -GLIBC_2.12 _IO_default_doallocate F -GLIBC_2.12 _IO_default_finish F -GLIBC_2.12 _IO_default_pbackfail F -GLIBC_2.12 _IO_default_uflow F -GLIBC_2.12 _IO_default_xsgetn F -GLIBC_2.12 _IO_default_xsputn F -GLIBC_2.12 _IO_do_write F -GLIBC_2.12 _IO_doallocbuf F -GLIBC_2.12 _IO_fclose F -GLIBC_2.12 _IO_fdopen F -GLIBC_2.12 _IO_feof F -GLIBC_2.12 _IO_ferror F -GLIBC_2.12 _IO_fflush F -GLIBC_2.12 _IO_fgetpos F -GLIBC_2.12 _IO_fgetpos64 F -GLIBC_2.12 _IO_fgets F -GLIBC_2.12 _IO_file_attach F -GLIBC_2.12 _IO_file_close F -GLIBC_2.12 _IO_file_close_it F -GLIBC_2.12 _IO_file_doallocate F -GLIBC_2.12 _IO_file_finish F -GLIBC_2.12 _IO_file_fopen F -GLIBC_2.12 _IO_file_init F -GLIBC_2.12 _IO_file_jumps D 0xa8 -GLIBC_2.12 _IO_file_open F -GLIBC_2.12 _IO_file_overflow F -GLIBC_2.12 _IO_file_read F -GLIBC_2.12 _IO_file_seek F -GLIBC_2.12 _IO_file_seekoff F -GLIBC_2.12 _IO_file_setbuf F -GLIBC_2.12 _IO_file_stat F -GLIBC_2.12 _IO_file_sync F -GLIBC_2.12 _IO_file_underflow F -GLIBC_2.12 _IO_file_write F -GLIBC_2.12 _IO_file_xsputn F -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_flush_all F -GLIBC_2.12 _IO_flush_all_linebuffered F -GLIBC_2.12 _IO_fopen F -GLIBC_2.12 _IO_fprintf F -GLIBC_2.12 _IO_fputs F -GLIBC_2.12 _IO_fread F -GLIBC_2.12 _IO_free_backup_area F -GLIBC_2.12 _IO_free_wbackup_area F -GLIBC_2.12 _IO_fsetpos F -GLIBC_2.12 _IO_fsetpos64 F -GLIBC_2.12 _IO_ftell F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 _IO_fwrite F -GLIBC_2.12 _IO_getc F -GLIBC_2.12 _IO_getline F -GLIBC_2.12 _IO_getline_info F -GLIBC_2.12 _IO_gets F -GLIBC_2.12 _IO_init F -GLIBC_2.12 _IO_init_marker F -GLIBC_2.12 _IO_init_wmarker F -GLIBC_2.12 _IO_iter_begin F -GLIBC_2.12 _IO_iter_end F -GLIBC_2.12 _IO_iter_file F -GLIBC_2.12 _IO_iter_next F -GLIBC_2.12 _IO_least_wmarker F -GLIBC_2.12 _IO_link_in F -GLIBC_2.12 _IO_list_all D 0x8 -GLIBC_2.12 _IO_list_lock F -GLIBC_2.12 _IO_list_resetlock F -GLIBC_2.12 _IO_list_unlock F -GLIBC_2.12 _IO_marker_delta F -GLIBC_2.12 _IO_marker_difference F -GLIBC_2.12 _IO_padn F -GLIBC_2.12 _IO_peekc_locked F -GLIBC_2.12 _IO_popen F -GLIBC_2.12 _IO_printf F -GLIBC_2.12 _IO_proc_close F -GLIBC_2.12 _IO_proc_open F -GLIBC_2.12 _IO_putc F -GLIBC_2.12 _IO_puts F -GLIBC_2.12 _IO_remove_marker F -GLIBC_2.12 _IO_seekmark F -GLIBC_2.12 _IO_seekoff F -GLIBC_2.12 _IO_seekpos F -GLIBC_2.12 _IO_seekwmark F -GLIBC_2.12 _IO_setb F -GLIBC_2.12 _IO_setbuffer F -GLIBC_2.12 _IO_setvbuf F -GLIBC_2.12 _IO_sgetn F -GLIBC_2.12 _IO_sprintf F -GLIBC_2.12 _IO_sputbackc F -GLIBC_2.12 _IO_sputbackwc F -GLIBC_2.12 _IO_sscanf F -GLIBC_2.12 _IO_str_init_readonly F -GLIBC_2.12 _IO_str_init_static F -GLIBC_2.12 _IO_str_overflow F -GLIBC_2.12 _IO_str_pbackfail F -GLIBC_2.12 _IO_str_seekoff F -GLIBC_2.12 _IO_str_underflow F -GLIBC_2.12 _IO_sungetc F -GLIBC_2.12 _IO_sungetwc F -GLIBC_2.12 _IO_switch_to_get_mode F -GLIBC_2.12 _IO_switch_to_main_wget_area F -GLIBC_2.12 _IO_switch_to_wbackup_area F -GLIBC_2.12 _IO_switch_to_wget_mode F -GLIBC_2.12 _IO_un_link F -GLIBC_2.12 _IO_ungetc F -GLIBC_2.12 _IO_unsave_markers F -GLIBC_2.12 _IO_unsave_wmarkers F -GLIBC_2.12 _IO_vfprintf F -GLIBC_2.12 _IO_vfscanf F -GLIBC_2.12 _IO_vsprintf F -GLIBC_2.12 _IO_wdefault_doallocate F -GLIBC_2.12 _IO_wdefault_finish F -GLIBC_2.12 _IO_wdefault_pbackfail F -GLIBC_2.12 _IO_wdefault_uflow F -GLIBC_2.12 _IO_wdefault_xsgetn F -GLIBC_2.12 _IO_wdefault_xsputn F -GLIBC_2.12 _IO_wdo_write F -GLIBC_2.12 _IO_wdoallocbuf F -GLIBC_2.12 _IO_wfile_jumps D 0xa8 -GLIBC_2.12 _IO_wfile_overflow F -GLIBC_2.12 _IO_wfile_seekoff F -GLIBC_2.12 _IO_wfile_sync F -GLIBC_2.12 _IO_wfile_underflow F -GLIBC_2.12 _IO_wfile_xsputn F -GLIBC_2.12 _IO_wmarker_delta F -GLIBC_2.12 _IO_wsetb F -GLIBC_2.12 ___brk_addr D 0x8 -GLIBC_2.12 __adjtimex F -GLIBC_2.12 __after_morecore_hook D 0x8 -GLIBC_2.12 __argz_count F -GLIBC_2.12 __argz_next F -GLIBC_2.12 __argz_stringify F -GLIBC_2.12 __asprintf F -GLIBC_2.12 __asprintf_chk F -GLIBC_2.12 __assert F -GLIBC_2.12 __assert_fail F -GLIBC_2.12 __assert_perror_fail F -GLIBC_2.12 __backtrace F -GLIBC_2.12 __backtrace_symbols F -GLIBC_2.12 __backtrace_symbols_fd F -GLIBC_2.12 __bsd_getpgrp F -GLIBC_2.12 __bzero F -GLIBC_2.12 __check_rhosts_file D 0x4 -GLIBC_2.12 __chk_fail F -GLIBC_2.12 __clone F -GLIBC_2.12 __close F -GLIBC_2.12 __cmsg_nxthdr F -GLIBC_2.12 __confstr_chk F -GLIBC_2.12 __connect F -GLIBC_2.12 __ctype_b_loc F -GLIBC_2.12 __ctype_get_mb_cur_max F -GLIBC_2.12 __ctype_tolower_loc F -GLIBC_2.12 __ctype_toupper_loc F -GLIBC_2.12 __curbrk D 0x8 -GLIBC_2.12 __cxa_at_quick_exit F -GLIBC_2.12 __cxa_atexit F -GLIBC_2.12 __cxa_finalize F -GLIBC_2.12 __cyg_profile_func_enter F -GLIBC_2.12 __cyg_profile_func_exit F -GLIBC_2.12 __daylight D 0x4 -GLIBC_2.12 __dcgettext F -GLIBC_2.12 __default_morecore F -GLIBC_2.12 __dgettext F -GLIBC_2.12 __dprintf_chk F -GLIBC_2.12 __dup2 F -GLIBC_2.12 __duplocale F -GLIBC_2.12 __endmntent F -GLIBC_2.12 __environ D 0x8 -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fbufsize F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __ffs F -GLIBC_2.12 __fgets_chk F -GLIBC_2.12 __fgets_unlocked_chk F -GLIBC_2.12 __fgetws_chk F -GLIBC_2.12 __fgetws_unlocked_chk F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __flbf F -GLIBC_2.12 __fork F -GLIBC_2.12 __fpending F -GLIBC_2.12 __fprintf_chk F -GLIBC_2.12 __fpu_control D 0x4 -GLIBC_2.12 __fpurge F -GLIBC_2.12 __fread_chk F -GLIBC_2.12 __fread_unlocked_chk F -GLIBC_2.12 __freadable F -GLIBC_2.12 __freading F -GLIBC_2.12 __free_hook D 0x8 -GLIBC_2.12 __freelocale F -GLIBC_2.12 __fsetlocking F -GLIBC_2.12 __fwprintf_chk F -GLIBC_2.12 __fwritable F -GLIBC_2.12 __fwriting F -GLIBC_2.12 __fxstat F -GLIBC_2.12 __fxstat64 F -GLIBC_2.12 __fxstatat F -GLIBC_2.12 __fxstatat64 F -GLIBC_2.12 __getcwd_chk F -GLIBC_2.12 __getdelim F -GLIBC_2.12 __getdomainname_chk F -GLIBC_2.12 __getgroups_chk F -GLIBC_2.12 __gethostname_chk F -GLIBC_2.12 __getlogin_r_chk F -GLIBC_2.12 __getmntent_r F -GLIBC_2.12 __getpagesize F -GLIBC_2.12 __getpgid F -GLIBC_2.12 __getpid F -GLIBC_2.12 __gets_chk F -GLIBC_2.12 __gettimeofday F -GLIBC_2.12 __getwd_chk F -GLIBC_2.12 __gmtime_r F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __isalnum_l F -GLIBC_2.12 __isalpha_l F -GLIBC_2.12 __isascii_l F -GLIBC_2.12 __isblank_l F -GLIBC_2.12 __iscntrl_l F -GLIBC_2.12 __isctype F -GLIBC_2.12 __isdigit_l F -GLIBC_2.12 __isgraph_l F -GLIBC_2.12 __isinf F -GLIBC_2.12 __isinff F -GLIBC_2.12 __islower_l F -GLIBC_2.12 __isnan F -GLIBC_2.12 __isnanf F -GLIBC_2.12 __isoc99_fscanf F -GLIBC_2.12 __isoc99_fwscanf F -GLIBC_2.12 __isoc99_scanf F -GLIBC_2.12 __isoc99_sscanf F -GLIBC_2.12 __isoc99_swscanf F -GLIBC_2.12 __isoc99_vfscanf F -GLIBC_2.12 __isoc99_vfwscanf F -GLIBC_2.12 __isoc99_vscanf F -GLIBC_2.12 __isoc99_vsscanf F -GLIBC_2.12 __isoc99_vswscanf F -GLIBC_2.12 __isoc99_vwscanf F -GLIBC_2.12 __isoc99_wscanf F -GLIBC_2.12 __isprint_l F -GLIBC_2.12 __ispunct_l F -GLIBC_2.12 __isspace_l F -GLIBC_2.12 __isupper_l F -GLIBC_2.12 __iswalnum_l F -GLIBC_2.12 __iswalpha_l F -GLIBC_2.12 __iswblank_l F -GLIBC_2.12 __iswcntrl_l F -GLIBC_2.12 __iswctype F -GLIBC_2.12 __iswctype_l F -GLIBC_2.12 __iswdigit_l F -GLIBC_2.12 __iswgraph_l F -GLIBC_2.12 __iswlower_l F -GLIBC_2.12 __iswprint_l F -GLIBC_2.12 __iswpunct_l F -GLIBC_2.12 __iswspace_l F -GLIBC_2.12 __iswupper_l F -GLIBC_2.12 __iswxdigit_l F -GLIBC_2.12 __isxdigit_l F -GLIBC_2.12 __ivaliduser F -GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x8 -GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x8 -GLIBC_2.12 __key_gendes_LOCAL D 0x8 -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_calloc F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __libc_free F -GLIBC_2.12 __libc_freeres F -GLIBC_2.12 __libc_init_first F -GLIBC_2.12 __libc_mallinfo F -GLIBC_2.12 __libc_malloc F -GLIBC_2.12 __libc_mallopt F -GLIBC_2.12 __libc_memalign F -GLIBC_2.12 __libc_pvalloc F -GLIBC_2.12 __libc_realloc F -GLIBC_2.12 __libc_sa_len F -GLIBC_2.12 __libc_start_main F -GLIBC_2.12 __libc_valloc F -GLIBC_2.12 __longjmp_chk F -GLIBC_2.12 __lseek F -GLIBC_2.12 __lxstat F -GLIBC_2.12 __lxstat64 F -GLIBC_2.12 __malloc_hook D 0x8 -GLIBC_2.12 __malloc_initialize_hook D 0x8 -GLIBC_2.12 __mbrlen F -GLIBC_2.12 __mbrtowc F -GLIBC_2.12 __mbsnrtowcs_chk F -GLIBC_2.12 __mbsrtowcs_chk F -GLIBC_2.12 __mbstowcs_chk F -GLIBC_2.12 __mcount F -GLIBC_2.12 __memalign_hook D 0x8 -GLIBC_2.12 __memcpy_chk F -GLIBC_2.12 __memmove_chk F -GLIBC_2.12 __mempcpy F -GLIBC_2.12 __mempcpy_chk F -GLIBC_2.12 __mempcpy_small F -GLIBC_2.12 __memset_chk F -GLIBC_2.12 __monstartup F -GLIBC_2.12 __morecore D 0x8 -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __newlocale F -GLIBC_2.12 __nl_langinfo_l F -GLIBC_2.12 __nss_configure_lookup F -GLIBC_2.12 __nss_database_lookup F -GLIBC_2.12 __nss_group_lookup F -GLIBC_2.12 __nss_hostname_digits_dots F -GLIBC_2.12 __nss_hosts_lookup F -GLIBC_2.12 __nss_next F -GLIBC_2.12 __nss_passwd_lookup F -GLIBC_2.12 __obstack_printf_chk F -GLIBC_2.12 __obstack_vprintf_chk F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __open64_2 F -GLIBC_2.12 __open_2 F -GLIBC_2.12 __openat64_2 F -GLIBC_2.12 __openat_2 F -GLIBC_2.12 __overflow F -GLIBC_2.12 __pipe F -GLIBC_2.12 __poll F -GLIBC_2.12 __posix_getopt F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pread64_chk F -GLIBC_2.12 __pread_chk F -GLIBC_2.12 __printf_chk F -GLIBC_2.12 __printf_fp F -GLIBC_2.12 __profile_frequency F -GLIBC_2.12 __progname D 0x8 -GLIBC_2.12 __progname_full D 0x8 -GLIBC_2.12 __ptsname_r_chk F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __rawmemchr F -GLIBC_2.12 __rcmd_errstr D 0x8 -GLIBC_2.12 __read F -GLIBC_2.12 __read_chk F -GLIBC_2.12 __readlink_chk F -GLIBC_2.12 __readlinkat_chk F -GLIBC_2.12 __realloc_hook D 0x8 -GLIBC_2.12 __realpath_chk F -GLIBC_2.12 __recv_chk F -GLIBC_2.12 __recvfrom_chk F -GLIBC_2.12 __register_atfork F -GLIBC_2.12 __res_init F -GLIBC_2.12 __res_nclose F -GLIBC_2.12 __res_ninit F -GLIBC_2.12 __res_randomid F -GLIBC_2.12 __res_state F -GLIBC_2.12 __rpc_thread_createerr F -GLIBC_2.12 __rpc_thread_svc_fdset F -GLIBC_2.12 __rpc_thread_svc_max_pollfd F -GLIBC_2.12 __rpc_thread_svc_pollfd F -GLIBC_2.12 __sbrk F -GLIBC_2.12 __sched_cpualloc F -GLIBC_2.12 __sched_cpucount F -GLIBC_2.12 __sched_cpufree F -GLIBC_2.12 __sched_get_priority_max F -GLIBC_2.12 __sched_get_priority_min F -GLIBC_2.12 __sched_getparam F -GLIBC_2.12 __sched_getscheduler F -GLIBC_2.12 __sched_setscheduler F -GLIBC_2.12 __sched_yield F -GLIBC_2.12 __secure_getenv F -GLIBC_2.12 __select F -GLIBC_2.12 __setmntent F -GLIBC_2.12 __setpgid F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __sigaddset F -GLIBC_2.12 __sigdelset F -GLIBC_2.12 __sigismember F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 __sigpause F -GLIBC_2.12 __sigsetjmp F -GLIBC_2.12 __sigsuspend F -GLIBC_2.12 __snprintf_chk F -GLIBC_2.12 __sprintf_chk F -GLIBC_2.12 __stack_chk_fail F -GLIBC_2.12 __statfs F -GLIBC_2.12 __stpcpy F -GLIBC_2.12 __stpcpy_chk F -GLIBC_2.12 __stpcpy_small F -GLIBC_2.12 __stpncpy F -GLIBC_2.12 __stpncpy_chk F -GLIBC_2.12 __strcasecmp F -GLIBC_2.12 __strcasecmp_l F -GLIBC_2.12 __strcasestr F -GLIBC_2.12 __strcat_chk F -GLIBC_2.12 __strcoll_l F -GLIBC_2.12 __strcpy_chk F -GLIBC_2.12 __strcpy_small F -GLIBC_2.12 __strcspn_c1 F -GLIBC_2.12 __strcspn_c2 F -GLIBC_2.12 __strcspn_c3 F -GLIBC_2.12 __strdup F -GLIBC_2.12 __strerror_r F -GLIBC_2.12 __strfmon_l F -GLIBC_2.12 __strftime_l F -GLIBC_2.12 __strncasecmp_l F -GLIBC_2.12 __strncat_chk F -GLIBC_2.12 __strncpy_chk F -GLIBC_2.12 __strndup F -GLIBC_2.12 __strpbrk_c2 F -GLIBC_2.12 __strpbrk_c3 F -GLIBC_2.12 __strsep_1c F -GLIBC_2.12 __strsep_2c F -GLIBC_2.12 __strsep_3c F -GLIBC_2.12 __strsep_g F -GLIBC_2.12 __strspn_c1 F -GLIBC_2.12 __strspn_c2 F -GLIBC_2.12 __strspn_c3 F -GLIBC_2.12 __strtod_internal F -GLIBC_2.12 __strtod_l F -GLIBC_2.12 __strtof_internal F -GLIBC_2.12 __strtof_l F -GLIBC_2.12 __strtok_r F -GLIBC_2.12 __strtok_r_1c F -GLIBC_2.12 __strtol_internal F -GLIBC_2.12 __strtol_l F -GLIBC_2.12 __strtold_internal F -GLIBC_2.12 __strtold_l F -GLIBC_2.12 __strtoll_internal F -GLIBC_2.12 __strtoll_l F -GLIBC_2.12 __strtoul_internal F -GLIBC_2.12 __strtoul_l F -GLIBC_2.12 __strtoull_internal F -GLIBC_2.12 __strtoull_l F -GLIBC_2.12 __strverscmp F -GLIBC_2.12 __strxfrm_l F -GLIBC_2.12 __swprintf_chk F -GLIBC_2.12 __sysconf F -GLIBC_2.12 __syslog_chk F -GLIBC_2.12 __sysv_signal F -GLIBC_2.12 __timezone D 0x8 -GLIBC_2.12 __toascii_l F -GLIBC_2.12 __tolower_l F -GLIBC_2.12 __toupper_l F -GLIBC_2.12 __towctrans F -GLIBC_2.12 __towctrans_l F -GLIBC_2.12 __towlower_l F -GLIBC_2.12 __towupper_l F -GLIBC_2.12 __ttyname_r_chk F -GLIBC_2.12 __tzname D 0x10 -GLIBC_2.12 __uflow F -GLIBC_2.12 __underflow F -GLIBC_2.12 __uselocale F -GLIBC_2.12 __vasprintf_chk F -GLIBC_2.12 __vdprintf_chk F -GLIBC_2.12 __vfork F -GLIBC_2.12 __vfprintf_chk F -GLIBC_2.12 __vfscanf F -GLIBC_2.12 __vfwprintf_chk F -GLIBC_2.12 __vprintf_chk F -GLIBC_2.12 __vsnprintf F -GLIBC_2.12 __vsnprintf_chk F -GLIBC_2.12 __vsprintf_chk F -GLIBC_2.12 __vsscanf F -GLIBC_2.12 __vswprintf_chk F -GLIBC_2.12 __vsyslog_chk F -GLIBC_2.12 __vwprintf_chk F -GLIBC_2.12 __wait F -GLIBC_2.12 __waitpid F -GLIBC_2.12 __wcpcpy_chk F -GLIBC_2.12 __wcpncpy_chk F -GLIBC_2.12 __wcrtomb_chk F -GLIBC_2.12 __wcscasecmp_l F -GLIBC_2.12 __wcscat_chk F -GLIBC_2.12 __wcscoll_l F -GLIBC_2.12 __wcscpy_chk F -GLIBC_2.12 __wcsftime_l F -GLIBC_2.12 __wcsncasecmp_l F -GLIBC_2.12 __wcsncat_chk F -GLIBC_2.12 __wcsncpy_chk F -GLIBC_2.12 __wcsnrtombs_chk F -GLIBC_2.12 __wcsrtombs_chk F -GLIBC_2.12 __wcstod_internal F -GLIBC_2.12 __wcstod_l F -GLIBC_2.12 __wcstof_internal F -GLIBC_2.12 __wcstof_l F -GLIBC_2.12 __wcstol_internal F -GLIBC_2.12 __wcstol_l F -GLIBC_2.12 __wcstold_internal F -GLIBC_2.12 __wcstold_l F -GLIBC_2.12 __wcstoll_internal F -GLIBC_2.12 __wcstoll_l F -GLIBC_2.12 __wcstombs_chk F -GLIBC_2.12 __wcstoul_internal F -GLIBC_2.12 __wcstoul_l F -GLIBC_2.12 __wcstoull_internal F -GLIBC_2.12 __wcstoull_l F -GLIBC_2.12 __wcsxfrm_l F -GLIBC_2.12 __wctomb_chk F -GLIBC_2.12 __wctrans_l F -GLIBC_2.12 __wctype_l F -GLIBC_2.12 __wmemcpy_chk F -GLIBC_2.12 __wmemmove_chk F -GLIBC_2.12 __wmempcpy_chk F -GLIBC_2.12 __wmemset_chk F -GLIBC_2.12 __woverflow F -GLIBC_2.12 __wprintf_chk F -GLIBC_2.12 __write F -GLIBC_2.12 __wuflow F -GLIBC_2.12 __wunderflow F -GLIBC_2.12 __xmknod F -GLIBC_2.12 __xmknodat F -GLIBC_2.12 __xpg_basename F -GLIBC_2.12 __xpg_sigpause F -GLIBC_2.12 __xpg_strerror_r F -GLIBC_2.12 __xstat F -GLIBC_2.12 __xstat64 F -GLIBC_2.12 _authenticate F -GLIBC_2.12 _dl_mcount_wrapper F -GLIBC_2.12 _dl_mcount_wrapper_check F -GLIBC_2.12 _environ D 0x8 -GLIBC_2.12 _exit F -GLIBC_2.12 _flush_cache F -GLIBC_2.12 _flushlbf F -GLIBC_2.12 _libc_intl_domainname D 0x5 -GLIBC_2.12 _longjmp F -GLIBC_2.12 _mcleanup F -GLIBC_2.12 _mcount F -GLIBC_2.12 _nl_default_dirname D 0x12 -GLIBC_2.12 _nl_domain_bindings D 0x8 -GLIBC_2.12 _nl_msg_cat_cntr D 0x4 -GLIBC_2.12 _null_auth D 0x18 -GLIBC_2.12 _obstack_allocated_p F -GLIBC_2.12 _obstack_begin F -GLIBC_2.12 _obstack_begin_1 F -GLIBC_2.12 _obstack_free F -GLIBC_2.12 _obstack_memory_used F -GLIBC_2.12 _obstack_newchunk F -GLIBC_2.12 _res D 0x238 -GLIBC_2.12 _res_hconf D 0x48 -GLIBC_2.12 _rpc_dtablesize F -GLIBC_2.12 _seterr_reply F -GLIBC_2.12 _setjmp F -GLIBC_2.12 _sys_errlist D 0x438 -GLIBC_2.12 _sys_nerr D 0x4 -GLIBC_2.12 _sys_siglist D 0x208 -GLIBC_2.12 _tolower F -GLIBC_2.12 _toupper F -GLIBC_2.12 a64l F -GLIBC_2.12 abort F -GLIBC_2.12 abs F -GLIBC_2.12 accept F -GLIBC_2.12 accept4 F -GLIBC_2.12 access F -GLIBC_2.12 acct F -GLIBC_2.12 addmntent F -GLIBC_2.12 addseverity F -GLIBC_2.12 adjtime F -GLIBC_2.12 adjtimex F -GLIBC_2.12 advance F -GLIBC_2.12 alarm F -GLIBC_2.12 alphasort F -GLIBC_2.12 alphasort64 F -GLIBC_2.12 argp_err_exit_status D 0x4 -GLIBC_2.12 argp_error F -GLIBC_2.12 argp_failure F -GLIBC_2.12 argp_help F -GLIBC_2.12 argp_parse F -GLIBC_2.12 argp_program_bug_address D 0x8 -GLIBC_2.12 argp_program_version D 0x8 -GLIBC_2.12 argp_program_version_hook D 0x8 -GLIBC_2.12 argp_state_help F -GLIBC_2.12 argp_usage F -GLIBC_2.12 argz_add F -GLIBC_2.12 argz_add_sep F -GLIBC_2.12 argz_append F -GLIBC_2.12 argz_count F -GLIBC_2.12 argz_create F -GLIBC_2.12 argz_create_sep F -GLIBC_2.12 argz_delete F -GLIBC_2.12 argz_extract F -GLIBC_2.12 argz_insert F -GLIBC_2.12 argz_next F -GLIBC_2.12 argz_replace F -GLIBC_2.12 argz_stringify F -GLIBC_2.12 asctime F -GLIBC_2.12 asctime_r F -GLIBC_2.12 asprintf F -GLIBC_2.12 atof F -GLIBC_2.12 atoi F -GLIBC_2.12 atol F -GLIBC_2.12 atoll F -GLIBC_2.12 authdes_create F -GLIBC_2.12 authdes_getucred F -GLIBC_2.12 authdes_pk_create F -GLIBC_2.12 authnone_create F -GLIBC_2.12 authunix_create F -GLIBC_2.12 authunix_create_default F -GLIBC_2.12 backtrace F -GLIBC_2.12 backtrace_symbols F -GLIBC_2.12 backtrace_symbols_fd F -GLIBC_2.12 basename F -GLIBC_2.12 bcmp F -GLIBC_2.12 bcopy F -GLIBC_2.12 bdflush F -GLIBC_2.12 bind F -GLIBC_2.12 bind_textdomain_codeset F -GLIBC_2.12 bindresvport F -GLIBC_2.12 bindtextdomain F -GLIBC_2.12 brk F -GLIBC_2.12 bsd_signal F -GLIBC_2.12 bsearch F -GLIBC_2.12 btowc F -GLIBC_2.12 bzero F -GLIBC_2.12 cacheflush F -GLIBC_2.12 calloc F -GLIBC_2.12 callrpc F -GLIBC_2.12 canonicalize_file_name F -GLIBC_2.12 capget F -GLIBC_2.12 capset F -GLIBC_2.12 catclose F -GLIBC_2.12 catgets F -GLIBC_2.12 catopen F -GLIBC_2.12 cbc_crypt F -GLIBC_2.12 cfgetispeed F -GLIBC_2.12 cfgetospeed F -GLIBC_2.12 cfmakeraw F -GLIBC_2.12 cfree F -GLIBC_2.12 cfsetispeed F -GLIBC_2.12 cfsetospeed F -GLIBC_2.12 cfsetspeed F -GLIBC_2.12 chdir F -GLIBC_2.12 chflags F -GLIBC_2.12 chmod F -GLIBC_2.12 chown F -GLIBC_2.12 chroot F -GLIBC_2.12 clearenv F -GLIBC_2.12 clearerr F -GLIBC_2.12 clearerr_unlocked F -GLIBC_2.12 clnt_broadcast F -GLIBC_2.12 clnt_create F -GLIBC_2.12 clnt_pcreateerror F -GLIBC_2.12 clnt_perrno F -GLIBC_2.12 clnt_perror F -GLIBC_2.12 clnt_spcreateerror F -GLIBC_2.12 clnt_sperrno F -GLIBC_2.12 clnt_sperror F -GLIBC_2.12 clntraw_create F -GLIBC_2.12 clnttcp_create F -GLIBC_2.12 clntudp_bufcreate F -GLIBC_2.12 clntudp_create F -GLIBC_2.12 clntunix_create F -GLIBC_2.12 clock F -GLIBC_2.12 clone F -GLIBC_2.12 close F -GLIBC_2.12 closedir F -GLIBC_2.12 closelog F -GLIBC_2.12 confstr F -GLIBC_2.12 connect F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 creat F -GLIBC_2.12 creat64 F -GLIBC_2.12 create_module F -GLIBC_2.12 ctermid F -GLIBC_2.12 ctime F -GLIBC_2.12 ctime_r F -GLIBC_2.12 cuserid F -GLIBC_2.12 daemon F -GLIBC_2.12 daylight D 0x4 -GLIBC_2.12 dcgettext F -GLIBC_2.12 dcngettext F -GLIBC_2.12 delete_module F -GLIBC_2.12 des_setparity F -GLIBC_2.12 dgettext F -GLIBC_2.12 difftime F -GLIBC_2.12 dirfd F -GLIBC_2.12 dirname F -GLIBC_2.12 div F -GLIBC_2.12 dl_iterate_phdr F -GLIBC_2.12 dngettext F -GLIBC_2.12 dprintf F -GLIBC_2.12 drand48 F -GLIBC_2.12 drand48_r F -GLIBC_2.12 dup F -GLIBC_2.12 dup2 F -GLIBC_2.12 dup3 F -GLIBC_2.12 duplocale F -GLIBC_2.12 dysize F -GLIBC_2.12 eaccess F -GLIBC_2.12 ecb_crypt F -GLIBC_2.12 ecvt F -GLIBC_2.12 ecvt_r F -GLIBC_2.12 endaliasent F -GLIBC_2.12 endfsent F -GLIBC_2.12 endgrent F -GLIBC_2.12 endhostent F -GLIBC_2.12 endmntent F -GLIBC_2.12 endnetent F -GLIBC_2.12 endnetgrent F -GLIBC_2.12 endprotoent F -GLIBC_2.12 endpwent F -GLIBC_2.12 endrpcent F -GLIBC_2.12 endservent F -GLIBC_2.12 endsgent F -GLIBC_2.12 endspent F -GLIBC_2.12 endttyent F -GLIBC_2.12 endusershell F -GLIBC_2.12 endutent F -GLIBC_2.12 endutxent F -GLIBC_2.12 environ D 0x8 -GLIBC_2.12 envz_add F -GLIBC_2.12 envz_entry F -GLIBC_2.12 envz_get F -GLIBC_2.12 envz_merge F -GLIBC_2.12 envz_remove F -GLIBC_2.12 envz_strip F -GLIBC_2.12 epoll_create F -GLIBC_2.12 epoll_create1 F -GLIBC_2.12 epoll_ctl F -GLIBC_2.12 epoll_pwait F -GLIBC_2.12 epoll_wait F -GLIBC_2.12 erand48 F -GLIBC_2.12 erand48_r F -GLIBC_2.12 err F -GLIBC_2.12 error F -GLIBC_2.12 error_at_line F -GLIBC_2.12 error_message_count D 0x4 -GLIBC_2.12 error_one_per_line D 0x4 -GLIBC_2.12 error_print_progname D 0x8 -GLIBC_2.12 errx F -GLIBC_2.12 ether_aton F -GLIBC_2.12 ether_aton_r F -GLIBC_2.12 ether_hostton F -GLIBC_2.12 ether_line F -GLIBC_2.12 ether_ntoa F -GLIBC_2.12 ether_ntoa_r F -GLIBC_2.12 ether_ntohost F -GLIBC_2.12 euidaccess F -GLIBC_2.12 eventfd F -GLIBC_2.12 eventfd_read F -GLIBC_2.12 eventfd_write F -GLIBC_2.12 execl F -GLIBC_2.12 execle F -GLIBC_2.12 execlp F -GLIBC_2.12 execv F -GLIBC_2.12 execve F -GLIBC_2.12 execvp F -GLIBC_2.12 execvpe F -GLIBC_2.12 exit F -GLIBC_2.12 faccessat F -GLIBC_2.12 fallocate F -GLIBC_2.12 fallocate64 F -GLIBC_2.12 fattach F -GLIBC_2.12 fchdir F -GLIBC_2.12 fchflags F -GLIBC_2.12 fchmod F -GLIBC_2.12 fchmodat F -GLIBC_2.12 fchown F -GLIBC_2.12 fchownat F -GLIBC_2.12 fclose F -GLIBC_2.12 fcloseall F -GLIBC_2.12 fcntl F -GLIBC_2.12 fcvt F -GLIBC_2.12 fcvt_r F -GLIBC_2.12 fdatasync F -GLIBC_2.12 fdetach F -GLIBC_2.12 fdopen F -GLIBC_2.12 fdopendir F -GLIBC_2.12 feof F -GLIBC_2.12 feof_unlocked F -GLIBC_2.12 ferror F -GLIBC_2.12 ferror_unlocked F -GLIBC_2.12 fexecve F -GLIBC_2.12 fflush F -GLIBC_2.12 fflush_unlocked F -GLIBC_2.12 ffs F -GLIBC_2.12 ffsl F -GLIBC_2.12 ffsll F -GLIBC_2.12 fgetc F -GLIBC_2.12 fgetc_unlocked F -GLIBC_2.12 fgetgrent F -GLIBC_2.12 fgetgrent_r F -GLIBC_2.12 fgetpos F -GLIBC_2.12 fgetpos64 F -GLIBC_2.12 fgetpwent F -GLIBC_2.12 fgetpwent_r F -GLIBC_2.12 fgets F -GLIBC_2.12 fgets_unlocked F -GLIBC_2.12 fgetsgent F -GLIBC_2.12 fgetsgent_r F -GLIBC_2.12 fgetspent F -GLIBC_2.12 fgetspent_r F -GLIBC_2.12 fgetwc F -GLIBC_2.12 fgetwc_unlocked F -GLIBC_2.12 fgetws F -GLIBC_2.12 fgetws_unlocked F -GLIBC_2.12 fgetxattr F -GLIBC_2.12 fileno F -GLIBC_2.12 fileno_unlocked F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 flistxattr F -GLIBC_2.12 flock F -GLIBC_2.12 flockfile F -GLIBC_2.12 fmemopen F -GLIBC_2.12 fmtmsg F -GLIBC_2.12 fnmatch F -GLIBC_2.12 fopen F -GLIBC_2.12 fopen64 F -GLIBC_2.12 fopencookie F -GLIBC_2.12 fork F -GLIBC_2.12 fpathconf F -GLIBC_2.12 fprintf F -GLIBC_2.12 fputc F -GLIBC_2.12 fputc_unlocked F -GLIBC_2.12 fputs F -GLIBC_2.12 fputs_unlocked F -GLIBC_2.12 fputwc F -GLIBC_2.12 fputwc_unlocked F -GLIBC_2.12 fputws F -GLIBC_2.12 fputws_unlocked F -GLIBC_2.12 fread F -GLIBC_2.12 fread_unlocked F -GLIBC_2.12 free F -GLIBC_2.12 freeaddrinfo F -GLIBC_2.12 freeifaddrs F -GLIBC_2.12 freelocale F -GLIBC_2.12 fremovexattr F -GLIBC_2.12 freopen F -GLIBC_2.12 freopen64 F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 fscanf F -GLIBC_2.12 fseek F -GLIBC_2.12 fseeko F -GLIBC_2.12 fseeko64 F -GLIBC_2.12 fsetpos F -GLIBC_2.12 fsetpos64 F -GLIBC_2.12 fsetxattr F -GLIBC_2.12 fstatfs F -GLIBC_2.12 fstatfs64 F -GLIBC_2.12 fstatvfs F -GLIBC_2.12 fstatvfs64 F -GLIBC_2.12 fsync F -GLIBC_2.12 ftell F -GLIBC_2.12 ftello F -GLIBC_2.12 ftello64 F -GLIBC_2.12 ftime F -GLIBC_2.12 ftok F -GLIBC_2.12 ftruncate F -GLIBC_2.12 ftruncate64 F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 fts_children F -GLIBC_2.12 fts_close F -GLIBC_2.12 fts_open F -GLIBC_2.12 fts_read F -GLIBC_2.12 fts_set F -GLIBC_2.12 ftw F -GLIBC_2.12 ftw64 F -GLIBC_2.12 funlockfile F -GLIBC_2.12 futimens F -GLIBC_2.12 futimes F -GLIBC_2.12 futimesat F -GLIBC_2.12 fwide F -GLIBC_2.12 fwprintf F -GLIBC_2.12 fwrite F -GLIBC_2.12 fwrite_unlocked F -GLIBC_2.12 fwscanf F -GLIBC_2.12 gai_strerror F -GLIBC_2.12 gcvt F -GLIBC_2.12 get_avphys_pages F -GLIBC_2.12 get_current_dir_name F -GLIBC_2.12 get_kernel_syms F -GLIBC_2.12 get_myaddress F -GLIBC_2.12 get_nprocs F -GLIBC_2.12 get_nprocs_conf F -GLIBC_2.12 get_phys_pages F -GLIBC_2.12 getaddrinfo F -GLIBC_2.12 getaliasbyname F -GLIBC_2.12 getaliasbyname_r F -GLIBC_2.12 getaliasent F -GLIBC_2.12 getaliasent_r F -GLIBC_2.12 getc F -GLIBC_2.12 getc_unlocked F -GLIBC_2.12 getchar F -GLIBC_2.12 getchar_unlocked F -GLIBC_2.12 getcontext F -GLIBC_2.12 getcwd F -GLIBC_2.12 getdate F -GLIBC_2.12 getdate_err D 0x4 -GLIBC_2.12 getdate_r F -GLIBC_2.12 getdelim F -GLIBC_2.12 getdirentries F -GLIBC_2.12 getdirentries64 F -GLIBC_2.12 getdomainname F -GLIBC_2.12 getdtablesize F -GLIBC_2.12 getegid F -GLIBC_2.12 getenv F -GLIBC_2.12 geteuid F -GLIBC_2.12 getfsent F -GLIBC_2.12 getfsfile F -GLIBC_2.12 getfsspec F -GLIBC_2.12 getgid F -GLIBC_2.12 getgrent F -GLIBC_2.12 getgrent_r F -GLIBC_2.12 getgrgid F -GLIBC_2.12 getgrgid_r F -GLIBC_2.12 getgrnam F -GLIBC_2.12 getgrnam_r F -GLIBC_2.12 getgrouplist F -GLIBC_2.12 getgroups F -GLIBC_2.12 gethostbyaddr F -GLIBC_2.12 gethostbyaddr_r F -GLIBC_2.12 gethostbyname F -GLIBC_2.12 gethostbyname2 F -GLIBC_2.12 gethostbyname2_r F -GLIBC_2.12 gethostbyname_r F -GLIBC_2.12 gethostent F -GLIBC_2.12 gethostent_r F -GLIBC_2.12 gethostid F -GLIBC_2.12 gethostname F -GLIBC_2.12 getifaddrs F -GLIBC_2.12 getipv4sourcefilter F -GLIBC_2.12 getitimer F -GLIBC_2.12 getline F -GLIBC_2.12 getloadavg F -GLIBC_2.12 getlogin F -GLIBC_2.12 getlogin_r F -GLIBC_2.12 getmntent F -GLIBC_2.12 getmntent_r F -GLIBC_2.12 getmsg F -GLIBC_2.12 getnameinfo F -GLIBC_2.12 getnetbyaddr F -GLIBC_2.12 getnetbyaddr_r F -GLIBC_2.12 getnetbyname F -GLIBC_2.12 getnetbyname_r F -GLIBC_2.12 getnetent F -GLIBC_2.12 getnetent_r F -GLIBC_2.12 getnetgrent F -GLIBC_2.12 getnetgrent_r F -GLIBC_2.12 getnetname F -GLIBC_2.12 getopt F -GLIBC_2.12 getopt_long F -GLIBC_2.12 getopt_long_only F -GLIBC_2.12 getpagesize F -GLIBC_2.12 getpass F -GLIBC_2.12 getpeername F -GLIBC_2.12 getpgid F -GLIBC_2.12 getpgrp F -GLIBC_2.12 getpid F -GLIBC_2.12 getpmsg F -GLIBC_2.12 getppid F -GLIBC_2.12 getpriority F -GLIBC_2.12 getprotobyname F -GLIBC_2.12 getprotobyname_r F -GLIBC_2.12 getprotobynumber F -GLIBC_2.12 getprotobynumber_r F -GLIBC_2.12 getprotoent F -GLIBC_2.12 getprotoent_r F -GLIBC_2.12 getpt F -GLIBC_2.12 getpublickey F -GLIBC_2.12 getpw F -GLIBC_2.12 getpwent F -GLIBC_2.12 getpwent_r F -GLIBC_2.12 getpwnam F -GLIBC_2.12 getpwnam_r F -GLIBC_2.12 getpwuid F -GLIBC_2.12 getpwuid_r F -GLIBC_2.12 getresgid F -GLIBC_2.12 getresuid F -GLIBC_2.12 getrlimit F -GLIBC_2.12 getrlimit64 F -GLIBC_2.12 getrpcbyname F -GLIBC_2.12 getrpcbyname_r F -GLIBC_2.12 getrpcbynumber F -GLIBC_2.12 getrpcbynumber_r F -GLIBC_2.12 getrpcent F -GLIBC_2.12 getrpcent_r F -GLIBC_2.12 getrpcport F -GLIBC_2.12 getrusage F -GLIBC_2.12 gets F -GLIBC_2.12 getsecretkey F -GLIBC_2.12 getservbyname F -GLIBC_2.12 getservbyname_r F -GLIBC_2.12 getservbyport F -GLIBC_2.12 getservbyport_r F -GLIBC_2.12 getservent F -GLIBC_2.12 getservent_r F -GLIBC_2.12 getsgent F -GLIBC_2.12 getsgent_r F -GLIBC_2.12 getsgnam F -GLIBC_2.12 getsgnam_r F -GLIBC_2.12 getsid F -GLIBC_2.12 getsockname F -GLIBC_2.12 getsockopt F -GLIBC_2.12 getsourcefilter F -GLIBC_2.12 getspent F -GLIBC_2.12 getspent_r F -GLIBC_2.12 getspnam F -GLIBC_2.12 getspnam_r F -GLIBC_2.12 getsubopt F -GLIBC_2.12 gettext F -GLIBC_2.12 gettimeofday F -GLIBC_2.12 getttyent F -GLIBC_2.12 getttynam F -GLIBC_2.12 getuid F -GLIBC_2.12 getusershell F -GLIBC_2.12 getutent F -GLIBC_2.12 getutent_r F -GLIBC_2.12 getutid F -GLIBC_2.12 getutid_r F -GLIBC_2.12 getutline F -GLIBC_2.12 getutline_r F -GLIBC_2.12 getutmp F -GLIBC_2.12 getutmpx F -GLIBC_2.12 getutxent F -GLIBC_2.12 getutxid F -GLIBC_2.12 getutxline F -GLIBC_2.12 getw F -GLIBC_2.12 getwc F -GLIBC_2.12 getwc_unlocked F -GLIBC_2.12 getwchar F -GLIBC_2.12 getwchar_unlocked F -GLIBC_2.12 getwd F -GLIBC_2.12 getxattr F -GLIBC_2.12 glob F -GLIBC_2.12 glob64 F -GLIBC_2.12 glob_pattern_p F -GLIBC_2.12 globfree F -GLIBC_2.12 globfree64 F -GLIBC_2.12 gmtime F -GLIBC_2.12 gmtime_r F -GLIBC_2.12 gnu_dev_major F -GLIBC_2.12 gnu_dev_makedev F -GLIBC_2.12 gnu_dev_minor F -GLIBC_2.12 gnu_get_libc_release F -GLIBC_2.12 gnu_get_libc_version F -GLIBC_2.12 grantpt F -GLIBC_2.12 group_member F -GLIBC_2.12 gsignal F -GLIBC_2.12 gtty F -GLIBC_2.12 h_errlist D 0x28 -GLIBC_2.12 h_nerr D 0x4 -GLIBC_2.12 hasmntopt F -GLIBC_2.12 hcreate F -GLIBC_2.12 hcreate_r F -GLIBC_2.12 hdestroy F -GLIBC_2.12 hdestroy_r F -GLIBC_2.12 herror F -GLIBC_2.12 host2netname F -GLIBC_2.12 hsearch F -GLIBC_2.12 hsearch_r F -GLIBC_2.12 hstrerror F -GLIBC_2.12 htonl F -GLIBC_2.12 htons F -GLIBC_2.12 iconv F -GLIBC_2.12 iconv_close F -GLIBC_2.12 iconv_open F -GLIBC_2.12 if_freenameindex F -GLIBC_2.12 if_indextoname F -GLIBC_2.12 if_nameindex F -GLIBC_2.12 if_nametoindex F -GLIBC_2.12 imaxabs F -GLIBC_2.12 imaxdiv F -GLIBC_2.12 in6addr_any D 0x10 -GLIBC_2.12 in6addr_loopback D 0x10 -GLIBC_2.12 index F -GLIBC_2.12 inet6_opt_append F -GLIBC_2.12 inet6_opt_find F -GLIBC_2.12 inet6_opt_finish F -GLIBC_2.12 inet6_opt_get_val F -GLIBC_2.12 inet6_opt_init F -GLIBC_2.12 inet6_opt_next F -GLIBC_2.12 inet6_opt_set_val F -GLIBC_2.12 inet6_option_alloc F -GLIBC_2.12 inet6_option_append F -GLIBC_2.12 inet6_option_find F -GLIBC_2.12 inet6_option_init F -GLIBC_2.12 inet6_option_next F -GLIBC_2.12 inet6_option_space F -GLIBC_2.12 inet6_rth_add F -GLIBC_2.12 inet6_rth_getaddr F -GLIBC_2.12 inet6_rth_init F -GLIBC_2.12 inet6_rth_reverse F -GLIBC_2.12 inet6_rth_segments F -GLIBC_2.12 inet6_rth_space F -GLIBC_2.12 inet_addr F -GLIBC_2.12 inet_aton F -GLIBC_2.12 inet_lnaof F -GLIBC_2.12 inet_makeaddr F -GLIBC_2.12 inet_netof F -GLIBC_2.12 inet_network F -GLIBC_2.12 inet_nsap_addr F -GLIBC_2.12 inet_nsap_ntoa F -GLIBC_2.12 inet_ntoa F -GLIBC_2.12 inet_ntop F -GLIBC_2.12 inet_pton F -GLIBC_2.12 init_module F -GLIBC_2.12 initgroups F -GLIBC_2.12 initstate F -GLIBC_2.12 initstate_r F -GLIBC_2.12 innetgr F -GLIBC_2.12 inotify_add_watch F -GLIBC_2.12 inotify_init F -GLIBC_2.12 inotify_init1 F -GLIBC_2.12 inotify_rm_watch F -GLIBC_2.12 insque F -GLIBC_2.12 ioctl F -GLIBC_2.12 iruserok F -GLIBC_2.12 iruserok_af F -GLIBC_2.12 isalnum F -GLIBC_2.12 isalnum_l F -GLIBC_2.12 isalpha F -GLIBC_2.12 isalpha_l F -GLIBC_2.12 isascii F -GLIBC_2.12 isastream F -GLIBC_2.12 isatty F -GLIBC_2.12 isblank F -GLIBC_2.12 isblank_l F -GLIBC_2.12 iscntrl F -GLIBC_2.12 iscntrl_l F -GLIBC_2.12 isctype F -GLIBC_2.12 isdigit F -GLIBC_2.12 isdigit_l F -GLIBC_2.12 isfdtype F -GLIBC_2.12 isgraph F -GLIBC_2.12 isgraph_l F -GLIBC_2.12 isinf F -GLIBC_2.12 isinff F -GLIBC_2.12 isinfl F -GLIBC_2.12 islower F -GLIBC_2.12 islower_l F -GLIBC_2.12 isnan F -GLIBC_2.12 isnanf F -GLIBC_2.12 isnanl F -GLIBC_2.12 isprint F -GLIBC_2.12 isprint_l F -GLIBC_2.12 ispunct F -GLIBC_2.12 ispunct_l F -GLIBC_2.12 isspace F -GLIBC_2.12 isspace_l F -GLIBC_2.12 isupper F -GLIBC_2.12 isupper_l F -GLIBC_2.12 iswalnum F -GLIBC_2.12 iswalnum_l F -GLIBC_2.12 iswalpha F -GLIBC_2.12 iswalpha_l F -GLIBC_2.12 iswblank F -GLIBC_2.12 iswblank_l F -GLIBC_2.12 iswcntrl F -GLIBC_2.12 iswcntrl_l F -GLIBC_2.12 iswctype F -GLIBC_2.12 iswctype_l F -GLIBC_2.12 iswdigit F -GLIBC_2.12 iswdigit_l F -GLIBC_2.12 iswgraph F -GLIBC_2.12 iswgraph_l F -GLIBC_2.12 iswlower F -GLIBC_2.12 iswlower_l F -GLIBC_2.12 iswprint F -GLIBC_2.12 iswprint_l F -GLIBC_2.12 iswpunct F -GLIBC_2.12 iswpunct_l F -GLIBC_2.12 iswspace F -GLIBC_2.12 iswspace_l F -GLIBC_2.12 iswupper F -GLIBC_2.12 iswupper_l F -GLIBC_2.12 iswxdigit F -GLIBC_2.12 iswxdigit_l F -GLIBC_2.12 isxdigit F -GLIBC_2.12 isxdigit_l F -GLIBC_2.12 jrand48 F -GLIBC_2.12 jrand48_r F -GLIBC_2.12 key_decryptsession F -GLIBC_2.12 key_decryptsession_pk F -GLIBC_2.12 key_encryptsession F -GLIBC_2.12 key_encryptsession_pk F -GLIBC_2.12 key_gendes F -GLIBC_2.12 key_get_conv F -GLIBC_2.12 key_secretkey_is_set F -GLIBC_2.12 key_setnet F -GLIBC_2.12 key_setsecret F -GLIBC_2.12 kill F -GLIBC_2.12 killpg F -GLIBC_2.12 klogctl F -GLIBC_2.12 l64a F -GLIBC_2.12 labs F -GLIBC_2.12 lchmod F -GLIBC_2.12 lchown F -GLIBC_2.12 lckpwdf F -GLIBC_2.12 lcong48 F -GLIBC_2.12 lcong48_r F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 ldiv F -GLIBC_2.12 lfind F -GLIBC_2.12 lgetxattr F -GLIBC_2.12 link F -GLIBC_2.12 linkat F -GLIBC_2.12 listen F -GLIBC_2.12 listxattr F -GLIBC_2.12 llabs F -GLIBC_2.12 lldiv F -GLIBC_2.12 llistxattr F -GLIBC_2.12 llseek F -GLIBC_2.12 loc1 D 0x8 -GLIBC_2.12 loc2 D 0x8 -GLIBC_2.12 localeconv F -GLIBC_2.12 localtime F -GLIBC_2.12 localtime_r F -GLIBC_2.12 lockf F -GLIBC_2.12 lockf64 F -GLIBC_2.12 locs D 0x8 -GLIBC_2.12 longjmp F -GLIBC_2.12 lrand48 F -GLIBC_2.12 lrand48_r F -GLIBC_2.12 lremovexattr F -GLIBC_2.12 lsearch F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 lsetxattr F -GLIBC_2.12 lutimes F -GLIBC_2.12 madvise F -GLIBC_2.12 makecontext F -GLIBC_2.12 mallinfo F -GLIBC_2.12 malloc F -GLIBC_2.12 malloc_get_state F -GLIBC_2.12 malloc_info F -GLIBC_2.12 malloc_set_state F -GLIBC_2.12 malloc_stats F -GLIBC_2.12 malloc_trim F -GLIBC_2.12 malloc_usable_size F -GLIBC_2.12 mallopt F -GLIBC_2.12 mallwatch D 0x8 -GLIBC_2.12 mblen F -GLIBC_2.12 mbrlen F -GLIBC_2.12 mbrtowc F -GLIBC_2.12 mbsinit F -GLIBC_2.12 mbsnrtowcs F -GLIBC_2.12 mbsrtowcs F -GLIBC_2.12 mbstowcs F -GLIBC_2.12 mbtowc F -GLIBC_2.12 mcheck F -GLIBC_2.12 mcheck_check_all F -GLIBC_2.12 mcheck_pedantic F -GLIBC_2.12 mcount F -GLIBC_2.12 memalign F -GLIBC_2.12 memccpy F -GLIBC_2.12 memchr F -GLIBC_2.12 memcmp F -GLIBC_2.12 memcpy F -GLIBC_2.12 memfrob F -GLIBC_2.12 memmem F -GLIBC_2.12 memmove F -GLIBC_2.12 mempcpy F -GLIBC_2.12 memrchr F -GLIBC_2.12 memset F -GLIBC_2.12 mincore F -GLIBC_2.12 mkdir F -GLIBC_2.12 mkdirat F -GLIBC_2.12 mkdtemp F -GLIBC_2.12 mkfifo F -GLIBC_2.12 mkfifoat F -GLIBC_2.12 mkostemp F -GLIBC_2.12 mkostemp64 F -GLIBC_2.12 mkostemps F -GLIBC_2.12 mkostemps64 F -GLIBC_2.12 mkstemp F -GLIBC_2.12 mkstemp64 F -GLIBC_2.12 mkstemps F -GLIBC_2.12 mkstemps64 F -GLIBC_2.12 mktemp F -GLIBC_2.12 mktime F -GLIBC_2.12 mlock F -GLIBC_2.12 mlockall F -GLIBC_2.12 mmap F -GLIBC_2.12 mmap64 F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 moncontrol F -GLIBC_2.12 monstartup F -GLIBC_2.12 mount F -GLIBC_2.12 mprobe F -GLIBC_2.12 mprotect F -GLIBC_2.12 mrand48 F -GLIBC_2.12 mrand48_r F -GLIBC_2.12 mremap F -GLIBC_2.12 msgctl F -GLIBC_2.12 msgget F -GLIBC_2.12 msgrcv F -GLIBC_2.12 msgsnd F -GLIBC_2.12 msync F -GLIBC_2.12 mtrace F -GLIBC_2.12 munlock F -GLIBC_2.12 munlockall F -GLIBC_2.12 munmap F -GLIBC_2.12 muntrace F -GLIBC_2.12 nanosleep F -GLIBC_2.12 netname2host F -GLIBC_2.12 netname2user F -GLIBC_2.12 newlocale F -GLIBC_2.12 nfsservctl F -GLIBC_2.12 nftw F -GLIBC_2.12 nftw64 F -GLIBC_2.12 ngettext F -GLIBC_2.12 nice F -GLIBC_2.12 nl_langinfo F -GLIBC_2.12 nl_langinfo_l F -GLIBC_2.12 nrand48 F -GLIBC_2.12 nrand48_r F -GLIBC_2.12 ntohl F -GLIBC_2.12 ntohs F -GLIBC_2.12 ntp_adjtime F -GLIBC_2.12 ntp_gettime F -GLIBC_2.12 ntp_gettimex F -GLIBC_2.12 obstack_alloc_failed_handler D 0x8 -GLIBC_2.12 obstack_exit_failure D 0x4 -GLIBC_2.12 obstack_free F -GLIBC_2.12 obstack_printf F -GLIBC_2.12 obstack_vprintf F -GLIBC_2.12 on_exit F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 open_memstream F -GLIBC_2.12 open_wmemstream F -GLIBC_2.12 openat F -GLIBC_2.12 openat64 F -GLIBC_2.12 opendir F -GLIBC_2.12 openlog F -GLIBC_2.12 optarg D 0x8 -GLIBC_2.12 opterr D 0x4 -GLIBC_2.12 optind D 0x4 -GLIBC_2.12 optopt D 0x4 -GLIBC_2.12 parse_printf_format F -GLIBC_2.12 passwd2des F -GLIBC_2.12 pathconf F -GLIBC_2.12 pause F -GLIBC_2.12 pclose F -GLIBC_2.12 perror F -GLIBC_2.12 personality F -GLIBC_2.12 pipe F -GLIBC_2.12 pipe2 F -GLIBC_2.12 pivot_root F -GLIBC_2.12 pmap_getmaps F -GLIBC_2.12 pmap_getport F -GLIBC_2.12 pmap_rmtcall F -GLIBC_2.12 pmap_set F -GLIBC_2.12 pmap_unset F -GLIBC_2.12 poll F -GLIBC_2.12 popen F -GLIBC_2.12 posix_fadvise F -GLIBC_2.12 posix_fadvise64 F -GLIBC_2.12 posix_fallocate F -GLIBC_2.12 posix_fallocate64 F -GLIBC_2.12 posix_madvise F -GLIBC_2.12 posix_memalign F -GLIBC_2.12 posix_openpt F -GLIBC_2.12 posix_spawn F -GLIBC_2.12 posix_spawn_file_actions_addclose F -GLIBC_2.12 posix_spawn_file_actions_adddup2 F -GLIBC_2.12 posix_spawn_file_actions_addopen F -GLIBC_2.12 posix_spawn_file_actions_destroy F -GLIBC_2.12 posix_spawn_file_actions_init F -GLIBC_2.12 posix_spawnattr_destroy F -GLIBC_2.12 posix_spawnattr_getflags F -GLIBC_2.12 posix_spawnattr_getpgroup F -GLIBC_2.12 posix_spawnattr_getschedparam F -GLIBC_2.12 posix_spawnattr_getschedpolicy F -GLIBC_2.12 posix_spawnattr_getsigdefault F -GLIBC_2.12 posix_spawnattr_getsigmask F -GLIBC_2.12 posix_spawnattr_init F -GLIBC_2.12 posix_spawnattr_setflags F -GLIBC_2.12 posix_spawnattr_setpgroup F -GLIBC_2.12 posix_spawnattr_setschedparam F -GLIBC_2.12 posix_spawnattr_setschedpolicy F -GLIBC_2.12 posix_spawnattr_setsigdefault F -GLIBC_2.12 posix_spawnattr_setsigmask F -GLIBC_2.12 posix_spawnp F -GLIBC_2.12 ppoll F -GLIBC_2.12 prctl F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 preadv F -GLIBC_2.12 preadv64 F -GLIBC_2.12 printf F -GLIBC_2.12 printf_size F -GLIBC_2.12 printf_size_info F -GLIBC_2.12 profil F -GLIBC_2.12 program_invocation_name D 0x8 -GLIBC_2.12 program_invocation_short_name D 0x8 -GLIBC_2.12 pselect F -GLIBC_2.12 psiginfo F -GLIBC_2.12 psignal F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 ptrace F -GLIBC_2.12 ptsname F -GLIBC_2.12 ptsname_r F -GLIBC_2.12 putc F -GLIBC_2.12 putc_unlocked F -GLIBC_2.12 putchar F -GLIBC_2.12 putchar_unlocked F -GLIBC_2.12 putenv F -GLIBC_2.12 putgrent F -GLIBC_2.12 putmsg F -GLIBC_2.12 putpmsg F -GLIBC_2.12 putpwent F -GLIBC_2.12 puts F -GLIBC_2.12 putsgent F -GLIBC_2.12 putspent F -GLIBC_2.12 pututline F -GLIBC_2.12 pututxline F -GLIBC_2.12 putw F -GLIBC_2.12 putwc F -GLIBC_2.12 putwc_unlocked F -GLIBC_2.12 putwchar F -GLIBC_2.12 putwchar_unlocked F -GLIBC_2.12 pvalloc F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 pwritev F -GLIBC_2.12 pwritev64 F -GLIBC_2.12 qecvt F -GLIBC_2.12 qecvt_r F -GLIBC_2.12 qfcvt F -GLIBC_2.12 qfcvt_r F -GLIBC_2.12 qgcvt F -GLIBC_2.12 qsort F -GLIBC_2.12 qsort_r F -GLIBC_2.12 query_module F -GLIBC_2.12 quick_exit F -GLIBC_2.12 quotactl F -GLIBC_2.12 raise F -GLIBC_2.12 rand F -GLIBC_2.12 rand_r F -GLIBC_2.12 random F -GLIBC_2.12 random_r F -GLIBC_2.12 rawmemchr F -GLIBC_2.12 rcmd F -GLIBC_2.12 rcmd_af F -GLIBC_2.12 re_comp F -GLIBC_2.12 re_compile_fastmap F -GLIBC_2.12 re_compile_pattern F -GLIBC_2.12 re_exec F -GLIBC_2.12 re_match F -GLIBC_2.12 re_match_2 F -GLIBC_2.12 re_search F -GLIBC_2.12 re_search_2 F -GLIBC_2.12 re_set_registers F -GLIBC_2.12 re_set_syntax F -GLIBC_2.12 re_syntax_options D 0x8 -GLIBC_2.12 read F -GLIBC_2.12 readahead F -GLIBC_2.12 readdir F -GLIBC_2.12 readdir64 F -GLIBC_2.12 readdir64_r F -GLIBC_2.12 readdir_r F -GLIBC_2.12 readlink F -GLIBC_2.12 readlinkat F -GLIBC_2.12 readv F -GLIBC_2.12 realloc F -GLIBC_2.12 realpath F -GLIBC_2.12 reboot F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmmsg F -GLIBC_2.12 recvmsg F -GLIBC_2.12 regcomp F -GLIBC_2.12 regerror F -GLIBC_2.12 regexec F -GLIBC_2.12 regfree F -GLIBC_2.12 register_printf_function F -GLIBC_2.12 register_printf_modifier F -GLIBC_2.12 register_printf_specifier F -GLIBC_2.12 register_printf_type F -GLIBC_2.12 registerrpc F -GLIBC_2.12 remap_file_pages F -GLIBC_2.12 remove F -GLIBC_2.12 removexattr F -GLIBC_2.12 remque F -GLIBC_2.12 rename F -GLIBC_2.12 renameat F -GLIBC_2.12 revoke F -GLIBC_2.12 rewind F -GLIBC_2.12 rewinddir F -GLIBC_2.12 rexec F -GLIBC_2.12 rexec_af F -GLIBC_2.12 rexecoptions D 0x4 -GLIBC_2.12 rindex F -GLIBC_2.12 rmdir F -GLIBC_2.12 rpc_createerr D 0x20 -GLIBC_2.12 rpmatch F -GLIBC_2.12 rresvport F -GLIBC_2.12 rresvport_af F -GLIBC_2.12 rtime F -GLIBC_2.12 ruserok F -GLIBC_2.12 ruserok_af F -GLIBC_2.12 ruserpass F -GLIBC_2.12 sbrk F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 scandir F -GLIBC_2.12 scandir64 F -GLIBC_2.12 scanf F -GLIBC_2.12 sched_get_priority_max F -GLIBC_2.12 sched_get_priority_min F -GLIBC_2.12 sched_getaffinity F -GLIBC_2.12 sched_getcpu F -GLIBC_2.12 sched_getparam F -GLIBC_2.12 sched_getscheduler F -GLIBC_2.12 sched_rr_get_interval F -GLIBC_2.12 sched_setaffinity F -GLIBC_2.12 sched_setparam F -GLIBC_2.12 sched_setscheduler F -GLIBC_2.12 sched_yield F -GLIBC_2.12 seed48 F -GLIBC_2.12 seed48_r F -GLIBC_2.12 seekdir F -GLIBC_2.12 select F -GLIBC_2.12 semctl F -GLIBC_2.12 semget F -GLIBC_2.12 semop F -GLIBC_2.12 semtimedop F -GLIBC_2.12 send F -GLIBC_2.12 sendfile F -GLIBC_2.12 sendfile64 F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 set_dataplane F -GLIBC_2.12 setaliasent F -GLIBC_2.12 setbuf F -GLIBC_2.12 setbuffer F -GLIBC_2.12 setcontext F -GLIBC_2.12 setdomainname F -GLIBC_2.12 setegid F -GLIBC_2.12 setenv F -GLIBC_2.12 seteuid F -GLIBC_2.12 setfsent F -GLIBC_2.12 setfsgid F -GLIBC_2.12 setfsuid F -GLIBC_2.12 setgid F -GLIBC_2.12 setgrent F -GLIBC_2.12 setgroups F -GLIBC_2.12 sethostent F -GLIBC_2.12 sethostid F -GLIBC_2.12 sethostname F -GLIBC_2.12 setipv4sourcefilter F -GLIBC_2.12 setitimer F -GLIBC_2.12 setjmp F -GLIBC_2.12 setlinebuf F -GLIBC_2.12 setlocale F -GLIBC_2.12 setlogin F -GLIBC_2.12 setlogmask F -GLIBC_2.12 setmntent F -GLIBC_2.12 setnetent F -GLIBC_2.12 setnetgrent F -GLIBC_2.12 setpgid F -GLIBC_2.12 setpgrp F -GLIBC_2.12 setpriority F -GLIBC_2.12 setprotoent F -GLIBC_2.12 setpwent F -GLIBC_2.12 setregid F -GLIBC_2.12 setresgid F -GLIBC_2.12 setresuid F -GLIBC_2.12 setreuid F -GLIBC_2.12 setrlimit F -GLIBC_2.12 setrlimit64 F -GLIBC_2.12 setrpcent F -GLIBC_2.12 setservent F -GLIBC_2.12 setsgent F -GLIBC_2.12 setsid F -GLIBC_2.12 setsockopt F -GLIBC_2.12 setsourcefilter F -GLIBC_2.12 setspent F -GLIBC_2.12 setstate F -GLIBC_2.12 setstate_r F -GLIBC_2.12 settimeofday F -GLIBC_2.12 setttyent F -GLIBC_2.12 setuid F -GLIBC_2.12 setusershell F -GLIBC_2.12 setutent F -GLIBC_2.12 setutxent F -GLIBC_2.12 setvbuf F -GLIBC_2.12 setxattr F -GLIBC_2.12 sgetsgent F -GLIBC_2.12 sgetsgent_r F -GLIBC_2.12 sgetspent F -GLIBC_2.12 sgetspent_r F -GLIBC_2.12 shmat F -GLIBC_2.12 shmctl F -GLIBC_2.12 shmdt F -GLIBC_2.12 shmget F -GLIBC_2.12 shutdown F -GLIBC_2.12 sigaction F -GLIBC_2.12 sigaddset F -GLIBC_2.12 sigaltstack F -GLIBC_2.12 sigandset F -GLIBC_2.12 sigblock F -GLIBC_2.12 sigdelset F -GLIBC_2.12 sigemptyset F -GLIBC_2.12 sigfillset F -GLIBC_2.12 siggetmask F -GLIBC_2.12 sighold F -GLIBC_2.12 sigignore F -GLIBC_2.12 siginterrupt F -GLIBC_2.12 sigisemptyset F -GLIBC_2.12 sigismember F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 signal F -GLIBC_2.12 signalfd F -GLIBC_2.12 sigorset F -GLIBC_2.12 sigpause F -GLIBC_2.12 sigpending F -GLIBC_2.12 sigprocmask F -GLIBC_2.12 sigqueue F -GLIBC_2.12 sigrelse F -GLIBC_2.12 sigreturn F -GLIBC_2.12 sigset F -GLIBC_2.12 sigsetmask F -GLIBC_2.12 sigstack F -GLIBC_2.12 sigsuspend F -GLIBC_2.12 sigtimedwait F -GLIBC_2.12 sigvec F -GLIBC_2.12 sigwait F -GLIBC_2.12 sigwaitinfo F -GLIBC_2.12 sleep F -GLIBC_2.12 snprintf F -GLIBC_2.12 sockatmark F -GLIBC_2.12 socket F -GLIBC_2.12 socketpair F -GLIBC_2.12 splice F -GLIBC_2.12 sprintf F -GLIBC_2.12 sprofil F -GLIBC_2.12 srand F -GLIBC_2.12 srand48 F -GLIBC_2.12 srand48_r F -GLIBC_2.12 srandom F -GLIBC_2.12 srandom_r F -GLIBC_2.12 sscanf F -GLIBC_2.12 ssignal F -GLIBC_2.12 sstk F -GLIBC_2.12 statfs F -GLIBC_2.12 statfs64 F -GLIBC_2.12 statvfs F -GLIBC_2.12 statvfs64 F -GLIBC_2.12 stderr D 0x8 -GLIBC_2.12 stdin D 0x8 -GLIBC_2.12 stdout D 0x8 -GLIBC_2.12 step F -GLIBC_2.12 stime F -GLIBC_2.12 stpcpy F -GLIBC_2.12 stpncpy F -GLIBC_2.12 strcasecmp F -GLIBC_2.12 strcasecmp_l F -GLIBC_2.12 strcasestr F -GLIBC_2.12 strcat F -GLIBC_2.12 strchr F -GLIBC_2.12 strchrnul F -GLIBC_2.12 strcmp F -GLIBC_2.12 strcoll F -GLIBC_2.12 strcoll_l F -GLIBC_2.12 strcpy F -GLIBC_2.12 strcspn F -GLIBC_2.12 strdup F -GLIBC_2.12 strerror F -GLIBC_2.12 strerror_l F -GLIBC_2.12 strerror_r F -GLIBC_2.12 strfmon F -GLIBC_2.12 strfmon_l F -GLIBC_2.12 strfry F -GLIBC_2.12 strftime F -GLIBC_2.12 strftime_l F -GLIBC_2.12 strlen F -GLIBC_2.12 strncasecmp F -GLIBC_2.12 strncasecmp_l F -GLIBC_2.12 strncat F -GLIBC_2.12 strncmp F -GLIBC_2.12 strncpy F -GLIBC_2.12 strndup F -GLIBC_2.12 strnlen F -GLIBC_2.12 strpbrk F -GLIBC_2.12 strptime F -GLIBC_2.12 strptime_l F -GLIBC_2.12 strrchr F -GLIBC_2.12 strsep F -GLIBC_2.12 strsignal F -GLIBC_2.12 strspn F -GLIBC_2.12 strstr F -GLIBC_2.12 strtod F -GLIBC_2.12 strtod_l F -GLIBC_2.12 strtof F -GLIBC_2.12 strtof_l F -GLIBC_2.12 strtoimax F -GLIBC_2.12 strtok F -GLIBC_2.12 strtok_r F -GLIBC_2.12 strtol F -GLIBC_2.12 strtol_l F -GLIBC_2.12 strtold F -GLIBC_2.12 strtold_l F -GLIBC_2.12 strtoll F -GLIBC_2.12 strtoll_l F -GLIBC_2.12 strtoq F -GLIBC_2.12 strtoul F -GLIBC_2.12 strtoul_l F -GLIBC_2.12 strtoull F -GLIBC_2.12 strtoull_l F -GLIBC_2.12 strtoumax F -GLIBC_2.12 strtouq F -GLIBC_2.12 strverscmp F -GLIBC_2.12 strxfrm F -GLIBC_2.12 strxfrm_l F -GLIBC_2.12 stty F -GLIBC_2.12 svc_exit F -GLIBC_2.12 svc_fdset D 0x80 -GLIBC_2.12 svc_getreq F -GLIBC_2.12 svc_getreq_common F -GLIBC_2.12 svc_getreq_poll F -GLIBC_2.12 svc_getreqset F -GLIBC_2.12 svc_max_pollfd D 0x4 -GLIBC_2.12 svc_pollfd D 0x8 -GLIBC_2.12 svc_register F -GLIBC_2.12 svc_run F -GLIBC_2.12 svc_sendreply F -GLIBC_2.12 svc_unregister F -GLIBC_2.12 svcauthdes_stats D 0x18 -GLIBC_2.12 svcerr_auth F -GLIBC_2.12 svcerr_decode F -GLIBC_2.12 svcerr_noproc F -GLIBC_2.12 svcerr_noprog F -GLIBC_2.12 svcerr_progvers F -GLIBC_2.12 svcerr_systemerr F -GLIBC_2.12 svcerr_weakauth F -GLIBC_2.12 svcfd_create F -GLIBC_2.12 svcraw_create F -GLIBC_2.12 svctcp_create F -GLIBC_2.12 svcudp_bufcreate F -GLIBC_2.12 svcudp_create F -GLIBC_2.12 svcudp_enablecache F -GLIBC_2.12 svcunix_create F -GLIBC_2.12 svcunixfd_create F -GLIBC_2.12 swab F -GLIBC_2.12 swapcontext F -GLIBC_2.12 swapoff F -GLIBC_2.12 swapon F -GLIBC_2.12 swprintf F -GLIBC_2.12 swscanf F -GLIBC_2.12 symlink F -GLIBC_2.12 symlinkat F -GLIBC_2.12 sync F -GLIBC_2.12 sync_file_range F -GLIBC_2.12 sys_errlist D 0x438 -GLIBC_2.12 sys_nerr D 0x4 -GLIBC_2.12 sys_sigabbrev D 0x208 -GLIBC_2.12 sys_siglist D 0x208 -GLIBC_2.12 syscall F -GLIBC_2.12 sysconf F -GLIBC_2.12 sysctl F -GLIBC_2.12 sysinfo F -GLIBC_2.12 syslog F -GLIBC_2.12 system F -GLIBC_2.12 sysv_signal F -GLIBC_2.12 tcdrain F -GLIBC_2.12 tcflow F -GLIBC_2.12 tcflush F -GLIBC_2.12 tcgetattr F -GLIBC_2.12 tcgetpgrp F -GLIBC_2.12 tcgetsid F -GLIBC_2.12 tcsendbreak F -GLIBC_2.12 tcsetattr F -GLIBC_2.12 tcsetpgrp F -GLIBC_2.12 tdelete F -GLIBC_2.12 tdestroy F -GLIBC_2.12 tee F -GLIBC_2.12 telldir F -GLIBC_2.12 tempnam F -GLIBC_2.12 textdomain F -GLIBC_2.12 tfind F -GLIBC_2.12 time F -GLIBC_2.12 timegm F -GLIBC_2.12 timelocal F -GLIBC_2.12 timerfd_create F -GLIBC_2.12 timerfd_gettime F -GLIBC_2.12 timerfd_settime F -GLIBC_2.12 times F -GLIBC_2.12 timezone D 0x8 -GLIBC_2.12 tmpfile F -GLIBC_2.12 tmpfile64 F -GLIBC_2.12 tmpnam F -GLIBC_2.12 tmpnam_r F -GLIBC_2.12 toascii F -GLIBC_2.12 tolower F -GLIBC_2.12 tolower_l F -GLIBC_2.12 toupper F -GLIBC_2.12 toupper_l F -GLIBC_2.12 towctrans F -GLIBC_2.12 towctrans_l F -GLIBC_2.12 towlower F -GLIBC_2.12 towlower_l F -GLIBC_2.12 towupper F -GLIBC_2.12 towupper_l F -GLIBC_2.12 tr_break F -GLIBC_2.12 truncate F -GLIBC_2.12 truncate64 F -GLIBC_2.12 tsearch F -GLIBC_2.12 ttyname F -GLIBC_2.12 ttyname_r F -GLIBC_2.12 ttyslot F -GLIBC_2.12 twalk F -GLIBC_2.12 tzname D 0x10 -GLIBC_2.12 tzset F -GLIBC_2.12 ualarm F -GLIBC_2.12 ulckpwdf F -GLIBC_2.12 ulimit F -GLIBC_2.12 umask F -GLIBC_2.12 umount F -GLIBC_2.12 umount2 F -GLIBC_2.12 uname F -GLIBC_2.12 ungetc F -GLIBC_2.12 ungetwc F -GLIBC_2.12 unlink F -GLIBC_2.12 unlinkat F -GLIBC_2.12 unlockpt F -GLIBC_2.12 unsetenv F -GLIBC_2.12 unshare F -GLIBC_2.12 updwtmp F -GLIBC_2.12 updwtmpx F -GLIBC_2.12 uselib F -GLIBC_2.12 uselocale F -GLIBC_2.12 user2netname F -GLIBC_2.12 usleep F -GLIBC_2.12 ustat F -GLIBC_2.12 utime F -GLIBC_2.12 utimensat F -GLIBC_2.12 utimes F -GLIBC_2.12 utmpname F -GLIBC_2.12 utmpxname F -GLIBC_2.12 valloc F -GLIBC_2.12 vasprintf F -GLIBC_2.12 vdprintf F -GLIBC_2.12 verr F -GLIBC_2.12 verrx F -GLIBC_2.12 versionsort F -GLIBC_2.12 versionsort64 F -GLIBC_2.12 vfork F -GLIBC_2.12 vfprintf F -GLIBC_2.12 vfscanf F -GLIBC_2.12 vfwprintf F -GLIBC_2.12 vfwscanf F -GLIBC_2.12 vhangup F -GLIBC_2.12 vlimit F -GLIBC_2.12 vmsplice F -GLIBC_2.12 vprintf F -GLIBC_2.12 vscanf F -GLIBC_2.12 vsnprintf F -GLIBC_2.12 vsprintf F -GLIBC_2.12 vsscanf F -GLIBC_2.12 vswprintf F -GLIBC_2.12 vswscanf F -GLIBC_2.12 vsyslog F -GLIBC_2.12 vtimes F -GLIBC_2.12 vwarn F -GLIBC_2.12 vwarnx F -GLIBC_2.12 vwprintf F -GLIBC_2.12 vwscanf F -GLIBC_2.12 wait F -GLIBC_2.12 wait3 F -GLIBC_2.12 wait4 F -GLIBC_2.12 waitid F -GLIBC_2.12 waitpid F -GLIBC_2.12 warn F -GLIBC_2.12 warnx F -GLIBC_2.12 wcpcpy F -GLIBC_2.12 wcpncpy F -GLIBC_2.12 wcrtomb F -GLIBC_2.12 wcscasecmp F -GLIBC_2.12 wcscasecmp_l F -GLIBC_2.12 wcscat F -GLIBC_2.12 wcschr F -GLIBC_2.12 wcschrnul F -GLIBC_2.12 wcscmp F -GLIBC_2.12 wcscoll F -GLIBC_2.12 wcscoll_l F -GLIBC_2.12 wcscpy F -GLIBC_2.12 wcscspn F -GLIBC_2.12 wcsdup F -GLIBC_2.12 wcsftime F -GLIBC_2.12 wcsftime_l F -GLIBC_2.12 wcslen F -GLIBC_2.12 wcsncasecmp F -GLIBC_2.12 wcsncasecmp_l F -GLIBC_2.12 wcsncat F -GLIBC_2.12 wcsncmp F -GLIBC_2.12 wcsncpy F -GLIBC_2.12 wcsnlen F -GLIBC_2.12 wcsnrtombs F -GLIBC_2.12 wcspbrk F -GLIBC_2.12 wcsrchr F -GLIBC_2.12 wcsrtombs F -GLIBC_2.12 wcsspn F -GLIBC_2.12 wcsstr F -GLIBC_2.12 wcstod F -GLIBC_2.12 wcstod_l F -GLIBC_2.12 wcstof F -GLIBC_2.12 wcstof_l F -GLIBC_2.12 wcstoimax F -GLIBC_2.12 wcstok F -GLIBC_2.12 wcstol F -GLIBC_2.12 wcstol_l F -GLIBC_2.12 wcstold F -GLIBC_2.12 wcstold_l F -GLIBC_2.12 wcstoll F -GLIBC_2.12 wcstoll_l F -GLIBC_2.12 wcstombs F -GLIBC_2.12 wcstoq F -GLIBC_2.12 wcstoul F -GLIBC_2.12 wcstoul_l F -GLIBC_2.12 wcstoull F -GLIBC_2.12 wcstoull_l F -GLIBC_2.12 wcstoumax F -GLIBC_2.12 wcstouq F -GLIBC_2.12 wcswcs F -GLIBC_2.12 wcswidth F -GLIBC_2.12 wcsxfrm F -GLIBC_2.12 wcsxfrm_l F -GLIBC_2.12 wctob F -GLIBC_2.12 wctomb F -GLIBC_2.12 wctrans F -GLIBC_2.12 wctrans_l F -GLIBC_2.12 wctype F -GLIBC_2.12 wctype_l F -GLIBC_2.12 wcwidth F -GLIBC_2.12 wmemchr F -GLIBC_2.12 wmemcmp F -GLIBC_2.12 wmemcpy F -GLIBC_2.12 wmemmove F -GLIBC_2.12 wmempcpy F -GLIBC_2.12 wmemset F -GLIBC_2.12 wordexp F -GLIBC_2.12 wordfree F -GLIBC_2.12 wprintf F -GLIBC_2.12 write F -GLIBC_2.12 writev F -GLIBC_2.12 wscanf F -GLIBC_2.12 xdecrypt F -GLIBC_2.12 xdr_accepted_reply F -GLIBC_2.12 xdr_array F -GLIBC_2.12 xdr_authdes_cred F -GLIBC_2.12 xdr_authdes_verf F -GLIBC_2.12 xdr_authunix_parms F -GLIBC_2.12 xdr_bool F -GLIBC_2.12 xdr_bytes F -GLIBC_2.12 xdr_callhdr F -GLIBC_2.12 xdr_callmsg F -GLIBC_2.12 xdr_char F -GLIBC_2.12 xdr_cryptkeyarg F -GLIBC_2.12 xdr_cryptkeyarg2 F -GLIBC_2.12 xdr_cryptkeyres F -GLIBC_2.12 xdr_des_block F -GLIBC_2.12 xdr_double F -GLIBC_2.12 xdr_enum F -GLIBC_2.12 xdr_float F -GLIBC_2.12 xdr_free F -GLIBC_2.12 xdr_getcredres F -GLIBC_2.12 xdr_hyper F -GLIBC_2.12 xdr_int F -GLIBC_2.12 xdr_int16_t F -GLIBC_2.12 xdr_int32_t F -GLIBC_2.12 xdr_int64_t F -GLIBC_2.12 xdr_int8_t F -GLIBC_2.12 xdr_key_netstarg F -GLIBC_2.12 xdr_key_netstres F -GLIBC_2.12 xdr_keybuf F -GLIBC_2.12 xdr_keystatus F -GLIBC_2.12 xdr_long F -GLIBC_2.12 xdr_longlong_t F -GLIBC_2.12 xdr_netnamestr F -GLIBC_2.12 xdr_netobj F -GLIBC_2.12 xdr_opaque F -GLIBC_2.12 xdr_opaque_auth F -GLIBC_2.12 xdr_pmap F -GLIBC_2.12 xdr_pmaplist F -GLIBC_2.12 xdr_pointer F -GLIBC_2.12 xdr_quad_t F -GLIBC_2.12 xdr_reference F -GLIBC_2.12 xdr_rejected_reply F -GLIBC_2.12 xdr_replymsg F -GLIBC_2.12 xdr_rmtcall_args F -GLIBC_2.12 xdr_rmtcallres F -GLIBC_2.12 xdr_short F -GLIBC_2.12 xdr_sizeof F -GLIBC_2.12 xdr_string F -GLIBC_2.12 xdr_u_char F -GLIBC_2.12 xdr_u_hyper F -GLIBC_2.12 xdr_u_int F -GLIBC_2.12 xdr_u_long F -GLIBC_2.12 xdr_u_longlong_t F -GLIBC_2.12 xdr_u_quad_t F -GLIBC_2.12 xdr_u_short F -GLIBC_2.12 xdr_uint16_t F -GLIBC_2.12 xdr_uint32_t F -GLIBC_2.12 xdr_uint64_t F -GLIBC_2.12 xdr_uint8_t F -GLIBC_2.12 xdr_union F -GLIBC_2.12 xdr_unixcred F -GLIBC_2.12 xdr_vector F -GLIBC_2.12 xdr_void F -GLIBC_2.12 xdr_wrapstring F -GLIBC_2.12 xdrmem_create F -GLIBC_2.12 xdrrec_create F -GLIBC_2.12 xdrrec_endofrecord F -GLIBC_2.12 xdrrec_eof F -GLIBC_2.12 xdrrec_skiprecord F -GLIBC_2.12 xdrstdio_create F -GLIBC_2.12 xencrypt F -GLIBC_2.12 xprt_register F -GLIBC_2.12 xprt_unregister F -GLIBC_2.15 GLIBC_2.15 A -GLIBC_2.15 __fdelt_chk F -GLIBC_2.15 __fdelt_warn F -GLIBC_2.15 clock_adjtime F -GLIBC_2.15 fanotify_init F -GLIBC_2.15 fanotify_mark F -GLIBC_2.15 name_to_handle_at F -GLIBC_2.15 open_by_handle_at F -GLIBC_2.15 posix_spawn F -GLIBC_2.15 posix_spawnp F -GLIBC_2.15 prlimit F -GLIBC_2.15 prlimit64 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.15 sendmmsg F -GLIBC_2.15 setns F -GLIBC_2.15 syncfs F -GLIBC_2.16 GLIBC_2.16 A -GLIBC_2.16 __getauxval F -GLIBC_2.16 __poll_chk F -GLIBC_2.16 __ppoll_chk F -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 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.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.27 GLIBC_2.27 A -GLIBC_2.27 copy_file_range F -GLIBC_2.27 glob F -GLIBC_2.27 glob64 F -GLIBC_2.27 memfd_create F -GLIBC_2.27 mlock2 F -GLIBC_2.27 pkey_alloc F -GLIBC_2.27 pkey_free F -GLIBC_2.27 pkey_get F -GLIBC_2.27 pkey_mprotect F -GLIBC_2.27 pkey_set F -GLIBC_2.27 strfromf32 F -GLIBC_2.27 strfromf32x F -GLIBC_2.27 strfromf64 F -GLIBC_2.27 strtof32 F -GLIBC_2.27 strtof32_l F -GLIBC_2.27 strtof32x F -GLIBC_2.27 strtof32x_l F -GLIBC_2.27 strtof64 F -GLIBC_2.27 strtof64_l F -GLIBC_2.27 wcstof32 F -GLIBC_2.27 wcstof32_l F -GLIBC_2.27 wcstof32x F -GLIBC_2.27 wcstof32x_l F -GLIBC_2.27 wcstof64 F -GLIBC_2.27 wcstof64_l F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist deleted file mode 100644 index d564380..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist +++ /dev/null @@ -1,8 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 crypt F -GLIBC_2.12 crypt_r F -GLIBC_2.12 encrypt F -GLIBC_2.12 encrypt_r F -GLIBC_2.12 fcrypt F -GLIBC_2.12 setkey F -GLIBC_2.12 setkey_r F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist deleted file mode 100644 index cabc30c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist +++ /dev/null @@ -1,10 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 dladdr F -GLIBC_2.12 dladdr1 F -GLIBC_2.12 dlclose F -GLIBC_2.12 dlerror F -GLIBC_2.12 dlinfo F -GLIBC_2.12 dlmopen F -GLIBC_2.12 dlopen F -GLIBC_2.12 dlsym F -GLIBC_2.12 dlvsym F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist deleted file mode 100644 index 73ceb5a..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist +++ /dev/null @@ -1,762 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _LIB_VERSION D 0x4 -GLIBC_2.12 __clog10 F -GLIBC_2.12 __clog10f F -GLIBC_2.12 __clog10l F -GLIBC_2.12 __finite F -GLIBC_2.12 __finitef F -GLIBC_2.12 __fpclassify F -GLIBC_2.12 __fpclassifyf F -GLIBC_2.12 __signbit F -GLIBC_2.12 __signbitf F -GLIBC_2.12 acos F -GLIBC_2.12 acosf F -GLIBC_2.12 acosh F -GLIBC_2.12 acoshf F -GLIBC_2.12 acoshl F -GLIBC_2.12 acosl F -GLIBC_2.12 asin F -GLIBC_2.12 asinf F -GLIBC_2.12 asinh F -GLIBC_2.12 asinhf F -GLIBC_2.12 asinhl F -GLIBC_2.12 asinl F -GLIBC_2.12 atan F -GLIBC_2.12 atan2 F -GLIBC_2.12 atan2f F -GLIBC_2.12 atan2l F -GLIBC_2.12 atanf F -GLIBC_2.12 atanh F -GLIBC_2.12 atanhf F -GLIBC_2.12 atanhl F -GLIBC_2.12 atanl F -GLIBC_2.12 cabs F -GLIBC_2.12 cabsf F -GLIBC_2.12 cabsl F -GLIBC_2.12 cacos F -GLIBC_2.12 cacosf F -GLIBC_2.12 cacosh F -GLIBC_2.12 cacoshf F -GLIBC_2.12 cacoshl F -GLIBC_2.12 cacosl F -GLIBC_2.12 carg F -GLIBC_2.12 cargf F -GLIBC_2.12 cargl F -GLIBC_2.12 casin F -GLIBC_2.12 casinf F -GLIBC_2.12 casinh F -GLIBC_2.12 casinhf F -GLIBC_2.12 casinhl F -GLIBC_2.12 casinl F -GLIBC_2.12 catan F -GLIBC_2.12 catanf F -GLIBC_2.12 catanh F -GLIBC_2.12 catanhf F -GLIBC_2.12 catanhl F -GLIBC_2.12 catanl F -GLIBC_2.12 cbrt F -GLIBC_2.12 cbrtf F -GLIBC_2.12 cbrtl F -GLIBC_2.12 ccos F -GLIBC_2.12 ccosf F -GLIBC_2.12 ccosh F -GLIBC_2.12 ccoshf F -GLIBC_2.12 ccoshl F -GLIBC_2.12 ccosl F -GLIBC_2.12 ceil F -GLIBC_2.12 ceilf F -GLIBC_2.12 ceill F -GLIBC_2.12 cexp F -GLIBC_2.12 cexpf F -GLIBC_2.12 cexpl F -GLIBC_2.12 cimag F -GLIBC_2.12 cimagf F -GLIBC_2.12 cimagl F -GLIBC_2.12 clog F -GLIBC_2.12 clog10 F -GLIBC_2.12 clog10f F -GLIBC_2.12 clog10l F -GLIBC_2.12 clogf F -GLIBC_2.12 clogl F -GLIBC_2.12 conj F -GLIBC_2.12 conjf F -GLIBC_2.12 conjl F -GLIBC_2.12 copysign F -GLIBC_2.12 copysignf F -GLIBC_2.12 copysignl F -GLIBC_2.12 cos F -GLIBC_2.12 cosf F -GLIBC_2.12 cosh F -GLIBC_2.12 coshf F -GLIBC_2.12 coshl F -GLIBC_2.12 cosl F -GLIBC_2.12 cpow F -GLIBC_2.12 cpowf F -GLIBC_2.12 cpowl F -GLIBC_2.12 cproj F -GLIBC_2.12 cprojf F -GLIBC_2.12 cprojl F -GLIBC_2.12 creal F -GLIBC_2.12 crealf F -GLIBC_2.12 creall F -GLIBC_2.12 csin F -GLIBC_2.12 csinf F -GLIBC_2.12 csinh F -GLIBC_2.12 csinhf F -GLIBC_2.12 csinhl F -GLIBC_2.12 csinl F -GLIBC_2.12 csqrt F -GLIBC_2.12 csqrtf F -GLIBC_2.12 csqrtl F -GLIBC_2.12 ctan F -GLIBC_2.12 ctanf F -GLIBC_2.12 ctanh F -GLIBC_2.12 ctanhf F -GLIBC_2.12 ctanhl F -GLIBC_2.12 ctanl F -GLIBC_2.12 drem F -GLIBC_2.12 dremf F -GLIBC_2.12 dreml F -GLIBC_2.12 erf F -GLIBC_2.12 erfc F -GLIBC_2.12 erfcf F -GLIBC_2.12 erfcl F -GLIBC_2.12 erff F -GLIBC_2.12 erfl F -GLIBC_2.12 exp F -GLIBC_2.12 exp10 F -GLIBC_2.12 exp10f F -GLIBC_2.12 exp10l F -GLIBC_2.12 exp2 F -GLIBC_2.12 exp2f F -GLIBC_2.12 exp2l F -GLIBC_2.12 expf F -GLIBC_2.12 expl F -GLIBC_2.12 expm1 F -GLIBC_2.12 expm1f F -GLIBC_2.12 expm1l F -GLIBC_2.12 fabs F -GLIBC_2.12 fabsf F -GLIBC_2.12 fabsl F -GLIBC_2.12 fdim F -GLIBC_2.12 fdimf F -GLIBC_2.12 fdiml F -GLIBC_2.12 feclearexcept F -GLIBC_2.12 fedisableexcept F -GLIBC_2.12 feenableexcept F -GLIBC_2.12 fegetenv F -GLIBC_2.12 fegetexcept F -GLIBC_2.12 fegetexceptflag F -GLIBC_2.12 fegetround F -GLIBC_2.12 feholdexcept F -GLIBC_2.12 feraiseexcept F -GLIBC_2.12 fesetenv F -GLIBC_2.12 fesetexceptflag F -GLIBC_2.12 fesetround F -GLIBC_2.12 fetestexcept F -GLIBC_2.12 feupdateenv F -GLIBC_2.12 finite F -GLIBC_2.12 finitef F -GLIBC_2.12 finitel F -GLIBC_2.12 floor F -GLIBC_2.12 floorf F -GLIBC_2.12 floorl F -GLIBC_2.12 fma F -GLIBC_2.12 fmaf F -GLIBC_2.12 fmal F -GLIBC_2.12 fmax F -GLIBC_2.12 fmaxf F -GLIBC_2.12 fmaxl F -GLIBC_2.12 fmin F -GLIBC_2.12 fminf F -GLIBC_2.12 fminl F -GLIBC_2.12 fmod F -GLIBC_2.12 fmodf F -GLIBC_2.12 fmodl F -GLIBC_2.12 frexp F -GLIBC_2.12 frexpf F -GLIBC_2.12 frexpl F -GLIBC_2.12 gamma F -GLIBC_2.12 gammaf F -GLIBC_2.12 gammal F -GLIBC_2.12 hypot F -GLIBC_2.12 hypotf F -GLIBC_2.12 hypotl F -GLIBC_2.12 ilogb F -GLIBC_2.12 ilogbf F -GLIBC_2.12 ilogbl F -GLIBC_2.12 j0 F -GLIBC_2.12 j0f F -GLIBC_2.12 j0l F -GLIBC_2.12 j1 F -GLIBC_2.12 j1f F -GLIBC_2.12 j1l F -GLIBC_2.12 jn F -GLIBC_2.12 jnf F -GLIBC_2.12 jnl F -GLIBC_2.12 ldexp F -GLIBC_2.12 ldexpf F -GLIBC_2.12 ldexpl F -GLIBC_2.12 lgamma F -GLIBC_2.12 lgamma_r F -GLIBC_2.12 lgammaf F -GLIBC_2.12 lgammaf_r F -GLIBC_2.12 lgammal F -GLIBC_2.12 lgammal_r F -GLIBC_2.12 llrint F -GLIBC_2.12 llrintf F -GLIBC_2.12 llrintl F -GLIBC_2.12 llround F -GLIBC_2.12 llroundf F -GLIBC_2.12 llroundl F -GLIBC_2.12 log F -GLIBC_2.12 log10 F -GLIBC_2.12 log10f F -GLIBC_2.12 log10l F -GLIBC_2.12 log1p F -GLIBC_2.12 log1pf F -GLIBC_2.12 log1pl F -GLIBC_2.12 log2 F -GLIBC_2.12 log2f F -GLIBC_2.12 log2l F -GLIBC_2.12 logb F -GLIBC_2.12 logbf F -GLIBC_2.12 logbl F -GLIBC_2.12 logf F -GLIBC_2.12 logl F -GLIBC_2.12 lrint F -GLIBC_2.12 lrintf F -GLIBC_2.12 lrintl F -GLIBC_2.12 lround F -GLIBC_2.12 lroundf F -GLIBC_2.12 lroundl F -GLIBC_2.12 matherr F -GLIBC_2.12 modf F -GLIBC_2.12 modff F -GLIBC_2.12 modfl F -GLIBC_2.12 nan F -GLIBC_2.12 nanf F -GLIBC_2.12 nanl F -GLIBC_2.12 nearbyint F -GLIBC_2.12 nearbyintf F -GLIBC_2.12 nearbyintl F -GLIBC_2.12 nextafter F -GLIBC_2.12 nextafterf F -GLIBC_2.12 nextafterl F -GLIBC_2.12 nexttoward F -GLIBC_2.12 nexttowardf F -GLIBC_2.12 nexttowardl F -GLIBC_2.12 pow F -GLIBC_2.12 pow10 F -GLIBC_2.12 pow10f F -GLIBC_2.12 pow10l F -GLIBC_2.12 powf F -GLIBC_2.12 powl F -GLIBC_2.12 remainder F -GLIBC_2.12 remainderf F -GLIBC_2.12 remainderl F -GLIBC_2.12 remquo F -GLIBC_2.12 remquof F -GLIBC_2.12 remquol F -GLIBC_2.12 rint F -GLIBC_2.12 rintf F -GLIBC_2.12 rintl F -GLIBC_2.12 round F -GLIBC_2.12 roundf F -GLIBC_2.12 roundl F -GLIBC_2.12 scalb F -GLIBC_2.12 scalbf F -GLIBC_2.12 scalbl F -GLIBC_2.12 scalbln F -GLIBC_2.12 scalblnf F -GLIBC_2.12 scalblnl F -GLIBC_2.12 scalbn F -GLIBC_2.12 scalbnf F -GLIBC_2.12 scalbnl F -GLIBC_2.12 signgam D 0x4 -GLIBC_2.12 significand F -GLIBC_2.12 significandf F -GLIBC_2.12 significandl F -GLIBC_2.12 sin F -GLIBC_2.12 sincos F -GLIBC_2.12 sincosf F -GLIBC_2.12 sincosl F -GLIBC_2.12 sinf F -GLIBC_2.12 sinh F -GLIBC_2.12 sinhf F -GLIBC_2.12 sinhl F -GLIBC_2.12 sinl F -GLIBC_2.12 sqrt F -GLIBC_2.12 sqrtf F -GLIBC_2.12 sqrtl F -GLIBC_2.12 tan F -GLIBC_2.12 tanf F -GLIBC_2.12 tanh F -GLIBC_2.12 tanhf F -GLIBC_2.12 tanhl F -GLIBC_2.12 tanl F -GLIBC_2.12 tgamma F -GLIBC_2.12 tgammaf F -GLIBC_2.12 tgammal F -GLIBC_2.12 trunc F -GLIBC_2.12 truncf F -GLIBC_2.12 truncl F -GLIBC_2.12 y0 F -GLIBC_2.12 y0f F -GLIBC_2.12 y0l F -GLIBC_2.12 y1 F -GLIBC_2.12 y1f F -GLIBC_2.12 y1l F -GLIBC_2.12 yn F -GLIBC_2.12 ynf F -GLIBC_2.12 ynl 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 __asin_finite F -GLIBC_2.15 __asinf_finite F -GLIBC_2.15 __atan2_finite F -GLIBC_2.15 __atan2f_finite F -GLIBC_2.15 __atanh_finite F -GLIBC_2.15 __atanhf_finite F -GLIBC_2.15 __cosh_finite F -GLIBC_2.15 __coshf_finite F -GLIBC_2.15 __exp10_finite F -GLIBC_2.15 __exp10f_finite F -GLIBC_2.15 __exp2_finite F -GLIBC_2.15 __exp2f_finite F -GLIBC_2.15 __exp_finite F -GLIBC_2.15 __expf_finite F -GLIBC_2.15 __fmod_finite F -GLIBC_2.15 __fmodf_finite F -GLIBC_2.15 __gamma_r_finite F -GLIBC_2.15 __gammaf_r_finite F -GLIBC_2.15 __hypot_finite F -GLIBC_2.15 __hypotf_finite F -GLIBC_2.15 __j0_finite F -GLIBC_2.15 __j0f_finite F -GLIBC_2.15 __j1_finite F -GLIBC_2.15 __j1f_finite F -GLIBC_2.15 __jn_finite F -GLIBC_2.15 __jnf_finite F -GLIBC_2.15 __lgamma_r_finite F -GLIBC_2.15 __lgammaf_r_finite F -GLIBC_2.15 __log10_finite F -GLIBC_2.15 __log10f_finite F -GLIBC_2.15 __log2_finite F -GLIBC_2.15 __log2f_finite F -GLIBC_2.15 __log_finite F -GLIBC_2.15 __logf_finite F -GLIBC_2.15 __pow_finite F -GLIBC_2.15 __powf_finite F -GLIBC_2.15 __remainder_finite F -GLIBC_2.15 __remainderf_finite F -GLIBC_2.15 __scalb_finite F -GLIBC_2.15 __scalbf_finite F -GLIBC_2.15 __sinh_finite F -GLIBC_2.15 __sinhf_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 __y1_finite F -GLIBC_2.15 __y1f_finite F -GLIBC_2.15 __yn_finite F -GLIBC_2.15 __ynf_finite F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 __issignaling F -GLIBC_2.18 __issignalingf F -GLIBC_2.23 GLIBC_2.23 A -GLIBC_2.23 __signgam D 0x4 -GLIBC_2.23 lgamma F -GLIBC_2.23 lgammaf F -GLIBC_2.23 lgammal F -GLIBC_2.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 canonicalize F -GLIBC_2.25 canonicalizef F -GLIBC_2.25 canonicalizel F -GLIBC_2.25 fegetmode F -GLIBC_2.25 fesetexcept F -GLIBC_2.25 fesetmode F -GLIBC_2.25 fetestexceptflag F -GLIBC_2.25 fmaxmag F -GLIBC_2.25 fmaxmagf F -GLIBC_2.25 fmaxmagl F -GLIBC_2.25 fminmag F -GLIBC_2.25 fminmagf F -GLIBC_2.25 fminmagl F -GLIBC_2.25 fromfp F -GLIBC_2.25 fromfpf F -GLIBC_2.25 fromfpl F -GLIBC_2.25 fromfpx F -GLIBC_2.25 fromfpxf F -GLIBC_2.25 fromfpxl F -GLIBC_2.25 getpayload F -GLIBC_2.25 getpayloadf F -GLIBC_2.25 getpayloadl F -GLIBC_2.25 llogb F -GLIBC_2.25 llogbf F -GLIBC_2.25 llogbl F -GLIBC_2.25 roundeven F -GLIBC_2.25 roundevenf F -GLIBC_2.25 roundevenl F -GLIBC_2.25 setpayload F -GLIBC_2.25 setpayloadf F -GLIBC_2.25 setpayloadl F -GLIBC_2.25 setpayloadsig F -GLIBC_2.25 setpayloadsigf F -GLIBC_2.25 setpayloadsigl F -GLIBC_2.25 totalorder F -GLIBC_2.25 totalorderf F -GLIBC_2.25 totalorderl F -GLIBC_2.25 totalordermag F -GLIBC_2.25 totalordermagf F -GLIBC_2.25 totalordermagl F -GLIBC_2.25 ufromfp F -GLIBC_2.25 ufromfpf F -GLIBC_2.25 ufromfpl F -GLIBC_2.25 ufromfpx F -GLIBC_2.25 ufromfpxf F -GLIBC_2.25 ufromfpxl F -GLIBC_2.27 GLIBC_2.27 A -GLIBC_2.27 acosf32 F -GLIBC_2.27 acosf32x F -GLIBC_2.27 acosf64 F -GLIBC_2.27 acoshf32 F -GLIBC_2.27 acoshf32x F -GLIBC_2.27 acoshf64 F -GLIBC_2.27 asinf32 F -GLIBC_2.27 asinf32x F -GLIBC_2.27 asinf64 F -GLIBC_2.27 asinhf32 F -GLIBC_2.27 asinhf32x F -GLIBC_2.27 asinhf64 F -GLIBC_2.27 atan2f32 F -GLIBC_2.27 atan2f32x F -GLIBC_2.27 atan2f64 F -GLIBC_2.27 atanf32 F -GLIBC_2.27 atanf32x F -GLIBC_2.27 atanf64 F -GLIBC_2.27 atanhf32 F -GLIBC_2.27 atanhf32x F -GLIBC_2.27 atanhf64 F -GLIBC_2.27 cabsf32 F -GLIBC_2.27 cabsf32x F -GLIBC_2.27 cabsf64 F -GLIBC_2.27 cacosf32 F -GLIBC_2.27 cacosf32x F -GLIBC_2.27 cacosf64 F -GLIBC_2.27 cacoshf32 F -GLIBC_2.27 cacoshf32x F -GLIBC_2.27 cacoshf64 F -GLIBC_2.27 canonicalizef32 F -GLIBC_2.27 canonicalizef32x F -GLIBC_2.27 canonicalizef64 F -GLIBC_2.27 cargf32 F -GLIBC_2.27 cargf32x F -GLIBC_2.27 cargf64 F -GLIBC_2.27 casinf32 F -GLIBC_2.27 casinf32x F -GLIBC_2.27 casinf64 F -GLIBC_2.27 casinhf32 F -GLIBC_2.27 casinhf32x F -GLIBC_2.27 casinhf64 F -GLIBC_2.27 catanf32 F -GLIBC_2.27 catanf32x F -GLIBC_2.27 catanf64 F -GLIBC_2.27 catanhf32 F -GLIBC_2.27 catanhf32x F -GLIBC_2.27 catanhf64 F -GLIBC_2.27 cbrtf32 F -GLIBC_2.27 cbrtf32x F -GLIBC_2.27 cbrtf64 F -GLIBC_2.27 ccosf32 F -GLIBC_2.27 ccosf32x F -GLIBC_2.27 ccosf64 F -GLIBC_2.27 ccoshf32 F -GLIBC_2.27 ccoshf32x F -GLIBC_2.27 ccoshf64 F -GLIBC_2.27 ceilf32 F -GLIBC_2.27 ceilf32x F -GLIBC_2.27 ceilf64 F -GLIBC_2.27 cexpf32 F -GLIBC_2.27 cexpf32x F -GLIBC_2.27 cexpf64 F -GLIBC_2.27 cimagf32 F -GLIBC_2.27 cimagf32x F -GLIBC_2.27 cimagf64 F -GLIBC_2.27 clog10f32 F -GLIBC_2.27 clog10f32x F -GLIBC_2.27 clog10f64 F -GLIBC_2.27 clogf32 F -GLIBC_2.27 clogf32x F -GLIBC_2.27 clogf64 F -GLIBC_2.27 conjf32 F -GLIBC_2.27 conjf32x F -GLIBC_2.27 conjf64 F -GLIBC_2.27 copysignf32 F -GLIBC_2.27 copysignf32x F -GLIBC_2.27 copysignf64 F -GLIBC_2.27 cosf32 F -GLIBC_2.27 cosf32x F -GLIBC_2.27 cosf64 F -GLIBC_2.27 coshf32 F -GLIBC_2.27 coshf32x F -GLIBC_2.27 coshf64 F -GLIBC_2.27 cpowf32 F -GLIBC_2.27 cpowf32x F -GLIBC_2.27 cpowf64 F -GLIBC_2.27 cprojf32 F -GLIBC_2.27 cprojf32x F -GLIBC_2.27 cprojf64 F -GLIBC_2.27 crealf32 F -GLIBC_2.27 crealf32x F -GLIBC_2.27 crealf64 F -GLIBC_2.27 csinf32 F -GLIBC_2.27 csinf32x F -GLIBC_2.27 csinf64 F -GLIBC_2.27 csinhf32 F -GLIBC_2.27 csinhf32x F -GLIBC_2.27 csinhf64 F -GLIBC_2.27 csqrtf32 F -GLIBC_2.27 csqrtf32x F -GLIBC_2.27 csqrtf64 F -GLIBC_2.27 ctanf32 F -GLIBC_2.27 ctanf32x F -GLIBC_2.27 ctanf64 F -GLIBC_2.27 ctanhf32 F -GLIBC_2.27 ctanhf32x F -GLIBC_2.27 ctanhf64 F -GLIBC_2.27 erfcf32 F -GLIBC_2.27 erfcf32x F -GLIBC_2.27 erfcf64 F -GLIBC_2.27 erff32 F -GLIBC_2.27 erff32x F -GLIBC_2.27 erff64 F -GLIBC_2.27 exp10f32 F -GLIBC_2.27 exp10f32x F -GLIBC_2.27 exp10f64 F -GLIBC_2.27 exp2f F -GLIBC_2.27 exp2f32 F -GLIBC_2.27 exp2f32x F -GLIBC_2.27 exp2f64 F -GLIBC_2.27 expf F -GLIBC_2.27 expf32 F -GLIBC_2.27 expf32x F -GLIBC_2.27 expf64 F -GLIBC_2.27 expm1f32 F -GLIBC_2.27 expm1f32x F -GLIBC_2.27 expm1f64 F -GLIBC_2.27 fabsf32 F -GLIBC_2.27 fabsf32x F -GLIBC_2.27 fabsf64 F -GLIBC_2.27 fdimf32 F -GLIBC_2.27 fdimf32x F -GLIBC_2.27 fdimf64 F -GLIBC_2.27 floorf32 F -GLIBC_2.27 floorf32x F -GLIBC_2.27 floorf64 F -GLIBC_2.27 fmaf32 F -GLIBC_2.27 fmaf32x F -GLIBC_2.27 fmaf64 F -GLIBC_2.27 fmaxf32 F -GLIBC_2.27 fmaxf32x F -GLIBC_2.27 fmaxf64 F -GLIBC_2.27 fmaxmagf32 F -GLIBC_2.27 fmaxmagf32x F -GLIBC_2.27 fmaxmagf64 F -GLIBC_2.27 fminf32 F -GLIBC_2.27 fminf32x F -GLIBC_2.27 fminf64 F -GLIBC_2.27 fminmagf32 F -GLIBC_2.27 fminmagf32x F -GLIBC_2.27 fminmagf64 F -GLIBC_2.27 fmodf32 F -GLIBC_2.27 fmodf32x F -GLIBC_2.27 fmodf64 F -GLIBC_2.27 frexpf32 F -GLIBC_2.27 frexpf32x F -GLIBC_2.27 frexpf64 F -GLIBC_2.27 fromfpf32 F -GLIBC_2.27 fromfpf32x F -GLIBC_2.27 fromfpf64 F -GLIBC_2.27 fromfpxf32 F -GLIBC_2.27 fromfpxf32x F -GLIBC_2.27 fromfpxf64 F -GLIBC_2.27 getpayloadf32 F -GLIBC_2.27 getpayloadf32x F -GLIBC_2.27 getpayloadf64 F -GLIBC_2.27 hypotf32 F -GLIBC_2.27 hypotf32x F -GLIBC_2.27 hypotf64 F -GLIBC_2.27 ilogbf32 F -GLIBC_2.27 ilogbf32x F -GLIBC_2.27 ilogbf64 F -GLIBC_2.27 j0f32 F -GLIBC_2.27 j0f32x F -GLIBC_2.27 j0f64 F -GLIBC_2.27 j1f32 F -GLIBC_2.27 j1f32x F -GLIBC_2.27 j1f64 F -GLIBC_2.27 jnf32 F -GLIBC_2.27 jnf32x F -GLIBC_2.27 jnf64 F -GLIBC_2.27 ldexpf32 F -GLIBC_2.27 ldexpf32x F -GLIBC_2.27 ldexpf64 F -GLIBC_2.27 lgammaf32 F -GLIBC_2.27 lgammaf32_r F -GLIBC_2.27 lgammaf32x F -GLIBC_2.27 lgammaf32x_r F -GLIBC_2.27 lgammaf64 F -GLIBC_2.27 lgammaf64_r F -GLIBC_2.27 llogbf32 F -GLIBC_2.27 llogbf32x F -GLIBC_2.27 llogbf64 F -GLIBC_2.27 llrintf32 F -GLIBC_2.27 llrintf32x F -GLIBC_2.27 llrintf64 F -GLIBC_2.27 llroundf32 F -GLIBC_2.27 llroundf32x F -GLIBC_2.27 llroundf64 F -GLIBC_2.27 log10f32 F -GLIBC_2.27 log10f32x F -GLIBC_2.27 log10f64 F -GLIBC_2.27 log1pf32 F -GLIBC_2.27 log1pf32x F -GLIBC_2.27 log1pf64 F -GLIBC_2.27 log2f F -GLIBC_2.27 log2f32 F -GLIBC_2.27 log2f32x F -GLIBC_2.27 log2f64 F -GLIBC_2.27 logbf32 F -GLIBC_2.27 logbf32x F -GLIBC_2.27 logbf64 F -GLIBC_2.27 logf F -GLIBC_2.27 logf32 F -GLIBC_2.27 logf32x F -GLIBC_2.27 logf64 F -GLIBC_2.27 lrintf32 F -GLIBC_2.27 lrintf32x F -GLIBC_2.27 lrintf64 F -GLIBC_2.27 lroundf32 F -GLIBC_2.27 lroundf32x F -GLIBC_2.27 lroundf64 F -GLIBC_2.27 modff32 F -GLIBC_2.27 modff32x F -GLIBC_2.27 modff64 F -GLIBC_2.27 nanf32 F -GLIBC_2.27 nanf32x F -GLIBC_2.27 nanf64 F -GLIBC_2.27 nearbyintf32 F -GLIBC_2.27 nearbyintf32x F -GLIBC_2.27 nearbyintf64 F -GLIBC_2.27 nextafterf32 F -GLIBC_2.27 nextafterf32x F -GLIBC_2.27 nextafterf64 F -GLIBC_2.27 nextdownf32 F -GLIBC_2.27 nextdownf32x F -GLIBC_2.27 nextdownf64 F -GLIBC_2.27 nextupf32 F -GLIBC_2.27 nextupf32x F -GLIBC_2.27 nextupf64 F -GLIBC_2.27 powf F -GLIBC_2.27 powf32 F -GLIBC_2.27 powf32x F -GLIBC_2.27 powf64 F -GLIBC_2.27 remainderf32 F -GLIBC_2.27 remainderf32x F -GLIBC_2.27 remainderf64 F -GLIBC_2.27 remquof32 F -GLIBC_2.27 remquof32x F -GLIBC_2.27 remquof64 F -GLIBC_2.27 rintf32 F -GLIBC_2.27 rintf32x F -GLIBC_2.27 rintf64 F -GLIBC_2.27 roundevenf32 F -GLIBC_2.27 roundevenf32x F -GLIBC_2.27 roundevenf64 F -GLIBC_2.27 roundf32 F -GLIBC_2.27 roundf32x F -GLIBC_2.27 roundf64 F -GLIBC_2.27 scalblnf32 F -GLIBC_2.27 scalblnf32x F -GLIBC_2.27 scalblnf64 F -GLIBC_2.27 scalbnf32 F -GLIBC_2.27 scalbnf32x F -GLIBC_2.27 scalbnf64 F -GLIBC_2.27 setpayloadf32 F -GLIBC_2.27 setpayloadf32x F -GLIBC_2.27 setpayloadf64 F -GLIBC_2.27 setpayloadsigf32 F -GLIBC_2.27 setpayloadsigf32x F -GLIBC_2.27 setpayloadsigf64 F -GLIBC_2.27 sincosf32 F -GLIBC_2.27 sincosf32x F -GLIBC_2.27 sincosf64 F -GLIBC_2.27 sinf32 F -GLIBC_2.27 sinf32x F -GLIBC_2.27 sinf64 F -GLIBC_2.27 sinhf32 F -GLIBC_2.27 sinhf32x F -GLIBC_2.27 sinhf64 F -GLIBC_2.27 sqrtf32 F -GLIBC_2.27 sqrtf32x F -GLIBC_2.27 sqrtf64 F -GLIBC_2.27 tanf32 F -GLIBC_2.27 tanf32x F -GLIBC_2.27 tanf64 F -GLIBC_2.27 tanhf32 F -GLIBC_2.27 tanhf32x F -GLIBC_2.27 tanhf64 F -GLIBC_2.27 tgammaf32 F -GLIBC_2.27 tgammaf32x F -GLIBC_2.27 tgammaf64 F -GLIBC_2.27 totalorderf32 F -GLIBC_2.27 totalorderf32x F -GLIBC_2.27 totalorderf64 F -GLIBC_2.27 totalordermagf32 F -GLIBC_2.27 totalordermagf32x F -GLIBC_2.27 totalordermagf64 F -GLIBC_2.27 truncf32 F -GLIBC_2.27 truncf32x F -GLIBC_2.27 truncf64 F -GLIBC_2.27 ufromfpf32 F -GLIBC_2.27 ufromfpf32x F -GLIBC_2.27 ufromfpf64 F -GLIBC_2.27 ufromfpxf32 F -GLIBC_2.27 ufromfpxf32x F -GLIBC_2.27 ufromfpxf64 F -GLIBC_2.27 y0f32 F -GLIBC_2.27 y0f32x F -GLIBC_2.27 y0f64 F -GLIBC_2.27 y1f32 F -GLIBC_2.27 y1f32x F -GLIBC_2.27 y1f64 F -GLIBC_2.27 ynf32 F -GLIBC_2.27 ynf32x F -GLIBC_2.27 ynf64 F -GLIBC_2.28 GLIBC_2.28 A -GLIBC_2.28 daddl F -GLIBC_2.28 dsubl F -GLIBC_2.28 f32addf32x F -GLIBC_2.28 f32addf64 F -GLIBC_2.28 f32subf32x F -GLIBC_2.28 f32subf64 F -GLIBC_2.28 f32xaddf64 F -GLIBC_2.28 f32xsubf64 F -GLIBC_2.28 fadd F -GLIBC_2.28 faddl F -GLIBC_2.28 fsub F -GLIBC_2.28 fsubl F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist deleted file mode 100644 index 0277e5c..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist +++ /dev/null @@ -1,122 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __free_fdresult F -GLIBC_2.12 __nis_default_access F -GLIBC_2.12 __nis_default_group F -GLIBC_2.12 __nis_default_owner F -GLIBC_2.12 __nis_default_ttl F -GLIBC_2.12 __nis_finddirectory F -GLIBC_2.12 __nis_hash F -GLIBC_2.12 __nisbind_connect F -GLIBC_2.12 __nisbind_create F -GLIBC_2.12 __nisbind_destroy F -GLIBC_2.12 __nisbind_next F -GLIBC_2.12 __yp_check F -GLIBC_2.12 nis_add F -GLIBC_2.12 nis_add_entry F -GLIBC_2.12 nis_addmember F -GLIBC_2.12 nis_checkpoint F -GLIBC_2.12 nis_clone_directory F -GLIBC_2.12 nis_clone_object F -GLIBC_2.12 nis_clone_result F -GLIBC_2.12 nis_creategroup F -GLIBC_2.12 nis_destroy_object F -GLIBC_2.12 nis_destroygroup F -GLIBC_2.12 nis_dir_cmp F -GLIBC_2.12 nis_domain_of F -GLIBC_2.12 nis_domain_of_r F -GLIBC_2.12 nis_first_entry F -GLIBC_2.12 nis_free_directory F -GLIBC_2.12 nis_free_object F -GLIBC_2.12 nis_free_request F -GLIBC_2.12 nis_freenames F -GLIBC_2.12 nis_freeresult F -GLIBC_2.12 nis_freeservlist F -GLIBC_2.12 nis_freetags F -GLIBC_2.12 nis_getnames F -GLIBC_2.12 nis_getservlist F -GLIBC_2.12 nis_ismember F -GLIBC_2.12 nis_leaf_of F -GLIBC_2.12 nis_leaf_of_r F -GLIBC_2.12 nis_lerror F -GLIBC_2.12 nis_list F -GLIBC_2.12 nis_local_directory F -GLIBC_2.12 nis_local_group F -GLIBC_2.12 nis_local_host F -GLIBC_2.12 nis_local_principal F -GLIBC_2.12 nis_lookup F -GLIBC_2.12 nis_mkdir F -GLIBC_2.12 nis_modify F -GLIBC_2.12 nis_modify_entry F -GLIBC_2.12 nis_name_of F -GLIBC_2.12 nis_name_of_r F -GLIBC_2.12 nis_next_entry F -GLIBC_2.12 nis_perror F -GLIBC_2.12 nis_ping F -GLIBC_2.12 nis_print_directory F -GLIBC_2.12 nis_print_entry F -GLIBC_2.12 nis_print_group F -GLIBC_2.12 nis_print_group_entry F -GLIBC_2.12 nis_print_link F -GLIBC_2.12 nis_print_object F -GLIBC_2.12 nis_print_result F -GLIBC_2.12 nis_print_rights F -GLIBC_2.12 nis_print_table F -GLIBC_2.12 nis_read_obj F -GLIBC_2.12 nis_remove F -GLIBC_2.12 nis_remove_entry F -GLIBC_2.12 nis_removemember F -GLIBC_2.12 nis_rmdir F -GLIBC_2.12 nis_servstate F -GLIBC_2.12 nis_sperrno F -GLIBC_2.12 nis_sperror F -GLIBC_2.12 nis_sperror_r F -GLIBC_2.12 nis_stats F -GLIBC_2.12 nis_verifygroup F -GLIBC_2.12 nis_write_obj F -GLIBC_2.12 readColdStartFile F -GLIBC_2.12 writeColdStartFile F -GLIBC_2.12 xdr_cback_data F -GLIBC_2.12 xdr_domainname F -GLIBC_2.12 xdr_keydat F -GLIBC_2.12 xdr_mapname F -GLIBC_2.12 xdr_obj_p F -GLIBC_2.12 xdr_peername F -GLIBC_2.12 xdr_valdat F -GLIBC_2.12 xdr_yp_buf F -GLIBC_2.12 xdr_ypall F -GLIBC_2.12 xdr_ypbind_binding F -GLIBC_2.12 xdr_ypbind_resp F -GLIBC_2.12 xdr_ypbind_resptype F -GLIBC_2.12 xdr_ypbind_setdom F -GLIBC_2.12 xdr_ypdelete_args F -GLIBC_2.12 xdr_ypmap_parms F -GLIBC_2.12 xdr_ypmaplist F -GLIBC_2.12 xdr_yppush_status F -GLIBC_2.12 xdr_yppushresp_xfr F -GLIBC_2.12 xdr_ypreq_key F -GLIBC_2.12 xdr_ypreq_nokey F -GLIBC_2.12 xdr_ypreq_xfr F -GLIBC_2.12 xdr_ypresp_all F -GLIBC_2.12 xdr_ypresp_key_val F -GLIBC_2.12 xdr_ypresp_maplist F -GLIBC_2.12 xdr_ypresp_master F -GLIBC_2.12 xdr_ypresp_order F -GLIBC_2.12 xdr_ypresp_val F -GLIBC_2.12 xdr_ypresp_xfr F -GLIBC_2.12 xdr_ypstat F -GLIBC_2.12 xdr_ypupdate_args F -GLIBC_2.12 xdr_ypxfrstat F -GLIBC_2.12 yp_all F -GLIBC_2.12 yp_bind F -GLIBC_2.12 yp_first F -GLIBC_2.12 yp_get_default_domain F -GLIBC_2.12 yp_maplist F -GLIBC_2.12 yp_master F -GLIBC_2.12 yp_match F -GLIBC_2.12 yp_next F -GLIBC_2.12 yp_order F -GLIBC_2.12 yp_unbind F -GLIBC_2.12 yp_update F -GLIBC_2.12 ypbinderr_string F -GLIBC_2.12 yperr_string F -GLIBC_2.12 ypprot_err F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist deleted file mode 100644 index d16158f..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist +++ /dev/null @@ -1,226 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 _IO_flockfile F -GLIBC_2.12 _IO_ftrylockfile F -GLIBC_2.12 _IO_funlockfile F -GLIBC_2.12 __close F -GLIBC_2.12 __connect F -GLIBC_2.12 __errno_location F -GLIBC_2.12 __fcntl F -GLIBC_2.12 __fork F -GLIBC_2.12 __h_errno_location F -GLIBC_2.12 __libc_allocate_rtsig F -GLIBC_2.12 __libc_current_sigrtmax F -GLIBC_2.12 __libc_current_sigrtmin F -GLIBC_2.12 __lseek F -GLIBC_2.12 __nanosleep F -GLIBC_2.12 __open F -GLIBC_2.12 __open64 F -GLIBC_2.12 __pread64 F -GLIBC_2.12 __pthread_cleanup_routine F -GLIBC_2.12 __pthread_getspecific F -GLIBC_2.12 __pthread_key_create F -GLIBC_2.12 __pthread_mutex_destroy F -GLIBC_2.12 __pthread_mutex_init F -GLIBC_2.12 __pthread_mutex_lock F -GLIBC_2.12 __pthread_mutex_trylock F -GLIBC_2.12 __pthread_mutex_unlock F -GLIBC_2.12 __pthread_mutexattr_destroy F -GLIBC_2.12 __pthread_mutexattr_init F -GLIBC_2.12 __pthread_mutexattr_settype F -GLIBC_2.12 __pthread_once F -GLIBC_2.12 __pthread_register_cancel F -GLIBC_2.12 __pthread_register_cancel_defer F -GLIBC_2.12 __pthread_rwlock_destroy F -GLIBC_2.12 __pthread_rwlock_init F -GLIBC_2.12 __pthread_rwlock_rdlock F -GLIBC_2.12 __pthread_rwlock_tryrdlock F -GLIBC_2.12 __pthread_rwlock_trywrlock F -GLIBC_2.12 __pthread_rwlock_unlock F -GLIBC_2.12 __pthread_rwlock_wrlock F -GLIBC_2.12 __pthread_setspecific F -GLIBC_2.12 __pthread_unregister_cancel F -GLIBC_2.12 __pthread_unregister_cancel_restore F -GLIBC_2.12 __pthread_unwind_next F -GLIBC_2.12 __pwrite64 F -GLIBC_2.12 __read F -GLIBC_2.12 __res_state F -GLIBC_2.12 __send F -GLIBC_2.12 __sigaction F -GLIBC_2.12 __vfork F -GLIBC_2.12 __wait F -GLIBC_2.12 __write F -GLIBC_2.12 _pthread_cleanup_pop F -GLIBC_2.12 _pthread_cleanup_pop_restore F -GLIBC_2.12 _pthread_cleanup_push F -GLIBC_2.12 _pthread_cleanup_push_defer F -GLIBC_2.12 accept F -GLIBC_2.12 close F -GLIBC_2.12 connect F -GLIBC_2.12 fcntl F -GLIBC_2.12 flockfile F -GLIBC_2.12 fork F -GLIBC_2.12 fsync F -GLIBC_2.12 ftrylockfile F -GLIBC_2.12 funlockfile F -GLIBC_2.12 longjmp F -GLIBC_2.12 lseek F -GLIBC_2.12 lseek64 F -GLIBC_2.12 msync F -GLIBC_2.12 nanosleep F -GLIBC_2.12 open F -GLIBC_2.12 open64 F -GLIBC_2.12 pause F -GLIBC_2.12 pread F -GLIBC_2.12 pread64 F -GLIBC_2.12 pthread_attr_destroy F -GLIBC_2.12 pthread_attr_getaffinity_np F -GLIBC_2.12 pthread_attr_getdetachstate F -GLIBC_2.12 pthread_attr_getguardsize F -GLIBC_2.12 pthread_attr_getinheritsched F -GLIBC_2.12 pthread_attr_getschedparam F -GLIBC_2.12 pthread_attr_getschedpolicy F -GLIBC_2.12 pthread_attr_getscope F -GLIBC_2.12 pthread_attr_getstack F -GLIBC_2.12 pthread_attr_getstackaddr F -GLIBC_2.12 pthread_attr_getstacksize F -GLIBC_2.12 pthread_attr_init F -GLIBC_2.12 pthread_attr_setaffinity_np F -GLIBC_2.12 pthread_attr_setdetachstate F -GLIBC_2.12 pthread_attr_setguardsize F -GLIBC_2.12 pthread_attr_setinheritsched F -GLIBC_2.12 pthread_attr_setschedparam F -GLIBC_2.12 pthread_attr_setschedpolicy F -GLIBC_2.12 pthread_attr_setscope F -GLIBC_2.12 pthread_attr_setstack F -GLIBC_2.12 pthread_attr_setstackaddr F -GLIBC_2.12 pthread_attr_setstacksize F -GLIBC_2.12 pthread_barrier_destroy F -GLIBC_2.12 pthread_barrier_init F -GLIBC_2.12 pthread_barrier_wait F -GLIBC_2.12 pthread_barrierattr_destroy F -GLIBC_2.12 pthread_barrierattr_getpshared F -GLIBC_2.12 pthread_barrierattr_init F -GLIBC_2.12 pthread_barrierattr_setpshared F -GLIBC_2.12 pthread_cancel F -GLIBC_2.12 pthread_cond_broadcast F -GLIBC_2.12 pthread_cond_destroy F -GLIBC_2.12 pthread_cond_init F -GLIBC_2.12 pthread_cond_signal F -GLIBC_2.12 pthread_cond_timedwait F -GLIBC_2.12 pthread_cond_wait F -GLIBC_2.12 pthread_condattr_destroy F -GLIBC_2.12 pthread_condattr_getclock F -GLIBC_2.12 pthread_condattr_getpshared F -GLIBC_2.12 pthread_condattr_init F -GLIBC_2.12 pthread_condattr_setclock F -GLIBC_2.12 pthread_condattr_setpshared F -GLIBC_2.12 pthread_create F -GLIBC_2.12 pthread_detach F -GLIBC_2.12 pthread_equal F -GLIBC_2.12 pthread_exit F -GLIBC_2.12 pthread_getaffinity_np F -GLIBC_2.12 pthread_getattr_np F -GLIBC_2.12 pthread_getconcurrency F -GLIBC_2.12 pthread_getcpuclockid F -GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_getschedparam F -GLIBC_2.12 pthread_getspecific F -GLIBC_2.12 pthread_join F -GLIBC_2.12 pthread_key_create F -GLIBC_2.12 pthread_key_delete F -GLIBC_2.12 pthread_kill F -GLIBC_2.12 pthread_kill_other_threads_np F -GLIBC_2.12 pthread_mutex_consistent F -GLIBC_2.12 pthread_mutex_consistent_np F -GLIBC_2.12 pthread_mutex_destroy F -GLIBC_2.12 pthread_mutex_getprioceiling F -GLIBC_2.12 pthread_mutex_init F -GLIBC_2.12 pthread_mutex_lock F -GLIBC_2.12 pthread_mutex_setprioceiling F -GLIBC_2.12 pthread_mutex_timedlock F -GLIBC_2.12 pthread_mutex_trylock F -GLIBC_2.12 pthread_mutex_unlock F -GLIBC_2.12 pthread_mutexattr_destroy F -GLIBC_2.12 pthread_mutexattr_getkind_np F -GLIBC_2.12 pthread_mutexattr_getprioceiling F -GLIBC_2.12 pthread_mutexattr_getprotocol F -GLIBC_2.12 pthread_mutexattr_getpshared F -GLIBC_2.12 pthread_mutexattr_getrobust F -GLIBC_2.12 pthread_mutexattr_getrobust_np F -GLIBC_2.12 pthread_mutexattr_gettype F -GLIBC_2.12 pthread_mutexattr_init F -GLIBC_2.12 pthread_mutexattr_setkind_np F -GLIBC_2.12 pthread_mutexattr_setprioceiling F -GLIBC_2.12 pthread_mutexattr_setprotocol F -GLIBC_2.12 pthread_mutexattr_setpshared F -GLIBC_2.12 pthread_mutexattr_setrobust F -GLIBC_2.12 pthread_mutexattr_setrobust_np F -GLIBC_2.12 pthread_mutexattr_settype F -GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_destroy F -GLIBC_2.12 pthread_rwlock_init F -GLIBC_2.12 pthread_rwlock_rdlock F -GLIBC_2.12 pthread_rwlock_timedrdlock F -GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_tryrdlock F -GLIBC_2.12 pthread_rwlock_trywrlock F -GLIBC_2.12 pthread_rwlock_unlock F -GLIBC_2.12 pthread_rwlock_wrlock F -GLIBC_2.12 pthread_rwlockattr_destroy F -GLIBC_2.12 pthread_rwlockattr_getkind_np F -GLIBC_2.12 pthread_rwlockattr_getpshared F -GLIBC_2.12 pthread_rwlockattr_init F -GLIBC_2.12 pthread_rwlockattr_setkind_np F -GLIBC_2.12 pthread_rwlockattr_setpshared F -GLIBC_2.12 pthread_self F -GLIBC_2.12 pthread_setaffinity_np F -GLIBC_2.12 pthread_setcancelstate F -GLIBC_2.12 pthread_setcanceltype F -GLIBC_2.12 pthread_setconcurrency F -GLIBC_2.12 pthread_setname_np F -GLIBC_2.12 pthread_setschedparam F -GLIBC_2.12 pthread_setschedprio F -GLIBC_2.12 pthread_setspecific F -GLIBC_2.12 pthread_sigmask F -GLIBC_2.12 pthread_sigqueue F -GLIBC_2.12 pthread_spin_destroy F -GLIBC_2.12 pthread_spin_init F -GLIBC_2.12 pthread_spin_lock F -GLIBC_2.12 pthread_spin_trylock F -GLIBC_2.12 pthread_spin_unlock F -GLIBC_2.12 pthread_testcancel F -GLIBC_2.12 pthread_timedjoin_np F -GLIBC_2.12 pthread_tryjoin_np F -GLIBC_2.12 pthread_yield F -GLIBC_2.12 pwrite F -GLIBC_2.12 pwrite64 F -GLIBC_2.12 raise F -GLIBC_2.12 read F -GLIBC_2.12 recv F -GLIBC_2.12 recvfrom F -GLIBC_2.12 recvmsg F -GLIBC_2.12 sem_close F -GLIBC_2.12 sem_destroy F -GLIBC_2.12 sem_getvalue F -GLIBC_2.12 sem_init F -GLIBC_2.12 sem_open F -GLIBC_2.12 sem_post F -GLIBC_2.12 sem_timedwait F -GLIBC_2.12 sem_trywait F -GLIBC_2.12 sem_unlink F -GLIBC_2.12 sem_wait F -GLIBC_2.12 send F -GLIBC_2.12 sendmsg F -GLIBC_2.12 sendto F -GLIBC_2.12 sigaction F -GLIBC_2.12 siglongjmp F -GLIBC_2.12 sigwait F -GLIBC_2.12 system F -GLIBC_2.12 tcdrain F -GLIBC_2.12 vfork F -GLIBC_2.12 wait F -GLIBC_2.12 waitpid F -GLIBC_2.12 write F -GLIBC_2.18 GLIBC_2.18 A -GLIBC_2.18 pthread_getattr_default_np F -GLIBC_2.18 pthread_setattr_default_np F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist deleted file mode 100644 index bd81642..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist +++ /dev/null @@ -1,92 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __b64_ntop F -GLIBC_2.12 __b64_pton F -GLIBC_2.12 __dn_comp F -GLIBC_2.12 __dn_count_labels F -GLIBC_2.12 __dn_expand F -GLIBC_2.12 __dn_skipname F -GLIBC_2.12 __fp_nquery F -GLIBC_2.12 __fp_query F -GLIBC_2.12 __fp_resstat F -GLIBC_2.12 __hostalias F -GLIBC_2.12 __loc_aton F -GLIBC_2.12 __loc_ntoa F -GLIBC_2.12 __p_cdname F -GLIBC_2.12 __p_cdnname F -GLIBC_2.12 __p_class F -GLIBC_2.12 __p_class_syms D 0xa8 -GLIBC_2.12 __p_fqname F -GLIBC_2.12 __p_fqnname F -GLIBC_2.12 __p_option F -GLIBC_2.12 __p_query F -GLIBC_2.12 __p_rcode F -GLIBC_2.12 __p_secstodate F -GLIBC_2.12 __p_time F -GLIBC_2.12 __p_type F -GLIBC_2.12 __p_type_syms D 0x450 -GLIBC_2.12 __putlong F -GLIBC_2.12 __putshort F -GLIBC_2.12 __res_close F -GLIBC_2.12 __res_dnok F -GLIBC_2.12 __res_hnok F -GLIBC_2.12 __res_hostalias F -GLIBC_2.12 __res_isourserver F -GLIBC_2.12 __res_mailok F -GLIBC_2.12 __res_mkquery F -GLIBC_2.12 __res_nameinquery F -GLIBC_2.12 __res_nmkquery F -GLIBC_2.12 __res_nquery F -GLIBC_2.12 __res_nquerydomain F -GLIBC_2.12 __res_nsearch F -GLIBC_2.12 __res_nsend F -GLIBC_2.12 __res_ownok F -GLIBC_2.12 __res_queriesmatch F -GLIBC_2.12 __res_query F -GLIBC_2.12 __res_querydomain F -GLIBC_2.12 __res_search F -GLIBC_2.12 __res_send F -GLIBC_2.12 __sym_ntop F -GLIBC_2.12 __sym_ntos F -GLIBC_2.12 __sym_ston F -GLIBC_2.12 _gethtbyaddr F -GLIBC_2.12 _gethtbyname F -GLIBC_2.12 _gethtbyname2 F -GLIBC_2.12 _gethtent F -GLIBC_2.12 _getlong F -GLIBC_2.12 _getshort F -GLIBC_2.12 _res_opcodes D 0x80 -GLIBC_2.12 _sethtent F -GLIBC_2.12 inet_net_ntop F -GLIBC_2.12 inet_net_pton F -GLIBC_2.12 inet_neta F -GLIBC_2.12 ns_datetosecs F -GLIBC_2.12 ns_format_ttl F -GLIBC_2.12 ns_get16 F -GLIBC_2.12 ns_get32 F -GLIBC_2.12 ns_initparse F -GLIBC_2.12 ns_makecanon F -GLIBC_2.12 ns_msg_getflag F -GLIBC_2.12 ns_name_compress F -GLIBC_2.12 ns_name_ntol F -GLIBC_2.12 ns_name_ntop F -GLIBC_2.12 ns_name_pack F -GLIBC_2.12 ns_name_pton F -GLIBC_2.12 ns_name_rollback F -GLIBC_2.12 ns_name_skip F -GLIBC_2.12 ns_name_uncompress F -GLIBC_2.12 ns_name_unpack F -GLIBC_2.12 ns_parse_ttl F -GLIBC_2.12 ns_parserr F -GLIBC_2.12 ns_put16 F -GLIBC_2.12 ns_put32 F -GLIBC_2.12 ns_samedomain F -GLIBC_2.12 ns_samename F -GLIBC_2.12 ns_skiprr F -GLIBC_2.12 ns_sprintrr F -GLIBC_2.12 ns_sprintrrf F -GLIBC_2.12 ns_subdomain F -GLIBC_2.12 res_gethostbyaddr F -GLIBC_2.12 res_gethostbyname F -GLIBC_2.12 res_gethostbyname2 F -GLIBC_2.12 res_send_setqhook F -GLIBC_2.12 res_send_setrhook F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist deleted file mode 100644 index 14f5c82..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 __mq_open_2 F -GLIBC_2.12 aio_cancel F -GLIBC_2.12 aio_cancel64 F -GLIBC_2.12 aio_error F -GLIBC_2.12 aio_error64 F -GLIBC_2.12 aio_fsync F -GLIBC_2.12 aio_fsync64 F -GLIBC_2.12 aio_init F -GLIBC_2.12 aio_read F -GLIBC_2.12 aio_read64 F -GLIBC_2.12 aio_return F -GLIBC_2.12 aio_return64 F -GLIBC_2.12 aio_suspend F -GLIBC_2.12 aio_suspend64 F -GLIBC_2.12 aio_write F -GLIBC_2.12 aio_write64 F -GLIBC_2.12 clock_getcpuclockid F -GLIBC_2.12 clock_getres F -GLIBC_2.12 clock_gettime F -GLIBC_2.12 clock_nanosleep F -GLIBC_2.12 clock_settime F -GLIBC_2.12 lio_listio F -GLIBC_2.12 lio_listio64 F -GLIBC_2.12 mq_close F -GLIBC_2.12 mq_getattr F -GLIBC_2.12 mq_notify F -GLIBC_2.12 mq_open F -GLIBC_2.12 mq_receive F -GLIBC_2.12 mq_send F -GLIBC_2.12 mq_setattr F -GLIBC_2.12 mq_timedreceive F -GLIBC_2.12 mq_timedsend F -GLIBC_2.12 mq_unlink F -GLIBC_2.12 shm_open F -GLIBC_2.12 shm_unlink F -GLIBC_2.12 timer_create F -GLIBC_2.12 timer_delete F -GLIBC_2.12 timer_getoverrun F -GLIBC_2.12 timer_gettime F -GLIBC_2.12 timer_settime F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist deleted file mode 100644 index 4aade0b..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist +++ /dev/null @@ -1,41 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 td_init F -GLIBC_2.12 td_log F -GLIBC_2.12 td_symbol_list F -GLIBC_2.12 td_ta_clear_event F -GLIBC_2.12 td_ta_delete F -GLIBC_2.12 td_ta_enable_stats F -GLIBC_2.12 td_ta_event_addr F -GLIBC_2.12 td_ta_event_getmsg F -GLIBC_2.12 td_ta_get_nthreads F -GLIBC_2.12 td_ta_get_ph F -GLIBC_2.12 td_ta_get_stats F -GLIBC_2.12 td_ta_map_id2thr F -GLIBC_2.12 td_ta_map_lwp2thr F -GLIBC_2.12 td_ta_new F -GLIBC_2.12 td_ta_reset_stats F -GLIBC_2.12 td_ta_set_event F -GLIBC_2.12 td_ta_setconcurrency F -GLIBC_2.12 td_ta_thr_iter F -GLIBC_2.12 td_ta_tsd_iter F -GLIBC_2.12 td_thr_clear_event F -GLIBC_2.12 td_thr_dbresume F -GLIBC_2.12 td_thr_dbsuspend F -GLIBC_2.12 td_thr_event_enable F -GLIBC_2.12 td_thr_event_getmsg F -GLIBC_2.12 td_thr_get_info F -GLIBC_2.12 td_thr_getfpregs F -GLIBC_2.12 td_thr_getgregs F -GLIBC_2.12 td_thr_getxregs F -GLIBC_2.12 td_thr_getxregsize F -GLIBC_2.12 td_thr_set_event F -GLIBC_2.12 td_thr_setfpregs F -GLIBC_2.12 td_thr_setgregs F -GLIBC_2.12 td_thr_setprio F -GLIBC_2.12 td_thr_setsigpending F -GLIBC_2.12 td_thr_setxregs F -GLIBC_2.12 td_thr_sigsetmask F -GLIBC_2.12 td_thr_tls_get_addr F -GLIBC_2.12 td_thr_tlsbase F -GLIBC_2.12 td_thr_tsd F -GLIBC_2.12 td_thr_validate F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist deleted file mode 100644 index e4d4326..0000000 --- a/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist +++ /dev/null @@ -1,7 +0,0 @@ -GLIBC_2.12 GLIBC_2.12 A -GLIBC_2.12 forkpty F -GLIBC_2.12 login F -GLIBC_2.12 login_tty F -GLIBC_2.12 logout F -GLIBC_2.12 logwtmp F -GLIBC_2.12 openpty F diff --git a/sysdeps/unix/sysv/linux/tile/ucontext_i.h b/sysdeps/unix/sysv/linux/tile/ucontext_i.h deleted file mode 100644 index 0d3ac42..0000000 --- a/sysdeps/unix/sysv/linux/tile/ucontext_i.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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/>. */ - -/* Definitions of offsets within the ucontext_t structure. Note - that for convenience we use __SIZEOF_POINTER__ for "long" and - "ssize_t" fields (and their unsigned counterparts) as well. */ - -#define UC_FLAGS_OFFSET 0 -#define UC_LINK_OFFSET (UC_FLAGS_OFFSET + __SIZEOF_POINTER__) -#define UC_STACK_SP_OFFSET (UC_LINK_OFFSET + __SIZEOF_POINTER__) -#define UC_STACK_FLAGS_OFFSET (UC_STACK_SP_OFFSET + __SIZEOF_POINTER__) -#define UC_STACK_SIZE_OFFSET (UC_STACK_FLAGS_OFFSET + __SIZEOF_POINTER__) -#define UC_STACK_MCONTEXT_OFFSET \ - ((UC_STACK_SIZE_OFFSET + __SIZEOF_POINTER__ + REGSIZE - 1) & -REGSIZE) -#define UC_REG(i) (UC_STACK_MCONTEXT_OFFSET + ((i) * REGSIZE)) -#define UC_NREGS 64 -#define UC_SIGMASK_OFFSET UC_REG(UC_NREGS) -#define UC_SIZE (UC_SIGMASK_OFFSET + (_NSIG / 8)) - -/* From <asm/siginfo.h> */ -#define SI_MAX_SIZE 128 - -/* From <asm/signal.h> */ -#define _NSIG 64 -#define SIG_BLOCK 0 /* for blocking signals */ -#define SIG_UNBLOCK 1 /* for unblocking signals */ -#define SIG_SETMASK 2 /* for setting the signal mask */ diff --git a/sysdeps/unix/sysv/linux/tile/vfork.S b/sysdeps/unix/sysv/linux/tile/vfork.S deleted file mode 100644 index b4058f5..0000000 --- a/sysdeps/unix/sysv/linux/tile/vfork.S +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - 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> -#define __ASSEMBLY__ /* for kernel headers */ -#include <linux/sched.h> -#include <asm/signal.h> -#include <tcb-offsets.h> - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ - - .text -ENTRY (__vfork) - { - moveli r0, CLONE_VFORK | CLONE_VM | SIGCHLD - move r1, zero - } - { - move r2, zero - move r3, zero - } - moveli TREG_SYSCALL_NR_NAME, __NR_clone - swint1 - - bnez r1, 0f - jrp lr -PSEUDO_END (__vfork) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) -strong_alias (__vfork, __libc_vfork) |