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 EABA5385B53C for ; Fri, 21 Jul 2023 19:21:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EABA5385B53C 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 36LEFuHq017456 for ; Fri, 21 Jul 2023 19:21:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : in-reply-to : references : date : message-id : content-type : mime-version; s=corp-2023-03-30; bh=tVuVsAAeVP4VAzC21HJIbcgei9QFvR0EE4o30Ff3jBk=; b=zzI6s/Pamok962xFUgsuJMsk7fpuP+TIYA1RysBOXURqup3n86s4lcuZYf+3PhrkdDs6 jk2c6kjihdR8AClsVMc77DPzrDIVA/PUkebPeSJUfUS/sDFNVowWckGitE2RcwTDKL2G +zA1UADiC1uNjXvAwQIkwmWKZ7JS6axKwzlYVwuMjIijsrGPrOzFnUp2YPNhhPoykkI2 TVRCaVQjyQwLMgFgXVyvdwnAlAMl90Izs8zcGT+Vur9CHaQBYiq1zpyHJOZld3ttUZRR HRLbFeD2yTb9zINubFOMafy280PAnruK3o8wJKAd2835x9IhxFWf1WIPNSNwhnTN7s1g Ag== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run88vr4v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 21 Jul 2023 19:21:26 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36LJBtNV019201 for ; Fri, 21 Jul 2023 19:21:25 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2042.outbound.protection.outlook.com [104.47.56.42]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhwauvpt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 21 Jul 2023 19:21:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ah6AgiSAXwK3HA69+MgWGtd5mUKbRNneUk5fNCMxTJJ5FZExRRo4yW3oOUJoE/dzwAvkjD51nsoNSUNqw7T1kFE+DtWsxTzqGRpERWo1csOy+FSIElDDLpX0gW4LN72V0sB76VEECEoXVkvCfBHNZSdypHxYjuD2b3nVKL3XiTyoNCbCD+WBLJQ320ckDcXcIxcTd12zdfU7XKz1YP2fiLVBZeSCz0TtbtjQoYVjO6LqJ5WyJzkS7GVAGxO4/OxrU/4lY2KhL36XJ0Sf1zKRJHO+iu/6Oj0s/sPB1KLwXIWtKFDZt87l8NwXpZoUbXWVFLYuVVhA5RZ6wydmcJVkaA== 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=tVuVsAAeVP4VAzC21HJIbcgei9QFvR0EE4o30Ff3jBk=; b=Yf1ZjJhz/HmT44THEQ8dDrxRBXVyf83crQ3Vk6yKnj4UBnPjPdR6+SBtlon/IVtQuk0MnysWHmxj0dd6X6XphDj73wzXKxA6nJY8cCue1GHBFticIEqf9QPkL4A/QBmXAWC52YcpW9T1kmE8qeDUJpWLGN/4zz4tycX3Fez6PXtXe7Fzj8iWNklmD8zssd2RIWRsZ+zCGPSlnoYUlObKCT4koJVODenQtor76A3CGpNatRm/RfaWYYAVlLBE3TaEq9hpH27raMciCelukArx9uKrJen0vul1sp2rf7UStv3xSE9VIB0h1EfYR/3HRleFATymlo1vJglNO8q8hQK4Uw== 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=tVuVsAAeVP4VAzC21HJIbcgei9QFvR0EE4o30Ff3jBk=; b=AV9YyZyH1s0gEMOqZiW7wwg+VgibiBC8YrKFrcamjaWk3dFmNr093dMuhjorl5j202d3CoehO9Cmfpw2LiuKjN8yAyOyz0F+5x+npHbCOwsE91J57rHbrn6Ci3n3DIo+DlT6x1qCNllvxh7H4th9qApNsmAsEtouqUqmRxqF82U= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by DM4PR10MB6742.namprd10.prod.outlook.com (2603:10b6:8:10e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Fri, 21 Jul 2023 19:21:23 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::4d0c:9857:9b42:2f6c]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::4d0c:9857:9b42:2f6c%4]) with mapi id 15.20.6609.026; Fri, 21 Jul 2023 19:21:23 +0000 From: "Jose E. Marchesi" To: David Faust Cc: binutils@sourceware.org Subject: Re: [PATCH v2] bpf: disasemble offsets of value 0 as "+0" In-Reply-To: <20230721185459.7125-1-david.faust@oracle.com> (David Faust's message of "Fri, 21 Jul 2023 11:54:59 -0700") References: <87fs5h5e4m.fsf@oracle.com> <20230721185459.7125-1-david.faust@oracle.com> Date: Fri, 21 Jul 2023 21:21:12 +0200 Message-ID: <87o7k53wbb.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Content-Type: text/plain X-ClientProxiedBy: LO4P302CA0008.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:2c2::16) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|DM4PR10MB6742:EE_ X-MS-Office365-Filtering-Correlation-Id: d95c28df-89c7-478b-39e2-08db8a1faba1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GEOyEy0fgqtaOTbAkoBcrFZByW/z/0NCGsCgCynKie8jL4h3ayj8JvppMSIySns9mPE7Cp3514uZuQhH4KhHfkwn4f/5WvDs+jkwY1wV47vej/5jsd9vU0Q+Iyh8z1Vr31ZpJxg1oJdvl78nwMm/IzYNOrYaPnW3lZzx7aev+0tbTzsPwt1EO504udnynF2wCehN6kbeltqe1H1nxP5izz6o2Tq91mTk+ubjG7MCYitb2rXl1AKDdGzWn4eUWeXTA22bc4ECATCqG/AB3Csb/8pSDGt+N7+E5IeDesqiAJwsp81x6WeCdUWNKhzOkJAxEdFfDwV3yzngrOhlvePtTj4dnG6WKiMb3uis9gAi1Fa4P8FlTNUt2r8O3d7KVw0o7ZaveS+oTA5KEr7S+PV/+SfDqW06ySOWiVykeXC4y59r67ecUdGjsY0x6g3xSnqNxBi/CfguE/wouIAUgzoWtorzUyiGtKt8mIJFo3EQDFp8O+wy4U1INq22mifMoQIXp6VlKb/agVM0FJJGCzX7ZIq8zz6vQenAS2TC1c5mK/cQtRgGBFhFLcajfwEaUoyZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2888.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(376002)(396003)(136003)(366004)(451199021)(186003)(37006003)(478600001)(2906002)(6512007)(86362001)(83380400001)(6862004)(26005)(6506007)(2616005)(38100700002)(5660300002)(36756003)(66556008)(6486002)(6666004)(66476007)(8676002)(41300700001)(316002)(66946007)(8936002)(6636002)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Cbbqw5/f/jvsdfY0jX9RxJCu8PilqvnbSrlXq5Bfa0IHFmb2JkIiFEHZAUDt?= =?us-ascii?Q?OoJWFJbseNDjrtrg+ONml7LQt0vJx992W1xD6Oq42vgYt+I1wrS0sFsmP6zv?= =?us-ascii?Q?NZUNxnOthOHDfm42laqgArNA5CBJyygFmx+AZTGY02gUby1tt6KAipuIQixA?= =?us-ascii?Q?ldDABZvYEEqG5uSf5FrAyKe8qeApWe+Zw/wYj/9Chg1kIHKchT2+KpppdJDK?= =?us-ascii?Q?V/7TfOBKS/Owrpgw5a9G2nv4dZwBfnzkzoZJKAVeXa5lH/IfnwKBP/yo3yur?= =?us-ascii?Q?f+FXAYSioVMTfWnS82hFWiiBEyW92mPitfq15koNqf5kgqMKGhlUQXV7SaMe?= =?us-ascii?Q?SammBt5G9pzAha25C0tMCvJv+5WPGPhpN0V3rBSgR42wuBnBVTQXKCw/4676?= =?us-ascii?Q?7OVS8//KBO7KE3uiOxGppiYmBXX/APlUy/qLcYr8NrLqCdukb7N+IEOf0cIG?= =?us-ascii?Q?/BUCUtlwz3npah4OdvxpDuFUnjT7vFBvhfHnQ9YqYPAbn/zjzmLf8gkPNkko?= =?us-ascii?Q?UIplzj0a6ZGnI+W/hwhpilarcFDXZvU6HS+4zsm5Pv2d28blrh8ez4K2QFzr?= =?us-ascii?Q?oLqwS24yJxe3OqTwknOOJjnRhVKpX5Z2gRjIsu0YIWD9odGcZ6EZ0TST7OsB?= =?us-ascii?Q?FxgwyRIgzvQAnAT+ISLwtoRx6xnsWr/6cXk2CZB3hROeSPpeS7Bb9ZI9AICx?= =?us-ascii?Q?QTaXXAEBDYSjN39LkgXziOP7YvijOJVPSceT72EowYLOMDSxnIWP940g3yRf?= =?us-ascii?Q?sokhHX0LSXapDr26h9gPmDJMqQ2naIHc2FIs6LTNRzsnKvr1wNE7b/YGiiAs?= =?us-ascii?Q?Pr2Kv+FzWro+coMLkO0UokDH+xwsKhxI8vpH5zv1Ukqj8eJ+udYTBGx59tFn?= =?us-ascii?Q?Fznc9MlX1KKI+dEWswrRW4sB/eayBaBPXllAMSI9xeBG0KNbUdBSNXJipT1d?= =?us-ascii?Q?5Uc2q+22N3jhfgugNss/gf9HlhQx603NuohnDRAeGB9L3U1zDLsXLMOUJGew?= =?us-ascii?Q?254EcT2gyGvGtctAiuiLWVvT36VuoKMFWC970JO+4mpVaGu+jCqpbzXsFE1S?= =?us-ascii?Q?xeqY2vY10tyKIQ3Xm4Kc/OCj3zhd6JyX9Le46ZaG/bNcfH3moRSFiLZt8u2n?= =?us-ascii?Q?5vluc0L4PS383W4TNOv1x1/dQuR82DiVZvfcN84J1fbezRLIkBhpHZiXznj/?= =?us-ascii?Q?Z6SD2yZJ8lBCeeOy1n+o2gjhyjiLARx9JQ4VzocbZapudrH22lcrFQR8Kx3w?= =?us-ascii?Q?pWRNkqbpBzHrVjmkZrktnlbDU/6fZtYjqAD6zhByCzeffCU8nt8ngNOwlZoa?= =?us-ascii?Q?1EClu8LcQ+D/i2tS/r21Kij9VeCAANinVQZcepc0cvLvFPrcfBCz4CXHGOjE?= =?us-ascii?Q?dBXsZMbeZGmlUFm5yOkwx4cFFReNWXK3+sD4veY+2512nQo75BbUq690atA0?= =?us-ascii?Q?FMeKSu8/4giOJQKYhW+d/MeCdxZYgaFa3uqB61px4SNoY/7TzbaJh0vQ3UfE?= =?us-ascii?Q?QFDb6Ci0bed4YfgerFxkHERzUtwCDfLX5o0FHWEePuhvsaxmYhKrDy8fqJVQ?= =?us-ascii?Q?0G5XbhrvqdYB6UBAbsZhRHxmMMunVq60tIL8Kxr6z/dvIdKf3MjeDzHLGZ11?= =?us-ascii?Q?pA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CFc1ci/+4sKVuxur7/sY0bTclQbT2LlTAbVZRxXtMlbUdW1RW4lzD2AnDAAVtxRR9OiAezmJfsRzxjch6wsihEwOH9KJJWFv8ZZRYdAJBajY9UISZRHgQmz9vS0Q11gWrDwGO6arXiL7evQoXc+mNfzv9pWuEfUIH4nutLs1u5NEmkXwpQ+uVZUl3OZ8OjN9SUZdAzJLcjlHMAtisaxpUVKsvE0artSMsaw7qW1FFFxpdviiEBwXIR9ELsKCs+dK/5o7VejJTvA0qewbtNTQpvhm8CZuMdj+F5MiGyLJsGSs6Qn2EbOAOP+FaL35y6fWdbVkDsmi3INeCFIBqaFPyF+UDyJxa2c6FMSZo/0s8J2GcNZnU6jB/Oi5Jf0mnHI8ZACXpkXDtRtvSv4fn0Czmau/DERQPtdknneZls68Q6TQXfBwUNhiCfBJ4F1wtyRcCIe1V4RoSQGrLVEmHj/jhcditySsq7YzjslGS/mCjkfeKMknGUUwaq5BylSfvMk6mCzyXti1ZKh10pbDm5Gd3K9YP5j6S6yfpuQBqqhLws3rwyw5drBHmqZEGLHt9lRpDIn9GSPdxM2LrhXb71orLizWxJMEP6OsYbzlSWcMszIkdo/cwamficO8EDA7yBBtCLPlGRwtCP5U193RG5iQ2udWNqOkI8OrHOwdRAtxWA863iIhtcFdztxAi8ZD4akQCy2UMsn/fHHRK+Bz1sSox0JYcYCp3qmvXlhGiIgLh+McUPL2Ox12ZtmOuL/9jvJT X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d95c28df-89c7-478b-39e2-08db8a1faba1 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2023 19:21:23.2707 (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: BH7kF9mxf+5I5TihUuNkoqVpJ2VQVAfhlp8AvG4m1zQkYe/OVYtfIFpn6/5Vey5fKujvHjB3nwI81jSHeoJztZzDND/dgCHAn41MBLnBRdM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB6742 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_11,2023-07-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 mlxlogscore=764 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307210170 X-Proofpoint-GUID: p0L5ukFwdJv2cs3X4uCCCuf1vOquwcTm X-Proofpoint-ORIG-GUID: p0L5ukFwdJv2cs3X4uCCCuf1vOquwcTm X-Spam-Status: No, score=-12.3 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: Hi Faust. Thanks for the patch. OK. > [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,