From patchwork Fri Oct 13 08:24:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mengqinggang X-Patchwork-Id: 152385 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp1740092vqb; Fri, 13 Oct 2023 01:26:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE1yzYtr/2GuPx3LFDmeZ4kFbKUeBServt2v9T4bpBOkdfEZIA1jyn4hH89TeRjPD2u3TD2 X-Received: by 2002:ac8:5b13:0:b0:412:da83:484b with SMTP id m19-20020ac85b13000000b00412da83484bmr33356058qtw.10.1697185563150; Fri, 13 Oct 2023 01:26:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697185563; cv=none; d=google.com; s=arc-20160816; b=wRH6EqTA8nIMIyg0wyL3d9KLiEX4Oj8doZlv2Adb4DKK41TGBurEFOp5X6yURNWSK/ tu9r3Yiwg+8uiW9zNTKPmegLFjOE0o8kZTNUcrSlQ2CJqoFB1tHPT7DwS9IMhzW11VBd j+Xk6zY3rGgpsg+J6tGS9PB6D3NDgkd6XjrHtABMB6Z3aTICtCcYjKB8ycDIFbC15H/6 UqGHp9gemLh4WM8mfyXcHuE/n9JDDLsaLwQZ4K82NvwdHlhLqztI0oVUhDG3XoyFPXDU okip5cBa+SqumMn/Q3xcN7wJdPuKyyQDfyDcocyg63TZ4V3NEaPZUgYS33Ch8d0ws2Lz lhsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dmarc-filter:delivered-to; bh=H8EnbU6MFLh6JpzRKbLRK7O15DO2KFFdQrl0UqN2lzc=; fh=0gdK4tzoS3mWL291EIVe4WpvhwZaKb1JrH+p0ipNPvA=; b=pSuU0sH8CjIkAB2PKJuc6qifXjvghs0SDQUFDhX9kJPZ2TRVJc97ONNo8+RNp3Q5p3 /9DIUbwjlnPmMasfzQC6wYrK3aycAWNpe7OyesMD37EUb/fQxPio8JfCKu5qQw24jOAP o0k17L6N4YIhdztPHJ+smZKZB1Kmm/hnLJVO466C9jD73nP4uIBP+rjRTkUJdyGtcaSf SQ40InVAcZbL1lYD2sIS+dUdtiH9Zw2dQAuKgQA8UKzsyWFs+wu/IXGMNVLAoFuFJG3v YGf8ReLoYKwAb+F/wkzCZCnI5/dBOEg4lSxGtdR9dUFANYNlnEQSacfoZZINodbyc+rF vDkg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id t21-20020a05622a149500b004198816340esi841287qtx.662.2023.10.13.01.26.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Oct 2023 01:26:03 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C2E263857354 for ; Fri, 13 Oct 2023 08:26:02 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id E86233858436 for ; Fri, 13 Oct 2023 08:24:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E86233858436 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [10.2.6.5]) by gateway (Coremail) with SMTP id _____8AxXOrT_ihli6YxAA--.3016S3; Fri, 13 Oct 2023 16:24:51 +0800 (CST) Received: from 5.5.5 (unknown [10.2.6.5]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cx7y_P_ihlO6UiAA--.6637S5; Fri, 13 Oct 2023 16:24:50 +0800 (CST) From: mengqinggang To: binutils@sourceware.org Cc: xuchenghua@loongson.cn, chenglulu@loongson.cn, liuzhensong@loongson.cn, xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com, cailulu@loongson.cn, mengqinggang Subject: [PATCH 4/5] LoongArch: Remove "elf_seg_map (info->output_bfd) == NULL" relaxation condition Date: Fri, 13 Oct 2023 16:24:44 +0800 Message-Id: <20231013082445.290062-4-mengqinggang@loongson.cn> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20231013082445.290062-1-mengqinggang@loongson.cn> References: <20231013082445.290062-1-mengqinggang@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Cx7y_P_ihlO6UiAA--.6637S5 X-CM-SenderInfo: 5phqw15lqjwttqj6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW7Xr45JF15JF15tF48CrW3Arc_yoW8JrWUpr 9xCFyfGa1Sv3Z3Xa1qqw13Wr1DG348CryjqF13KF1xCrZ5Zr10qF4Fvryj9F4DGay7ArZF vF18ta1UZFn7CabCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1q6rW5McIj6I8E87Iv 67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2 Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s02 6x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0x vE2Ix0cI8IcVAFwI0_Gr0_Xr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE 42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6x kF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcHUqUUUUU X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP 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.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779628049438814104 X-GMAIL-MSGID: 1779628049438814104 --- bfd/elfnn-loongarch.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c index 47334943fde..38a25b63813 100644 --- a/bfd/elfnn-loongarch.c +++ b/bfd/elfnn-loongarch.c @@ -3747,6 +3747,11 @@ loongarch_relax_pcala_addi (bfd *abfd, asection *sec, uint32_t pca = bfd_get (32, abfd, contents + rel_hi->r_offset); uint32_t add = bfd_get (32, abfd, contents + rel_lo->r_offset); uint32_t rd = pca & 0x1f; + + /* Because previous sections' relax, output_offset may increase and need to + be updated before relax. But it update after relax in + size_input_section defaultly, so we manually updating here. */ + sec->output_offset = sec->output_section->size; bfd_vma pc = sec_addr (sec) + rel_hi->r_offset; const uint32_t addi_d = 0x02c00000; const uint32_t pcaddi = 0x18000000; @@ -3889,7 +3894,6 @@ loongarch_elf_relax_section (bfd *abfd, asection *sec, || sec->sec_flg0 || (sec->flags & SEC_RELOC) == 0 || sec->reloc_count == 0 - || elf_seg_map (info->output_bfd) == NULL || (info->disable_target_specific_optimizations && info->relax_pass == 0) /* The exp_seg_relro_adjust is enum phase_enum (0x4),