[git commit] Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.

Joseph Myers joseph at codesourcery.com
Sun Jun 28 23:48:09 UTC 2009


commit: http://git.uclibc.org/uClibc/commit/?id=60e244a98fbaa4c8637dd1c3147979633e5179aa
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master


The ARM EABI has a document CLIBABI specifying various __aeabi_*
functions and variables to be provided for the use of portable objects
that can be linked with different EABI-conforming C libraries.
__aeabi_stdin, __aeabi_stdout and __aeabi_stderr were missing in
uClibc; this patch (originally from Nathan Froyd and for glibc) adds
them.

Signed-off-by: Joseph Myers <joseph at codesourcery.com>
---
 libc/sysdeps/linux/arm/aeabi_lcsts.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/libc/sysdeps/linux/arm/aeabi_lcsts.c b/libc/sysdeps/linux/arm/aeabi_lcsts.c
index 99c7985..0c620d4 100644
--- a/libc/sysdeps/linux/arm/aeabi_lcsts.c
+++ b/libc/sysdeps/linux/arm/aeabi_lcsts.c
@@ -81,4 +81,19 @@ eabi_constant (TMP_MAX);
 eabi_constant (FILENAME_MAX);
 eabi_constant (L_tmpnam);
 
+FILE *__aeabi_stdin attribute_hidden;
+FILE *__aeabi_stdout attribute_hidden;
+FILE *__aeabi_stderr attribute_hidden;
+
+static void __attribute__ ((used))
+setup_aeabi_stdio (void)
+{
+  __aeabi_stdin = stdin;
+  __aeabi_stdout = stdout;
+  __aeabi_stderr = stderr;
+}
+
+static void (*fp) (void) __attribute__ ((used, section (".preinit_array")))
+  = setup_aeabi_stdio;
+
 eabi_constant (CLOCKS_PER_SEC);
-- 
1.6.0.6


More information about the uClibc-cvs mailing list