# 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)))
* 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)
{
* 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;
Calls: none
***********************************************************************/
+int __isnormalf ( float x );
int __isnormalf ( float x )
{
unsigned int iexp;
}
+int __isnormal ( double x );
int __isnormal ( double x )
{
return ( __fpclassify ( x ) == FP_NORMAL );
#include <features.h>
+void __stub2(void);
void __stub2(void)
{
return;
#include <features.h>
+void __stub1(void);
void __stub1(void)
{
return;