libgloss fix for bfin port

Jeff Law <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
gcc-14 will complain loudly both for calling a function without an 
in-scope prototype or when the in scope prototype differs from the known 
signature.

"main" happens to be one of the functions the compiler knows about.  So 
not only do we need to prototype it, we need to make sure the prototype 
matches what GCC thinks it should be.

This fixes the bfin libgloss port to do the right thing for bfin-elf.

OK for the trunk?

Jeff
P (text/plain, 726 B)
diff --git a/libgloss/bfin/syscalls.c b/libgloss/bfin/syscalls.c
index 7bd0bede1..2282049e9 100644
--- a/libgloss/bfin/syscalls.c
+++ b/libgloss/bfin/syscalls.c
@@ -27,6 +27,8 @@
 #include <reent.h>
 #include <unistd.h>
 
+int main (int, char **, char **);
+
 register char *stack_ptr asm ("SP");
 
 static inline int
@@ -254,7 +256,7 @@ __setup_argv_for_main (int argc)
     do_syscall (SYS_argn, (void *)block);
   }
 
-  return main (argc, argv);
+  return main (argc, argv, NULL);
 }
 
 int
@@ -263,7 +265,7 @@ __setup_argv_and_call_main ()
   int argc = do_syscall (SYS_argc, 0);
 
   if (argc <= 0)
-    return main (argc, NULL);
+    return main (argc, NULL, NULL);
   else
     return __setup_argv_for_main (argc);
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.