From patchwork Sat Jul 8 05:42:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 13305580 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 6D120EB64DC for ; Sat, 8 Jul 2023 05:44:10 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qI0il-0000qo-7e; Sat, 08 Jul 2023 01:43:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0ig-0000pU-9K for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:58 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0id-00027K-1H for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1688794971; x=1689399771; i=deller@gmx.de; bh=7wsrwYU7lxpp4Z0xWfyIzcV+aXgA6/gu+Yde3GZqjVY=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=IRXPX8i5tgavxvwrhQbxD0xvIYuw0yM2tYmtj0ChJLhPlnNsNCL6umj0wBbSMQAlSF4Mlrr VbyvtkeIir87JO6+aBjtWxG384BV2LfqT5xHUoSPldMd4+12WlxoPjZ99w//Vw7JclXEKYL/E s0fz1t4VWXt8lC1WyMDAfM4+P/+wtHZnUjYJqg2B8uqw+FSMcbqvCDmB6eKDMQMcHAMTtWe1X 3b+codCD6VMc9yWpVoLoR6r8FkVUko7pgN3PoFh08hvJpSe/ipNxElHCu0HvFisWfl8FlxdrY gjjXWjyu4vXq0u0sWpMqLZgp+1ABLlaDHTaUWss2m5l1K3PEa5Qg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from p100.fritz.box ([94.134.155.129]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N0oBx-1q5xRX3ksX-00wqRh; Sat, 08 Jul 2023 07:42:50 +0200 From: Helge Deller To: qemu-devel@nongnu.org, Laurent Vivier , Richard Henderson Cc: Helge Deller Subject: [PATCH v2 1/3] linux-user: Fix fcntl() and fcntl64() to return O_LARGEFILE for 32-bit targets Date: Sat, 8 Jul 2023 07:42:47 +0200 Message-ID: <20230708054249.10245-2-deller@gmx.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230708054249.10245-1-deller@gmx.de> References: <20230708054249.10245-1-deller@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:wIf+O/UFW9hSf0nf7PbM/YIL095ed5g0T98WJmC+/wTtTmPl4dF C1XnD4xvtYgFIOeHiJgUHXPpnnKVMono9njb/OiWlAiT6vdmjpZunwO4El5ujxD9OZgGImz ySUoq5yjTE03ECFmxsLBhWCWyCt9c3M9mEvWu7yC22jH+EEhoXgcnbnnhmkA3nVqPmZ1RcC PpGiZOk1Le3Yd2ZcnFQlA== UI-OutboundReport: notjunk:1;M01:P0:09WdGbeJx3o=;wowQYuuRhjXqcrDsf3v9RMKgx8g Bgmzntw3uOAdZPC6aHHHq2+cn9GWyB6fD6r02GmP4V83C4I5fvu1b23t7v3UkuTw2uWxLyIz2 8/HIBEmUZ94v2LLkKcPXJhoGyKPEoFTOcAB8/HeP596ElVdvx1BLxFT0ZPqL2Xt7YM1NtkB6J rkmeVbejHWDKJN3TEYJv8zwm0+9rfR/0uNfPcNhns+gGxZZT21DTznpl/zkV9nAttnACa0Zka 9YWwirnEbTqAcBjtxx0eP2tGwZLbgK6yk5Mdf/B1nbD4jZh3G6wpz2zXJa9PT7mJLAxJduzeA cZqeLHeFXdULwnAns3aKAQfbu4WjPJ3CmfutuRoFp8Y7xXOdgXxceLzhED+fr9CUQWGccsNZH Myvu7GpbEZ/8l3stlgso+uGs4GRMJHQOFa/+ivrwMpB18MOTsZLJotZfmBYqPhN8Hj+P02xrT 7epFvcVAL4UqUsMVjLQmmJ0tqUcjRAk1qu0iu/nN+WDsRSMwgW0y71InggP7n7EYP1Y/RM32j DPmtSEqcSTfaOsecviBlcvNSI28MBVwD5EXW/rmrEa8YEBE+BTRWl8mW1Qet/g1xkYqQoYCBB LW6FjVNQ4xV8Z9pZonH9EkbUwTtGy/r2I5VsoJ3/UWyBPExj2irLLVg6BJKS5JcptUMrfTSB/ 3SMPLdLfR4I7vxPpGbrun5IwOiXQgfIAEll4p1vjeKi+4UPgqtAFqjt0lY/oIGHm/4xTEAADz 19ESLzG0zZuK8SjxquH00do1VxFAoi/lMF2RCfynE4GytuUbm8Cu4PJyjsF7eM5zMU5bQ4NmV a7m/kPgh6iEda0TSkaenfvUurDZDk6aGslgY3MR1r5DIV9mSdC9WYeXoH4H+VFdG0SQJ1dJnl DylCpzlv04um1myl87ZihUIm5wsTF/mqsqnZ6MZDgPrw5QBbeQjn2OXvzvqVC1W9hE3Qw/drg wnMyVtPzxtVWvQpvdW3aZszXF2Q= Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org When running a 32-bit guest on a 64-bit host, fcntl[64](F_GETFL) should return with the TARGET_O_LARGEFILE flag set, because all 64-bit hosts support large files unconditionally. But on 64-bit hosts, O_LARGEFILE has the value 0, so the flag translation can't be done with the fcntl_flags_tbl[]. Instead add the TARGET_O_LARGEFILE flag afterwards. Note that for 64-bit guests the compiler will optimize away this code, since TARGET_O_LARGEFILE is zero. Signed-off-by: Helge Deller Reviewed-by: Richard Henderson --- linux-user/syscall.c | 4 ++++ 1 file changed, 4 insertions(+) -- 2.41.0 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 08162cc966..10f05b1e55 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7132,6 +7132,10 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg) ret = get_errno(safe_fcntl(fd, host_cmd, arg)); if (ret >= 0) { ret = host_to_target_bitmask(ret, fcntl_flags_tbl); + /* tell 32-bit guests it uses largefile on 64-bit hosts: */ + if (O_LARGEFILE == 0 && HOST_LONG_BITS == 64) { + ret |= TARGET_O_LARGEFILE; + } } break; From patchwork Sat Jul 8 05:42:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 13305578 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 3E07DEB64DA for ; Sat, 8 Jul 2023 05:43:38 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qI0ii-0000q6-0U; Sat, 08 Jul 2023 01:43:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0if-0000pM-Eq for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:57 -0400 Received: from mout.gmx.net ([212.227.17.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0id-00027M-0G for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1688794971; x=1689399771; i=deller@gmx.de; bh=+MSM8h55QN1qQYOXWl0OKkCF9OBQUPKZbUY+9yeVxXs=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=tKu0moS/JoR/xk8DwdHccTixg9NOvmyH+UEz5mYwHP24k31VzFFfMb+ziyiaMrctOG1F+nB ZlEebUS0gHuE3FaEP5llKSdbCpPNpM8FET9/4fuylQd+8Nqr2j0zEXvJRhORPFgxWMAlvQcfk DH74d/CcyvDWMeqmM2mP6GnKhdWB0UPflvWBCpCpRvFKFD/DeWAoxLXn5hUDM67U+eZ6junJI P+Y4GjrW/YLjm7EpwcPeXCK03yM+mcn3iQkvVV1oC6zBquRlVVUN4CH7MzAWXhe04O5n9bcND 1GM/Xeut8ft0pZP+baYZtFBj4TNcLDzE7JdS+yiY/YN8lMCgn47Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from p100.fritz.box ([94.134.155.129]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MDQic-1qAovN0EGE-00ASfu; Sat, 08 Jul 2023 07:42:51 +0200 From: Helge Deller To: qemu-devel@nongnu.org, Laurent Vivier , Richard Henderson Cc: Helge Deller Subject: [PATCH v2 2/3] linux-user: Fix accept4(SOCK_NONBLOCK) syscall Date: Sat, 8 Jul 2023 07:42:48 +0200 Message-ID: <20230708054249.10245-3-deller@gmx.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230708054249.10245-1-deller@gmx.de> References: <20230708054249.10245-1-deller@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:UlwTVXHCFzJP8kpnUJ6yJJqNujG9jEABXH0DBFUryljyZysRqUE WTYudiNZI2sIQa86wz9o/sNxgdhPzKY/bBbNjIb6lS0fKf0iX77668Asg66deLXNndnjfPT nf1lzzMUyys266UgOGGV8ysd5RzbiXFbU17lSQO9CvvMKqmLC4dhfDQshsnYzQsNCoFYou3 zVwjIJ2vauw6aQ0Cdpp6A== UI-OutboundReport: notjunk:1;M01:P0:SWKrw+5S19g=;XKz+pdagBkVTtVxlnyab59OkLb3 Pp/Vk6AS+aEcV1SKSM3inEZSR8H23C4iRV/bHNiPgL/V7Nn562aGBLqtoJLeRVc9EGCARRTp4 H6uUGEiS0nzJugz2MBMRf+yljj8Xv1+MP8iVBpyFNaOpAi3K0NqTGSX0B0cDs4qTT2QBeH40i M1M322V4CSLO4CNIMpLeySPGpOGbijXRuNXOUD55/3AeagreJTIekJGNwMSjAxYm0L3PeFdb6 s4WalOQAsOl8WHLeLSGvaqifh70o4auwEe609AcdPK6YbwuGmqma+TpXbWVQlDfO7UWyzjjrl wUD0lIP4QiusmVwolnzVNjRx81lOkyizYRHdx76wSk0V4s4zacT6xjNUOlYUgBQtehYM6Tk36 F/yhTaWslRvlOg8vBxKSbNhx6U2uHbJg7tHdbkoabzTc+56rhk7OdRDbLgstJvCQcZYNhr9AY RFkf+CxVRwlTV061JRO080R8g4XUg3oy8Odkm4S4dK+dfGABbD4HecghKbuXvjNfjMSAy7LBc ukd6BuWVjVLK9EEaL7hzQzv3wMhp03BXP70IUaONlOh33zIy/+t99+BwJxCsFoll7c5BuXNRn Ws8Ej+vjCXfKODn67abwv65r2kLkqpghqSpSRvAw8NQws52AFfkUOODZCrsy/qkAccZKG+FTZ wogC875RH5maSSnpXQ/g2M8PbGuJJCAAiwuHfy51O5tmEEThZHi//R806qoIAXvdYig1se9mL K9Ex1zAYbx4z11WNCD23MCEaHTl1n+SmHqlNrD//lREJW0OfNjqCreliuniGydqPtaPNv+/g8 1C7FkaxtZrO8cKW+B7zho+DxgadldyxDo8wegrLvNxbRll7073iORp1ZPen8CPzRj/GHkTKXm iiawYakKCh6hl5oH0vONyOHKGNrNtK7A3UUOpORyl/MxOiapQlIuZ5s53nYslYn08LftK2mr8 s/1TPNOREe6S6/aTMXubunEU5gs= Received-SPF: pass client-ip=212.227.17.22; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The Linux accept4() syscall allows two flags only: SOCK_NONBLOCK and SOCK_CLOEXEC, and returns -EINVAL if any other bits have been set. Change the qemu implementation accordingly, which means we can not use the fcntl_flags_tbl[] translation table which allows too many other values. Beside the correction in behaviour, this actually fixes the accept4() emulation for hppa, mips and alpha targets for which SOCK_NONBLOCK is different than TARGET_SOCK_NONBLOCK (aka O_NONBLOCK). The fix can be verified with the testcase of the debian lwt package, which hangs forever in a read() syscall without this patch. Signed-off-by: Helge Deller Reviewed-by: Richard Henderson --- linux-user/syscall.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) -- 2.41.0 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 10f05b1e55..9b9e3bd5e3 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3440,7 +3440,17 @@ static abi_long do_accept4(int fd, abi_ulong target_addr, abi_long ret; int host_flags; - host_flags = target_to_host_bitmask(flags, fcntl_flags_tbl); + if (flags & ~(TARGET_SOCK_CLOEXEC | TARGET_SOCK_NONBLOCK)) { + return -TARGET_EINVAL; + } + + host_flags = 0; + if (flags & TARGET_SOCK_NONBLOCK) { + host_flags |= SOCK_NONBLOCK; + } + if (flags & TARGET_SOCK_CLOEXEC) { + host_flags |= SOCK_CLOEXEC; + } if (target_addr == 0) { return get_errno(safe_accept4(fd, NULL, NULL, host_flags)); From patchwork Sat Jul 8 05:42:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 13305577 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 24E49EB64DA for ; Sat, 8 Jul 2023 05:43:34 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qI0ih-0000pk-8E; Sat, 08 Jul 2023 01:42:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0ie-0000pE-SX for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:57 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qI0id-00027O-0z for qemu-devel@nongnu.org; Sat, 08 Jul 2023 01:42:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1688794971; x=1689399771; i=deller@gmx.de; bh=4vNCKFekNbv+5ANANaDwSKyxfbXdKrgpehQ4Dcc1UMU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=YRifo0opPTQch8it7T/lnclymZwb0kjazygCvwI1E3MtvfUZlSbmywmcBixaxAuv7ghSFrE NzWg3e8voVl3hjhLRV0yRAjbPlSscBQp9RL2tRVMzwtEVdkPGDtuJ9gAQ97WcbbFB3SEOQqmY Ky5DffjhnfeaOr4QrwjcmTnFNruhxoSIPVsAFshxLytps/gmI/DMQFEkygz0M07d4ERAePhUe 3gpHtQyTdjgc4KVpImsAckgqx0idmUtBt4eMAt9mwbT9E0R+2YjTpBdiIB2qD4NNdYGfUyEq6 Gj0GeEdY5y4uoKu5b0PGX2+B1nJV3I19HP+h4eRpsjfBviWv69AQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from p100.fritz.box ([94.134.155.129]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N5mGB-1puNvc0pXn-017FEZ; Sat, 08 Jul 2023 07:42:51 +0200 From: Helge Deller To: qemu-devel@nongnu.org, Laurent Vivier , Richard Henderson Cc: Helge Deller Subject: [PATCH v2 3/3] linux-user: Improve strace output of pread64() and pwrite64() Date: Sat, 8 Jul 2023 07:42:49 +0200 Message-ID: <20230708054249.10245-4-deller@gmx.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230708054249.10245-1-deller@gmx.de> References: <20230708054249.10245-1-deller@gmx.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:zVAgNptuRKJAjXbmytA4SJCjU7fJDXXD9A0ruIVaJXx08R4ChrV nQQvz8MWC4DwLmDUDgmMWJsv0l0OQONCcuQ5R4o95IxcpQntCYH52UEN0XIJ8/UXgpIEDaN BDc9jRoHHIg9rrb7CGfqjqK6DuF8e29T0Fkb8SpAP5Gy9nxumskM6pw0xDHAV1foG8vi36l av+/zuKhUemS12mkNw40A== UI-OutboundReport: notjunk:1;M01:P0:XmsCq6CAPtU=;x5YmTWaWk2Y9ICBi7LTJihC53Vg iaxPZ81UDfrEo+gX+f9bdn/zpLVHSsCg3Yfpjcx6AFxHAXioOdyXW8fxsdXVhPqLw7jGHuyk3 nsSzn+r200Bp2CmqNT0T3meDPWUoZcsJEnFz36ULACg+ADItlxPLiWj92P4otZCViddtNNjTx C/Yjcy8Y8LvGHApgV56gP4B4zemXK39YJGdkZJUCiosGNEsPTkD+45DJQ1kGvETvd09iBeSbL LPwhDFKd9IgTdTIwUcQQMWO/nSH1OYCE+4JPJzew7ZnnhHwM+vUzz/j/kAG9PidZuilhasOO2 yaGJbX/Xqf1nkE6qcI3fDnfoMq9D/pPqg92anB0aby9qpijCd8g45p6kjBxlbxHOpMX9XIn2D ZJ60DZ86HfPNAcQohxT+pwzmSKTTas4smKdo+VTPat3ERGPbIPsgPtrYdiFLAV+7UA77KQw/F hWquBBmzxkXCPZYJPWP9casStoh9X0yZloCa4QhMnJGRm6XupNBcSEjQrQarVBuYid4SCaJ+h UdM4QBVUcoiti9uCDq3T9+hc8dTx1LjzUNso1KwkJhk82TvLV22uxIqnn7m4d5ogOBBI6fL5i COyt2C7kNeVtg99azJheuaYydBS6MTxjAUNg0hbALyCuXivrpG/kJdI2LBHNlE8b+vtMD273Z 2N50w4xnO+vlbszIZAIO8MFj61RaP13MqT3ZyNq+j9LWQtgHMmkcbbing8u7C1r+rYR1H29LU yj/HYOG3h3zKORftOfhU6rU1rJbI0J5kRGiqoyLnbXE+Jmx5Gy5WgQJRlKjBZHUsBlP+3CkTb RWfhIBvffVDBdjCEnmshgqCzQ86Ro4eVag2lWIa73vXooAlcehvqmlUBMlgHwtlXhchZtiecZ iS7nEbYrLEyjKWYelOot2FHC9IKogC/Vy0TXhS4kDKT3WaiZeV6Pho2jcP/k4dcz5YVLjA6nO vKe5dF6zIjoMTzAIjPKTo4bmCMY= Received-SPF: pass client-ip=212.227.17.20; envelope-from=deller@gmx.de; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Make the strace look nicer for those two syscalls. Signed-off-by: Helge Deller Reviewed-by: Richard Henderson --- linux-user/strace.c | 19 +++++++++++++++++++ linux-user/strace.list | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) -- 2.41.0 diff --git a/linux-user/strace.c b/linux-user/strace.c index aad2b62ca4..669200c4a4 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -3999,6 +3999,25 @@ print_tgkill(CPUArchState *cpu_env, const struct syscallname *name, } #endif +#if defined(TARGET_NR_pread64) || defined(TARGET_NR_pwrite64) +static void +print_pread64(CPUArchState *cpu_env, const struct syscallname *name, + abi_long arg0, abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + if (regpairs_aligned(cpu_env, TARGET_NR_pread64)) { + arg3 = arg4; + arg4 = arg5; + } + print_syscall_prologue(name); + print_raw_param("%d", arg0, 0); + print_pointer(arg1, 0); + print_raw_param("%d", arg2, 0); + print_raw_param("%" PRIu64, target_offset64(arg3, arg4), 1); + print_syscall_epilogue(name); +} +#endif + #ifdef TARGET_NR_statx static void print_statx(CPUArchState *cpu_env, const struct syscallname *name, diff --git a/linux-user/strace.list b/linux-user/strace.list index c7808ea118..6655d4f26d 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1068,7 +1068,7 @@ { TARGET_NR_prctl, "prctl" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_pread64 -{ TARGET_NR_pread64, "pread64" , NULL, NULL, NULL }, +{ TARGET_NR_pread64, "pread64" , NULL, print_pread64, NULL }, #endif #ifdef TARGET_NR_preadv { TARGET_NR_preadv, "preadv" , NULL, NULL, NULL }, @@ -1099,7 +1099,7 @@ { TARGET_NR_putpmsg, "putpmsg" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_pwrite64 -{ TARGET_NR_pwrite64, "pwrite64" , NULL, NULL, NULL }, +{ TARGET_NR_pwrite64, "pwrite64" , NULL, print_pread64, NULL }, #endif #ifdef TARGET_NR_pwritev { TARGET_NR_pwritev, "pwritev" , NULL, NULL, NULL },