[clang][libc-trusty][libc_init] Change main to standard prototype

Currently trusty does not support passing arguments to applications but
this might change in the future. For the time being we can declare the
right prototype and pass 0/NULL from libc to the application.

Change-Id: I803ba3159af269d7971e0f0e1e455bc494f0ed97
diff --git a/lib/libc-trusty/libc_init.c b/lib/libc-trusty/libc_init.c
index 22daad6..e327777 100644
--- a/lib/libc-trusty/libc_init.c
+++ b/lib/libc-trusty/libc_init.c
@@ -42,7 +42,7 @@
 }
 
 __NO_RETURN void __libc_init(void *args,
-			int (*slingshot)(void*),
+			int (*slingshot)(int, char**, char**),
 			structors_array_t const * const structors)
 {
 	int ret;
@@ -55,7 +55,7 @@
 			__libc_fatal("__cxa_atexit failed\n");
 	}
 
-	exit(slingshot(args));
+	exit(slingshot(0, NULL, NULL));
 }
 
 /* This function will be called during normal program termination
diff --git a/lib/libc-trusty/libc_init.h b/lib/libc-trusty/libc_init.h
index 3d5b493..b0599ca 100644
--- a/lib/libc-trusty/libc_init.h
+++ b/lib/libc-trusty/libc_init.h
@@ -36,10 +36,10 @@
   void (**fini_array)(void);
 } structors_array_t;
 
-extern int main(void*);
+extern int main(int argc, char** argv, char** env);
 
 __NO_RETURN void __libc_init(void* args,
-                            int (*slingshot)(void*),
+                            int (*slingshot)(int, char**, char**),
                             structors_array_t const * const structors);
 void __libc_fini(void* finit_array);