From 403e0597cd0cd4ba489614bf2bea72465ce899b9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 8 Apr 2002 18:50:41 +0000 Subject: [PATCH] Update. 2002-04-08 Ulrich Drepper * 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 * 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. * 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. --- ChangeLog | 23 +++++++++++++++++++++++ cppflags-iterator.mk | 2 +- elf/Makefile | 2 +- elf/dl-dst.h | 2 +- include/libintl.h | 2 +- include/stdlib.h | 2 +- include/unistd.h | 2 +- stdio-common/_itoa.h | 8 +++++++- stdio-common/printf-prs.c | 2 ++ sysdeps/generic/ldsodefs.h | 8 ++++---- 10 files changed, 42 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index b083a77..c17a803 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,32 @@ +2002-04-08 Ulrich Drepper + + * 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 + + * 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 * elf/cache.c (print_entry): Support x86-64. 2002-04-08 Ulrich Drepper + * 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- where 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 0748885..5f3bcc0 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 43e6222..8819c18 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 05bdee5..dc11e36 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 a4d6148..99f7787 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 55437d4..110a78c 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 8fd7088..5cd4360 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 42bc340..6249adc 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 f0cd75b..ecbb47d 100644 --- a/stdio-common/printf-prs.c +++ b/stdio-common/printf-prs.c @@ -23,6 +23,8 @@ #include #include +#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 a68ae5e..0113918 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 -- 2.7.4