summaryrefslogtreecommitdiff
path: root/libc/misc/internals/__uClibc_main.c
diff options
context:
space:
mode:
authorDavid McCullough <davidm@snapgear.com>2001-02-27 01:04:45 +0000
committerDavid McCullough <davidm@snapgear.com>2001-02-27 01:04:45 +0000
commit8cdb05af7df2bca002024f3553ea69e462d97c24 (patch)
tree45ed0b38a42cc0ac3a4e7916b0180a6a430b4f57 /libc/misc/internals/__uClibc_main.c
parent56e2c9e550b6a8ab5aa3ce14140cf6ba7cedd62e (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/internals/__uClibc_main.c')
-rw-r--r--libc/misc/internals/__uClibc_main.c12
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");