From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13413 invoked by alias); 24 Oct 2019 12:08:28 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 13398 invoked by uid 89); 24 Oct 2019 12:08:28 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=carlosredhatcom, U*carlos, sk:carlos, carlos@redhat.com X-HELO: albireo.enyo.de From: Florian Weimer To: Carlos O'Donell Cc: Lukasz Majewski , Leandro Pereira , "libc-alpha\@sourceware.org" Subject: Re: [PATCH 2/2] elf: Use nocancel pread64() instead of lseek()+read() References: <4a05e103-4c17-92d6-1816-4d6f17922ef7@redhat.com> <20191020233726.2cbee7c3@jawa> <359c2614-afec-3994-26ce-2823bba64c11@redhat.com> Date: Thu, 24 Oct 2019 12:08:00 -0000 In-Reply-To: <359c2614-afec-3994-26ce-2823bba64c11@redhat.com> (Carlos O'Donell's message of "Mon, 21 Oct 2019 09:24:03 -0400") Message-ID: <87d0ems5vv.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-10/txt/msg00702.txt.bz2 * Carlos O'Donell: > On 10/20/19 5:37 PM, Lukasz Majewski wrote: >> On Fri, 18 Oct 2019 16:02:22 -0400 >> Carlos O'Donell wrote: >> >>> On 10/3/19 9:59 AM, Carlos O'Donell wrote: >>>> On 8/5/19 5:56 PM, Leandro Pereira wrote: >>>>> Transforms this, when linking in a shared object: >>>>> >>>>> openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 >>>>> read(3, "\177ELF\2\1\1\3"..., 832) = 832 >>>>> lseek(3, 792, SEEK_SET) = 792 >>>>> read(3, "\4\0\0\0\24\0\0\0"..., 68) = 68 >>>>> fstat(3, {st_mode=S_IFREG|0755, st_size=6699224, ...}) = 0 >>>>> lseek(3, 792, SEEK_SET) = 792 >>>>> read(3, "\4\0\0\0\24\0\0\0"..., 68) = 68 >>>>> lseek(3, 864, SEEK_SET) = 864 >>>>> read(3, "\4\0\0\0\20\0\0\0"..., 32) = 32 >>>>> >>>>> Into this: >>>>> >>>>> openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 >>>>> read(3, "\177ELF\2\1\1\3"..., 832) = 832 >>>>> pread(3, "\4\0\0\0\24\0\0\0"..., 68, 792) = 68 >>>>> fstat(3, {st_mode=S_IFREG|0755, st_size=6699224, ...}) = 0 >>>>> pread(3, "\4\0\0\0\24\0\0\0"..., 68, 792) = 68 >>>>> pread(3, "\4\0\0\0\20\0\0\0"..., 32, 864) = 32 >>>>> >>>>> 2019-08-05 Leandro Pereira >>>>> >>>>> * elf/dl-load.c: Use __pread64_nocancel() instead of >>>>> __lseek()+ __read_nocancel(). >>>>> * sysdeps/x86/dl-prop.h: Likewise. >>>> >>>> OK for master. I'll push after testing with bmg. No regressions on >>>> x86_64. >>>> >>>> Reviewed-by: Carlos O'Donell >>> >>> Pushed. >>> >> >> Unfortunately, I've found a regression on HURD when using >> build-many-glibcs.py (for testing some other code): >> >> ../glibc-many-build/src/glibc/libio/../sysdeps/posix/libc_fatal.c:161: >> multiple definition of `__libc_fatal'; >> ../glibc-many-build/build/glibcs/i686-gnu/glibc/elf/dl-allobjs.os:/work/lukma/glibc/glibc-many-build/src/glibc/elf/dl-minimal.c\ >> :188: first defined here >> >> To reproduce: >> ../src/scripts/build-many-glibcs.py >> /glibc/glibc-many-build glibcs i686-gnu >> >> emacs logs/glibcs/i686-gnu/004-glibcs-i686-gnu-build-log.txt > > Thanks. I didn't see this. Let me start another build. I think I know what's going on and I'm looking to a fix. We shouldn't let such build regressions linger for so long.