Submitted By: Robert Connolly (ashes) Date: 2007-12-28 Initial Package Version: 0.9.29 Upstream Status: From Upstream Origin: http://uclibc.org/cgi-bin/viewcvs.cgi?rev=18907&view=rev http://busybox.net/~aldot/uClibc/uClibc-0.9.29-fix-internal_function-definition.patch Description: This is a bugfix. Some packages will not compile without this patch. Also see: http://linuxfromscratch.org/pipermail/hlfs-dev/2007-July/003676.html aldot Sun Jun 24 10:23:54 2007 PDT - 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. diff -Naur uClibc-0.9.29.orig/include/libc-symbols.h uClibc-0.9.29/include/libc-symbols.h --- uClibc-0.9.29.orig/include/libc-symbols.h 2007-01-29 14:33:27.000000000 +0000 +++ uClibc-0.9.29/include/libc-symbols.h 2007-12-28 07:36:15.000000000 +0000 @@ -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 - -/* 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 diff -Naur uClibc-0.9.29.orig/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h uClibc-0.9.29/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h --- uClibc-0.9.29.orig/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h 2006-03-04 00:54:43.000000000 +0000 +++ uClibc-0.9.29/libc/sysdeps/linux/i386/bits/uClibc_arch_features.h 2007-12-28 07:36:15.000000000 +0000 @@ -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 */