diff options
author | Joseph Myers <joseph@codesourcery.com> | 2009-06-28 23:48:09 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2009-06-28 23:48:09 +0000 |
commit | 60e244a98fbaa4c8637dd1c3147979633e5179aa (patch) | |
tree | 939712adc52b1efa2736b2c05e313a0297a62a8f /libc | |
parent | 0e14b8f425c562749d3821a42414b1ce6b3b0923 (diff) |
Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.
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@codesourcery.com>
Diffstat (limited to 'libc')
-rw-r--r-- | 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 99c79851e..0c620d4fe 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); |