2012-05-19 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Remove
+ definitions.
+ * sysdeps/arm/bits/huge_val.h: Remove file.
+ * sysdeps/arm/bits/string.h: Remove file.
+ * sysdeps/unix/sysv/linux/arm/readahead.c [__NR_readahead]: Make
+ code unconditional.
+ [!__NR_readahead]: Remove conditional code.
+ * sysdeps/unix/sysv/linux/arm/sigaction.c [__NR_rt_sigreturn]:
+ Make code unconditional.
+ [!__NR_rt_sigreturn]: Remove conditional code.
+ * sysdeps/unix/sysv/linux/arm/sigrestorer.S [__NR_rt_sigreturn]:
+ Make code unconditional.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h [__NR_SYSCALL_BASE != 0]:
+ Remove conditional #error.
+ (__NR_stime): Remove #undef.
+ (__NR_alarm): Likewise.
+ (SWI_BASE): Remove.
+
* sysdeps/unix/sysv/linux/arm/ftruncate64.c (kernel-features.h):
Don't include.
[__NR_ftruncate64]: Make code unconditional.
#else
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif
-
-/* FPA floating point units are always big-endian, irrespective of the
- CPU endianness. VFP floating point units use the same endianness
- as the rest of the system. */
-#ifdef __VFP_FP__
-#define __FLOAT_WORD_ORDER __BYTE_ORDER
-#else
-#define __FLOAT_WORD_ORDER __BIG_ENDIAN
-#endif
+++ /dev/null
-/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).
- Used by <stdlib.h> and <math.h> functions for overflow.
- Copyright (C) 1992, 1995, 1996, 1997, 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, see
- <http://www.gnu.org/licenses/>. */
-
-#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: 0x7ff0000000000000ULL }).__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 { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }
-# endif
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }
-# endif
-
-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
-# define HUGE_VAL (__huge_val.__d)
-
-#endif /* GCC. */
+++ /dev/null
-/* 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, see
- <http://www.gnu.org/licenses/>. */
-
-#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
/* Provide kernel hint to read ahead.
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002-2012 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
#include <sys/syscall.h>
-#ifdef __NR_readahead
-
ssize_t
__readahead (int fd, off64_t offset, size_t count)
{
(off_t) (offset & 0xffffffff)),
count);
}
-#else
-ssize_t
-__readahead (int fd, off64_t offset, size_t count)
-{
- __set_errno (ENOSYS);
- return -1;
-}
-stub_warning (readahead)
-
-# include <stub-tag.h>
-#endif
weak_alias (__readahead, readahead)
#endif
/* When RT signals are in use we need to use a different return stub. */
-#ifdef __NR_rt_sigreturn
#define choose_restorer(flags) \
(flags & SA_SIGINFO) ? __default_rt_sa_restorer \
: __default_sa_restorer
-#else
-#define choose_restorer(flags) \
- __default_sa_restorer
-#endif
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-/* Copyright (C) 1999, 2005, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 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
END(__default_sa_restorer_v2)
#undef OFFSET
-#ifdef __NR_rt_sigreturn
-
#ifndef __ASSUME_SIGFRAME_V2
#define OFFSET 168
.fnstart
.fnend
END(__default_rt_sa_restorer_v2)
#undef OFFSET
-
-#endif /* __NR_rt_sigreturn */
#include <tls.h>
-#if __NR_SYSCALL_BASE != 0
-# error Kernel headers are too old
-#endif
-
-/* Don't use stime, even if the kernel headers define it. We have
- settimeofday, and some EABI kernels have removed stime. Similarly
- use setitimer to implement alarm. */
-#undef __NR_stime
-#undef __NR_alarm
-
/* In order to get __set_errno() definition in INLINE_SYSCALL. */
#ifndef __ASSEMBLER__
#include <errno.h>
of the kernel. But these symbols do not follow the SYS_* syntax
so we have to redefine the `SYS_ify' macro here. */
#undef SYS_ify
-#define SWI_BASE (0x900000)
#define SYS_ify(syscall_name) (__NR_##syscall_name)