From c2e014cc33ef814a8f24fb7aabe1cee5265056f3 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sun, 7 Jan 2018 20:33:26 +0100 Subject: [PATCH] getrlimit64: fix for 32-bit configurations with default version >= 2.2 Commit 24731685 ("prlimit: Translate old_rlimit from RLIM64_INFINITY to RLIM_INFINITY") broken the getrlimit64 for 32-bit configurations which do no need the 2GiB limited compat getrlimit (default version >= 2.2). This patch fixes that by restoring the weak alias in that case. Changelog: * sysdeps/unix/sysv/linux/getrlimit64 (getrlimit64) [!__RLIM_T_MATCHES_RLIM64_T] [!SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)]: Define as weak alias of __getrlimit64. Add libc_hidden_weak. --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/getrlimit64.c | 3 +++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index f0eb187b38..1c8119848a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-01-07 Aurelien Jarno + + * sysdeps/unix/sysv/linux/getrlimit64 (getrlimit64) + [!__RLIM_T_MATCHES_RLIM64_T] + [!SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)]: Define as weak alias of + __getrlimit64. Add libc_hidden_weak. + 2018-01-06 Palmer Dabbelt * elf/elf.h (R_RISCV_NONE): New define. diff --git a/sysdeps/unix/sysv/linux/getrlimit64.c b/sysdeps/unix/sysv/linux/getrlimit64.c index 1cc82e364d..a14ca58096 100644 --- a/sysdeps/unix/sysv/linux/getrlimit64.c +++ b/sysdeps/unix/sysv/linux/getrlimit64.c @@ -81,4 +81,7 @@ __old_getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits) } versioned_symbol (libc, __getrlimit64, getrlimit64, GLIBC_2_2); compat_symbol (libc, __old_getrlimit64, getrlimit64, GLIBC_2_1); +#else +weak_alias (__getrlimit64, getrlimit64) +libc_hidden_weak (getrlimit64) #endif /* __RLIM_T_MATCHES_RLIM64_T */