aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/arm
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 18:26:36 +0000
commit0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (patch)
tree2ea1f8305970753e4a657acb2ccc15ca3eec8e2c /sysdeps/arm
parent7d58530341304d403a6626d7f7a1913165fe2f32 (diff)
downloadglibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.tar.xz
glibc-0ecb606cb6cf65de1d9fc8a919bceb4be476c602.zip
2.5-18.1
Diffstat (limited to 'sysdeps/arm')
-rw-r--r--sysdeps/arm/Dist2
-rw-r--r--sysdeps/arm/Implies3
-rw-r--r--sysdeps/arm/__longjmp.S33
-rw-r--r--sysdeps/arm/atomicity.h87
-rw-r--r--sysdeps/arm/bits/endian.h12
-rw-r--r--sysdeps/arm/bits/huge_val.h56
-rw-r--r--sysdeps/arm/bits/link.h4
-rw-r--r--sysdeps/arm/bits/setjmp.h36
-rw-r--r--sysdeps/arm/bits/string.h31
-rw-r--r--sysdeps/arm/bsd-_setjmp.S30
-rw-r--r--sysdeps/arm/bsd-setjmp.S29
-rw-r--r--sysdeps/arm/dl-machine.h636
-rw-r--r--sysdeps/arm/elf/start.S102
-rw-r--r--sysdeps/arm/fpu/__longjmp.S36
-rw-r--r--sysdeps/arm/fpu/bits/fenv.h58
-rw-r--r--sysdeps/arm/fpu/bits/mathdef.h44
-rw-r--r--sysdeps/arm/fpu/bits/setjmp.h36
-rw-r--r--sysdeps/arm/fpu/fclrexcpt.c50
-rw-r--r--sysdeps/arm/fpu/fedisblxcpt.c40
-rw-r--r--sysdeps/arm/fpu/feenablxcpt.c40
-rw-r--r--sysdeps/arm/fpu/fegetenv.c40
-rw-r--r--sysdeps/arm/fpu/fegetexcept.c32
-rw-r--r--sysdeps/arm/fpu/fegetround.c26
-rw-r--r--sysdeps/arm/fpu/feholdexcpt.c37
-rw-r--r--sysdeps/arm/fpu/fesetenv.c45
-rw-r--r--sysdeps/arm/fpu/fesetround.c27
-rw-r--r--sysdeps/arm/fpu/fpu_control.h102
-rw-r--r--sysdeps/arm/fpu/fraiseexcpt.c44
-rw-r--r--sysdeps/arm/fpu/fsetexcptflg.c49
-rw-r--r--sysdeps/arm/fpu/ftestexcept.c32
-rw-r--r--sysdeps/arm/fpu/setjmp.S35
-rw-r--r--sysdeps/arm/frame.h28
-rw-r--r--sysdeps/arm/gccframe.h22
-rw-r--r--sysdeps/arm/gmp-mparam.h30
-rw-r--r--sysdeps/arm/ieee754.h115
-rw-r--r--sysdeps/arm/init-first.c73
-rw-r--r--sysdeps/arm/libm-test-ulps1079
-rw-r--r--sysdeps/arm/machine-gmon.h67
-rw-r--r--sysdeps/arm/memset.S67
-rw-r--r--sysdeps/arm/memusage.h21
-rw-r--r--sysdeps/arm/setjmp.S31
-rw-r--r--sysdeps/arm/stackinfo.h28
-rw-r--r--sysdeps/arm/strlen.S73
-rw-r--r--sysdeps/arm/sys/ucontext.h95
-rw-r--r--sysdeps/arm/sysdep.h108
45 files changed, 0 insertions, 3671 deletions
diff --git a/sysdeps/arm/Dist b/sysdeps/arm/Dist
deleted file mode 100644
index 441c9ba492..0000000000
--- a/sysdeps/arm/Dist
+++ /dev/null
@@ -1,2 +0,0 @@
-ieee754.h
-bits/link.h
diff --git a/sysdeps/arm/Implies b/sysdeps/arm/Implies
deleted file mode 100644
index 780c4e2467..0000000000
--- a/sysdeps/arm/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-wordsize-32
-ieee754/flt-32
-ieee754/dbl-64
diff --git a/sysdeps/arm/__longjmp.S b/sysdeps/arm/__longjmp.S
deleted file mode 100644
index 7b30160047..0000000000
--- a/sysdeps/arm/__longjmp.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/* longjmp for ARM.
- Copyright (C) 1997, 1998 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 <sysdep.h>
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-/* __longjmp(jmpbuf, val) */
-
-ENTRY (__longjmp)
- mov ip, r0
- movs r0, r1 /* get the return value in place */
- moveq r0, #1 /* can't let setjmp() return zero! */
-
- LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
-END (__longjmp)
diff --git a/sysdeps/arm/atomicity.h b/sysdeps/arm/atomicity.h
deleted file mode 100644
index 1a437a6d35..0000000000
--- a/sysdeps/arm/atomicity.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Low-level functions for atomic operations. ARM version.
- Copyright (C) 1997, 1998, 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 _ATOMICITY_H
-#define _ATOMICITY_H 1
-
-#include <inttypes.h>
-
-
-static inline int
-__attribute__ ((unused))
-exchange_and_add (volatile uint32_t *mem, int val)
-{
- int tmp1;
- int tmp2;
- int result;
- __asm__ ("\n"
- "0:\tldr\t%0,[%3]\n\t"
- "add\t%1,%0,%4\n\t"
- "swp\t%2,%1,[%3]\n\t"
- "cmp\t%0,%2\n\t"
- "swpne\t%1,%2,[%3]\n\t"
- "bne\t0b"
- : "=&r" (result), "=&r" (tmp1), "=&r" (tmp2)
- : "r" (mem), "r"(val)
- : "cc", "memory");
- return result;
-}
-
-static inline void
-__attribute__ ((unused))
-atomic_add (volatile uint32_t *mem, int val)
-{
- int tmp1;
- int tmp2;
- int tmp3;
- __asm__ ("\n"
- "0:\tldr\t%0,[%3]\n\t"
- "add\t%1,%0,%4\n\t"
- "swp\t%2,%1,[%3]\n\t"
- "cmp\t%0,%2\n\t"
- "swpne\t%1,%2,[%3]\n\t"
- "bne\t0b"
- : "=&r" (tmp1), "=&r" (tmp2), "=&r" (tmp3)
- : "r" (mem), "r"(val)
- : "cc", "memory");
-}
-
-static inline int
-__attribute__ ((unused))
-compare_and_swap (volatile long int *p, long int oldval, long int newval)
-{
- int result, tmp;
- __asm__ ("\n"
- "0:\tldr\t%1,[%2]\n\t"
- "mov\t%0,#0\n\t"
- "cmp\t%1,%4\n\t"
- "bne\t1f\n\t"
- "swp\t%0,%3,[%2]\n\t"
- "cmp\t%1,%0\n\t"
- "swpne\t%1,%0,[%2]\n\t"
- "bne\t0b\n\t"
- "mov\t%0,#1\n"
- "1:"
- : "=&r" (result), "=&r" (tmp)
- : "r" (p), "r" (newval), "r" (oldval)
- : "cc", "memory");
- return result;
-}
-
-#endif /* atomicity.h */
diff --git a/sysdeps/arm/bits/endian.h b/sysdeps/arm/bits/endian.h
deleted file mode 100644
index 5e54cc7534..0000000000
--- a/sysdeps/arm/bits/endian.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* ARM is (usually) little-endian but with a big-endian FPU. */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#ifdef __ARMEB__
-#define __BYTE_ORDER __BIG_ENDIAN
-#else
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
-#define __FLOAT_WORD_ORDER __BIG_ENDIAN
diff --git a/sysdeps/arm/bits/huge_val.h b/sysdeps/arm/bits/huge_val.h
deleted file mode 100644
index 3339a0d01c..0000000000
--- a/sysdeps/arm/bits/huge_val.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).
- Used by <stdlib.h> and <math.h> functions for overflow.
- ARM version.
- Copyright (C) 1992, 95, 96, 97, 98, 99, 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_val.h> directly; include <math.h> instead."
-#endif
-
-/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VAL (__builtin_huge_val())
-#elif __GNUC_PREREQ(2,96)
-# define HUGE_VAL (__extension__ 0x1.0p2047)
-#elif defined __GNUC__
-
-# define HUGE_VAL \
- (__extension__ \
- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
- { __l: 0x000000007ff00000ULL }).__d)
-
-#else /* not GCC */
-
-# include <endian.h>
-
-typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
-
-# if __BYTE_ORDER == __BIG_ENDIAN
-# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
-# endif
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-# define __HUGE_VAL_bytes { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }
-# endif
-
-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
-# define HUGE_VAL (__huge_val.__d)
-
-#endif /* GCC. */
diff --git a/sysdeps/arm/bits/link.h b/sysdeps/arm/bits/link.h
deleted file mode 100644
index 648976d7d2..0000000000
--- a/sysdeps/arm/bits/link.h
+++ /dev/null
@@ -1,4 +0,0 @@
-struct link_map_machine
- {
- Elf32_Addr plt; /* Address of .plt */
- };
diff --git a/sysdeps/arm/bits/setjmp.h b/sysdeps/arm/bits/setjmp.h
deleted file mode 100644
index e0a4657b47..0000000000
--- a/sysdeps/arm/bits/setjmp.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1997, 1998 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. */
-
-/* Define the machine-dependent type `jmp_buf'. ARM version. */
-
-#ifndef _SETJMP_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#ifndef _ASM
-/* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not
- saved. */
-typedef int __jmp_buf[10];
-#endif
-
-#define __JMP_BUF_SP 8
-
-/* Test if longjmp to JMPBUF would unwind the frame
- containing a local variable at ADDRESS. */
-#define _JMPBUF_UNWINDS(jmpbuf, address) \
- ((void *) (address) < (void *) (jmpbuf[__JMP_BUF_SP]))
diff --git a/sysdeps/arm/bits/string.h b/sysdeps/arm/bits/string.h
deleted file mode 100644
index 206f956dfd..0000000000
--- a/sysdeps/arm/bits/string.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Optimized, inlined string functions. ARM version.
- Copyright (C) 1998, 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 _STRING_H
-# error "Never use <bits/string.h> directly; include <string.h> instead."
-#endif
-
-/* We must defeat the generic optimized versions of these functions in
- <bits/string2.h> since they don't work on the ARM. This is because
- the games they play with the __STRING2_COPY_ARR# structures fail
- when structs are always 32-bit aligned.
- XXX Should provide suitably optimal replacements. */
-#define _HAVE_STRING_ARCH_strcpy 1
-#define _HAVE_STRING_ARCH_stpcpy 1
-#define _HAVE_STRING_ARCH_mempcpy 1
diff --git a/sysdeps/arm/bsd-_setjmp.S b/sysdeps/arm/bsd-_setjmp.S
deleted file mode 100644
index c4a094e505..0000000000
--- a/sysdeps/arm/bsd-_setjmp.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. ARM version.
- Copyright (C) 1997, 1998, 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. */
-
-/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
- We cannot do it in C because it must be a tail-call, so frame-unwinding
- in setjmp doesn't clobber the state restored by longjmp. */
-
-#include <sysdep.h>
-
-ENTRY (_setjmp)
- mov r1, #0
- b PLTJMP(C_SYMBOL_NAME(__sigsetjmp))
-END (_setjmp)
-libc_hidden_def (_setjmp)
diff --git a/sysdeps/arm/bsd-setjmp.S b/sysdeps/arm/bsd-setjmp.S
deleted file mode 100644
index d227ba68a6..0000000000
--- a/sysdeps/arm/bsd-setjmp.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. ARM version.
- Copyright (C) 1997, 1998 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
<