about summary refs log tree commit diff
path: root/sysdeps/wordsize-64
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/wordsize-64')
-rw-r--r--sysdeps/wordsize-64/Versions6
-rw-r--r--sysdeps/wordsize-64/strtol_l.c3
-rw-r--r--sysdeps/wordsize-64/strtoul_l.c3
3 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/wordsize-64/Versions b/sysdeps/wordsize-64/Versions
new file mode 100644
index 0000000000..0d13186ace
--- /dev/null
+++ b/sysdeps/wordsize-64/Versions
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.3.3 {
+    # These were erroneously omitted for 64-bit platforms in 2.3.
+    strtoll_l; strtoull_l;
+  }
+}
diff --git a/sysdeps/wordsize-64/strtol_l.c b/sysdeps/wordsize-64/strtol_l.c
index 1ca48b9183..5a5cd8d0b7 100644
--- a/sysdeps/wordsize-64/strtol_l.c
+++ b/sysdeps/wordsize-64/strtol_l.c
@@ -1,11 +1,14 @@
 /* We have to irritate the compiler a bit.  */
 #define ____strtoll_l_internal ____strtoll_l_internal_XXX
 #define __strtoll_l __strtoll_l_XXX
+#define strtoll_l strtoll_l_XXX
 
 #include <sysdeps/generic/strtol_l.c>
 
 #undef ____strtoll_l_internal
 #undef __strtoll_l
+#undef strtoll_l
 strong_alias (____strtol_l_internal, ____strtoll_l_internal)
 libc_hidden_ver (____strtol_l_internal, ____strtoll_l_internal)
 weak_alias (__strtol_l, __strtoll_l)
+weak_alias (__strtol_l, strtoll_l)
diff --git a/sysdeps/wordsize-64/strtoul_l.c b/sysdeps/wordsize-64/strtoul_l.c
index 356a8df98f..9ee00a379a 100644
--- a/sysdeps/wordsize-64/strtoul_l.c
+++ b/sysdeps/wordsize-64/strtoul_l.c
@@ -1,11 +1,14 @@
 /* We have to irritate the compiler a bit.  */
 #define ____strtoull_l_internal ____strtoull_l_internal_XXX
 #define __strtoull_l __strtoull_l_XXX
+#define strtoull_l strtoull_l_XXX
 
 #include <sysdeps/generic/strtoul_l.c>
 
 #undef ____strtoull_l_internal
 #undef __strtoull_l
+#undef strtoull_l
 strong_alias (____strtoul_l_internal, ____strtoull_l_internal)
 libc_hidden_ver (____strtoul_l_internal, ____strtoull_l_internal)
 weak_alias (__strtoul_l, __strtoull_l)
+weak_alias (__strtoul_l, strtoull_l)