From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A167C432BE for ; Wed, 25 Aug 2021 07:36:35 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AC09461184 for ; Wed, 25 Aug 2021 07:36:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org AC09461184 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bugs.launchpad.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:56654 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mInSb-0002FJ-RS for qemu-devel@archiver.kernel.org; Wed, 25 Aug 2021 03:36:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39880) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mInRj-0008HB-65 for qemu-devel@nongnu.org; Wed, 25 Aug 2021 03:35:39 -0400 Received: from smtp-relay-services-0.canonical.com ([185.125.188.250]:40918) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mInRg-0004cq-TC for qemu-devel@nongnu.org; Wed, 25 Aug 2021 03:35:38 -0400 Received: from loganberry.canonical.com (loganberry.canonical.com [91.189.90.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp-relay-services-0.canonical.com (Postfix) with ESMTPSA id 9CA173F751 for ; Wed, 25 Aug 2021 07:35:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=launchpad.net; s=20210803; t=1629876933; bh=HKU8toDYlUhJDLHHqlQ/Le90oLW44mrjBNtsch0C2ok=; h=MIME-Version:Content-Type:Date:From:To:Reply-To:References: Message-Id:Subject; b=nSEWfdEtXv5OtqKLkGa1o+Cb9G+CLBCWqeDAc2R8EqXpRgGG54zksM24MXjmQB0HK uGMlGh6yzijwep+aQ933acXXVPdu//Byv3DN3xir8z+Wqs2zNfmDkEehRssfboHI+h /FlGBgV4QEXpteFjA2owEdZ6vkkJxflv2Gu7t4inv34C4ObwqgEQZQ74Z1AiNJio1h Izsvbf8Zc2W3qhMmwvvjV6/WNPX2RHJDowSOIooOWBJTbc1wyMDQHwk8jHjA+xyhuR 6Uix9OqDXTgVTSCD+e0WhOJQE632XJikAAsk3WehoT3nr2t6V7VnFVTGHz4zhybNqm aaJ2W7KReTX6A== Received: from loganberry.canonical.com (localhost [127.0.0.1]) by loganberry.canonical.com (Postfix) with ESMTP id 160802E8192 for ; Wed, 25 Aug 2021 07:35:32 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Wed, 25 Aug 2021 07:26:08 -0000 From: Thomas Huth <1705118@bugs.launchpad.net> To: qemu-devel@nongnu.org X-Launchpad-Notification-Type: bug X-Launchpad-Bug: product=qemu; status=Fix Released; importance=Undecided; assignee=None; X-Launchpad-Bug-Tags: linux-user X-Launchpad-Bug-Information-Type: Public X-Launchpad-Bug-Private: no X-Launchpad-Bug-Security-Vulnerability: no X-Launchpad-Bug-Commenters: bruno-clisp pmaydell th-huth X-Launchpad-Bug-Reporter: Bruno Haible (bruno-clisp) X-Launchpad-Bug-Modifier: Thomas Huth (th-huth) References: <150041005567.6544.17518405784140614257.malonedeb@gac.canonical.com> Message-Id: <162987637031.27592.17338435570406254229.launchpad@soybean.canonical.com> Subject: [Bug 1705118] Re: qemu user mode: rt signals not implemented for sparc guests X-Launchpad-Message-Rationale: Subscriber (QEMU) @qemu-devel-ml X-Launchpad-Message-For: qemu-devel-ml Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="7edb2d45353e030166106ae05838b77ab406edcd"; Instance="production" X-Launchpad-Hash: 951361b508aff83e0c49db2cac219c076b04428e Received-SPF: pass client-ip=185.125.188.250; envelope-from=noreply@launchpad.net; helo=smtp-relay-services-0.canonical.com X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Bug 1705118 <1705118@bugs.launchpad.net> Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" ** Changed in: qemu Status: Fix Committed =3D> Fix Released --=20 You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1705118 Title: qemu user mode: rt signals not implemented for sparc guests Status in QEMU: Fix Released Bug description: The documentation says that qemu in user mode supports POSIX signal handling. Catching SIGSEGV according to POSIX, however, does not work on ppc, ppc64, ppc64le, s390x, sparc64. It does work, however, on aarch64, alpha, arm, hppa, m68k, mips, mips64, sh4. How to reproduce: The attached program runs fine (exits with code 0) on - real hardware Linux/PowerPC64 (in 32-bit and 64-bit mode), - real hardware Linux/PowerPC64LE, - qemu-system-s390x emulated Linux/s390x, - real hardware Linux/SPARC64. $ gcc -O -Wall testsigsegv.c; ./a.out; echo $? 0 For ppc: $ powerpc-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -o testsigsegv-p= pc $ ~/inst-qemu/2.9.0/bin/qemu-ppc testsigsegv-ppc $ echo $? 3 For ppc64: $ powerpc64-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -o testsigsegv= -ppc64 $ ~/inst-qemu/2.9.0/bin/qemu-ppc64 testsigsegv-ppc64 $ echo $? 3 For ppc64le: $ powerpc64le-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -o testsigse= gv-ppc64le $ ~/inst-qemu/2.9.0/bin/qemu-ppc64le testsigsegv-ppc64le $ echo $? 3 For s390x: $ s390x-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -o testsigsegv-s39= 0x $ ~/inst-qemu/2.9.0/bin/qemu-s390x testsigsegv-s390x $ echo $? 3 $ s390x-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -DAVOID_LINUX_S390= X_COMPAT -o testsigsegv-s390x-a $ ~/inst-qemu/2.9.0/bin/qemu-s390x testsigsegv-s390x-a $ echo $? 0 So, the test fails here because the Linux/s390x kernel omits the least significant 12 bits of the fault address in the 'si_addr' field. But qemu-s390x is not compatible with the Linux/s390x behaviour: it puts the complete fault address in the 'si_addr' field. For sparc64: $ sparc64-linux-gnu-gcc-5 -O -Wall -static testsigsegv.c -o testsigsegv-s= parc64 $ ~/inst-qemu/2.9.0/bin/qemu-sparc64 testsigsegv-sparc64 Segmentation fault (core dumped) To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1705118/+subscriptions