Kaynağa Gözat

- make sure to define _LIBC in libc-symbols.h before including anything
else.
- internal_function is only used inside libc, so do not define it in
uClibc_arch_features.h on i386 if we are outside of libc.

Bernhard Reutner-Fischer 17 yıl önce
ebeveyn
işleme
a7f47450c0

+ 10 - 10
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
 

+ 2 - 0
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 */