--- a/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h +++ b/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h @@ -42,6 +42,8 @@ /* define if target supports IEEE signed zero floats */ #define __UCLIBC_HAVE_SIGNED_ZERO__ +#if defined _LIBC #define internal_function __attribute__ ((regparm (3), stdcall)) +#endif #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */ --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -22,6 +22,16 @@ #ifndef _LIBC_SYMBOLS_H #define _LIBC_SYMBOLS_H 1 +/* This is defined for the compilation of all C library code. features.h + tests this to avoid inclusion of stubs.h while compiling the library, + before stubs.h has been generated. Some library code that is shared + with other packages also tests this symbol to see if it is being + compiled as part of the C library. We must define this before including + config.h, because it makes some definitions conditional on whether libc + itself is being compiled, or just some generator program. */ +#define _LIBC 1 + + /* This file's macros are included implicitly in the compilation of every file in the C library by -imacros. @@ -40,16 +50,6 @@ #include <bits/uClibc_arch_features.h> - -/* This is defined for the compilation of all C library code. features.h - tests this to avoid inclusion of stubs.h while compiling the library, - before stubs.h has been generated. Some library code that is shared - with other packages also tests this symbol to see if it is being - compiled as part of the C library. We must define this before including - config.h, because it makes some definitions conditional on whether libc - itself is being compiled, or just some generator program. */ -#define _LIBC 1 - /* Enable declarations of GNU extensions, since we are compiling them. */ #define _GNU_SOURCE 1