diff options
author | Joseph Myers <joseph@codesourcery.com> | 2009-06-28 23:48:09 +0000 |
---|---|---|
committer | Austin Foxley <austinf@cetoncorp.com> | 2009-07-09 01:31:38 -0700 |
commit | e985b4c584914da7f6ff01cffadc46ec1f1fb785 (patch) | |
tree | 6eb57f4ebdb41badc2bb10f9d2cdf87f98cfe37a | |
parent | 86e7df8191aa1b7f6b729bc18bd41debfc5fa70d (diff) | |
download | uClibc-alpine-e985b4c584914da7f6ff01cffadc46ec1f1fb785.tar.bz2 uClibc-alpine-e985b4c584914da7f6ff01cffadc46ec1f1fb785.tar.xz |
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>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
-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); |