From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id B3A8E385B53C for ; Fri, 21 Jul 2023 18:55:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B3A8E385B53C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36LEFuFD017456 for ; Fri, 21 Jul 2023 18:55:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=63eF2QRQbJx8AXpxZ7dtqlZe0r+uWebhWtADY470DAQ=; b=wO4UEZ3NBiEM8L3pXSwVRDBTjYi7AsQsblMwT+TKycEP/no7vLwBv1iuUQiK/K9re0z4 0E8frzQrMb1x5/vr53U4HNUWiuWP+1qbPF32MkBUSeJQBknfna5QsEdDBVZjQqqxbmaq njqw2NHkN1Wq1NGygxjrkNXvG4PtmYIr3TA7neORno4CDuUg9koKZ6Cz/UciHvhcCf4h 2hzANS9SmeDwz9Fzid+7g2EBK/g2chQ00vPHbWvsWC1lhAyyq7cw+p/Y82WUkqfSboMc 20Kr/mhbg+QhjQ1j2F3mpkCz2wpepHrXi+lzC1L9lyykQOb0ayH0pINlpsbabIDhhTig uA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run88vpp2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 21 Jul 2023 18:55:10 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36LH3a4I038262 for ; Fri, 21 Jul 2023 18:55:10 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2040.outbound.protection.outlook.com [104.47.74.40]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhwabk80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 21 Jul 2023 18:55:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DoKACLjJHmJaxIRDdruX6bn3OyMhUyCHtQNkxfzPddiqumQ1Ogj0GVmyBxKAH/bCdHU6oOeDDcrjtC5AhgXttY/7azox4as29Lu7Nwt0XIHMxLmi+2/Z2vwJbjyu/tX4EcaTlPOIYmyA0LfkjofqJau0u1AxGQvSP9CsCqwsDJ3oquUPJsPUb52T3Cxkc6YbVgsRdqTXf5kxkxCTSakLWPjhENDb8lWVUMD16ddrvlWyuUbknGsMAv3585Dsq6USXTfuvy1BMsL8dqPTG0ZuewKx2b0cO+8ZUVGOVo29EfLdrNjcPY0SiybV/JuR6fbRYheXcrwRLh1v5cB+kur/xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=63eF2QRQbJx8AXpxZ7dtqlZe0r+uWebhWtADY470DAQ=; b=KsM0f8ZlhTqang90ABntZpMfWhGPKBjIAqcDrfDjqVQFz+Rq5jMkJRgiREKHb4c2puqkfNpAye0KpihCkWY4RjjAA9R+EQ1TM9zSKz5HqfAmmrqxK9UyHuMN6ZfoIQN8aOTeF4vMuqMJtr10VzH1CZCeJUdsbIqC82SfFd6z+q2LdUCX1GVgpncGbbFInDe7vf6BaFFySQE4mtOey+DSGMpU8Rz0HLZaVHRtpBMwstr0sx0JFNwmn1Wl//nY39OLfgNDIG2qMnOkn4Wf764cGWOQCV9hMsF7PzvR0FUSbd1jMpDEicbQsVZJIK69ksRbRjpzHr5lb41jucQhTeSmVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=63eF2QRQbJx8AXpxZ7dtqlZe0r+uWebhWtADY470DAQ=; b=nq1/qoFugbGKaH96oh84DpBkJky+Y94/HvF+Ul6s4mjnN85Pnl5VsyIPm76v5zXshRyG/zX1MVeAPzFVASpV/zSifa4JuE97aEJcnGY+a51vGqDorvKqw/u4rGqYDSLKk+eVSXtin+cmSoCwMDBtjVBDbqG/et0SJWOnLgFMD+I= Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by CO6PR10MB5540.namprd10.prod.outlook.com (2603:10b6:303:137::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.28; Fri, 21 Jul 2023 18:55:07 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::827f:8665:2052:16c5]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::827f:8665:2052:16c5%4]) with mapi id 15.20.6609.026; Fri, 21 Jul 2023 18:55:07 +0000 From: David Faust To: jose.marchesi@oracle.com, binutils@sourceware.org Subject: [PATCH v2] bpf: disasemble offsets of value 0 as "+0" Date: Fri, 21 Jul 2023 11:54:59 -0700 Message-Id: <20230721185459.7125-1-david.faust@oracle.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <87fs5h5e4m.fsf@oracle.com> References: <87fs5h5e4m.fsf@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BYAPR05CA0077.namprd05.prod.outlook.com (2603:10b6:a03:e0::18) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|CO6PR10MB5540:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ecaa1ff-1ebe-4f5b-2fb6-08db8a1c0021 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JyxMjbO+wjVx25sWL5BbvElyGaaLKFXugdqhJwB1c3qWDUhE+oZvbwTDxRsNybSBZwcJBZ+ScVj5hfgY5CxKs75+Bi0fSqqbkPIrFWOfC0Hz5ZCrPH4FQN+ScvoKfPs5kjTi/0L+7PqNXF9+jsyhOVLRVNmlpraJxfY+79Jc9KgIPEJehCmR0vhSYHovC9qBYqx6GCZbTSTKrvk9KZkU8luu/GXmlkcFlRlvIbG8wEEusnZ4uzlfh9pqFuZt5lLb+1Qbi9eogj8DWSVHY8UEbp9WIgz9t5NfjPimlg3Z9cOI2ZA9eRhe61l2wX64px1ap4+dxT1OUjTIQSr672x6PTRG8RMC3emN6I/TsSpIiKp3I64g1h1FDPqQ8w6ZVWhqjU3EbZ30fZiImwegn5/5nvD7BMVfEoOXGgbI5juLEUTZ0CQk+Pc7L7g2QPjGSKAW75ZG1o5uFp8IyoKNRCIxo5flFDnQIkQ1nvjQwthCwOUlWeVlX2ZcHnfV4W2QwgTSicBE8j9WfuLubiCnfynw1oxGKLbkAriifNd3ubwGcSk9T0dbRfs75SY+Ty+ubo9i X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR10MB3213.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(376002)(396003)(39860400002)(451199021)(66476007)(6512007)(478600001)(6486002)(6666004)(1076003)(41300700001)(186003)(6506007)(5660300002)(66946007)(8936002)(44832011)(316002)(2616005)(8676002)(26005)(38100700002)(86362001)(66556008)(36756003)(83380400001)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tktOhfd4joDeK/Wdz20Gi7JlUq51k0uh1JCXKl8WuQBKAaB+f/1j/Lug22Rs?= =?us-ascii?Q?ZJf7BuH474KtX6U1uoz9F/HjRkbu9p2/ac3bPCBQwP3htsHL8tx7l/GiqXes?= =?us-ascii?Q?zeTrz9Uj2o5VBsOR5GciMHblwK8kF/DQQHkx6w2AukRBuSW8uDNoUe8F82tF?= =?us-ascii?Q?qL8zLlfuIJE8SHZ2zQfMuedhLEnOgQ8YXquqkZTuwfWFMLwyjPq+kr3uWON/?= =?us-ascii?Q?v49TpqJ7V6tSVSgLC4ktmgwZlME9Xwx004LdnWCR53IQFq+2K5rUYA7PfOSm?= =?us-ascii?Q?kKoPXHWFtHcNRep2Sle03assxaiN8JfZlwgOQgn0zIL4IZ/78t3HTuX323w6?= =?us-ascii?Q?anJzo9i1occdUXM+HGSR7AxYAG9WPO44PjlqWNZPaHyLmBNKW0N9Sw6LelOj?= =?us-ascii?Q?rggvjWM46N8jBCQNxDUSjauPBJ6mRvX8q8ojCqmn4FINFtJ8VGpHtQ8UZTjq?= =?us-ascii?Q?vd/LgxXIlBC50NU+SBbY1bMkEMQKWkq6GviYC1dwlPVSunE4AL6MMX1PP76L?= =?us-ascii?Q?GD6y5DwpjBhPTNlIWTTCYpFCJj3JgxxrkOZfaXgYNpMTWwqYjDSqjFtecvsk?= =?us-ascii?Q?UQ3QbJXP4n1vGUaddIIV0poOty69tDRoIUWUEENAmctosAOeOXM/0O34Qy5w?= =?us-ascii?Q?PVxj4f7jZBh2QvGjVYRzzdILRtLph1FWc9iLtSfxsNPUn9ynH73PvcyCmJtm?= =?us-ascii?Q?7hQ2K5POmjPtsdezyU5dJZH42IW7IJfgciD5JfueZhdyjorf8tCNP3JpLJBJ?= =?us-ascii?Q?QZzn9VyBSZjhgPhSIhXBDH/Dbcbzh9qW5OdrntVJxeDK3rGc+sSN9uWmUaRd?= =?us-ascii?Q?X5CAZzVlxKUMzARpQQqylg/FKLX0zICGsTaAHQhY+4TwflSY0sKM/nQIz0hE?= =?us-ascii?Q?1pNZUbN1HwSkXEz6KQVh08+gq4chDSahEUcqxWcfPlkSB3mee8QFmPLUFOCo?= =?us-ascii?Q?ep3FmHEWr4Pvr2NghIBUJEWkn2bk0YLoiZeoGimNbKxmdlJZpUz3+qIx0y3Q?= =?us-ascii?Q?l2sOiYajKOyWjcKBPA4UaViBk/RKZUN6vLpg9m4kExXtlLj8Hwvw4q3cAlE/?= =?us-ascii?Q?p/G4qqRabEOZ+lFr2+U4UnLqWmUU64YH3Ebj5ab37JfYy/0fQU7wSuh1avgj?= =?us-ascii?Q?WtWcBehnd/rretDe00Q3lt24fEcqRtmLbR/s6v2aFrT0OdpLWtBLu5KJ8QJj?= =?us-ascii?Q?k7KqQHhRMyj8nPybG/D3chtCmryPZCtpCjFngWFMAZNS+12f1ESfNiFPFghQ?= =?us-ascii?Q?wVQ+ONtI776T5vlUpcELOm9UZ5EHcJQNyH82uW/Z6D9hFrn9kLnvqN/SBvtO?= =?us-ascii?Q?7PMzis6ruPvVK1cpunWPIe/B1JtDHNseE8XAV7qjll4yUwpELneuXo+IXZ9h?= =?us-ascii?Q?WXg2Nv19ge6GDXg0t+yOJSf4TtJXpki/vV0bHl6YBpvTFBB4erBEBIcISMbx?= =?us-ascii?Q?xLu3Yw+zMBojL292tQADYfrgyUsPndUS1Sh+DYHHU3ToDo5uUz5VuCWjdz22?= =?us-ascii?Q?tQCDjyuXHKJ7CDY1KfgDUmvgbVRDVmqNJZp9WeOMop+pMABd4T+Q87PDayn9?= =?us-ascii?Q?KDxd9xdG7AgojHqYAUl6ynSsTr1JIz2x7RbpSEN4?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: qVTOanCkfjjl7nL4XdKbR3SphSGFsrcZOhNcj2vhyAhDIgKoeoLByfyJ9wIA4XO6bh2g04AHRQ+R6x2uJXrGqnpJfu1NKsclAEklXS4ghErBFpT1HbpOMy5Fd972kIiZvx4kkSmXUxnF7GrNqLOLZDyaTfHcmAz2XyObmbM8D0/99o0e+s21WGuk8JHmRwETqG6tM5e6ONINS8kZs39fFY6UBoLqze16GoGNJ/gtCR+itbw/3BOmy3+zJcYzhkYx0kTMozePWu/ktIkYQ94y5+UTE0/0w6im4Z6IIfdxNQ8mGz8qOfAnkye4MrKjlMmVJIcn+TmV/whNQKxbpGKlZGYZJGWAzajHXbaUAfGWeiIe08dTKsgzdAHPGc4aOmrr1g4YhsQwvkWyldK4T7ekwmyXtpW+sJKkAcWVIDoBgdukCYMGCF1BBIxoEsl7v0ckhAmXK3pd6rlC2dstPPgwLa8O7vRsSMQfaMZUJm4yxcacwhI8WyH+553JcYlzXvVeKjscieUj0Q1SpH65RoGAdFrR/sO46yHZDae8sZhcrQKVgtWT5TXWHQIuGSRUMx/2e4nkr8kGBBBaZfy7Hdv0Sl4Kp4PiUP2h5oyxBgNz5OmNhTaVVI5OQp4Uzqu10eIYpQdH2arH6Yqp/crz839kU+0n0GYQ2l8qGpQe7X5wAJKPFgS2w5kh263paquVNQqKA07dZ8vCjUDfOUwsK01g2wz2LNC9SsFpmuJmEoJlDFAEfkUPLNb/usooiaGsi84f X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ecaa1ff-1ebe-4f5b-2fb6-08db8a1c0021 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2023 18:55:07.0872 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mXQuC4uXQz941Yfvrlmco5Klsd1lA/c9rlvSR6br59nI9gx3dJOMUpqWzYXLXk8va2WJ+/MT7sZvwBvMtCI1RQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5540 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-21_10,2023-07-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 malwarescore=0 mlxlogscore=812 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307210166 X-Proofpoint-GUID: 8xPb3llrPVqfBjSzNNsooEYtZxcS8_zU X-Proofpoint-ORIG-GUID: 8xPb3llrPVqfBjSzNNsooEYtZxcS8_zU X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: [Changes from v1: - Also do the same for 32-bit offsets - Add gas testsuite updates. ] This tiny patch makes the BPF disassembler to emit, e.g. ldxdw %r1, [%r0+0] instead of ldxdw %r1, [%r00] when the offset is 0, to avoid confusion. opcodes/ * bpf-dis.c (print_insn_bpf): Print offsets with value 0 as "+0". gas/ * testsuite/gas/bpf/mem.s: Add tests with offset 0. * testsuite/gas/bpf/mem-pseudoc.s: Likewise. * testsuite/gas/bpf/mem.d: Update accordingly. * testsuite/gas/bpf/mem-be.d: Likewise. * testsuite/gas/bpf/mem-pseudoc.d: Likewise. * testsuite/gas/bpf/mem-be-pseudoc.d: Likewise. --- gas/testsuite/gas/bpf/mem-be-pseudoc.d | 2 ++ gas/testsuite/gas/bpf/mem-be.d | 4 +++- gas/testsuite/gas/bpf/mem-pseudoc.d | 2 ++ gas/testsuite/gas/bpf/mem-pseudoc.s | 2 ++ gas/testsuite/gas/bpf/mem.d | 4 +++- gas/testsuite/gas/bpf/mem.s | 2 ++ opcodes/bpf-dis.c | 4 ++-- 7 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gas/testsuite/gas/bpf/mem-be-pseudoc.d b/gas/testsuite/gas/bpf/mem-be-pseudoc.d index 9a1ffc10984..5dff35c225d 100644 --- a/gas/testsuite/gas/bpf/mem-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/mem-be-pseudoc.d @@ -32,3 +32,5 @@ Disassembly of section .text: a8: 89 21 7e ef 00 00 00 00 r2=\*\(i16\*\)\(r1\+0x7eef\) b0: 91 21 7e ef 00 00 00 00 r2=\*\(i8\*\)\(r1\+0x7eef\) b8: 99 21 7e ef 00 00 00 00 r2=\*\(i64\*\)\(r1\+0x7eef\) + c0: 58 05 00 00 00 00 00 00 r0=\*\(u64\*\)skb\[r5\+0x0\] + c8: 61 21 00 00 00 00 00 00 r2=\*\(u32\*\)\(r1\+0x0\) diff --git a/gas/testsuite/gas/bpf/mem-be.d b/gas/testsuite/gas/bpf/mem-be.d index 5746b6a9485..cd7b35c60a3 100644 --- a/gas/testsuite/gas/bpf/mem-be.d +++ b/gas/testsuite/gas/bpf/mem-be.d @@ -31,4 +31,6 @@ Disassembly of section .text: a0: 81 21 7e ef 00 00 00 00 ldxsw %r2,\[%r1\+0x7eef\] a8: 89 21 7e ef 00 00 00 00 ldxsh %r2,\[%r1\+0x7eef\] b0: 91 21 7e ef 00 00 00 00 ldxsb %r2,\[%r1\+0x7eef\] - b8: 99 21 7e ef 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] \ No newline at end of file + b8: 99 21 7e ef 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] + c0: 79 21 00 00 00 00 00 00 ldxdw %r2,\[%r1\+0x0\] + c8: 40 03 00 00 00 00 00 00 ldindw %r3,0x0 diff --git a/gas/testsuite/gas/bpf/mem-pseudoc.d b/gas/testsuite/gas/bpf/mem-pseudoc.d index 8481048504d..ca94cef51cf 100644 --- a/gas/testsuite/gas/bpf/mem-pseudoc.d +++ b/gas/testsuite/gas/bpf/mem-pseudoc.d @@ -32,3 +32,5 @@ Disassembly of section .text: a8: 89 12 ef 7e 00 00 00 00 r2=\*\(i16\*\)\(r1\+0x7eef\) b0: 91 12 ef 7e 00 00 00 00 r2=\*\(i8\*\)\(r1\+0x7eef\) b8: 99 12 ef 7e 00 00 00 00 r2=\*\(i64\*\)\(r1\+0x7eef\) + c0: 58 50 00 00 00 00 00 00 r0=\*\(u64\*\)skb\[r5\+0x0\] + c8: 61 12 00 00 00 00 00 00 r2=\*\(u32\*\)\(r1\+0x0\) diff --git a/gas/testsuite/gas/bpf/mem-pseudoc.s b/gas/testsuite/gas/bpf/mem-pseudoc.s index 1ffa2e25926..4a5e588b91a 100644 --- a/gas/testsuite/gas/bpf/mem-pseudoc.s +++ b/gas/testsuite/gas/bpf/mem-pseudoc.s @@ -25,3 +25,5 @@ r2 = *(i16*)(r1+0x7eef) r2 = *(i8*)(r1+0x7eef) r2 = *(i64*)(r1+0x7eef) + r0 = *(u64 *)skb[r5 + 0] + r2 = *(u32 *)(r1 + 0) diff --git a/gas/testsuite/gas/bpf/mem.d b/gas/testsuite/gas/bpf/mem.d index 8b7a488ae01..9a1e7095df0 100644 --- a/gas/testsuite/gas/bpf/mem.d +++ b/gas/testsuite/gas/bpf/mem.d @@ -31,4 +31,6 @@ Disassembly of section .text: a0: 81 12 ef 7e 00 00 00 00 ldxsw %r2,\[%r1\+0x7eef\] a8: 89 12 ef 7e 00 00 00 00 ldxsh %r2,\[%r1\+0x7eef\] b0: 91 12 ef 7e 00 00 00 00 ldxsb %r2,\[%r1\+0x7eef\] - b8: 99 12 ef 7e 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] \ No newline at end of file + b8: 99 12 ef 7e 00 00 00 00 ldxsdw %r2,\[%r1\+0x7eef\] + c0: 79 12 00 00 00 00 00 00 ldxdw %r2,\[%r1\+0x0\] + c8: 40 30 00 00 00 00 00 00 ldindw %r3,0x0 diff --git a/gas/testsuite/gas/bpf/mem.s b/gas/testsuite/gas/bpf/mem.s index 6323cf1ede7..adeda473bb8 100644 --- a/gas/testsuite/gas/bpf/mem.s +++ b/gas/testsuite/gas/bpf/mem.s @@ -26,3 +26,5 @@ ldxsh %r2, [%r1+0x7eef] ldxsb %r2, [%r1+0x7eef] ldxsdw %r2, [%r1+0x7eef] + ldxdw %r2, [%r1+0] + ldindw %r3, 0 diff --git a/opcodes/bpf-dis.c b/opcodes/bpf-dis.c index a4dc3dc2523..4fe0efc2f96 100644 --- a/opcodes/bpf-dis.c +++ b/opcodes/bpf-dis.c @@ -215,7 +215,7 @@ print_insn_bpf (bfd_vma pc, disassemble_info *info) if (p[1] == 'I') (*info->fprintf_styled_func) (info->stream, dis_style_immediate, "%s", - asm_obase != 10 || imm32 > 0 ? "+" : ""); + asm_obase != 10 || imm32 >= 0 ? "+" : ""); (*info->fprintf_styled_func) (info->stream, dis_style_immediate, asm_obase == 10 ? "%" PRIi32 : asm_obase == 8 ? "%" PRIo32 @@ -231,7 +231,7 @@ print_insn_bpf (bfd_vma pc, disassemble_info *info) if (p[1] == 'o') (*info->fprintf_styled_func) (info->stream, dis_style_immediate, "%s", - asm_obase != 10 || offset16 > 0 ? "+" : ""); + asm_obase != 10 || offset16 >= 0 ? "+" : ""); if (asm_obase == 16 || asm_obase == 8) (*info->fprintf_styled_func) (info->stream, dis_style_immediate, asm_obase == 8 ? "0%" PRIo16 : "0x%" PRIx16, -- 2.40.1