diff options
author | David McCullough <davidm@snapgear.com> | 2001-02-27 01:04:45 +0000 |
---|---|---|
committer | David McCullough <davidm@snapgear.com> | 2001-02-27 01:04:45 +0000 |
commit | 8cdb05af7df2bca002024f3553ea69e462d97c24 (patch) | |
tree | 45ed0b38a42cc0ac3a4e7916b0180a6a430b4f57 /libc/misc | |
parent | 56e2c9e550b6a8ab5aa3ce14140cf6ba7cedd62e (diff) |
For some reason the fancy attribute tags were not working on m68k so
I followed environ example which uses asm and it seemed to fix the problem
nicely.
It should be ok on i386. Could some check it please :-)
Diffstat (limited to 'libc/misc')
-rw-r--r-- | libc/misc/internals/__uClibc_main.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index 827d82e5f..23ca473ee 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -36,11 +36,8 @@ void __uClibc_empty_func(void) { } - __attribute__ ((__weak__, __alias__("__uClibc_empty_func"))) -void __init_stdio(void); - - __attribute__ ((__weak__, __alias__("__uClibc_empty_func"))) -void __stdio_close_all(void); +extern void __init_stdio(void); +extern void __stdio_close_all(void); typedef void (*vfuncp) (void); vfuncp __uClibc_cleanup = __stdio_close_all; @@ -84,7 +81,6 @@ void __uClibc_main(int argc, char **argv, char **envp) char **__environ = 0; __asm__(".weak environ;environ = __environ"); - - - +__asm__(".weak __init_stdio; __init_stdio = __uClibc_empty_func"); +__asm__(".weak __stdio_close_all; __stdio_close_all = __uClibc_empty_func"); |