$(aeabi_routines).
* sysdeps/arm/eabi/Versions (GLIBC_2.4): Add ARM EABI portability
routines.
* sysdeps/arm/eabi/aeabi_assert.c, sysdeps/arm/eabi/aeabi_atexit.c,
sysdeps/arm/eabi/aeabi_errno_addr.c,
sysdeps/arm/eabi/aeabi_localeconv.c,
sysdeps/arm/eabi/aeabi_mb_cur_max.c, sysdeps/arm/eabi/aeabi_memclr.c,
sysdeps/arm/eabi/aeabi_memcpy.c, sysdeps/arm/eabi/aeabi_memmove.c,
sysdeps/arm/eabi/aeabi_memset.c: Remove attribute_hidden.
2005-10-31 Daniel Jacobowitz <dan@codesourcery.com>
+ * sysdeps/arm/eabi/Makefile (static-only-routines): Remove
+ $(aeabi_routines).
+ * sysdeps/arm/eabi/Versions (GLIBC_2.4): Add ARM EABI portability
+ routines.
+ * sysdeps/arm/eabi/aeabi_assert.c, sysdeps/arm/eabi/aeabi_atexit.c,
+ sysdeps/arm/eabi/aeabi_errno_addr.c,
+ sysdeps/arm/eabi/aeabi_localeconv.c,
+ sysdeps/arm/eabi/aeabi_mb_cur_max.c, sysdeps/arm/eabi/aeabi_memclr.c,
+ sysdeps/arm/eabi/aeabi_memcpy.c, sysdeps/arm/eabi/aeabi_memmove.c,
+ sysdeps/arm/eabi/aeabi_memset.c: Remove attribute_hidden.
+
+2005-10-31 Daniel Jacobowitz <dan@codesourcery.com>
+
* sysdeps/unix/sysv/linux/arm/bits/mman.h (MREMAP_FIXED): Define.
2005-10-27 Daniel Jacobowitz <dan@codesourcery.com>
aeabi_memmove aeabi_memset
sysdep_routines += $(aeabi_constants) $(aeabi_routines)
-static-only-routines += $(aeabi_constants) $(aeabi_routines)
+static-only-routines += $(aeabi_constants)
# get offset to rtld_global._dl_hwcap
gen-as-const-headers += rtld-global-offsets.sym
libc {
GLIBC_2.4 {
+ # ARM EABI compatibility routines
+ __aeabi_assert;
+ __aeabi_atexit;
+ __aeabi_errno_addr;
+ __aeabi_localeconv;
+ __aeabi_MB_CUR_MAX;
+ __aeabi_memclr; __aeabi_memclr4; __aeabi_memclr8;
+ __aeabi_memcpy; __aeabi_memcpy4; __aeabi_memcpy8;
+ __aeabi_memmove; __aeabi_memmove4; __aeabi_memmove8;
+ __aeabi_memset; __aeabi_memset4; __aeabi_memset8;
+
# Helper routines
__gnu_Unwind_Find_exidx;
}
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 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
#include <assert.h>
#include <stdlib.h>
-void attribute_hidden
+void
__aeabi_assert (const char *assertion, const char *file,
unsigned int line)
{
/* Register a function to be called by exit or when a shared library
is unloaded. This routine is like __cxa_atexit, but uses the
calling sequence required by the ARM EABI. */
-int attribute_hidden
+int
__aeabi_atexit (void *arg, void (*func) (void *), void *d)
{
return __cxa_atexit (func, arg, d);
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 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
#include <errno.h>
-attribute_hidden
volatile int *
__aeabi_errno_addr (void)
{
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 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
#include <locale.h>
-attribute_hidden
struct lconv *
__aeabi_localeconv (void)
{
-/* Copyright (C) 2004 Free Software Foundation, Inc.
+/* Copyright (C) 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
#include <stdlib.h>
#include <locale/localeinfo.h>
-int attribute_hidden
+int
__aeabi_MB_CUR_MAX (void)
{
return MB_CUR_MAX;
/* Clear memory. Can't alias to bzero because it's not defined in the
same translation unit. */
-void attribute_hidden
+void
__aeabi_memclr (void *dest, size_t n)
{
__bzero (dest, n);
}
/* Versions of the above which may assume memory alignment. */
-strong_alias (__aeabi_memclr, attribute_hidden __aeabi_memclr4)
-strong_alias (__aeabi_memclr, attribute_hidden __aeabi_memclr8)
+strong_alias (__aeabi_memclr, __aeabi_memclr4)
+strong_alias (__aeabi_memclr, __aeabi_memclr8)
/* Copy memory like memcpy, but no return value required. Can't alias
to memcpy because it's not defined in the same translation
unit. */
-void attribute_hidden
+void
__aeabi_memcpy (void *dest, const void *src, size_t n)
{
memcpy (dest, src, n);
}
/* Versions of the above which may assume memory alignment. */
-strong_alias (__aeabi_memcpy, attribute_hidden __aeabi_memcpy4)
-strong_alias (__aeabi_memcpy, attribute_hidden __aeabi_memcpy8)
+strong_alias (__aeabi_memcpy, __aeabi_memcpy4)
+strong_alias (__aeabi_memcpy, __aeabi_memcpy8)
/* Copy memory like memmove, but no return value required. Can't
alias to memmove because it's not defined in the same translation
unit. */
-void attribute_hidden
+void
__aeabi_memmove (void *dest, const void *src, size_t n)
{
memmove (dest, src, n);
}
/* Versions of the above which may assume memory alignment. */
-strong_alias (__aeabi_memmove, attribute_hidden __aeabi_memmove4)
-strong_alias (__aeabi_memmove, attribute_hidden __aeabi_memmove8)
+strong_alias (__aeabi_memmove, __aeabi_memmove4)
+strong_alias (__aeabi_memmove, __aeabi_memmove8)
/* Set memory like memset, but different argument order and no return
value required. */
-void attribute_hidden
+void
__aeabi_memset (void *dest, size_t n, int c)
{
memset (dest, c, n);
}
/* Versions of the above which may assume memory alignment. */
-strong_alias (__aeabi_memset, attribute_hidden __aeabi_memset4)
-strong_alias (__aeabi_memset, attribute_hidden __aeabi_memset8)
+strong_alias (__aeabi_memset, __aeabi_memset4)
+strong_alias (__aeabi_memset, __aeabi_memset8)