summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2002-11-04 00:09:14 +0000
committerMatt Wilson <msw@redhat.com>2002-11-04 00:09:14 +0000
commit896a738513ae7219ec53f91a395a8a0b7f13f9e1 (patch)
treed51ea15e7f3cf8e095033c986dce833671fb57ef
parent585954dce6930aae42b50dc9ba8d782ceb67e76d (diff)
downloadanaconda-896a738513ae7219ec53f91a395a8a0b7f13f9e1.tar.gz
anaconda-896a738513ae7219ec53f91a395a8a0b7f13f9e1.tar.xz
anaconda-896a738513ae7219ec53f91a395a8a0b7f13f9e1.zip
make init work on pcc
-rw-r--r--loader/minilibc.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/loader/minilibc.c b/loader/minilibc.c
index a08711b30..75f218f28 100644
--- a/loader/minilibc.c
+++ b/loader/minilibc.c
@@ -20,12 +20,27 @@ void _init (int __status) {
void __libc_init_first (int __status) {
}
-int
-__libc_start_main (int (*main) (int, char **, char **), int argc,
- char **argv, void (*init) (void), void (*fini) (void),
- void (*rtld_fini) (void), void *stack_end)
+#ifndef __powerpc__
+int __libc_start_main (int (*main) (void), int argc, char **argv,
+ void (*init) (void), void (*fini) (void),
+ void (*rtld_fini) (void), void * stack_end)
+#else
+struct startup_info
{
- exit ((*main) (argc, argv, NULL));
+ void *sda_base;
+ int (*main) (int, char **, char **, void *);
+ int (*init) (int, char **, char **, void *);
+ void (*fini) (void);
+};
+
+int __libc_start_main (int argc, char **argv,
+ char **ubp_ev,
+ void *auxvec, void (*rtld_fini) (void),
+ struct startup_info *stinfo,
+ char **stack_on_entry)
+#endif
+{
+ exit (main(argc, argv, NULL));
/* never get here */
return 0;
}