From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70042.outbound.protection.outlook.com [40.107.7.42]) by sourceware.org (Postfix) with ESMTPS id DD891395B422 for ; Wed, 26 Oct 2022 08:31:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DD891395B422 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=gAeOplgIly5rgLkvn3ITiLe4qNfcENkRt4kXkkLTZp7xTLQlvFjEsyfQ4bi7YE9U0lHGnk/Z7x9yjsVnVCq4lxxcaa2tvXl4A3VtN8tr3Oj9kBUhpauphuGPOJvgbO8x0sai6SB7OVhiDezOzBFBh0KF7Ec+jYOfFYidhfgpoMkdsEKL4fgjktcAcoIwxfdk12VgF77BskfMzgfTKIf7n/yhS3VzQbs4MNuzlGH9HlGo2yx3Y6JTq6biosZ3LMsJwf2SlAEDCWzaS5vGuv2BdAVrD9Gu7z/giLdDHTXuL3F7BUdxBDtDiC1yN0acr0h++KeL6MqzAx3B36ImGhtRcw== ARC-Message-Signature: i=2; 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=X+iuaWJQrDWKFS3+ggo7KOldooFnEaWin7q1/h4IUnQ=; b=imTwmelsUx2rQTqQHBOBHiFQcrdXHE81/qSGodrT8oYuNAlW6ozmn+kydhdQgpK63upLjs0/USgv1TdPlQnm9D3LjPqQalcUy3o+MfvyvbmqYIiVBDhgt5fF47oc/dHyKKFz4l5ENl1zkDf33VZ5BtGt9h6I40O8yaRaJaGO+kw0U4r172kGsFBjJvHAJjDq31zGAHggpmq9GDXH7BUJxthbG3xy8Nmhbvkji2tz/054vaW7zhH9W19CCje/jCWlNTBZy/fNQTEEPbgNtv4TO3X4LEKBo+GWoVpKKbV/1+fo4w/NcJTJoq+ObBiOCOtfv1k6NjsqiNa3+jrvCwZB1g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X+iuaWJQrDWKFS3+ggo7KOldooFnEaWin7q1/h4IUnQ=; b=ZyiaFC3sY3A9ZIe0AxkMKBx/AfaVSATDVX3C6mcoi/+ZS+51+y08ta2uZcDvp1Cib3g2uqkCHoZ4cjt3kXKPXq8QICG4g6g3Kfh+22o9/OJ3zyLfvzxmDri2eS7SAOU/XHp4/jWCN1e1lNVGb5yhhvh6womnxs2dmH8KJ743tSQ= Received: from FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::19) by PAWPR08MB9448.eurprd08.prod.outlook.com (2603:10a6:102:2e3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Wed, 26 Oct 2022 08:31:18 +0000 Received: from VI1EUR03FT053.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:4b:cafe::6) by FR3P281CA0058.outlook.office365.com (2603:10a6:d10:4b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.13 via Frontend Transport; Wed, 26 Oct 2022 08:31:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VI1EUR03FT053.mail.protection.outlook.com (100.127.144.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.20 via Frontend Transport; Wed, 26 Oct 2022 08:31:17 +0000 Received: ("Tessian outbound 6c699027a257:v130"); Wed, 26 Oct 2022 08:31:17 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cc207b626c907e21 X-CR-MTA-TID: 64aa7808 Received: from e378d4f2e524.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6710D83E-38CD-472B-99FA-A01649E38460.1; Wed, 26 Oct 2022 08:31:10 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e378d4f2e524.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 26 Oct 2022 08:31:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ERPIF02dF2D5+oJuotsp5WgQOuaptM5uL+Q9kDhP5mJI6qAvmWMY6ZyzGr7qkLJ69O/P/hD6qVj9Irspk5qn2aZZ0uWx99HHQnZg8tcyQi2mkI1VAyGBumsbIvTh9jjYpy3A2l3f2FXoa4LU/VBLEc+7D7g7MNyERWTNI4LPMvkPZUKOpw4PS77mee+BBBbub4GWNkxig0ReejtSLl8bJ9WRKebkpUG5HGzeZbjZq8lKkV2lodnXblYQK/Fc8gciPi4IuzOGKJOB9lTZmCmeCzsAhN/wtWXeYWrAPVdhA1HPmMrKwC0L/cW7bUMlSSdlwDaSrm8NIDzjzZjiGZET5g== 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=X+iuaWJQrDWKFS3+ggo7KOldooFnEaWin7q1/h4IUnQ=; b=NeR6QGmf2THHvkPoDmG6gojebqd6H6EClZ8m98OKPS2ejYflRRZehEzX4NpY2TaY9iN82K21rS4rpuQuC8iVRFw+9IWY2M70nBz4xYstoS0HawVP10uqxZ2obxweOIe8YmTA5YdWGECaYig7VZkJp+DKvZi6f4SigOpS8smJAqlcmmnEdYknPiZ0dGzBKRL8eXXZ+kNAdl5xEjYRUe9GRUBRePkU8Fgkni1MWnfXIJ8wn51TSg+FbdaDhxKxuBbuQopQoIEh/E1NWj6eEzUkVl/IlG83jSFVt1CcSsb+wH0AzPFDXCGu8gct1bV31XGFZptatuL3NvR4rhjxSpgCoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X+iuaWJQrDWKFS3+ggo7KOldooFnEaWin7q1/h4IUnQ=; b=ZyiaFC3sY3A9ZIe0AxkMKBx/AfaVSATDVX3C6mcoi/+ZS+51+y08ta2uZcDvp1Cib3g2uqkCHoZ4cjt3kXKPXq8QICG4g6g3Kfh+22o9/OJ3zyLfvzxmDri2eS7SAOU/XHp4/jWCN1e1lNVGb5yhhvh6womnxs2dmH8KJ743tSQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by AS2PR08MB9986.eurprd08.prod.outlook.com (2603:10a6:20b:649::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Wed, 26 Oct 2022 08:31:07 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::7f57:1601:9b18:7529]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::7f57:1601:9b18:7529%7]) with mapi id 15.20.5746.028; Wed, 26 Oct 2022 08:31:07 +0000 Message-ID: <3f637fda-b910-980c-12f5-36655328b311@arm.com> Date: Wed, 26 Oct 2022 09:30:59 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: [committed 1/2] RISC-V: Improve link time complexity. To: Nelson Chu Cc: binutils@sourceware.org, Patrick O'Neill References: <20221025013347.68282-1-nelson@rivosinc.com> <84a75951-f5a7-fc53-a11a-9a1b964200b7@arm.com> Content-Language: en-US From: Luis Machado In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN4PR0501CA0009.namprd05.prod.outlook.com (2603:10b6:803:40::22) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|AS2PR08MB9986:EE_|VI1EUR03FT053:EE_|PAWPR08MB9448:EE_ X-MS-Office365-Filtering-Correlation-Id: ebebaf51-5ef4-4049-dd26-08dab72c73eb x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: MSvHwxezJ6qTTH7CaQXMgFkKzNsD/JOgtaZDMmiT/MzBGMiFMrWriz3O7MPMegmdL21JGp566e1VFYq+dwNweEMzA6I/KsZLevXd1o/wEWteMYwfj91qmkh1v9/mD99u5mCj0vjMvbA9X0pXyWWLURVwbnaTG+sGS22A0L06rI0xTfBN1omPnn00k8Nl7Y102WVF+PrVGE3Yegi5zO/PEGFf06CU/jW7RnRBmKaPIj8BXwgYD8674gaaEgEzfmsijxH9aXUdEKFnzjKyg+EjbyhQdMFwjM8arqiSrJ1MXxvIrmL9gWSQdNuMmkJQ59hdOXcKxJaOUuNa637s6AzU3CTAhN1ZfWRLizyXyomYABq0UG7T6P/zzMVRkcRn87jZEcyO2eydZ31ikK5QiHT7BQt8htIX4qT6j0N/Uz0IS6GHNo+dWfaFaukqrT45hO53xoyGv4pQuqmHxUrH3VInOTvQ47e7Vs8aBkb4Csmw/bXkeLcIj+0PZ17jhsp/ky8Up6wvQLWxqfS0cLfzzHVr7ku/7JC/yrncdjZlhCSYF7HMb2LAyuZVl/CeEfsnL/8ezRG2yTEz7IpUZUh013H1F58OnhPVPL6UXemUUzo+YRbKD1OdfENn945LbLExVym1T4EB0Bf9jyvan71z3bKcVOEJ4ZtKWCMBzunqR2mDemInW9QHW2HhjcyGzNVQbb+fWJqCfz6UD1r3CxVd88ti0DnIuf5Dt6cU73vDlZwD/md7HXwC6TFIgk1Z2Li3RBx1hX1ltrxRjM4XiT32zru0sNIqtKbbx2WCLfjAxRC894g= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(376002)(136003)(39860400002)(346002)(451199015)(478600001)(83380400001)(86362001)(31696002)(31686004)(6486002)(6666004)(8676002)(4326008)(6512007)(6506007)(53546011)(41300700001)(26005)(5660300002)(6916009)(66476007)(66556008)(66946007)(8936002)(316002)(38100700002)(186003)(2616005)(44832011)(2906002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9986 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b3bc8767-6a1f-45e3-b1a9-08dab72c6d45 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: v6EooXRxfg3oDvgj3Tu2yNykCwzgcdrHhj28IdV30c+6sK6NOqCCPgxaqkt9Qy3bR3jyJXYuGZWXi/vk+g96xZrAiY7VhO30GKbfGBHvY6OSukg0hHtnjUuCZdLza6IXjnyDtfpwgvEXFK4IsuPwrZHPFGfYqkm49K5NV0dhmZlgVWfkR/NcNaLVdjA5nayVqFaQ4NthEAupaKOrxagIWKMM/AkePE2fTBhgIFFKbhQfNEq2zuLxXl7oQ0hbGhWl8Qz9XK4kA8NRHhx4z1zeDlKIYZTDKNL4f7Oy4EwJx4NbdS9RLyKveVafbSDzR0UcSpizC9oZfFY6IQY41NrNQ2htDUkxD3ush398s/LRPvRdvIQWJ+9KNkEPQdET1hznJuJL7QsABzpZiDZcagp5lKZUR6O1VMHY9fYCT/cxOHg7wYbWe/1lVFY2lvHUrtMBooJLeXFcxHOu2yhWrXsOmaHTlv/YyN6x7DtbwzVVyOAHGPXY8ZETWPYwn0BU8w7fsNa0ccq1jf9Pf0jWhV2smd+0m261GQ3uMEVW2XoKiweLMmVTiBDsfgMHeChsJZrO8A1mLl2GMfPefb40ui1B+z6cP8oXJxBopg1ALK50/077qz3DEyRuP1ShkrOHtKGIPobRiydx+gsuM3W45mPztkx+3lvy05bCm4KFfdyWgv+Av28Y4UPvq2ybRRecFcHC15WGLP7iE1x3dVvLfbzPGa3e4xMrIVOLRHs6+EBEuKsZ7mJp5ZgGAUP/Gsvk7b1GAHRfbYw+FJpHOjVFYfjVBK7dTayQqTAZYhfbMIQQyqI= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(396003)(451199015)(40470700004)(36840700001)(46966006)(6862004)(40480700001)(6666004)(36860700001)(8936002)(47076005)(316002)(40460700003)(70586007)(6512007)(8676002)(83380400001)(2616005)(2906002)(4326008)(336012)(5660300002)(186003)(70206006)(86362001)(31696002)(107886003)(6506007)(41300700001)(26005)(44832011)(36756003)(53546011)(82740400003)(6486002)(81166007)(356005)(478600001)(82310400005)(31686004)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2022 08:31:17.6534 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ebebaf51-5ef4-4049-dd26-08dab72c73eb X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9448 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY 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, On 10/26/22 03:06, Nelson Chu wrote: > Hi Luis, > > Although I cannot reproduce the case from my side, does the following > fix work for you? > > diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c > index cf852636c9c..73e422dd57a 100644 > --- a/bfd/elfnn-riscv.c > +++ b/bfd/elfnn-riscv.c > @@ -4253,7 +4253,8 @@ riscv_relax_resolve_delete_relocs (bfd *abfd, > rel->r_info = ELFNN_R_INFO (0, R_RISCV_NONE); > > /* Skip ahead to the next delete reloc. */ > - i = rel_next != NULL ? rel_next - relocs - 1 : sec->reloc_count; > + i = rel_next != NULL ? (unsigned int) (rel_next - relocs - 1) > + : sec->reloc_count; > } > > return true; That fixes it for me. Thanks, Luis > > Thanks > Nelson > > On Tue, Oct 25, 2022 at 6:11 PM Luis Machado wrote: >> >> Hi Nelson, >> >> On 10/25/22 02:33, Nelson Chu wrote: >>> From: Patrick O'Neill >>> >>> The riscv port does deletion and symbol table update for each relocation >>> while relaxing, so we are moving section bytes and scanning symbol table once >>> for each relocation. Compared to microblaze port, they record the relaxation >>> changes into a table, then do the deletion and symbol table update once per >>> section, rather than per relocation. Therefore, they should have better link >>> time complexity than us. >>> >>> To improve the link time complexity, this patch try to make the deletion in >>> linear time. Compared to record the relaxation changes into a table, we >>> replace the unused relocation with R_RISCV_DELETE for the deleted bytes, and >>> then resolve them at the end of the section. Assuming the number of >>> R_RISCV_DELETE is m, and the number of symbols is n, the total link complexity >>> should be O(m) for moving section bytes, and O(m*n^2) for symbol table update. >>> If we record the relaxation changes into the table, and then sort the symbol >>> table by values, then probably can reduce the time complexity to O(m*n*log(n)) >>> for updating symbol table, but it doesn't seem worth it for now. >>> >>> bfd/ >>> * elfnn-riscv.c (_riscv_relax_delete_bytes): Renamed from >>> riscv_relax_delete_bytes, updated to reduce the tiem complexity to O(m) >>> for memmove. >>> (typedef relax_delete_t): Function pointer declaration of delete functions. >>> (riscv_relax_delete_bytes): Can choose to use _riscv_relax_delete_piecewise >>> or _riscv_relax_delete_immediate for deletion. >>> (_riscv_relax_delete_piecewise): Just mark the deleted bytes as R_RISCV_DELETE. >>> (_riscv_relax_delete_immediate): Delete some bytes from a section while >>> relaxing. >>> (riscv_relax_resolve_delete_relocs): Delete the bytes for R_RISCV_DELETE >>> relocations from a section, at the end of _bfd_riscv_relax_section. >>> (_bfd_riscv_relax_call): Mark deleted bytes as R_RISCV_DELETE by reusing >>> R_RISCV_RELAX. >>> (_bfd_riscv_relax_lui): Likewise, but reuse R_RISCV_HI20 for lui, and reuse >>> R_RISCV_RELAX for c.lui. >>> (_bfd_riscv_relax_tls_le): Likewise, but resue R_RISCV_TPREL_HI20 and >>> R_RISCV_TPREL_ADD. >>> (_bfd_riscv_relax_pc): Likewise, but resue R_RISCV_PCREL_HI20 for auipc. >>> (_bfd_riscv_relax_align): Updated, don't need to resue relocation since >>> calling _riscv_relax_delete_immediate. >>> (_bfd_riscv_relax_delete): Removed. >>> (_bfd_riscv_relax_section): Set riscv_relax_delete_bytes for each relax_func, >>> to delete bytes immediately or later. Call riscv_relax_resolve_delete_relocs >>> to delete bytes for DELETE relocations from a section. >>> --- >>> bfd/elfnn-riscv.c | 180 +++++++++++++++++++++++++++++++++------------- >>> 1 file changed, 131 insertions(+), 49 deletions(-) >>> >> >> This seems to cause build failures due to a couple warnings (Werror). I can reproduce it on >> armhf Ubuntu 22.04, with the following configure line: >> >> configure --enable-targets=all --enable-64-bit-bfd >> >> The following warnings show up: >> >> elfnn-riscv.c: In function ‘riscv_relax_resolve_delete_relocs’: >> elfnn-riscv.c:4256:30: error: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due to unsignedness of other operand [-Werror=sign-compare] >> >> elfnn-riscv.c: In function ‘riscv_relax_resolve_delete_relocs’: >> elfnn-riscv.c:4256:30: error: operand of ‘?:’ changes signedness from ‘int’ to ‘unsigned int’ due to unsignedness of other operand [-Werror=sign-compare]