From patchwork Fri Jul 21 18:54:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 124061 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9010:0:b0:3e4:2afc:c1 with SMTP id l16csp403199vqg; Fri, 21 Jul 2023 11:55:24 -0700 (PDT) X-Google-Smtp-Source: APBJJlHua0N2gxzvoDiYjFeJ5alJhw5Xa5569o+9l7gPuQr1ZWo7yO8cIbA4Z8bF579lEcV/y1I1 X-Received: by 2002:a19:3819:0:b0:4f8:6a29:b59b with SMTP id f25-20020a193819000000b004f86a29b59bmr1626250lfa.64.1689965724216; Fri, 21 Jul 2023 11:55:24 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id i6-20020aa7dd06000000b00521775bec83si2504467edv.336.2023.07.21.11.55.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jul 2023 11:55:24 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b="n/9naQHe"; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F0909385E037 for ; Fri, 21 Jul 2023 18:55:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0909385E037 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1689965723; bh=63eF2QRQbJx8AXpxZ7dtqlZe0r+uWebhWtADY470DAQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=n/9naQHeTg1Dh1+XR/z7PXLzBRLNdQHRwDn4ChBz6wnlX/T90Ri+Iu1zYMBuZuyV5 Y0Npro6V3GMyJUn4gmtZVu3iUQISgH/eEf1vGDkikqczBbT3bax1H5VKatjH8CKXQl wuIzyr+TI66YLlyysXy0W0UoN6h6FVHhEnOfH76Y= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org 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 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 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 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 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> 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: tktOhfd4joDeK/Wdz20Gi7JlUq51k0uh1JCXKl8WuQBKAaB+f/1j/Lug22RsZJf7BuH474KtX6U1uoz9F/HjRkbu9p2/ac3bPCBQwP3htsHL8tx7l/GiqXeszeTrz9Uj2o5VBsOR5GciMHblwK8kF/DQQHkx6w2AukRBuSW8uDNoUe8F82tFqL8zLlfuIJE8SHZ2zQfMuedhLEnOgQ8YXquqkZTuwfWFMLwyjPq+kr3uWON/v49TpqJ7V6tSVSgLC4ktmgwZlME9Xwx004LdnWCR53IQFq+2K5rUYA7PfOSmkKoPXHWFtHcNRep2Sle03assxaiN8JfZlwgOQgn0zIL4IZ/78t3HTuX323w6anJzo9i1occdUXM+HGSR7AxYAG9WPO44PjlqWNZPaHyLmBNKW0N9Sw6LelOjrggvjWM46N8jBCQNxDUSjauPBJ6mRvX8q8ojCqmn4FINFtJ8VGpHtQ8UZTjqvd/LgxXIlBC50NU+SBbY1bMkEMQKWkq6GviYC1dwlPVSunE4AL6MMX1PP76LGD6y5DwpjBhPTNlIWTTCYpFCJj3JgxxrkOZfaXgYNpMTWwqYjDSqjFtecvskUQ3QbJXP4n1vGUaddIIV0poOty69tDRoIUWUEENAmctosAOeOXM/0O34Qy5wPVxj4f7jZBh2QvGjVYRzzdILRtLph1FWc9iLtSfxsNPUn9ynH73PvcyCmJtm7hQ2K5POmjPtsdezyU5dJZH42IW7IJfgciD5JfueZhdyjorf8tCNP3JpLJBJQZzn9VyBSZjhgPhSIhXBDH/Dbcbzh9qW5OdrntVJxeDK3rGc+sSN9uWmUaRdX5CAZzVlxKUMzARpQQqylg/FKLX0zICGsTaAHQhY+4TwflSY0sKM/nQIz0hE1pNZUbN1HwSkXEz6KQVh08+gq4chDSahEUcqxWcfPlkSB3mee8QFmPLUFOCoep3FmHEWr4Pvr2NghIBUJEWkn2bk0YLoiZeoGimNbKxmdlJZpUz3+qIx0y3Ql2sOiYajKOyWjcKBPA4UaViBk/RKZUN6vLpg9m4kExXtlLj8Hwvw4q3cAlE/p/G4qqRabEOZ+lFr2+U4UnLqWmUU64YH3Ebj5ab37JfYy/0fQU7wSuh1avgjWtWcBehnd/rretDe00Q3lt24fEcqRtmLbR/s6v2aFrT0OdpLWtBLu5KJ8QJjk7KqQHhRMyj8nPybG/D3chtCmryPZCtpCjFngWFMAZNS+12f1ESfNiFPFghQwVQ+ONtI776T5vlUpcELOm9UZ5EHcJQNyH82uW/Z6D9hFrn9kLnvqN/SBvtO7PMzis6ruPvVK1cpunWPIe/B1JtDHNseE8XAV7qjll4yUwpELneuXo+IXZ9hWXg2Nv19ge6GDXg0t+yOJSf4TtJXpki/vV0bHl6YBpvTFBB4erBEBIcISMbxxLu3Yw+zMBojL292tQADYfrgyUsPndUS1Sh+DYHHU3ToDo5uUz5VuCWjdz22tQCDjyuXHKJ7CDY1KfgDUmvgbVRDVmqNJZp9WeOMop+pMABd4T+Q87PDayn9KDxd9xdG7AgojHqYAUl6ynSsTr1JIz2x7RbpSEN4 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Faust via Binutils From: David Faust Reply-To: David Faust Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772053990029037429 X-GMAIL-MSGID: 1772057499254217027 [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,