summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog23
-rw-r--r--cppflags-iterator.mk2
-rw-r--r--elf/Makefile2
-rw-r--r--elf/dl-dst.h2
-rw-r--r--include/libintl.h2
-rw-r--r--include/stdlib.h2
-rw-r--r--include/unistd.h2
-rw-r--r--stdio-common/_itoa.h8
-rw-r--r--stdio-common/printf-prs.c2
-rw-r--r--sysdeps/generic/ldsodefs.h8
10 files changed, 42 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index b083a77e9a..c17a803e9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,32 @@
+2002-04-08  Ulrich Drepper  <drepper@redhat.com>
+
+	* cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead
+	of NOT_IN_LIBC.
+	* include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC.
+	* include/stdlib.h: Likewise.
+
+2002-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld
+	instead of _RTLD_LOCAL.
+	* elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL.
+	* include/unistd.h: Likewise.
+	* sysdeps/generic/ldsodefs.h: Likewise.
+
+	* stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays
+	if in libc or ld.so.
+
 2002-04-08  Andreas Jaeger  <aj@suse.de>
 
 	* elf/cache.c (print_entry): Support x86-64.
 
 2002-04-08  Ulrich Drepper  <drepper@redhat.com>
 
+	* include/stdlib.h: For libc itself replace MB_CUR_MAX definition
+	with one accessing the locale data structures directly.
+	* stdio-common/printf-prs.c: Include localeinfo.h for new
+	MB_CUR_MAX definition.
+
 	* Makeconfig (CPPFLAGS): Also add CPPFLAGS-<basename> where <basename>
 	is the name of the source file without extension.
 	* Makefile (distribute): Add cppflags-iterator.mk.
diff --git a/cppflags-iterator.mk b/cppflags-iterator.mk
index 07488850aa..5f3bcc0668 100644
--- a/cppflags-iterator.mk
+++ b/cppflags-iterator.mk
@@ -4,4 +4,4 @@
 cpp-src := $(firstword $(cpp-srcs-left))
 cpp-srcs-left := $(filter-out $(cpp-src),$(cpp-srcs-left))
 
-CPPFLAGS-$(cpp-src) = -DNOT_IN_LIBC -DIS_IN_$(lib)
+CPPFLAGS-$(cpp-src) = -DNOT_IN_libc -DIS_IN_$(lib)
diff --git a/elf/Makefile b/elf/Makefile
index 43e622273c..8819c188c0 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -250,7 +250,7 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' -D'SLIBDIR="$(slibdi
 CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
 CFLAGS-cache.c = $(SYSCONF-FLAGS)
 
-CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-D_RTLD_LOCAL)
+CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc -DIS_IN_rtld)
 
 test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
 generated += $(addsuffix .so,$(strip $(modules-names)))
diff --git a/elf/dl-dst.h b/elf/dl-dst.h
index 05bdee5ee9..dc11e360af 100644
--- a/elf/dl-dst.h
+++ b/elf/dl-dst.h
@@ -64,7 +64,7 @@ extern size_t _dl_dst_count_internal (const char *name, int is_path);
 extern const char *_dl_get_origin (void);
 extern const char *_dl_get_origin_internal (void);
 
-#ifdef _RTLD_LOCAL
+#ifdef IS_IN_rtld
 # define _dl_get_origin INTUSE(_dl_get_origin)
 #endif
 
diff --git a/include/libintl.h b/include/libintl.h
index a4d6148d8d..99f7787ba2 100644
--- a/include/libintl.h
+++ b/include/libintl.h
@@ -28,7 +28,7 @@ extern const char _libc_intl_domainname_internal[] attribute_hidden;
 
 # undef _
 /* This is defined as an optimizing macro, so use it.  */
-# if !defined NOT_IN_LIBC && defined SHARED
+# if !defined NOT_IN_libc && defined SHARED
 #  define _(msgid) \
   __dcgettext_internal (_libc_intl_domainname_internal, (msgid), LC_MESSAGES)
 # else
