diff --git a/ChangeLog.arm b/ChangeLog.arm index dbc00f6f23..ebc4e30754 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,9 @@ +2009-06-25 Nathan Froyd + + * sysdeps/arm/eabi/aeabi_lcsts.c (__aeabi_stdin, __aeabi_stdout, + __aeabi_stderr): New variables. + (setup_aeabi_stdio): New function. Add it to .preinit_array. + 2009-06-24 Maxim Kuvyrkov Mark Mitchell Joseph Myers diff --git a/sysdeps/arm/eabi/aeabi_lcsts.c b/sysdeps/arm/eabi/aeabi_lcsts.c index 99c79851ee..0c620d4fef 100644 --- a/sysdeps/arm/eabi/aeabi_lcsts.c +++ b/sysdeps/arm/eabi/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);