about summary refs log tree commit diff
path: root/sysdeps/arm
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-05-24 06:18:37 +0000
committerRoland McGrath <roland@gnu.org>2005-05-24 06:18:37 +0000
commitce9b3bc17a7abc5b729b9e2cc72eb207a3617328 (patch)
tree7ccac7afcfaae36311c75b36001588534184718f /sysdeps/arm
parent88b8441a81c7bc9414a97a0a123c09b6c724f80a (diff)
downloadglibc-ce9b3bc17a7abc5b729b9e2cc72eb207a3617328.tar.gz
glibc-ce9b3bc17a7abc5b729b9e2cc72eb207a3617328.tar.xz
glibc-ce9b3bc17a7abc5b729b9e2cc72eb207a3617328.zip
Move arm port to ports repository cvs/fedora-glibc-20050524T1606
2005-05-23  Roland McGrath  <roland@redhat.com>

	* sysdeps/arm, sysdeps/unix/arm, sysdeps/unix/sysv/linux/arm:
	Subdirectories moved to ports repository.
	* configure.in (base_machine): Remove arm* and thumb* patterns.
	* shlib-versions (arm.*-.*-linux.*): Remove this pattern.
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.h0
-rw-r--r--sysdeps/arm/bits/linkmap.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.h640
-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
46 files changed, 0 insertions, 3675 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 e69de29bb2..0000000000
--- a/sysdeps/arm/bits/link.h
+++ /dev/null
diff --git a/sysdeps/arm/bits/linkmap.h b/sysdeps/arm/bits/linkmap.h
deleted file mode 100644
index 648976d7d2..0000000000
--- a/sysdeps/arm/bits/linkmap.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
-   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, #1
-	b	PLTJMP(C_SYMBOL_NAME(__sigsetjmp))
-END (setjmp)
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
deleted file mode 100644
index 0fe47b2f80..0000000000
--- a/sysdeps/arm/dl-machine.h
+++ /dev/null
@@ -1,640 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions.  ARM version.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005
-	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 dl_machine_h
-#define dl_machine_h
-
-#define ELF_MACHINE_NAME "ARM"
-
-#include <sys/param.h>
-
-#define VALID_ELF_ABIVERSION(ver)	(ver == 0)
-#define VALID_ELF_OSABI(osabi) \
-  (osabi == ELFOSABI_SYSV || osabi == ELFOSABI_ARM)
-#define VALID_ELF_HEADER(hdr,exp,size) \
-  memcmp (hdr,exp,size-2) == 0 \
-  && VALID_ELF_OSABI (hdr[EI_OSABI]) \
-  && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION])
-
-#define CLEAR_CACHE(BEG,END)						\
-{									\
-  register unsigned long _beg __asm ("a1") = (unsigned long)(BEG);	\
-  register unsigned long _end __asm ("a2") = (unsigned long)(END);	\
-  register unsigned long _flg __asm ("a3") = 0;				\
-  __asm __volatile ("swi 0x9f0002		@ sys_cacheflush"	\
-		    : /* no outputs */					\
-		    : /* no inputs */					\
-		    : "a1");						\
-}
-
-/* Return nonzero iff ELF header is compatible with the running host.  */
-static inline int __attribute__ ((unused))
-elf_machine_matches_host (const Elf32_Ehdr *ehdr)
-{
-  return ehdr->e_machine == EM_ARM;
-}
-
-
-/* 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 Elf32_Addr __attribute__ ((unused))
-elf_machine_dynamic (void)
-{
-  register Elf32_Addr *got asm ("r10");
-  return *got;
-}
-
-
-/* Return the run-time load address of the shared object.  */
-static inline Elf32_Addr __attribute__ ((unused))
-elf_machine_load_address (void)
-{
-  extern void __dl_start asm ("_dl_start");
-  Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
-  Elf32_Addr pcrel_addr;
-  asm ("adr %0, _dl_start" : "=r" (pcrel_addr));
-  return pcrel_addr - got_addr;
-}
-
-
-/* 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)
-{
-  Elf32_Addr *got;
-  extern void _dl_runtime_resolve (Elf32_Word);
-  extern void _dl_runtime_profile (Elf32_Word);
-
-  if (l->l_info[DT_JMPREL] && lazy)
-    {
-      /* patb: this is different than i386 */
-      /* The GOT entries for functions in the PLT have not yet been filled
-	 in.  Their initial contents will arrange when called to push an
-	 index into the .got section, load ip with &_GLOBAL_OFFSET_TABLE_[3],
-	 and then jump to _GLOBAL_OFFSET_TABLE[2].  */
-      got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]);
-      /* If a library is prelinked but we have to relocate anyway,
-	 we have to be able to undo the prelinking of .got.plt.
-	 The prelinker saved us here address of .plt.  */
-      if (got[1])
-	l->l_mach.plt = got[1] + l->l_addr;
-      got[1] = (Elf32_Addr) l;	/* Identify this shared object.  */
-
-      /* The got[2] 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 GOT so that all future calls also
-	 end in this function.  */
-      if (profile)
-	{
-	  got[2] = (Elf32_Addr) &_dl_runtime_profile;
-
-	  if (_dl_name_match_p (GLRO(dl_profile), l))
-	    /* 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 GOT entry indicated by
-	   the offset on the stack, and then jump to the resolved address.  */
-	got[2] = (Elf32_Addr) &_dl_runtime_resolve;
-    }
-  return lazy;
-}
-
-#if defined(__USE_BX__)
-#define BX(x) "bx\t" #x
-#else
-#define BX(x) "mov\tpc, " #x
-#endif
-
-#ifndef PROF
-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
-	.text\n\
-	.globl _dl_runtime_resolve\n\
-	.type _dl_runtime_resolve, #function\n\
-	.align 2\n\
-_dl_runtime_resolve:\n\
-	@ we get called with\n\
-	@ 	stack[0] contains the return address from this call\n\
-	@	ip contains &GOT[n+3] (pointer to function)\n\
-	@	lr points to &GOT[2]\n\
-\n\
-	@ stack arguments\n\
-	stmdb	sp!,{r0-r3}\n\
-\n\
-	@ get pointer to linker struct\n\
-	ldr	r0, [lr, #-4]\n\
-\n\
-	@ prepare to call fixup()\n\
-	@ change &GOT[n+3] into 8*n        NOTE: reloc are 8 bytes each\n\
-	sub	r1, ip, lr\n\
-	sub	r1, r1, #4\n\
-	add	r1, r1, r1\n\
-\n\
-	@ call fixup routine\n\
-	bl	fixup\n\
-\n\
-	@ save the return\n\
-	mov	ip, r0\n\
-\n\
-	@ get arguments and return address back\n\
-	ldmia	sp!, {r0-r3,lr}\n\
-\n\
-	@ jump to the newly found address\n\
-	" BX(ip) "\n\
-\n\
-	.size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
-\n\
-	.globl _dl_runtime_profile\n\
-	.type _dl_runtime_profile, #function\n\
-	.align 2\n\
-_dl_runtime_profile:\n\
-	@ stack arguments\n\
-	stmdb	sp!, {r0-r3}\n\
-\n\
-	@ get pointer to linker struct\n\
-	ldr	r0, [lr, #-4]\n\
-\n\
-	@ prepare to call fixup()\n\
-	@ change &GOT[n+3] into 8*n        NOTE: reloc are 8 bytes each\n\
-	sub	r1, ip, lr\n\
-	sub	r1, r1, #4\n\
-	add	r1, r1, r1\n\
-\n\
-	@ call profiling fixup routine\n\
-	bl	profile_fixup\n\
-\n\
-	@ save the return\n\
-	mov	ip, r0\n\
-\n\
-	@ get arguments and return address back\n\
-	ldmia	sp!, {r0-r3,lr}\n\
-\n\
-	@ jump to the newly found address\n\
-	" BX(ip) "\n\
-\n\
-	.size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
-	.previous\n\
-");
-#else // PROF
-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
-	.text\n\
-	.globl _dl_runtime_resolve\n\
-	.globl _dl_runtime_profile\n\
-	.type _dl_runtime_resolve, #function\n\
-	.type _dl_runtime_profile, #function\n\
-	.align 2\n\
-_dl_runtime_resolve:\n\
-_dl_runtime_profile:\n\
-	@ we get called with\n\
-	@ 	stack[0] contains the return address from this call\n\
-	@	ip contains &GOT[n+3] (pointer to function)\n\
-	@	lr points to &GOT[2]\n\
-\n\
-	@ stack arguments\n\
-	stmdb	sp!, {r0-r3}\n\
-\n\
-	@ get pointer to linker struct\n\
-	ldr	r0, [lr, #-4]\n\
-\n\
-	@ prepare to call fixup()\n\
-	@ change &GOT[n+3] into 8*n        NOTE: reloc are 8 bytes each\n\
-	sub	r1, ip, lr\n\
-	sub	r1, r1, #4\n\
-	add	r1, r1, r1\n\
-\n\
-	@ call profiling fixup routine\n\
-	bl	fixup\n\
-\n\
-	@ save the return\n\
-	mov	ip, r0\n\
-\n\
-	@ get arguments and return address back\n\
-	ldmia	sp!, {r0-r3,lr}\n\
-\n\
-	@ jump to the newly found address\n\
-	" BX(ip) "\n\
-\n\
-	.size _dl_runtime_profile, .-_dl_runtime_profile\n\
-	.previous\n\
-");
-#endif //PROF
-
-/* Mask identifying addresses reserved for the user program,
-   where the dynamic linker should not map anything.  */
-#define ELF_MACHINE_USER_ADDRESS_MASK	0xf8000000UL
-
-/* 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 ("\
-.text\n\
-.globl _start\n\
-.globl _dl_start_user\n\
-_start:\n\
-	@ we are PIC code, so get global offset table\n\
-	ldr	sl, .L_GET_GOT\n\
-	@ See if we were run as a command with the executable file\n\
-	@ name as an extra leading argument.\n\
-	ldr	r4, .L_SKIP_ARGS\n\
-	@ at start time, all the args are on the stack\n\
-	mov	r0, sp\n\
-	bl	_dl_start\n\
-	@ returns user entry point in r0\n\
-_dl_start_user:\n\
-	add	sl, pc, sl\n\
-.L_GOT_GOT:\n\
-	ldr	r4, [sl, r4]\n\
-	@ get the original arg count\n\
-	ldr	r1, [sp]\n\
-	@ save the entry point in another register\n\
-	mov	r6, r0\n\
-	@ adjust the stack pointer to skip the extra args\n\
-	add	sp, sp, r4, lsl #2\n\
-	@ subtract _dl_skip_args from original arg count\n\
-	sub	r1, r1, r4\n\
-	@ get the argv address\n\
-	add	r2, sp, #4\n\
-	@ store the new argc in the new stack location\n\
-	str	r1, [sp]\n\
-	@ compute envp\n\
-	add	r3, r2, r1, lsl #2\n\
-	add	r3, r3, #4\n\
-\n\
-	@ now we call _dl_init\n\
-	ldr	r0, .L_LOADED\n\
-	ldr	r0, [sl, r0]\n\
-	@ call _dl_init\n\
-	bl	_dl_init_internal(PLT)\n\
-	@ load the finalizer function\n\
-	ldr	r0, .L_FINI_PROC\n\
-	add	r0, sl, r0\n\
-	@ jump to the user_s entry point\n\
-	" BX(r6) "\n\
-.L_GET_GOT:\n\
-	.word	_GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n\
-.L_SKIP_ARGS:\n\
-	.word	_dl_skip_args(GOTOFF)\n\
-.L_FINI_PROC:\n\
-	.word	_dl_fini(GOTOFF)\n\
-.L_LOADED:\n\
-	.word	_rtld_local(GOTOFF)\n\
-.previous\n\
-");
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
-   PLT entries should not be allowed to define the value.
-   ELF_RTYPE_CLASS_NOCOPY 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_ARM_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT)	\
-   | (((type) == R_ARM_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_ARM_JUMP_SLOT
-
-/* ARM never uses Elf32_Rela relocations for the dynamic linker.
-   Prelinked libraries may use Elf32_Rela though.  */
-#define ELF_MACHINE_PLT_REL 1
-
-/* 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 Elf32_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
-		       const Elf32_Rel *reloc,
-		       Elf32_Addr *reloc_addr, Elf32_Addr value)
-{
-  return *reloc_addr = value;
-}
-
-/* Return the final value of a plt relocation.  */
-static inline Elf32_Addr
-elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
-		       Elf32_Addr value)
-{
-  return value;
-}
-
-#endif /* !dl_machine_h */
-
-
-/* ARM never uses Elf32_Rela relocations for the dynamic linker.
-   Prelinked libraries may use Elf32_Rela though.  */
-#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
-
-#ifdef RESOLVE
-
-/* Deal with an out-of-range PC24 reloc.  */
-static Elf32_Addr
-fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
-{
-  static void *fix_page;
-  static unsigned int fix_offset;
-  static size_t pagesize;
-  Elf32_Word *fix_address;
-
-  if (! fix_page)
-    {
-      if (! pagesize)
-	pagesize = getpagesize ();
-      fix_page = mmap (NULL, pagesize, PROT_READ | PROT_WRITE | PROT_EXEC,
-		       MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-      if (! fix_page)
-	assert (! "could not map page for fixup");
-      fix_offset = 0;
-    }
-
-  fix_address = (Elf32_Word *)(fix_page + fix_offset);
-  fix_address[0] = 0xe51ff004;	/* ldr pc, [pc, #-4] */
-  fix_address[1] = value;
-
-  fix_offset += 8;
-  if (fix_offset >= pagesize)
-    fix_page = NULL;
-
-  return (Elf32_Addr)fix_address;
-}
-
-/* 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_rel (struct link_map *map, const Elf32_Rel *reloc,
-		 const Elf32_Sym *sym, const struct r_found_version *version,
-		 void *const reloc_addr_arg)
-{
-  Elf32_Addr *const reloc_addr = reloc_addr_arg;
-  const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-
-#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
-  if (__builtin_expect (r_type == R_ARM_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 (_dl_rtld_map);
-#  endif
-      if (map != &GL(dl_rtld_map)) /* Already done in rtld itself.  */
-# endif
-	*reloc_addr += map->l_addr;
-    }
-# ifndef RTLD_BOOTSTRAP
-  else if (__builtin_expect (r_type == R_ARM_NONE, 0))
-    return;
-# endif
-  else
-#endif
-    {
-      const Elf32_Sym *const refsym = sym;
-      Elf32_Addr value = RESOLVE (&sym, version, r_type);
-      if (sym)
-	value += sym->st_value;
-
-      switch (r_type)
-	{
-	case R_ARM_COPY:
-	  if (sym == NULL)
-	    /* This can happen in trace mode if an object could not be
-	       found.  */
-	    break;
-	  if (sym->st_size > refsym->st_size
-	      || (GLRO(dl_verbose) && sym->st_size < refsym->st_size))
-	    {
-	      const char *strtab;
-
-	      strtab = (const void *) 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 ?: "<program name unknown>",
-				strtab + refsym->st_name);
-	    }
-	  memcpy (reloc_addr_arg, (void *) value,
-		  MIN (sym->st_size, refsym->st_size));
-	  break;
-	case R_ARM_GLOB_DAT:
-	case R_ARM_JUMP_SLOT:
-# ifdef RTLD_BOOTSTRAP
-	  /* Fix weak undefined references.  */
-	  if (sym != NULL && sym->st_value == 0)
-	    *reloc_addr = 0;
-	  else
-# endif
-	    *reloc_addr = value;
-	  break;
-	case R_ARM_ABS32:
-	  {
-# ifndef RTLD_BOOTSTRAP
-	   /* 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 (_dl_rtld_map);
-#  endif
-	    if (map == &GL(dl_rtld_map))
-	      /* Undo the relocation done here during bootstrapping.
-		 Now we will relocate it anew, possibly using a
-		 binding found in the user program or a loaded library
-		 rather than the dynamic linker's built-in definitions
-		 used while loading those libraries.  */
-	      value -= map->l_addr + refsym->st_value;
-# endif
-	    *reloc_addr += value;
-	    break;
-	  }
-	case R_ARM_PC24:
-	  {
-	     Elf32_Sword addend;
-	     Elf32_Addr newvalue, topbits;
-
-	     addend = *reloc_addr & 0x00ffffff;
-	     if (addend & 0x00800000) addend |= 0xff000000;
-
-	     newvalue = value - (Elf32_Addr)reloc_addr + (addend << 2);
-	     topbits = newvalue & 0xfe000000;
-	     if (topbits != 0xfe000000 && topbits != 0x00000000)
-	       {
-		 newvalue = fix_bad_pc24(reloc_addr, value)
-		   - (Elf32_Addr)reloc_addr + (addend << 2);
-		 topbits = newvalue & 0xfe000000;
-		 if (topbits != 0xfe000000 && topbits != 0x00000000)
-		   {
-		     _dl_signal_error (0, map->l_name, NULL,
-				       "R_ARM_PC24 relocation out of range");
-		   }
-	       }
-	     newvalue >>= 2;
-	     value = (*reloc_addr & 0xff000000) | (newvalue & 0x00ffffff);
-	     *reloc_addr = value;
-	  }
-	break;
-	default:
-	  _dl_reloc_bad_type (map, r_type, 0);
-	  break;
-	}
-    }
-}
-
-# ifndef RTLD_BOOTSTRAP
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
-		  const Elf32_Sym *sym, const struct r_found_version *version,
-		  void *const reloc_addr_arg)
-{
-  Elf32_Addr *const reloc_addr = reloc_addr_arg;
-  const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-
-  if (__builtin_expect (r_type == R_ARM_RELATIVE, 0))
-    *reloc_addr = map->l_addr + reloc->r_addend;
-  else if (__builtin_expect (r_type == R_ARM_NONE, 0))
-    return;
-  else
-    {
-# ifndef RESOLVE_CONFLICT_FIND_MAP
-      const Elf32_Sym *const refsym = sym;
-# endif
-      Elf32_Addr value = RESOLVE (&sym, version, r_type);
-      if (sym)
-	value += sym->st_value;
-
-      switch (r_type)
-	{
-#  ifndef RESOLVE_CONFLICT_FIND_MAP
-	  /* Not needed for dl-conflict.c.  */
-	case R_ARM_COPY:
-	  if (sym == NULL)
-	    /* This can happen in trace mode if an object could not be
-	       found.  */
-	    break;
-	  if (sym->st_size > refsym->st_size
-	      || (GLRO(dl_verbose) && sym->st_size < refsym->st_size))
-	    {
-	      const char *strtab;
-
-	      strtab = (const void *) 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 ?: "<program name unknown>",
-				strtab + refsym->st_name);
-	    }
-	  memcpy (reloc_addr_arg, (void *) value,
-		  MIN (sym->st_size, refsym->st_size));
-	  break;
-#  endif /* !RESOLVE_CONFLICT_FIND_MAP */
-	case R_ARM_GLOB_DAT:
-	case R_ARM_JUMP_SLOT:
-	case R_ARM_ABS32:
-	  *reloc_addr = value + reloc->r_addend;
-	  break;
-	case R_ARM_PC24:
-	  {
-	     Elf32_Addr newvalue, topbits;
-
-	     newvalue = value + reloc->r_addend - (Elf32_Addr)reloc_addr;
-	     topbits = newvalue & 0xfe000000;
-	     if (topbits != 0xfe000000 && topbits != 0x00000000)
-	       {
-		 newvalue = fix_bad_pc24(reloc_addr, value)
-		   - (Elf32_Addr)reloc_addr + (reloc->r_addend << 2);
-		 topbits = newvalue & 0xfe000000;
-		 if (topbits != 0xfe000000 && topbits != 0x00000000)
-		   {
-		     _dl_signal_error (0, map->l_name, NULL,
-				       "R_ARM_PC24 relocation out of range");
-		   }
-	       }
-	     newvalue >>= 2;
-	     value = (*reloc_addr & 0xff000000) | (newvalue & 0x00ffffff);
-	     *reloc_addr = value;
-	  }
-	  break;
-	default:
-	  _dl_reloc_bad_type (map, r_type, 0);
-	  break;
-	}
-    }
-}
-# endif
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
-			  void *const reloc_addr_arg)
-{
-  Elf32_Addr *const reloc_addr = reloc_addr_arg;
-  *reloc_addr += l_addr;
-}
-
-# ifndef RTLD_BOOTSTRAP
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
-			   void *const reloc_addr_arg)
-{
-  Elf32_Addr *const reloc_addr = reloc_addr_arg;
-  *reloc_addr = l_addr + reloc->r_addend;
-}
-# endif
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
-		      Elf32_Addr l_addr, const Elf32_Rel *reloc)
-{
-  Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
-  const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-  /* Check for unexpected PLT reloc type.  */
-  if (__builtin_expect (r_type == R_ARM_JUMP_SLOT, 1))
-    {
-      if (__builtin_expect (map->l_mach.plt, 0) == 0)
-	*reloc_addr += l_addr;
-      else
-	*reloc_addr = map->l_mach.plt;
-    }
-  else
-    _dl_reloc_bad_type (map, r_type, 1);
-}
-
-#endif /* RESOLVE */
diff --git a/sysdeps/arm/elf/start.S b/sysdeps/arm/elf/start.S
deleted file mode 100644
index cc076aba5c..0000000000
--- a/sysdeps/arm/elf/start.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Startup code for ARM & ELF
-   Copyright (C) 1995, 1996, 1997, 1998, 2001, 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.
-
-   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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/* This is the canonical entry point, usually the first thing in the text
-   segment.
-
-	Note that the code in the .init section has already been run.
-	This includes _init and _libc_init
-
-
-	At this entry point, most registers' values are unspecified, except:
-
-   a1		Contains a function pointer to be registered with `atexit'.
-		This is how the dynamic linker arranges to have DT_FINI
-		functions called for shared libraries that have been loaded
-		before this code runs.
-
-   sp		The stack contains the arguments and environment:
-		0(sp)			argc
-		4(sp)			argv[0]
-		...
-		(4*argc)(sp)		NULL
-		(4*(argc+1))(sp)	envp[0]
-		...
-					NULL
-*/
-
-	.text
-	.globl _start
-	.type _start,#function
-_start:
-	/* Fetch address of fini */
-	ldr ip, =__libc_csu_fini
-
-	/* Clear the frame pointer since this is the outermost frame.  */
-	mov fp, #0
-
-	/* Pop argc off the stack and save a pointer to argv */
-	ldr a2, [sp], #4
-	mov a3, sp
-
-	/* Push stack limit */
-	str a3, [sp, #-4]!
-
-	/* Push rtld_fini */
-	str a1, [sp, #-4]!
-
-	/* Set up the other arguments in registers */
-	ldr a1, =main
-	ldr a4, =__libc_csu_init
-
-	/* Push fini */
-	str ip, [sp, #-4]!
-
-	/* __libc_start_main (main, argc, argv, init, fini, rtld_fini, stack_end) */
-
-	/* Let the libc call main and exit with its return code.  */
-	bl __libc_start_main
-
-	/* should never get here....*/
-	bl abort
-
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.long 0
-	.weak data_start
-	data_start = __data_start
diff --git a/sysdeps/arm/fpu/__longjmp.S b/sysdeps/arm/fpu/__longjmp.S
deleted file mode 100644
index 90efeec1eb..0000000000
--- a/sysdeps/arm/fpu/__longjmp.S
+++ /dev/null
@@ -1,36 +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		/* save jmp_buf pointer */
-	
-	movs	r0, r1		/* get the return value in place */
-	moveq	r0, #1		/* can't let setjmp() return zero! */
-
-	lfmfd	f4, 4, [ip] !	/* load the floating point regs */
-
-	LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
-END (__longjmp)
diff --git a/sysdeps/arm/fpu/bits/fenv.h b/sysdeps/arm/fpu/bits/fenv.h
deleted file mode 100644
index 7bd242385f..0000000000
--- a/sysdeps/arm/fpu/bits/fenv.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999 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 exceptions in the FPU status word.  */
-enum
-  {
-    FE_INVALID = 1,
-#define FE_INVALID FE_INVALID
-    FE_DIVBYZERO = 2,
-#define FE_DIVBYZERO FE_DIVBYZERO
-    FE_OVERFLOW = 4,
-#define FE_OVERFLOW FE_OVERFLOW
-    FE_UNDERFLOW = 8,
-#define FE_UNDERFLOW FE_UNDERFLOW
-  };
-
-/* Amount to shift by to convert an exception to a mask bit.  */
-#define FE_EXCEPT_SHIFT	16
-
-/* All supported exceptions.  */
-#define FE_ALL_EXCEPT	\
-	(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW)
-
-/* The ARM FPU basically only supports round-to-nearest.  Other rounding
-   modes exist, but you have to encode them in the actual instruction.  */
-#define FE_TONEAREST	0
-
-/* Type representing exception flags. */
-typedef unsigned long int fexcept_t;
-
-/* Type representing floating-point environment.  */
-typedef struct
-  {
-    unsigned long int __cw;
-  }
-fenv_t;
-
-/* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((fenv_t *) -1l)
diff --git a/sysdeps/arm/fpu/bits/mathdef.h b/sysdeps/arm/fpu/bits/mathdef.h
deleted file mode 100644
index e013e74b7e..0000000000
--- a/sysdeps/arm/fpu/bits/mathdef.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1999, 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.  */
-
-#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
-
-/* GCC does not promote `float' values to `double'.  */
-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)
-# define FP_ILOGBNAN	(2147483647)
-
-#endif	/* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'.  This disables the
-   declaration of all the `long double' function variants.  */
-/* XXX The FPA does support this but the patterns in GCC are currently
-   turned off.  */
-# define __NO_LONG_DOUBLE_MATH	1
-#endif
diff --git a/sysdeps/arm/fpu/bits/setjmp.h b/sysdeps/arm/fpu/bits/setjmp.h
deleted file mode 100644
index dd85243032..0000000000
--- a/sysdeps/arm/fpu/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[22];
-#endif
-
-#define __JMP_BUF_SP		20
-
-/* 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/fpu/fclrexcpt.c b/sysdeps/arm/fpu/fclrexcpt.c
deleted file mode 100644
index c6a53df45a..0000000000
--- a/sysdeps/arm/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
-   Copyright (C) 1997,98,99,2000,01 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__feclearexcept (int excepts)
-{
-  unsigned long int temp;
-
-  /* Mask out unsupported bits/exceptions.  */
-  excepts &= FE_ALL_EXCEPT;
-
-  /* Get the current floating point status. */
-  _FPU_GETCW (temp);
-
-  /* Clear the relevant bits.  */
-  temp &= excepts ^ FE_ALL_EXCEPT;
-
-  /* Put the new data in effect.  */
-  _FPU_SETCW (temp);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/sysdeps/arm/fpu/fedisblxcpt.c b/sysdeps/arm/fpu/fedisblxcpt.c
deleted file mode 100644
index 91f60a9c90..0000000000
--- a/sysdeps/arm/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Disable floating-point exceptions.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb@gnu.org>, 2001.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fedisableexcept (int excepts)
-{
-  unsigned long int new_exc, old_exc;
-
-  _FPU_GETCW(new_exc);
-
-  old_exc = (new_exc >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
-
-  excepts &= FE_ALL_EXCEPT;
-
-  new_exc &= ~(excepts << FE_EXCEPT_SHIFT);
-
-  _FPU_SETCW(new_exc);
-
-  return old_exc;
-}
diff --git a/sysdeps/arm/fpu/feenablxcpt.c b/sysdeps/arm/fpu/feenablxcpt.c
deleted file mode 100644
index e77e45a523..0000000000
--- a/sysdeps/arm/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Enable floating-point exceptions.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb@gnu.org>, 2001.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-feenableexcept (int excepts)
-{
-  unsigned long int new_exc, old_exc;
-
-  _FPU_GETCW(new_exc);
-
-  old_exc = (new_exc >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
-
-  excepts &= FE_ALL_EXCEPT;
-
-  new_exc |= (excepts << FE_EXCEPT_SHIFT);
-
-  _FPU_SETCW(new_exc);
-
-  return old_exc;
-}
diff --git a/sysdeps/arm/fpu/fegetenv.c b/sysdeps/arm/fpu/fegetenv.c
deleted file mode 100644
index 0b40f183e2..0000000000
--- a/sysdeps/arm/fpu/fegetenv.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Store current floating-point environment.
-   Copyright (C) 1997,98,99,2000,01 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
-  unsigned long int temp;
-  _FPU_GETCW (temp);
-  envp->__cw = temp;
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/arm/fpu/fegetexcept.c b/sysdeps/arm/fpu/fegetexcept.c
deleted file mode 100644
index 653c8d5a0d..0000000000
--- a/sysdeps/arm/fpu/fegetexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Get floating-point exceptions.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb@gnu.org>, 2001
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fegetexcept (void)
-{
-  unsigned long temp;
-
-  _FPU_GETCW (temp);
-
-  return (temp >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT;
-}
diff --git a/sysdeps/arm/fpu/fegetround.c b/sysdeps/arm/fpu/fegetround.c
deleted file mode 100644
index 6bf65f5b5e..0000000000
--- a/sysdeps/arm/fpu/fegetround.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Return current rounding direction.
-   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 <fenv.h>
-
-int
-fegetround (void)
-{
-  return FE_TONEAREST;		/* Easy. :-) */
-}
diff --git a/sysdeps/arm/fpu/feholdexcpt.c b/sysdeps/arm/fpu/feholdexcpt.c
deleted file mode 100644
index 203b068aae..0000000000
--- a/sysdeps/arm/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
-   Copyright (C) 1997, 1998, 1999 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
-  unsigned long int temp;
-
-  /* Store the environment.  */
-  _FPU_GETCW(temp);
-  envp->__cw = temp;
-
-  /* Now set all exceptions to non-stop.  */
-  temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT);
-  _FPU_SETCW(temp);
-
-  return 0;
-}
diff --git a/sysdeps/arm/fpu/fesetenv.c b/sysdeps/arm/fpu/fesetenv.c
deleted file mode 100644
index bb8812acaf..0000000000
--- a/sysdeps/arm/fpu/fesetenv.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Install given floating-point environment.
-   Copyright (C) 1997,98,99,2000,01,02 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
-  if (envp == FE_DFL_ENV)
-    _FPU_SETCW (_FPU_DEFAULT);
-  else
-    {
-      unsigned long int temp = envp->__cw;
-      _FPU_SETCW (temp);
-    }
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/sysdeps/arm/fpu/fesetround.c b/sysdeps/arm/fpu/fesetround.c
deleted file mode 100644
index bdb849ff60..0000000000
--- a/sysdeps/arm/fpu/fesetround.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Set current rounding direction.
-   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 <fenv.h>
-
-int
-fesetround (int round)
-{
-  /* We only support FE_TONEAREST, so there is no need for any work.  */
-  return (round == FE_TONEAREST)?0:1;
-}
diff --git a/sysdeps/arm/fpu/fpu_control.h b/sysdeps/arm/fpu/fpu_control.h
deleted file mode 100644
index 65912e4962..0000000000
--- a/sysdeps/arm/fpu/fpu_control.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* FPU control word definitions.  ARM version.
-   Copyright (C) 1996, 1997, 1998, 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 _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-/* We have a slight terminology confusion here.  On the ARM, the register
- * we're interested in is actually the FPU status word - the FPU control
- * word is something different (which is implementation-defined and only
- * accessible from supervisor mode.)
- *
- * The FPSR looks like this:
- *
- *     31-24        23-16          15-8              7-0
- * | system ID | trap enable | system control | exception flags |
- *
- * We ignore the system ID bits; for interest's sake they are:
- *
- *  0000	"old" FPE
- *  1000	FPPC hardware
- *  0001	FPE 400
- *  1001	FPA hardware
- *
- * The trap enable and exception flags are both structured like this:
- *
- *     7 - 5     4     3     2     1     0
- * | reserved | INX | UFL | OFL | DVZ | IVO |
- *
- * where a `1' bit in the enable byte means that the trap can occur, and
- * a `1' bit in the flags byte means the exception has occurred.
- *
- * The exceptions are:
- *
- *  IVO - invalid operation
- *  DVZ - divide by zero
- *  OFL - overflow
- *  UFL - underflow
- *  INX - inexact (do not use; implementations differ)
- *
- * The system control byte looks like this:
- *
- *     7-5      4    3    2    1    0
- * | reserved | AC | EP | SO | NE | ND |
- *
- * where the bits mean
- *
- *  ND - no denormalised numbers (force them all to zero)
- *  NE - enable NaN exceptions
- *  SO - synchronous operation
- *  EP - use expanded packed-decimal format
- *  AC - use alternate definition for C flag on compare operations
- */
-
-/* masking of interrupts */
-#define _FPU_MASK_IM	0x00010000	/* invalid operation */
-#define _FPU_MASK_ZM	0x00020000	/* divide by zero */
-#define _FPU_MASK_OM	0x00040000	/* overflow */
-#define _FPU_MASK_UM	0x00080000	/* underflow */
-#define _FPU_MASK_PM	0x00100000	/* inexact */
-#define _FPU_MASK_DM	0x00000000	/* denormalized operation */
-
-/* The system id bytes cannot be changed.
-   Only the bottom 5 bits in the trap enable byte can be changed.
-   Only the bottom 5 bits in the system control byte can be changed.
-   Only the bottom 5 bits in the exception flags are used.
-   The exception flags are set by the fpu, but can be zeroed by the user. */
-#define _FPU_RESERVED	0xffe0e0e0	/* These bits are reserved.  */
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
-   no interrupts for exceptions, rounding to nearest.  Changing the
-   rounding mode will break long double I/O.  Turn on the AC bit,
-   the compiler generates code that assumes it is on.  */
-#define _FPU_DEFAULT	0x00001000	/* Default value.  */
-#define _FPU_IEEE	0x001f1000	/* Default + exceptions enabled. */
-
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t;
-
-/* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(cw) __asm__ ("rfs %0" : "=r" (cw))
-#define _FPU_SETCW(cw) __asm__ ("wfs %0" : : "r" (cw))
-
-/* Default control word set at startup.  */
-extern fpu_control_t __fpu_control;
-
-#endif /* _FPU_CONTROL_H */
diff --git a/sysdeps/arm/fpu/fraiseexcpt.c b/sysdeps/arm/fpu/fraiseexcpt.c
deleted file mode 100644
index f7dede2fe2..0000000000
--- a/sysdeps/arm/fpu/fraiseexcpt.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Raise given exceptions.
-   Copyright (C) 1997,98,99,2000,01,02 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 <fenv.h>
-#include <fpu_control.h>
-#include <math.h>
-
-int
-__feraiseexcept (int excepts)
-{
-  /* Raise exceptions represented by EXPECTS.  */
-  fexcept_t temp;
-  _FPU_GETCW (temp);
-  temp |= (excepts & FE_ALL_EXCEPT);
-  _FPU_SETCW (temp);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feraiseexcept, __old_feraiseexcept)
-compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/sysdeps/arm/fpu/fsetexcptflg.c b/sysdeps/arm/fpu/fsetexcptflg.c
deleted file mode 100644
index 4e1d2cba4a..0000000000
--- a/sysdeps/arm/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Set floating-point environment exception handling.
-   Copyright (C) 1997,98,99,2000,01 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 <fenv.h>
-#include <math.h>
-#include <fpu_control.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
-  fexcept_t temp;
-
-  /* Get the current environment.  */
-  _FPU_GETCW (temp);
-
-  /* Set the desired exception mask.  */
-  temp &= ~((excepts & FE_ALL_EXCEPT) << FE_EXCEPT_SHIFT);
-  temp |= (*flagp & excepts & FE_ALL_EXCEPT) << FE_EXCEPT_SHIFT;
-
-  /* Save state back to the FPU.  */
-  _FPU_SETCW (temp);
-
-  /* Success.  */
-  return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/sysdeps/arm/fpu/ftestexcept.c b/sysdeps/arm/fpu/ftestexcept.c
deleted file mode 100644
index 328bcb05fd..0000000000
--- a/sysdeps/arm/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fetestexcept (int excepts)
-{
-  fexcept_t temp;
-
-  /* Get current exceptions.  */
-  _FPU_GETCW(temp);
-
-  return temp & excepts & FE_ALL_EXCEPT;
-}
diff --git a/sysdeps/arm/fpu/setjmp.S b/sysdeps/arm/fpu/setjmp.S
deleted file mode 100644
index 84328369ac..0000000000
--- a/sysdeps/arm/fpu/setjmp.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/* setjmp 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>
-
-ENTRY (__sigsetjmp)
-	/* Save registers */
-	sfmea	f4, 4, [r0]!
-	stmia	r0, {v1-v6, sl, fp, sp, lr}
-
-	/* Restore pointer to jmp_buf */
-	sub	r0, r0, #48
-
-	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-	B	PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
-END (__sigsetjmp)
diff --git a/sysdeps/arm/frame.h b/sysdeps/arm/frame.h
deleted file mode 100644
index deb46c0135..0000000000
--- a/sysdeps/arm/frame.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Definition of stack frame structure.  ARM/APCS version.
-   Copyright (C) 2000, 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 is the APCS stack backtrace structure.  */
-struct layout
-{
-  struct layout *__unbounded next;
-  void *__unbounded sp;
-  void *__unbounded return_address;
-};
-
-#define FIRST_FRAME_POINTER ADVANCE_STACK_FRAME (__builtin_frame_address (0))
diff --git a/sysdeps/arm/gccframe.h b/sysdeps/arm/gccframe.h
deleted file mode 100644
index ef8df2630e..0000000000
--- a/sysdeps/arm/gccframe.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Definition of object in frame unwind info.  arm version.
-   Copyright (C) 2001 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 FIRST_PSEUDO_REGISTER 27
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/arm/gmp-mparam.h b/sysdeps/arm/gmp-mparam.h
deleted file mode 100644
index c880be33a4..0000000000
--- a/sysdeps/arm/gmp-mparam.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
-
-Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA. */
-
-#define BITS_PER_MP_LIMB 32
-#define BYTES_PER_MP_LIMB 4
-#define BITS_PER_LONGINT 32
-#define BITS_PER_INT 32
-#define BITS_PER_SHORTINT 16
-#define BITS_PER_CHAR 8
-
-#define IEEE_DOUBLE_BIG_ENDIAN 0
-#define IEEE_DOUBLE_MIXED_ENDIAN 1
diff --git a/sysdeps/arm/ieee754.h b/sysdeps/arm/ieee754.h
deleted file mode 100644
index 629b97fb1b..0000000000
--- a/sysdeps/arm/ieee754.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 1992, 1995, 1996, 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.  */
-
-#ifndef _IEEE754_H
-
-#define _IEEE754_H 1
-#include <features.h>
-
-#include <endian.h>
-
-__BEGIN_DECLS
-
-union ieee754_float
-  {
-    float f;
-
-    /* This is the IEEE 754 single-precision format.  */
-    struct
-      {
-	unsigned int mantissa:23;
-	unsigned int exponent:8;
-	unsigned int negative:1;
-      } ieee;
-
-    /* This format makes it easier to see if a NaN is a signalling NaN.  */
-    struct
-      {
-	unsigned int mantissa:22;
-	unsigned int quiet_nan:1;
-	unsigned int exponent:8;
-	unsigned int negative:1;
-      } ieee_nan;
-  };
-
-#define IEEE754_FLOAT_BIAS	0x7f /* Added to exponent.  */
-
-
-union ieee754_double
-  {
-    double d;
-
-    /* This is the IEEE 754 double-precision format.  */
-    struct
-      {
-	unsigned int mantissa0:20;
-	unsigned int exponent:11;
-	unsigned int negative:1;
-	unsigned int mantissa1:32;
-      } ieee;
-
-    /* This format makes it easier to see if a NaN is a signalling NaN.  */
-    struct
-      {
-	unsigned int mantissa0:19;
-	unsigned int quiet_nan:1;
-	unsigned int exponent:11;
-	unsigned int negative:1;
-	unsigned int mantissa1:32;
-      } ieee_nan;
-  };
-
-#define IEEE754_DOUBLE_BIAS	0x3ff /* Added to exponent.  */
-
-
-/* The following two structures are correct for `new' floating point systems but
-   wrong for the old FPPC.  The only solution seems to be to avoid their use on
-   old hardware.  */
-
-union ieee854_long_double
-  {
-    long double d;
-
-    /* This is the IEEE 854 double-extended-precision format.  */
-    struct
-      {
-	unsigned int exponent:15;
-	unsigned int empty:16;
-	unsigned int negative:1;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:32;
-      } ieee;
-
-    /* This is for NaNs in the IEEE 854 double-extended-precision format.  */
-    struct
-      {
-	unsigned int exponent:15;
-	unsigned int empty:16;
-	unsigned int negative:1;
-	unsigned int mantissa1:32;
-	unsigned int mantissa0:30;
-	unsigned int quiet_nan:1;
-	unsigned int one:1;
-      } ieee_nan;
-  };
-
-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
-
-__END_DECLS
-
-#endif /* ieee754.h */
diff --git a/sysdeps/arm/init-first.c b/sysdeps/arm/init-first.c
deleted file mode 100644
index 652cf95d14..0000000000
--- a/sysdeps/arm/init-first.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Initialization code run first thing by the ELF startup code.  For ARM.
-   Copyright (C) 1995,1996,1997,1998,2001,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.  */
-
-#include <unistd.h>
-
-extern void __libc_init (int, char **, char **);
-#ifdef USE_NONOPTION_FLAGS
-extern void __getopt_clean_environment (char **);
-#endif
-extern void __libc_global_ctors (void);
-
-int __libc_multiple_libcs attribute_hidden = 1;
-
-static void
-init (int *data)
-{
-  int argc = *data;
-  char **argv = (void *) (data + 1);
-  char **envp = &argv[argc + 1];
-
-  __environ = envp;
-  __libc_init (argc, argv, envp);
-
-#ifdef USE_NONOPTION_FLAGS
-  /* This is a hack to make the special getopt in GNU libc working.  */
-  __getopt_clean_environment (envp);
-#endif
-}
-
-#ifdef SHARED
-/* This function is called to initialize the shared C library.
-   It is called just before the user _start code from i386/elf/start.S,
-   with the stack set up as that code gets it.  */
-
-/* NOTE!  The linker notices the magical name `_init' and sets the DT_INIT
-   pointer in the dynamic section based solely on that.  It is convention
-   for this function to be in the `.init' section, but the symbol name is
-   the only thing that really matters!!  */
-/*void _init (int argc, ...) __attribute__ ((unused, section (".init")));*/
-
-void
-_init (int argc, ...)
-{
-  init (&argc);
-
-  __libc_global_ctors ();
-}
-#endif
-
-
-void
-__libc_init_first (int argc __attribute__ ((unused)), ...)
-{
-#ifndef SHARED
-  init (&argc);
-#endif
-}
diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
deleted file mode 100644
index 6a4bcc6147..0000000000
--- a/sysdeps/arm/libm-test-ulps
+++ /dev/null
@@ -1,1079 +0,0 @@
-# Begin of automatic generation
-
-# asin
-Test "asin (-0.5) == -pi/6":
-float: 2
-ifloat: 2
-Test "asin (0.5) == pi/6":
-float: 2
-ifloat: 2
-Test "asin (0.7) == 0.77539749661075306374035335271498708":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# atanh
-Test "atanh (0.7) == 0.8673005276940531944":
-double: 1
-idouble: 1
-
-# cabs
-Test "cabs (-0.7 + 12.4 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-0.7 - 12.4 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-12.4 + 0.7 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (-12.4 - 0.7 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "cabs (0.7 + 1.2 i) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
-Test "cabs (0.7 + 12.4 i) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-
-# cacos
-Test "Real part of: cacos (0.7 + 1.2 i) == 1.1351827477151551088992008271819053 - 1.0927647857577371459105272080819308 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.7 + 1.2 i) == 1.1351827477151551088992008271819053 - 1.0927647857577371459105272080819308 i":
-float: 1
-ifloat: 1
-
-# cacosh
-Test "Real part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
-double: 1
-float: 7
-idouble: 1
-ifloat: 7
-Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-Test "Real part of: cacosh (0.7 + 1.2 i) == 1.0927647857577371459105272080819308 + 1.1351827477151551088992008271819053 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# casin
-Test "Real part of: casin (0.7 + 1.2 i) == 0.4356135790797415103321208644578462 + 1.0927647857577371459105272080819308 i":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-Test "Imaginary part of: casin (0.7 + 1.2 i) == 0.4356135790797415103321208644578462 + 1.0927647857577371459105272080819308 i":
-float: 1
-ifloat: 1
-
-# casinh
-Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-Test "Real part of: casinh (0.7 + 1.2 i) == 0.97865459559367387689317593222160964 + 0.91135418953156011567903546856170941 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0.7 + 1.2 i) == 0.97865459559367387689317593222160964 + 0.91135418953156011567903546856170941 i":
-float: 1
-ifloat: 1
-
-# catan
-Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-float: 3
-ifloat: 3
-Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (0.7 + 1.2 i) == 1.0785743834118921877443707996386368 + 0.57705737765343067644394541889341712 i":
-float: 4
-ifloat: 4
-Test "Imaginary part of: catan (0.7 + 1.2 i) == 1.0785743834118921877443707996386368 + 0.57705737765343067644394541889341712 i":
-double: 1
-idouble: 1
-
-# catanh
-Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-double: 4
-idouble: 4
-Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-float: 4
-ifloat: 4
-Test "Real part of: catanh (0.7 + 1.2 i) == 0.2600749516525135959200648705635915 + 0.97024030779509898497385130162655963 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0.7 + 1.2 i) == 0.2600749516525135959200648705635915 + 0.97024030779509898497385130162655963 i":
-double: 1
-float: 6
-idouble: 1
-ifloat: 6
-
-# cbrt
-Test "cbrt (-27.0) == -3.0":
-double: 1
-idouble: 1
-Test "cbrt (0.970299) == 0.99":
-double: 1
-idouble: 1
-
-# ccos
-Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
-float: 1
-ifloat: 1
-Test "Real part of: ccos (0.7 + 1.2 i) == 1.3848657645312111080 - 0.97242170335830028619 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.7 + 1.2 i) == 1.3848657645312111080 - 0.97242170335830028619 i":
-double: 1
-idouble: 1
-
-# ccosh
-Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-Test "Real part of: ccosh (0.7 + 1.2 i) == 0.4548202223691477654 + 0.7070296600921537682 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0.7 + 1.2 i) == 0.4548202223691477654 + 0.7070296600921537682 i":
-double: 1
-idouble: 1
-
-# cexp
-Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
-float: 1
-ifloat: 1
-Test "Real part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
-float: 1
-ifloat: 1
-
-# clog
-Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
-double: 1
-float: 5
-idouble: 1
-ifloat: 5
-Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
-float: 1
-ifloat: 1
-
-# cos
-Test "cos (0.7) == 0.76484218728448842625585999019186495":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos (M_PI_6l * 2.0) == 0.5":
-double: 1
-float: 0.5
-idouble: 1
-ifloat: 0.5
-Test "cos (M_PI_6l * 4.0) == -0.5":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "cos (pi/2) == 0":
-double: 0.2758
-float: 0.3667
-idouble: 0.2758
-ifloat: 0.3667
-
-# cpow
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
-double: 1.1031
-float: 1.5
-idouble: 1.1031
-ifloat: 1.5
-
-# csin
-Test "Imaginary part of: csin (0.7 + 1.2 i) == 1.1664563419657581376 + 1.1544997246948547371 i":
-float: 1
-ifloat: 1
-
-# csinh
-Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
-double: 1
-idouble: 1
-Test "Real part of: csinh (0.7 + 1.2 i) == 0.27487868678117583582 + 1.1698665727426565139 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.7 + 1.2 i) == 0.27487868678117583582 + 1.1698665727426565139 i":
-float: 1
-ifloat: 1
-
-# csqrt
-Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
-float: 1
-ifloat: 1
-
-# ctan
-Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0.7 + 1.2 i) == 0.1720734197630349001 + 0.9544807059989405538 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan (0.7 + 1.2 i) == 0.1720734197630349001 + 0.9544807059989405538 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh (0.7 + 1.2 i) == 1.3472197399061191630 + 0.4778641038326365540 i":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh (0.7 + 1.2 i) == 1.3472197399061191630 + 0.4778641038326365540 i":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-# erfc
-Test "erfc (0.7) == 0.32219880616258152702":
-double: 1
-idouble: 1
-Test "erfc (1.2) == 0.089686021770364619762":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "erfc (2.0) == 0.0046777349810472658379":
-double: 1
-idouble: 1
-Test "erfc (4.1) == 0.67000276540848983727e-8":
-double: 24
-float: 12
-idouble: 24
-ifloat: 12
-
-# exp10
-Test "exp10 (-1) == 0.1":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "exp10 (0.7) == 5.0118723362727228500155418688494574":
-float: 1
-ifloat: 1
-Test "exp10 (3) == 1000":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-
-# expm1
-Test "expm1 (1) == M_El - 1.0":
-float: 1
-ifloat: 1
-
-# fmod
-Test "fmod (-6.5, -2.3) == -1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (-6.5, 2.3) == -1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (6.5, -2.3) == 1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "fmod (6.5, 2.3) == 1.9":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-# hypot
-Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, 1.2) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
-Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-
-# j0
-Test "j0 (10.0) == -0.24593576445134833520":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "j0 (2.0) == 0.22389077914123566805":
-float: 2
-ifloat: 2
-Test "j0 (8.0) == 0.17165080713755390609":
-float: 1
-ifloat: 1
-
-# j1
-Test "j1 (10.0) == 0.043472746168861436670":
-float: 2
-ifloat: 2
-Test "j1 (2.0) == 0.57672480775687338720":
-double: 1
-idouble: 1
-Test "j1 (8.0) == 0.23463634685391462438":
-double: 1
-idouble: 1
-
-# jn
-Test "jn (0, 10.0) == -0.24593576445134833520":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (0, 2.0) == 0.22389077914123566805":
-float: 2
-ifloat: 2
-Test "jn (0, 8.0) == 0.17165080713755390609":
-float: 1
-ifloat: 1
-Test "jn (1, 10.0) == 0.043472746168861436670":
-float: 2
-ifloat: 2
-Test "jn (1, 2.0) == 0.57672480775687338720":
-double: 1
-idouble: 1
-Test "jn (1, 8.0) == 0.23463634685391462438":
-double: 1
-idouble: 1
-Test "jn (10, 0.1) == 0.26905328954342155795e-19":
-double: 6
-float: 4
-idouble: 6
-ifloat: 4
-Test "jn (10, 0.7) == 0.75175911502153953928e-11":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "jn (10, 10.0) == 0.20748610663335885770":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-Test "jn (10, 2.0) == 0.25153862827167367096e-6":
-float: 4
-ifloat: 4
-Test "jn (3, 0.1) == 0.000020820315754756261429":
-double: 1
-idouble: 1
-Test "jn (3, 0.7) == 0.0069296548267508408077":
-float: 1
-ifloat: 1
-Test "jn (3, 10.0) == 0.058379379305186812343":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "jn (3, 2.0) == 0.12894324947440205110":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# lgamma
-Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# log
-Test "log (0.7) == -0.35667494393873237891263871124118447":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# log10
-Test "log10 (0.7) == -0.15490195998574316929":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "log10 (e) == log10(e)":
-float: 1
-ifloat: 1
-
-# log1p
-Test "log1p (-0.3) == -0.35667494393873237891263871124118447":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# log2
-Test "log2 (0.7) == -0.51457317282975824043":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# sincos
-Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842625585999019186495 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 0.5
-idouble: 1
-ifloat: 0.5
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
-double: 0.2758
-float: 0.3667
-idouble: 0.2758
-ifloat: 0.3667
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res":
-float: 1
-ifloat: 1
-
-# sinh
-Test "sinh (0.7) == 0.75858370183953350346":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# tan
-Test "tan (pi/4) == 1":
-double: 0.5
-idouble: 0.5
-
-# tanh
-Test "tanh (0.7) == 0.60436777711716349631":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# tgamma
-Test "tgamma (-0.5) == -2 sqrt (pi)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0.5) == sqrt (pi)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# y0
-Test "y0 (0.7) == -0.19066492933739506743":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (1.0) == 0.088256964215676957983":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (1.5) == 0.38244892379775884396":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0) == 0.055671167283599391424":
-float: 1
-ifloat: 1
-Test "y0 (8.0) == 0.22352148938756622053":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# y1
-Test "y1 (0.1) == -6.4589510947020269877":
-double: 1
-idouble: 1
-Test "y1 (0.7) == -1.1032498719076333697":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y1 (1.5) == -0.41230862697391129595":
-float: 1
-ifloat: 1
-Test "y1 (10.0) == 0.24901542420695388392":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "y1 (2.0) == -0.10703243154093754689":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y1 (8.0) == -0.15806046173124749426":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# yn
-Test "yn (0, 0.7) == -0.19066492933739506743":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 1.0) == 0.088256964215676957983":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 1.5) == 0.38244892379775884396":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 10.0) == 0.055671167283599391424":
-float: 1
-ifloat: 1
-Test "yn (0, 8.0) == 0.22352148938756622053":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 0.1) == -6.4589510947020269877":
-double: 1
-idouble: 1
-Test "yn (1, 0.7) == -1.1032498719076333697":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 1.5) == -0.41230862697391129595":
-float: 1
-ifloat: 1
-Test "yn (1, 10.0) == 0.24901542420695388392":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (1, 2.0) == -0.10703243154093754689":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 8.0) == -0.15806046173124749426":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "yn (10, 0.1) == -0.11831335132045197885e19":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "yn (10, 0.7) == -0.42447194260703866924e10":
-double: 3
-idouble: 3
-Test "yn (10, 1.0) == -0.12161801427868918929e9":
-double: 1
-idouble: 1
-Test "yn (10, 10.0) == -0.35981415218340272205":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (10, 2.0) == -129184.54220803928264":
-double: 2
-idouble: 2
-Test "yn (3, 0.1) == -5099.3323786129048894":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 0.7) == -15.819479052819633505":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (3, 10.0) == -0.25136265718383732978":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 2.0) == -1.1277837768404277861":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "asin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "atanh":
-double: 1
-idouble: 1
-
-Function: "cabs":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "cacos":
-float: 1
-ifloat: 1
-
-Function: Real part of "cacosh":
-double: 1
-float: 7
-idouble: 1
-ifloat: 7
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-
-Function: Real part of "casin":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: Imaginary part of "casin":
-float: 1
-ifloat: 1
-
-Function: Real part of "casinh":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-
-Function: Imaginary part of "casinh":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-
-Function: Real part of "catan":
-float: 4
-ifloat: 4
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catanh":
-double: 4
-float: 1
-idouble: 4
-ifloat: 1
-
-Function: Imaginary part of "catanh":
-double: 1
-float: 6
-idouble: 1
-ifloat: 6
-
-Function: "cbrt":
-double: 1
-idouble: 1
-
-Function: Real part of "ccos":
-double: 1
-idouble: 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: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "cexp":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "clog":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-
-Function: Real part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 5
-idouble: 1
-ifloat: 5
-
-Function: "cos":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Real part of "cpow":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-
-Function: Imaginary part of "cpow":
-double: 1.1031
-float: 2
-idouble: 1.1031
-ifloat: 2
-
-Function: Imaginary part of "csin":
-float: 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: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "csqrt":
-float: 1
-ifloat: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "erfc":
-double: 24
-float: 12
-idouble: 24
-ifloat: 12
-
-Function: "exp10":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-
-Function: "expm1":
-float: 1
-ifloat: 1
-
-Function: "fmod":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "hypot":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "jn":
-double: 6
-float: 4
-idouble: 6
-ifloat: 4
-
-Function: "lgamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "log":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log1p":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log2":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "sincos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "sinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "tan":
-double: 0.5
-idouble: 0.5
-
-Function: "tanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "tgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-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/arm/machine-gmon.h b/sysdeps/arm/machine-gmon.h
deleted file mode 100644
index fa3f65237d..0000000000
--- a/sysdeps/arm/machine-gmon.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Machine-dependent definitions for profiling support.  ARM version.
-   Copyright (C) 1996, 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.  */
-
-/* GCC for the ARM cannot compile __builtin_return_address(N) for N != 0, 
-   so we must use an assembly stub.  */
-
-#include <sysdep.h>
-#ifndef NO_UNDERSCORES
-/* The asm symbols for C functions are `_function'.
-   The canonical name for the counter function is `mcount', no _.  */
-void _mcount (void) asm ("mcount");
-#else
-/* The canonical name for the function is `_mcount' in both C and asm,
-   but some old asm code might assume it's `mcount'.  */
-void _mcount (void);
-weak_alias (_mcount, mcount)
-#endif
-
-static void mcount_internal (u_long frompc, u_long selfpc) __attribute_used__;
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-static void mcount_internal (u_long frompc, u_long selfpc)
-
-/* This macro/func MUST save r0, r1 because the compiler inserts
-	blind calls to _mount(), ignoring the fact that _mcount may
-	clobber registers; therefore, _mcount may NOT clobber registers */
-/* if (this_fp!=0) {
-	r0 = this_fp
-	r1 = this_lr
-  	r1 = [r1-4] which is caller's lr 
-	if (r1!=0) 
-		r1 = caller's lr
-	call mcount_internal(this_lr, caller's_lr)
-   }
-*/
-
-#define MCOUNT								\
-void _mcount (void)							\
-{									\
-  __asm__("stmdb	sp!, {r0, r1, r2, r3};"				\
-	  "movs		fp, fp;"				      	\
-          "moveq	r1, #0;"					\
-	  "ldrne	r1, [fp, $-4];"					\
-	  "ldrne	r0, [fp, $-12];"				\
-	  "movnes	r0, r0;"					\
-	  "ldrne	r0, [r0, $-4];"					\
-	  "movs		r0, r0;"					\
-	  "blne		mcount_internal;"				\
-	  "ldmia	sp!, {r0, r1, r2, r3}");			\
-}
-
diff --git a/sysdeps/arm/memset.S b/sysdeps/arm/memset.S
deleted file mode 100644
index 1e2699d077..0000000000
--- a/sysdeps/arm/memset.S
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 1998, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb@gnu.org>
-
-   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>
-
-/* void *memset (dstpp, c, len) */
-
-ENTRY(memset)
-	mov	r3, r0
-	cmp	r2, #8
-	bcc	2f		@ less than 8 bytes to move
-
-1:
-	tst	r3, #3		@ aligned yet?
-	strneb	r1, [r3], #1
-	subne	r2, r2, #1
-	bne	1b
-
-	orr	r1, r1, r1, lsl $8
-	orr	r1, r1, r1, lsl $16
-
-1:
-	subs	r2, r2, #8
-	strcs	r1, [r3], #4	@ store up to 32 bytes per loop iteration
-	strcs	r1, [r3], #4
-	subcss	r2, r2, #8
-	strcs	r1, [r3], #4
-	strcs	r1, [r3], #4
-	subcss	r2, r2, #8
-	strcs	r1, [r3], #4
-	strcs	r1, [r3], #4
-	subcss	r2, r2, #8
-	strcs	r1, [r3], #4
-	strcs	r1, [r3], #4
-	bcs	1b
-
-	and	r2, r2, #7
-2:
-	subs	r2, r2, #1	@ store up to 4 bytes per loop iteration
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
-	subcss	r2, r2, #1
-	strcsb	r1, [r3], #1
-	bcs	2b
-	
-	DO_RET(lr)
-END(memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/arm/memusage.h b/sysdeps/arm/memusage.h
deleted file mode 100644
index c558a06b5d..0000000000
--- a/sysdeps/arm/memusage.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 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.  */
-
-#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/arm/setjmp.S b/sysdeps/arm/setjmp.S
deleted file mode 100644
index 2e8c6940f4..0000000000
--- a/sysdeps/arm/setjmp.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* setjmp 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>
-
-ENTRY (__sigsetjmp)
-	/* Save registers */
-	stmia	r0, {v1-v6, sl, fp, sp, lr}
-
-	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-	B	PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
-END (__sigsetjmp)
diff --git a/sysdeps/arm/stackinfo.h b/sysdeps/arm/stackinfo.h
deleted file mode 100644
index 2410ba9bd9..0000000000
--- a/sysdeps/arm/stackinfo.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 2001 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 file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-/* On Arm the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif	/* stackinfo.h */
diff --git a/sysdeps/arm/strlen.S b/sysdeps/arm/strlen.S
deleted file mode 100644
index 86e16652e4..0000000000
--- a/sysdeps/arm/strlen.S
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright (C) 1998, 2003 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Code contributed by Matthew Wilcox <willy@odie.barnet.ac.uk>
-
-   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>
-
-/* size_t strlen(const char *S)
- * entry: r0 -> string
- * exit: r0 = len
- */
-
-ENTRY(strlen)
-	bic     r1, r0, $3              @ addr of word containing first byte
-	ldr     r2, [r1], $4            @ get the first word
-	ands    r3, r0, $3              @ how many bytes are duff?
-	rsb     r0, r3, $0              @ get - that number into counter.
-	beq     Laligned                @ skip into main check routine if no
-					@ more
-#ifdef __ARMEB__
-	orr     r2, r2, $0xff000000     @ set this byte to non-zero
-	subs    r3, r3, $1              @ any more to do?
-	orrgt   r2, r2, $0x00ff0000     @ if so, set this byte
-	subs    r3, r3, $1              @ more?
-	orrgt   r2, r2, $0x0000ff00     @ then set.
-#else
-	orr     r2, r2, $0x000000ff     @ set this byte to non-zero
-	subs    r3, r3, $1              @ any more to do?
-	orrgt   r2, r2, $0x0000ff00     @ if so, set this byte
-	subs    r3, r3, $1              @ more?
-	orrgt   r2, r2, $0x00ff0000     @ then set.
-#endif
-Laligned:				@ here, we have a word in r2.  Does it
-	tst     r2, $0x000000ff         @ contain any zeroes?
-	tstne   r2, $0x0000ff00         @
-	tstne   r2, $0x00ff0000         @
-	tstne   r2, $0xff000000         @
-	addne   r0, r0, $4              @ if not, the string is 4 bytes longer
-	ldrne   r2, [r1], $4            @ and we continue to the next word
-	bne     Laligned                @
-Llastword:				@ drop through to here once we find a
-#ifdef __ARMEB__
-	tst     r2, $0xff000000         @ word that has a zero byte in it
-	addne   r0, r0, $1              @
-	tstne   r2, $0x00ff0000         @ and add up to 3 bytes on to it
-	addne   r0, r0, $1              @
-	tstne   r2, $0x0000ff00         @ (if first three all non-zero, 4th
-	addne   r0, r0, $1              @  must be zero)
-#else
-	tst     r2, $0x000000ff         @ word that has a zero byte in it
-	addne   r0, r0, $1              @
-	tstne   r2, $0x0000ff00         @ and add up to 3 bytes on to it
-	addne   r0, r0, $1              @
-	tstne   r2, $0x00ff0000         @ (if first three all non-zero, 4th
-	addne   r0, r0, $1              @  must be zero)
-#endif
-	DO_RET(lr)
-END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/sysdeps/arm/sys/ucontext.h b/sysdeps/arm/sys/ucontext.h
deleted file mode 100644
index 9c800bfa9f..0000000000
--- a/sysdeps/arm/sys/ucontext.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1998, 1999 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.  */
-
-/* System V/ARM ABI compliant context switching support.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-typedef int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	16
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
-
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  R0 = 0,
-#define R0	R0
-  R1 = 1,
-#define R1	R1
-  R2 = 2,
-#define R2	R2
-  R3 = 3,
-#define R3	R3
-  R4 = 4,
-#define R4	R4
-  R5 = 5,
-#define R5	R5
-  R6 = 6,
-#define R6	R6
-  R7 = 7,
-#define R7	R7
-  R8 = 8,
-#define R8	R8
-  R9 = 9,
-#define R9	R9
-  R10 = 10,
-#define R10	R10
-  R11 = 11,
-#define R11	R11
-  R12 = 12,
-#define R12	R12
-  R13 = 13,
-#define R13	R13
-  R14 = 14,
-#define R14	R14
-  R15 = 15,
-#define R15	R15
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct fpregset
-  {
-  } fpregset_t;
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    gregset_t gregs;
-    fpregset_t fpregs;
-  } mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long int uc_flags;
-    struct ucontext *uc_link;
-    __sigset_t uc_sigmask;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    long int uc_filler[5];
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h
deleted file mode 100644
index 8ca77a60cb..0000000000
--- a/sysdeps/arm/sysdep.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Assembler macros for ARM.
-   Copyright (C) 1997, 1998, 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 <sysdeps/generic/sysdep.h>
-
-#if (!defined (__ARM_ARCH_2__) && !defined (__ARM_ARCH_3__) \
-     && !defined (__ARM_ARCH_3M__) && !defined (__ARM_ARCH_4__))
-# define __USE_BX__
-#endif
-
-#ifdef	__ASSEMBLER__
-
-/* Syntactic details of assembler.  */
-
-#ifdef HAVE_ELF
-
-#define ALIGNARG(log2) log2
-/* For ELF we need the `.type' directive to make shared libs work right.  */
-#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,%##typearg;
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-/* In ELF C symbols are asm symbols.  */
-#undef	NO_UNDERSCORES
-#define NO_UNDERSCORES
-
-#define PLTJMP(_x)	_x##(PLT)
-
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#define PLTJMP(_x)	_x
-
-#endif
-
-/* APCS-32 doesn't preserve the condition codes across function call. */
-#ifdef __APCS_32__
-#define LOADREGS(cond, base, reglist...)\
-	ldm##cond	base,reglist
-#ifdef __USE_BX__
-#define RETINSTR(cond, reg)	\
-	bx##cond	reg
-#define DO_RET(_reg)		\
-	bx _reg
-#else
-#define RETINSTR(cond, reg)	\
-	mov##cond	pc, reg
-#define DO_RET(_reg)		\
-	mov pc, _reg
-#endif
-#else  /* APCS-26 */
-#define LOADREGS(cond, base, reglist...)\
-	ldm##cond	base,reglist^
-#define RETINSTR(cond, reg)	\
-	mov##cond##s	pc, reg
-#define DO_RET(_reg)		\
-	movs pc, _reg
-#endif
-
-/* Define an entry point visible from C.  */
-#define	ENTRY(name)							      \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);				      \
-  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function)			      \
-  .align ALIGNARG(4);							      \
-  C_LABEL(name)								      \
-  CALL_MCOUNT
-
-#undef	END
-#define END(name)							      \
-  ASM_SIZE_DIRECTIVE(name)
-
-/* If compiled for profiling, call `mcount' at the start of each function.  */
-#ifdef	PROF
-#define CALL_MCOUNT			\
-	str	lr,[sp, #-4]!	;	\
-	bl	PLTJMP(mcount)	;	\
-	ldr	lr, [sp], #4	;
-#else
-#define CALL_MCOUNT		/* Do nothing.  */
-#endif
-
-#ifdef	NO_UNDERSCORES
-/* 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
-#endif
-
-#endif	/* __ASSEMBLER__ */