From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cmx-mtlrgo001.bell.net (mta-mtl-005.bell.net [209.71.208.25]) by sourceware.org (Postfix) with ESMTP id 8244A3857BA3 for ; Wed, 21 Sep 2022 13:53:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8244A3857BA3 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=bell.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bell.net X-RG-CM-BuS: 0 X-RG-CM-SC: 0 X-RG-CM: Clean X-Originating-IP: [174.95.58.43] X-RG-Env-Sender: dave.anglin@bell.net X-RG-Rigid: 631B547B05372691 X-CM-Envelope: MS4xfOTtYCKzjI+ppYONRE9PP722GziS6Xz4AP/mYyT8w4uwdFEgJ94R+zrjyc1NpF2MNcJlmq2NIL/p0r9WNARGgXh5BAhaxW+1CB8aczG7Y2QLTbTs/F6s BHMDSXWk4EeaLFRr1m6/iUYp3/eGmfTrcUTjBhi6LzznRGfzNnKRZrzLVNdVYqjNZWwc8pT6PAmXwAMAszDE3LKd2pxLtqFDtiuaEOAsta2z5rwQvj66thK2 38Aoa9p2cTADDBTW8etfTLLlgE3bSHuZkULxeaK0t3AOq9LYPF2cEnq/WLL07oCf X-CM-Analysis: v=2.4 cv=fbXOd2cF c=1 sm=1 tr=0 ts=632b1737 a=oiJDitmlNOPgVxj52MZyFw==:117 a=oiJDitmlNOPgVxj52MZyFw==:17 a=IkcTkHD0fZMA:10 a=FBHGMhGWAAAA:8 a=D9MLDWeIX-tIyqkBvhgA:9 a=QEXdDO2ut3YA:10 a=9gvnlMMaQFpL9xblJ6ne:22 Received: from [192.168.2.49] (174.95.58.43) by cmx-mtlrgo001.bell.net (5.8.807) (authenticated as dave.anglin@bell.net) id 631B547B05372691; Wed, 21 Sep 2022 09:52:55 -0400 Message-ID: Date: Wed, 21 Sep 2022 09:52:56 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [committed] hppa: undef __ASSUME_SET_ROBUST_LIST To: Andreas Schwab Cc: libc-alpha@sourceware.org, Helge Deller References: Content-Language: en-US From: John David Anglin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,BODY_8BITS,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2022-09-21 3:41 a.m., Andreas Schwab wrote: > On Sep 20 2022, John David Anglin wrote: > >> QEMU does not support support set_robust_list. Thus, we need >> to enable detection of set_robust_list system call. > This is actually a generic issue. What are the symptoms? This what Helge found building Debian glibc 2.23 under qemu: glibc is still building but here are some more failures: glibc-2.34/build-tree/hppa-libc/nptl/tst-align-clone.test-result:FAIL: nptl/tst-align-clone glibc-2.34/build-tree/hppa-libc/nptl/tst-cancel24-static.test-result:FAIL: nptl/tst-cancel24-static glibc-2.34/build-tree/hppa-libc/nptl/tst-cancel24.test-result:FAIL: nptl/tst-cancel24 glibc-2.34/build-tree/hppa-libc/nptl/tst-cancelx17.test-result:FAIL: nptl/tst-cancelx17 glibc-2.34/build-tree/hppa-libc/nptl/tst-cleanupx4.test-result:XFAIL: nptl/tst-cleanupx4 glibc-2.34/build-tree/hppa-libc/nptl/tst-execstack.test-result:FAIL: nptl/tst-execstack glibc-2.34/build-tree/hppa-libc/nptl/tst-getpid1.test-result:FAIL: nptl/tst-getpid1 glibc-2.34/build-tree/hppa-libc/nptl/tst-mutexpi10.test-result:FAIL: nptl/tst-mutexpi10 glibc-2.34/build-tree/hppa-libc/nptl/tst-pthread-attr-affinity-fail.test-result:FAIL: nptl/tst-pthread-attr-affinity-fail glibc-2.34/build-tree/hppa-libc/nptl/tst-pthread-gdb-attach-static.test-result:FAIL: nptl/tst-pthread-gdb-attach-static glibc-2.34/build-tree/hppa-libc/nptl/tst-pthread-gdb-attach.test-result:FAIL: nptl/tst-pthread-gdb-attach glibc-2.34/build-tree/hppa-libc/nptl/tst-pthread-timedlock-lockloop.test-result:FAIL: nptl/tst-pthread-timedlock-lockloop glibc-2.34/build-tree/hppa-libc/nptl/tst-robust-fork.test-result:FAIL: nptl/tst-robust-fork tst-cancel24 triggered my interest, so I checked what's doing: #>  QEMU_LOG=strace ./glibc-2.34/build-tree/hppa-libc/nptl/tst-cancel24 ... 2080424 set_robust_list(-105721680,12,0,-105720464,-100671382,1) = -1 errno=251 (Function not implemented) ... This syscall isn't implemented in qemu, and probably won't either. Here is the comment from qemu sources:     case TARGET_NR_set_robust_list:     case TARGET_NR_get_robust_list:         /* The ABI for supporting robust futexes has userspace pass          * the kernel a pointer to a linked list which is updated by          * userspace after the syscall; the list is walked by the kernel          * when the thread exits. Since the linked list in QEMU guest          * memory isn't a valid linked list for the host and we have          * no way to reliably intercept the thread-death event, we can't          * support these. Silently return ENOSYS so that guest userspace          * falls back to a non-robust futex implementation (which should          * be OK except in the corner case of the guest crashing while          * holding a mutex that is shared with another process via          * shared memory).          */         return -TARGET_ENOSYS; This basically means we never will be able to succeed this test when building glibc on qemu-linux-user - unless we disable such tests, which I think isn't a good idea. Dave -- John David Anglin dave.anglin@bell.net