From patchwork Sat Jan 6 10:00:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 25250 Received: (qmail 35718 invoked by alias); 6 Jan 2018 10:00:53 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 35700 invoked by uid 89); 6 Jan 2018 10:00:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: hall.aurel32.net Date: Sat, 6 Jan 2018 11:00:44 +0100 From: Aurelien Jarno To: Joseph Myers Cc: libc-alpha@sourceware.org Subject: Re: [PATCH 0/4] Fix getrlimit/setrlimit/prlimit on Alpha and 32-bit machines Message-ID: <20180106100044.GA28831@aurel32.net> Mail-Followup-To: Joseph Myers , libc-alpha@sourceware.org References: <20180105132429.21118-1-aurelien@aurel32.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) On 2018-01-05 23:55, Joseph Myers wrote: > One of these patches breaks the testsuite build for various (but not all) > 32-bit configurations. > > https://sourceware.org/ml/libc-testresults/2018-q1/msg00035.html > > The failures are all of the form: > > /scratch/jmyers/glibc-bot/build/glibcs/arm-linux-gnueabi/glibc/io/test-lfs.o: In function `do_prepare': > /scratch/jmyers/glibc-bot/build/glibcs/arm-linux-gnueabi/glibc-src/io/test-lfs.c:75: undefined reference to `getrlimit64' > collect2: error: ld returned 1 exit status > ../Rules:202: recipe for target '/scratch/jmyers/glibc-bot/build/glibcs/arm-linux-gnueabi/glibc/io/test-lfs' failed > make[3]: *** [/scratch/jmyers/glibc-bot/build/glibcs/arm-linux-gnueabi/glibc/io/test-lfs] Error 1 Sorry about that. The issue happens on 32-bit configurations which have a minimum version >= 2.2, and thus which don't need the 2GiB limited compat getrlimit64. I wrongly moved one case under the #ifdef __RLIM_T_MATCHES_RLIM64_T case, while it should have been copied instead. I am currently testing the following patch: 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 */