From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id C78C13839C62 for ; Thu, 12 May 2022 12:56:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C78C13839C62 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 5.5.5 (unknown [10.2.5.5]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9BxANvtA31iZecSAA--.6645S2; Thu, 12 May 2022 20:56:19 +0800 (CST) From: Huang Pei To: Zhensong Liu Cc: binutils , Chenghua Xu Subject: [PATCH 1/2] remove R_LARCH_{SUB,ADD}24, since LA does not need them Date: Thu, 12 May 2022 20:56:12 +0800 Message-Id: <20220512125613.3958815-1-huangpei@loongson.cn> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: AQAAf9BxANvtA31iZecSAA--.6645S2 X-Coremail-Antispam: 1UD129KBjvJXoW3Jr4UKr47Xw45XrWxtFyDGFg_yoWxurW8pF 9xZr47KF48CF10gFWqqF1q9F13Xr18KryIvFySqw1xWr4kJryUXr4DXFyfKFZFqFyFgrs2 qry8Ww1UXas8JFUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkI14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY02Avz4vE-syl42xK 82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGw C20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48J MIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMI IF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvE x4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUbrMaUUUUUU== X-CM-SenderInfo: xkxd0whshlqz5rrqw2lrqou0/ X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, 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-List-Received-Date: Thu, 12 May 2022 12:56:25 -0000 --- bfd/bfd-in2.h | 2 -- bfd/elfnn-loongarch.c | 4 ---- bfd/elfxx-loongarch.c | 34 ++-------------------------------- bfd/libbfd.h | 2 -- bfd/reloc.c | 4 ---- gas/config/tc-loongarch.c | 15 +++++---------- include/elf/loongarch.h | 4 ++-- 7 files changed, 9 insertions(+), 56 deletions(-) diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 50e26fc691d..be00a4e5514 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -6297,12 +6297,10 @@ assembler and not (currently) written to any object files. */ BFD_RELOC_LARCH_SOP_POP_32_U, BFD_RELOC_LARCH_ADD8, BFD_RELOC_LARCH_ADD16, - BFD_RELOC_LARCH_ADD24, BFD_RELOC_LARCH_ADD32, BFD_RELOC_LARCH_ADD64, BFD_RELOC_LARCH_SUB8, BFD_RELOC_LARCH_SUB16, - BFD_RELOC_LARCH_SUB24, BFD_RELOC_LARCH_SUB32, BFD_RELOC_LARCH_SUB64, BFD_RELOC_UNUSED }; diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c index 5b44901b9e0..e4cd9fa107e 100644 --- a/bfd/elfnn-loongarch.c +++ b/bfd/elfnn-loongarch.c @@ -1768,7 +1768,6 @@ perform_relocation (const Elf_Internal_Rela *rel, asection *input_section, case R_LARCH_ADD8: case R_LARCH_ADD16: - case R_LARCH_ADD24: case R_LARCH_ADD32: case R_LARCH_ADD64: r = loongarch_check_offset (rel, input_section); @@ -1781,7 +1780,6 @@ perform_relocation (const Elf_Internal_Rela *rel, asection *input_section, case R_LARCH_SUB8: case R_LARCH_SUB16: - case R_LARCH_SUB24: case R_LARCH_SUB32: case R_LARCH_SUB64: r = loongarch_check_offset (rel, input_section); @@ -2181,12 +2179,10 @@ loongarch_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, case R_LARCH_ADD8: case R_LARCH_ADD16: - case R_LARCH_ADD24: case R_LARCH_ADD32: case R_LARCH_ADD64: case R_LARCH_SUB8: case R_LARCH_SUB16: - case R_LARCH_SUB24: case R_LARCH_SUB32: case R_LARCH_SUB64: if (resolved_dynly) diff --git a/bfd/elfxx-loongarch.c b/bfd/elfxx-loongarch.c index 6f7c82297c5..c0c4b477af6 100644 --- a/bfd/elfxx-loongarch.c +++ b/bfd/elfxx-loongarch.c @@ -524,23 +524,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = false, /* pcrel_offset */ BFD_RELOC_LARCH_ADD16, /* bfd_reloc_code_real_type */ NULL), /* adjust_reloc_bits */ - - LOONGARCH_HOWTO (R_LARCH_ADD24, /* type (49). */ - 0, /* rightshift. */ - 2, /* size. */ - 24, /* bitsize. */ - false, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_signed, /* complain_on_overflow. */ - bfd_elf_generic_reloc, /* special_function. */ - "R_LARCH_ADD24", /* name. */ - false, /* partial_inplace. */ - 0, /* src_mask */ - ALL_ONES, /* dst_mask */ - false, /* pcrel_offset */ - BFD_RELOC_LARCH_ADD24, /* bfd_reloc_code_real_type */ - NULL), /* adjust_reloc_bits */ - + LOONGARCH_EMPTY_HOWTO(49), LOONGARCH_HOWTO (R_LARCH_ADD32, /* type (50). */ 0, /* rightshift. */ 2, /* size. */ @@ -605,21 +589,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] = BFD_RELOC_LARCH_SUB16, /* bfd_reloc_code_real_type */ NULL), /* adjust_reloc_bits */ - LOONGARCH_HOWTO (R_LARCH_SUB24, /* type (54). */ - 0, /* rightshift. */ - 2, /* size. */ - 24, /* bitsize. */ - false, /* pc_relative. */ - 0, /* bitpos. */ - complain_overflow_signed, /* complain_on_overflow. */ - bfd_elf_generic_reloc, /* special_function. */ - "R_LARCH_SUB24", /* name. */ - false, /* partial_inplace. */ - 0, /* src_mask */ - ALL_ONES, /* dst_mask */ - false, /* pcrel_offset */ - BFD_RELOC_LARCH_SUB24, /* bfd_reloc_code_real_type */ - NULL), /* adjust_reloc_bits */ + LOONGARCH_EMPTY_HOWTO(54), LOONGARCH_HOWTO (R_LARCH_SUB32, /* type (55). */ 0, /* rightshift. */ diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 8c02e29eebd..ab35ef6518f 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -3453,12 +3453,10 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_LARCH_SOP_POP_32_U", "BFD_RELOC_LARCH_ADD8", "BFD_RELOC_LARCH_ADD16", - "BFD_RELOC_LARCH_ADD24", "BFD_RELOC_LARCH_ADD32", "BFD_RELOC_LARCH_ADD64", "BFD_RELOC_LARCH_SUB8", "BFD_RELOC_LARCH_SUB16", - "BFD_RELOC_LARCH_SUB24", "BFD_RELOC_LARCH_SUB32", "BFD_RELOC_LARCH_SUB64", "@@overflow: BFD_RELOC_UNUSED@@", diff --git a/bfd/reloc.c b/bfd/reloc.c index 5098e0ab09f..4aea37f8620 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -8245,8 +8245,6 @@ ENUMX BFD_RELOC_LARCH_ADD8 ENUMX BFD_RELOC_LARCH_ADD16 -ENUMX - BFD_RELOC_LARCH_ADD24 ENUMX BFD_RELOC_LARCH_ADD32 ENUMX @@ -8255,8 +8253,6 @@ ENUMX BFD_RELOC_LARCH_SUB8 ENUMX BFD_RELOC_LARCH_SUB16 -ENUMX - BFD_RELOC_LARCH_SUB24 ENUMX BFD_RELOC_LARCH_SUB32 ENUMX diff --git a/gas/config/tc-loongarch.c b/gas/config/tc-loongarch.c index 08203d291bd..4808c73fc70 100644 --- a/gas/config/tc-loongarch.c +++ b/gas/config/tc-loongarch.c @@ -1141,13 +1141,12 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) fix_reloc_insn (fixP, (bfd_vma)stack_top, buf); break; - case BFD_RELOC_64: case BFD_RELOC_32: - if (fixP->fx_subsy) - { - case BFD_RELOC_24: + case BFD_RELOC_64: case BFD_RELOC_16: case BFD_RELOC_8: + if (fixP->fx_subsy) + { fixP->fx_next = xmemdup (fixP, sizeof (*fixP), sizeof (*fixP)); fixP->fx_next->fx_addsy = fixP->fx_subsy; fixP->fx_next->fx_subsy = NULL; @@ -1164,10 +1163,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) fixP->fx_r_type = BFD_RELOC_LARCH_ADD32; fixP->fx_next->fx_r_type = BFD_RELOC_LARCH_SUB32; break; - case BFD_RELOC_24: - fixP->fx_r_type = BFD_RELOC_LARCH_ADD24; - fixP->fx_next->fx_r_type = BFD_RELOC_LARCH_SUB24; - break; case BFD_RELOC_16: fixP->fx_r_type = BFD_RELOC_LARCH_ADD16; fixP->fx_next->fx_r_type = BFD_RELOC_LARCH_SUB16; @@ -1176,8 +1171,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) fixP->fx_r_type = BFD_RELOC_LARCH_ADD8; fixP->fx_next->fx_r_type = BFD_RELOC_LARCH_SUB8; break; - default: - break; + default: + break; } md_number_to_chars (buf, 0, fixP->fx_size); if (fixP->fx_next->fx_addsy == NULL) diff --git a/include/elf/loongarch.h b/include/elf/loongarch.h index b7aa4ff069c..796ef8b8614 100644 --- a/include/elf/loongarch.h +++ b/include/elf/loongarch.h @@ -77,12 +77,12 @@ RELOC_NUMBER (R_LARCH_SOP_POP_32_U, 46) /* Used by the static linker for relocating non .text. */ RELOC_NUMBER (R_LARCH_ADD8, 47) RELOC_NUMBER (R_LARCH_ADD16, 48) -RELOC_NUMBER (R_LARCH_ADD24, 49) +/* deprecated, 49 not used */ RELOC_NUMBER (R_LARCH_ADD32, 50) RELOC_NUMBER (R_LARCH_ADD64, 51) RELOC_NUMBER (R_LARCH_SUB8, 52) RELOC_NUMBER (R_LARCH_SUB16, 53) -RELOC_NUMBER (R_LARCH_SUB24, 54) +/* deprecated, 54 not used */ RELOC_NUMBER (R_LARCH_SUB32, 55) RELOC_NUMBER (R_LARCH_SUB64, 56) -- 2.31.1