aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/Makefile7
-rw-r--r--locale/Versions4
-rw-r--r--locale/localeconv.c9
4 files changed, 18 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index b1497c4a9f..2f8fb0ac83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2000-05-30 Ulrich Drepper <drepper@redhat.com>
+ * locale/Versions [libc] (GLIBC_2.2): Add localeconv.
+ * locale/localeconv.c: Make function versioned (with same definition).
+
* elf/Makefile (modules-names): Strip before using it.
2000-05-30 Andreas Jaeger <aj@suse.de>
diff --git a/elf/Makefile b/elf/Makefile
index ef4ee31aa7..23989200ce 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -88,8 +88,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
testobj1_1 failobj constload2 constload3 \
dep1 dep2 dep3 dep4 $(modules-vis-$(have-protected))
modules-vis-yes = vismod1 vismod2 vismod3
-modules-names := $(strip $(module-names))
-extra-objs += $(modules-names:=.os)
+extra-objs += $(addsuffix .os,$(strip $(modules-names)))
include ../Rules
@@ -213,8 +212,8 @@ $(objpfx)sprof: $(libdl)
$(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
-test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
-generated += $(addsuffix .so,$(modules-names))
+test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
+generated += $(addsuffix .so,$(strip $(modules-names)))
$(objpfx)testobj1.so: $(libdl)
$(objpfx)testobj1_1.so: $(objpfx)testobj1.so $(libdl)
diff --git a/locale/Versions b/locale/Versions
index 6e3b166905..fe88a1b389 100644
--- a/locale/Versions
+++ b/locale/Versions
@@ -27,4 +27,8 @@ libc {
# functions from the experimental locale implementation
__*_l; __newlocale; __duplocale; __freelocale;
}
+ GLIBC_2.2 {
+ # The data structure changed.
+ localeconv;
+ }
}
diff --git a/locale/localeconv.c b/locale/localeconv.c
index 79a88ac83b..0f545370f7 100644
--- a/locale/localeconv.c
+++ b/locale/localeconv.c
@@ -18,10 +18,11 @@
#include <locale.h>
#include "localeinfo.h"
+#include <shlib-compat.h>
/* Return monetary and numeric information about the current locale. */
struct lconv *
-localeconv (void)
+__localeconv (void)
{
static struct lconv result;
@@ -56,3 +57,9 @@ localeconv (void)
return &result;
}
+
+versioned_symbol (libc, __localeconv, localeconv, GLIBC_2_2);
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+strong_alias (__localeconv, __localeconv20)
+compat_symbol (libc, __localeconv20, localeconv, GLIBC_2_0);
+#endif