diff --git a/include/stdlib.h b/include/stdlib.h
index 55437d4aae..110a78ca17 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -147,7 +147,7 @@ __strtoull_l (__const char * __restrict __nptr, char **__restrict __endptr,
 }
 
 
-# ifndef NOT_IN_LIBC
+# ifndef NOT_IN_libc
 #  undef MB_CUR_MAX
 #  define MB_CUR_MAX (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX))
 # endif
diff --git a/include/unistd.h b/include/unistd.h
index 8fd7088320..5cd4360c55 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -98,7 +98,7 @@ extern void *__sbrk (intptr_t __delta);
    and some functions contained in the C library ignore various
    environment variables that normally affect them.  */
 extern int __libc_enable_secure;
-#ifdef _RTLD_LOCAL
+#ifdef IS_IN_rtld
 /* XXX The #ifdef should go.  */
 extern int __libc_enable_secure_internal attribute_hidden;
 #endif
diff --git a/stdio-common/_itoa.h b/stdio-common/_itoa.h
index 42bc3400fa..6249adca91 100644
--- a/stdio-common/_itoa.h
+++ b/stdio-common/_itoa.h
@@ -39,8 +39,14 @@ _itoa_word (unsigned long value, char *buflim,
 	    unsigned int base, int upper_case)
 {
   const char *digits = (upper_case
+#if !defined NOT_IN_libc || defined IS_IN_rtld
 			? INTUSE(_itoa_upper_digits)
-			: INTUSE(_itoa_lower_digits));
+			: INTUSE(_itoa_lower_digits)
+#else
+			? _itoa_upper_digits
+			: _itoa_lower_digits
+#endif
+		       );
 
   switch (base)
     {
diff --git a/stdio-common/printf-prs.c b/stdio-common/printf-prs.c
index f0cd75b928..ecbb47d41c 100644
--- a/stdio-common/printf-prs.c
+++ b/stdio-common/printf-prs.c
@@ -23,6 +23,8 @@
 #include <wchar.h>
 #include <sys/param.h>
 
+#include "../locale/localeinfo.h"
+
 #ifndef COMPILE_WPRINTF
 # define CHAR_T		char
 # define UCHAR_T	unsigned char
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index a68ae5e06e..011391865f 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -199,7 +199,7 @@ typedef void (*receiver_fct) (int, const char *, const char *);
 # define GL(name) _##name
 #else
 # define EXTERN
-# ifdef _RTLD_LOCAL
+# ifdef IS_IN_rtld
 #  define GL(name) _rtld_local._##name
 # else
 #  define GL(name) _rtld_global._##name
@@ -375,7 +375,7 @@ struct rtld_global
 #ifdef SHARED
 };
 extern struct rtld_global _rtld_global;
-# ifdef _RTLD_LOCAL
+# ifdef IS_IN_rtld
 #  ifdef HAVE_VISIBILITY_ATTRIBUTE
 #   ifdef HAVE_SDATA_SECTION
 #    define __rtld_local_attribute__ \
@@ -394,7 +394,7 @@ extern struct rtld_global _rtld_local __rtld_local_attribute__;
 /* Parameters passed to the dynamic linker.  */
 extern int _dl_argc attribute_hidden;
 extern char **_dl_argv;
-#ifdef _RTLD_LOCAL
+#ifdef IS_IN_rtld
 extern char **_dl_argv_internal attribute_hidden;
 # define rtld_progname (INTUSE(_dl_argv)[0])
 #else
@@ -403,7 +403,7 @@ extern char **_dl_argv_internal attribute_hidden;
 
 /* The array with message we print as a last resort.  */
 extern const char _dl_out_of_memory[];
-#ifdef _RTLD_LOCAL
+#ifdef IS_IN_rtld
 /* XXX #ifdef should go away.  */
 extern const char _dl_out_of_memory_internal[] attribute_hidden;
 #endif