summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.mak2
-rw-r--r--libc/misc/internals/__uClibc_main.c6
-rw-r--r--libcrypt/md5.c3
-rw-r--r--libm/fpmacros.c2
-rw-r--r--libnsl/nsl.c1
-rw-r--r--libresolv/resolv.c1
6 files changed, 11 insertions, 4 deletions
diff --git a/Rules.mak b/Rules.mak
index 2f16dbe4f..37cf14000 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -296,7 +296,7 @@ OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,)
# Add a bunch of extra pedantic annoyingly strict checks
XWARNINGS=$(subst ",, $(strip $(WARNINGS))) -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
XWARNINGS+=-Wnested-externs -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wformat=2
-#XWARNINGS+=-Wmissing-prototypes -Wmissing-declarations
+XWARNINGS+=-Wmissing-prototypes -Wmissing-declarations
# works only w/ gcc-3.4 and up, can't be checked for gcc-3.x w/ check_gcc()
#XWARNINGS+=-Wdeclaration-after-statement
XARCH_CFLAGS=$(subst ",, $(strip $(ARCH_CFLAGS)))
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
index e4e0225e8..32071c50c 100644
--- a/libc/misc/internals/__uClibc_main.c
+++ b/libc/misc/internals/__uClibc_main.c
@@ -221,8 +221,10 @@ void attribute_hidden (*__rtld_fini)(void) = NULL;
* called from crt1 (version 0.9.28 or newer), after ALL shared libraries
* are initialized, just before we call the application's main function.
*/
-void attribute_noreturn
-__uClibc_main(int (*main)(int, char **, char **), int argc,
+void __uClibc_main(int (*main)(int, char **, char **), int argc,
+ char **argv, void (*app_init)(void), void (*app_fini)(void),
+ void (*rtld_fini)(void), void *stack_end) attribute_noreturn;
+void __uClibc_main(int (*main)(int, char **, char **), int argc,
char **argv, void (*app_init)(void), void (*app_fini)(void),
void (*rtld_fini)(void), void *stack_end)
{
diff --git a/libcrypt/md5.c b/libcrypt/md5.c
index 7d852b7b2..82b35dd40 100644
--- a/libcrypt/md5.c
+++ b/libcrypt/md5.c
@@ -531,7 +531,8 @@ static void __md5_to64( char *s, unsigned long v, int n)
* Use MD5 for what it is best at...
*/
-extern char attribute_hidden * __md5_crypt( const char *pw, const char *salt)
+char * __md5_crypt( const char *pw, const char *salt) attribute_hidden;
+char * __md5_crypt( const char *pw, const char *salt)
{
/* Static stuff */
static const char *sp, *ep;
diff --git a/libm/fpmacros.c b/libm/fpmacros.c
index ebcb7c5fb..0a079c016 100644
--- a/libm/fpmacros.c
+++ b/libm/fpmacros.c
@@ -122,6 +122,7 @@ libm_hidden_def(__fpclassify)
Calls: none
***********************************************************************/
+int __isnormalf ( float x );
int __isnormalf ( float x )
{
unsigned int iexp;
@@ -136,6 +137,7 @@ int __isnormalf ( float x )
}
+int __isnormal ( double x );
int __isnormal ( double x )
{
return ( __fpclassify ( x ) == FP_NORMAL );
diff --git a/libnsl/nsl.c b/libnsl/nsl.c
index 83bc02995..37d5b9369 100644
--- a/libnsl/nsl.c
+++ b/libnsl/nsl.c
@@ -9,6 +9,7 @@
#include <features.h>
+void __stub2(void);
void __stub2(void)
{
return;
diff --git a/libresolv/resolv.c b/libresolv/resolv.c
index 72f3d5d4a..38b10ff21 100644
--- a/libresolv/resolv.c
+++ b/libresolv/resolv.c
@@ -9,6 +9,7 @@
#include <features.h>
+void __stub1(void);
void __stub1(void)
{
return;