Submitted By:            Kevin Day <kevin AT kevux DOT org>
Date:                    2005-12-20
Initial Package Version: 12-20
Upstream Status:         Sent to HLFS dev, for further discussion.
Description:             I ran across a problem when cross-compiling for i686 on an x86 host.  While compiling GCC 3.4.5, an error occured to the toolchain, the file ctype_noninline.h was checking for glibc version with (__GLIBC__ > 2 ||  __GLIBC_MINOR__ > 2) to support two different versions of tupper/tolower typecasts.  The error occurs when the typecast supported is in fact the one that GCC claims glibc >= 2.3 supports.  At first glance, I was just going to modify that line, but looking further, I saw similar declarations all over the place.  Using a grep to /usr/include, I found that a number of the newer functions that are available, are being disabled by the __GLIBC_MINOR__ checks.  But this poses other risks of enabling support for data in which uClibc only supports the older function.

--- uClibc-0.9.28/include/features.h.orig	2006-01-07 11:47:30.000000000 +0000
+++ uClibc-0.9.28/include/features.h	2006-01-07 11:49:42.000000000 +0000
@@ -277,7 +277,7 @@
 #if !defined __FORCE_NOGLIBC && (!defined _LIBC || defined __FORCE_GLIBC)
 #   define __GNU_LIBRARY__ 6
 #   define __GLIBC__       2
-#   define __GLIBC_MINOR__ 2
+#   define __GLIBC_MINOR__ 3 /* Originally 2 in uClibc*/
 #endif
 
 /* Convenience macros to test the versions of glibc and gcc.
