aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ia64/bits
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ia64/bits')
-rw-r--r--sysdeps/ia64/bits/atomic.h119
-rw-r--r--sysdeps/ia64/bits/byteswap.h121
-rw-r--r--sysdeps/ia64/bits/fenv.h87
-rw-r--r--sysdeps/ia64/bits/huge_vall.h42
-rw-r--r--sysdeps/ia64/bits/link.h63
-rw-r--r--sysdeps/ia64/bits/linkmap.h5
-rw-r--r--sysdeps/ia64/bits/mathdef.h37
-rw-r--r--sysdeps/ia64/bits/xtitypes.h34
8 files changed, 0 insertions, 508 deletions
diff --git a/sysdeps/ia64/bits/atomic.h b/sysdeps/ia64/bits/atomic.h
deleted file mode 100644
index 1020c2f229..0000000000
--- a/sysdeps/ia64/bits/atomic.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright (C) 2003 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. */
-
-#include <stdint.h>
-#include <ia64intrin.h>
-
-typedef int8_t atomic8_t;
-typedef uint8_t uatomic8_t;
-typedef int_fast8_t atomic_fast8_t;
-typedef uint_fast8_t uatomic_fast8_t;
-
-typedef int16_t atomic16_t;
-typedef uint16_t uatomic16_t;
-typedef int_fast16_t atomic_fast16_t;
-typedef uint_fast16_t uatomic_fast16_t;
-
-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;
-
-
-#define __arch_compare_and_exchange_bool_8_acq(mem, newval, oldval) \
- (abort (), 0)
-
-#define __arch_compare_and_exchange_bool_16_acq(mem, newval, oldval) \
- (abort (), 0)
-
-#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
- (!__sync_bool_compare_and_swap ((mem), (int) (long) (oldval), \
- (int) (long) (newval)))
-
-#define __arch_compare_and_exchange_bool_64_acq(mem, newval, oldval) \
- (!__sync_bool_compare_and_swap ((mem), (long) (oldval), \
- (long) (newval)))
-
-#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
- (abort (), (__typeof (*mem)) 0)
-
-#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
- (abort (), (__typeof (*mem)) 0)
-
-#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
- __sync_val_compare_and_swap ((mem), (int) (long) (oldval), \
- (int) (long) (newval))
-
-#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
- __sync_val_compare_and_swap ((mem), (long) (oldval), (long) (newval))
-
-/* Atomically store newval and return the old value. */
-#define atomic_exchange_acq(mem, value) \
- __sync_lock_test_and_set (mem, value)
-
-#define atomic_exchange_rel(mem, value) \
- (__sync_synchronize (), __sync_lock_test_and_set (mem, value))
-
-#define atomic_exchange_and_add(mem, value) \
- ({ __typeof (*mem) __result; \
- __result = __sync_fetch_and_add ((mem), (int) (value)); \
- __result; })
-
-#define atomic_decrement_if_positive(mem) \
- ({ __typeof (*mem) __oldval, __val; \
- __typeof (mem) __memp = (mem); \
- \
- __val = (*__memp); \
- do \
- { \
- __oldval = __val; \
- if (__builtin_expect (__val <= 0, 0)) \
- break; \
- __val = atomic_compare_and_exchange_val_acq (__memp, __oldval - 1, \
- __oldval); \
- } \
- while (__builtin_expect (__val != __oldval, 0)); \
- __oldval; })
-
-#define atomic_bit_test_set(mem, bit) \
- ({ __typeof (*mem) __oldval, __val; \
- __typeof (mem) __memp = (mem); \
- __typeof (*mem) __mask = ((__typeof (*mem)) 1 << (bit)); \
- \
- __val = (*__memp); \
- do \
- { \
- __oldval = __val; \
- __val = atomic_compare_and_exchange_val_acq (__memp, \
- __oldval | __mask, \
- __oldval); \
- } \
- while (__builtin_expect (__val != __oldval, 0)); \
- __oldval & __mask; })
-
-#define atomic_full_barrier() __sync_synchronize ()
diff --git a/sysdeps/ia64/bits/byteswap.h b/sysdeps/ia64/bits/byteswap.h
deleted file mode 100644
index 29d0e37d12..0000000000
--- a/sysdeps/ia64/bits/byteswap.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Macros to swap the order of bytes in integer values.
- Copyright (C) 1997,1998,2000,2002,2003,2008,2011
- 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. */
-
-#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
-# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
-#endif
-
-#ifndef _BITS_BYTESWAP_H
-#define _BITS_BYTESWAP_H 1
-
-/* Swap bytes in 16 bit value. */
-#define __bswap_constant_16(x) \
- ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
-
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_16(x) \
- (__extension__ \
- ({ register unsigned short int __v, __x = (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_16 (__x); \
- else \
- __asm__ __volatile__ ("shl %0 = %1, 48 ;;" \
- "mux1 %0 = %0, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned short int) (__x))); \
- __v; }))
-#else
-/* This is better than nothing. */
-static __inline unsigned short int
-__bswap_16 (unsigned short int __bsx)
-{
- return __bswap_constant_16 (__bsx);
-}
-#endif
-
-
-/* Swap bytes in 32 bit value. */
-#define __bswap_constant_32(x) \
- ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
-
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __v, __x = (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ __volatile__ ("shl %0 = %1, 32 ;;" \
- "mux1 %0 = %0, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned int) (__x))); \
- __v; }))
-#else
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
-{
- return __bswap_constant_32 (__bsx);
-}
-#endif
-
-
-/* Swap bytes in 64 bit value. */
-#if defined __GNUC__ && __GNUC__ >= 2
-# define __bswap_constant_64(x) \
- (__extension__ ((((x) & 0xff00000000000000ul) >> 56) \
- | (((x) & 0x00ff000000000000ul) >> 40) \
- | (((x) & 0x0000ff0000000000ul) >> 24) \
- | (((x) & 0x000000ff00000000ul) >> 8) \
- | (((x) & 0x00000000ff000000ul) << 8) \
- | (((x) & 0x0000000000ff0000ul) << 24) \
- | (((x) & 0x000000000000ff00ul) << 40) \
- | (((x) & 0x00000000000000fful) << 56)))
-
-# define __bswap_64(x) \
- (__extension__ \
- ({ register unsigned long int __v, __x = (x); \
- if (__builtin_constant_p (x)) \
- __v = __bswap_constant_64 (__x); \
- else \
- __asm__ __volatile__ ("mux1 %0 = %1, @rev ;;" \
- : "=r" (__v) \
- : "r" ((unsigned long int) (__x))); \
- __v; }))
-
-#else
-# define __bswap_constant_64(x) \
- ((((x) & 0xff00000000000000ul) >> 56) \
- | (((x) & 0x00ff000000000000ul) >> 40) \
- | (((x) & 0x0000ff0000000000ul) >> 24) \
- | (((x) & 0x000000ff00000000ul) >> 8) \
- | (((x) & 0x00000000ff000000ul) << 8) \
- | (((x) & 0x0000000000ff0000ul) << 24) \
- | (((x) & 0x000000000000ff00ul) << 40) \
- | (((x) & 0x00000000000000fful) << 56))
-
-static __inline unsigned long int
-__bswap_64 (unsigned long int __bsx)
-{
- return __bswap_constant_64 (__bsx);
-}
-#endif
-
-#endif /* _BITS_BYTESWAP_H */
diff --git a/sysdeps/ia64/bits/fenv.h b/sysdeps/ia64/bits/fenv.h
deleted file mode 100644
index 32515f0796..0000000000
--- a/sysdeps/ia64/bits/fenv.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1999, 2000 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. */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define bits representing the exception. We use the bit positions of
- the appropriate bits in the FPSR... (Tahoe EAS 2.4 5-4)*/
-
-enum
- {
- FE_INEXACT = 1UL << 5,
-#define FE_INEXACT FE_INEXACT
-
- FE_UNDERFLOW = 1UL << 4,
-#define FE_UNDERFLOW FE_UNDERFLOW
-
- FE_OVERFLOW = 1UL << 3,
-#define FE_OVERFLOW FE_OVERFLOW
-
- FE_DIVBYZERO = 1UL << 2,
-#define FE_DIVBYZERO FE_DIVBYZERO
-
- FE_UNNORMAL = 1UL << 1,
-#define FE_UNNORMAL FE_UNNORMAL
-
- FE_INVALID = 1UL << 0,
-#define FE_INVALID FE_INVALID
-
- FE_ALL_EXCEPT =
- (FE_INEXACT | FE_UNDERFLOW | FE_OVERFLOW | FE_DIVBYZERO | FE_UNNORMAL | FE_INVALID)
-#define FE_ALL_EXCEPT FE_ALL_EXCEPT
- };
-
-
-enum
- {
- FE_TOWARDZERO = 3,
-#define FE_TOWARDZERO FE_TOWARDZERO
-
- FE_UPWARD = 2,
-#define FE_UPWARD FE_UPWARD
-
- FE_DOWNWARD = 1,
-#define FE_DOWNWARD FE_DOWNWARD
-
- FE_TONEAREST = 0,
-#define FE_TONEAREST FE_TONEAREST
- };
-
-
-/* Type representing exception flags. */
-typedef unsigned long int fexcept_t;
-
-/* Type representing floating-point environment. */
-typedef unsigned long int fenv_t;
-
-/* If the default argument is used we use this value. */
-#define FE_DFL_ENV ((__const fenv_t *) 0xc009804c0270033fUL)
-
-#ifdef __USE_GNU
-/* Floating-point environment where only FE_UNNORMAL is masked since this
- exception is not generally supported by glibc. */
-# define FE_NOMASK_ENV ((__const fenv_t *) 0xc009804c02700302UL)
-
-/* Floating-point environment with (processor-dependent) non-IEEE
- floating point. In this case, turning on flush-to-zero mode for
- s0, s2, and s3. */
-# define FE_NONIEEE_ENV ((__const fenv_t *) 0xc009a04d0270037fUL)
-#endif
diff --git a/sysdeps/ia64/bits/huge_vall.h b/sysdeps/ia64/bits/huge_vall.h
deleted file mode 100644
index a1f583b34c..0000000000
--- a/sysdeps/ia64/bits/huge_vall.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* `HUGE_VALL' constant for ia64 (where it is infinity).
- Used by <stdlib.h> and <math.h> functions for overflow.
- Copyright (C) 2000, 2004 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. */
-
-#ifndef _MATH_H
-# error "Never use <bits/huge_vall.h> directly; include <math.h> instead."
-#endif
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VALL (__builtin_huge_vall())
-#elif __GNUC_PREREQ(2,96)
-# define HUGE_VALL (__extension__ 0x1.0p32767L)
-#else
-
-# define __HUGE_VALL_bytes { 0,0,0,0,0,0,0, 0x80, 0xff, 0x7f, 0,0,0,0,0,0}
-
-# define __huge_vall_t union { unsigned char __c[16]; long double __ld; }
-# ifdef __GNUC__
-# define HUGE_VALL (__extension__ \
- ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld)
-# else /* Not GCC. */
-static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };
-# define HUGE_VALL (__huge_vall.__ld)
-# endif /* GCC. */
-
-#endif /* GCC 2.95 */
diff --git a/sysdeps/ia64/bits/link.h b/sysdeps/ia64/bits/link.h
deleted file mode 100644
index f522ab340b..0000000000
--- a/sysdeps/ia64/bits/link.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 2005, 2009 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. */
-
-#ifndef _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-/* Registers for entry into PLT on ia64. */
-typedef struct La_ia64_regs
-{
- uint64_t lr_r8;
- uint64_t lr_r9;
- uint64_t lr_r10;
- uint64_t lr_r11;
- uint64_t lr_gr [8];
- long double lr_fr [8];
- uint64_t lr_unat;
- uint64_t lr_sp;
-} La_ia64_regs;
-
-/* Return values for calls from PLT on ia64. */
-typedef struct La_ia64_retval
-{
- uint64_t lrv_r8;
- uint64_t lrv_r9;
- uint64_t lrv_r10;
- uint64_t lrv_r11;
- long double lr_fr [8];
-} La_ia64_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf64_Addr la_ia64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_ia64_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-extern unsigned int la_ia64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_ia64_regs *__inregs,
- La_ia64_retval *__outregs,
- const char *__symname);
-
-__END_DECLS
diff --git a/sysdeps/ia64/bits/linkmap.h b/sysdeps/ia64/bits/linkmap.h
deleted file mode 100644
index 7f8b0550d9..0000000000
--- a/sysdeps/ia64/bits/linkmap.h
+++ /dev/null
@@ -1,5 +0,0 @@
-struct link_map_machine
- {
- size_t fptr_table_len;
- Elf64_Addr *fptr_table;
- };
diff --git a/sysdeps/ia64/bits/mathdef.h b/sysdeps/ia64/bits/mathdef.h
deleted file mode 100644
index 3dc2860223..0000000000
--- a/sysdeps/ia64/bits/mathdef.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2000, 2001, 2004 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. */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF 1
-
-/* The IA-64 architecture computes values with the precision of the
- used type. */
-typedef float float_t; /* `float' expressions are evaluated as
- `float'. */
-typedef double double_t; /* `double' expressions are evaluated as
- `double'. */
-
-/* The values returned by `ilogb' for 0 and NaN respectively. */
-# define FP_ILOGB0 (-2147483647 - 1)
-# define FP_ILOGBNAN 2147483647
-
-#endif /* ISO C99 */
diff --git a/sysdeps/ia64/bits/xtitypes.h b/sysdeps/ia64/bits/xtitypes.h
deleted file mode 100644
index 54c85ba901..0000000000
--- a/sysdeps/ia64/bits/xtitypes.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. IA64
- Copyright (C) 2002 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. */
-
-#ifndef _STROPTS_H
-# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
-#endif
-
-#ifndef _BITS_XTITYPES_H
-#define _BITS_XTITYPES_H 1
-
-#include <bits/types.h>
-
-/* This type is used by some structs in <bits/stropts.h>. */
-typedef __S32_TYPE __t_scalar_t;
-typedef __U32_TYPE __t_uscalar_t;
-
-
-#endif /* bits/xtitypes.h */