[git commit 0_9_30] reinstate g++-3.4.x hack for locales

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Fri Oct 23 11:36:55 UTC 2009


commit: http://git.uclibc.org/uClibc/commit/?id=a76cdd022ae2bcdb0f03be19c2ce7526ea90b282
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/0_9_30

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 Makefile.in                                    |    7 ++++---
 extra/scripts/install_headers.sh               |    6 +-----
 libc/sysdeps/linux/common/bits/uClibc_locale.h |    4 ++--
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 5e97011..186de75 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -205,9 +205,10 @@ install_headers: headers $(top_builddir)extra/scripts/unifdef
 	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
 	top_builddir=$(top_builddir) \
 	$(top_srcdir)extra/scripts/install_headers.sh include $(PREFIX)$(DEVEL_PREFIX)include
-	# Disabled. If libc-internal.h is needed, document here why!
-	#printf '#ifndef _LIBC_INTERNAL_H\n#define _LIBC_INTERNAL_H 1\n#endif\n' >$(PREFIX)$(DEVEL_PREFIX)include/libc-internal.h
-	echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
+	# Ugly hack for old locale impl in gcc
+	printf '#ifndef _LIBC_INTERNAL_H\n#define _LIBC_INTERNAL_H 1\n#endif\n' > \
+		$(PREFIX)$(DEVEL_PREFIX)include/libc-internal.h
+	echo '/* Do not use _syscall#() macros; use the syscall() function */' > \
 		$(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h
 	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/dl-osinfo.h
 	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/_lfs_64.h
diff --git a/extra/scripts/install_headers.sh b/extra/scripts/install_headers.sh
index 748f13e..bb68ec5 100755
--- a/extra/scripts/install_headers.sh
+++ b/extra/scripts/install_headers.sh
@@ -43,15 +43,11 @@ while read -r filename; do
 		mkdir -p "$2/$filename" 2>/dev/null
 		continue
 	fi
-	if test x"${filename##libc-*.h}" = x""; then
-		# Do not install libc-XXXX.h files
-		continue
-	fi
 	# NB: unifdef exits with 1 if output is not
 	# exactly the same as input. That's ok.
 	# Do not abort the script if unifdef "fails"!
 	# NB2: careful with sed command arguments, they contain tab character
-	"$top_builddir/extra/scripts/unifdef" -UUCLIBC_INTERNAL -U_LIBC "$1/$filename" \
+	"$top_builddir/extra/scripts/unifdef" -U_LIBC "$1/$filename" \
 	| sed -e '/^rtld_hidden_proto[ 	]*([a-zA-Z0-9_]*)$/d' \
 	| sed -e '/^lib\(c\|m\|resolv\|dl\|intl\|rt\|nsl\|util\|crypt\|pthread\)_hidden_proto[ 	]*([a-zA-Z0-9_]*)$/d' \
 	>"$2/$filename"
diff --git a/libc/sysdeps/linux/common/bits/uClibc_locale.h b/libc/sysdeps/linux/common/bits/uClibc_locale.h
index a6b381c..42d44b0 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_locale.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_locale.h
@@ -65,7 +65,7 @@
 /**********************************************************************/
 #ifndef __LOCALE_C_ONLY
 
-#if defined _LIBC /* && (defined IS_IN_libc || defined NOT_IN_libc) */
+#if defined _LIBC || defined __UCLIBC_GEN_LOCALE /* && (defined IS_IN_libc || defined NOT_IN_libc) */
 #include <stddef.h>
 #include <stdint.h>
 #include <bits/uClibc_touplow.h>
@@ -98,7 +98,7 @@ enum {
   * In particular, C/POSIX locale is '#' + "\x80\x01"}*LC_ALL + nul.
   */
 
-#if defined _LIBC && !defined __UCLIBC_GEN_LOCALE /* && (defined IS_IN_libc || defined NOT_IN_libc) */
+#if defined _LIBC || defined __UCLIBC_GEN_LOCALE /* && (defined IS_IN_libc || defined NOT_IN_libc) */
 typedef struct {
 	uint16_t num_weights;
 	uint16_t num_starters;
-- 
1.6.3.3



More information about the uClibc-cvs mailing list