commit 8a7eb80e47546fab8decf3fdc1579cd8a137e406
parent b75c11b20edad4e507d5bc2455177de59a38ec9f
Author: rsc <rsc>
Date: Sun, 16 Jul 2006 16:03:51 +0000
fix main return type
Diffstat:
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
@@ -48,7 +48,7 @@ kernel : $(OBJS) bootother.S user1 usertests userfs
$(LD) -N -e start -Ttext 0x7000 -o bootother.out bootother.o
$(OBJCOPY) -S -O binary bootother.out bootother
$(OBJDUMP) -S bootother.o > bootother.asm
- $(LD) -Ttext 0x100000 -e main -o kernel $(OBJS) -b binary bootother user1 usertests userfs
+ $(LD) -Ttext 0x100000 -e main0 -o kernel $(OBJS) -b binary bootother user1 usertests userfs
$(OBJDUMP) -S kernel > kernel.asm
vectors.S : vectors.pl
diff --git a/main.c b/main.c
@@ -18,8 +18,11 @@ extern uint8_t _binary_userfs_start[], _binary_userfs_size[];
extern int use_console_lock;
// CPU 0 starts running C code here.
-int
-main()
+// This is called main0 not main so that it can have
+// a void return type. Gcc can't handle functions named
+// main that don't return int. Really.
+void
+main0(void)
{
int i;
struct proc *p;
@@ -89,7 +92,7 @@ main()
}
// Additional processors start here.
-int
+void
mpmain(void)
{
cprintf("an application processor\n");