about summary refs log tree commit diff
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