[binutils-gdb] LoongArch: bfd: Fix some bugs of howto table

liu & zhensong liuzhensong@sourceware.org
Tue Feb 27 03:14:09 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6ae2890f3b16a3d558683dd1191389e3bd5a1c58

commit 6ae2890f3b16a3d558683dd1191389e3bd5a1c58
Author: mengqinggang <mengqinggang@loongson.cn>
Date:   Thu Feb 22 20:18:25 2024 +0800

    LoongArch: bfd: Fix some bugs of howto table
    
    R_LARCH_IRELATIVE: For dynamic relocation that does not distinguish between
    32/64 bits, size and bitsize set to 8 and 64.
    R_LARCH_TLS_DESC64: Change size to 8.
    R_LARCH_SOP_POP_32_S_0_5_10_16_S2: Change src_mask to 0, dst_mask to
    0x03fffc1f.

Diff:
---
 bfd/elfxx-loongarch.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/bfd/elfxx-loongarch.c b/bfd/elfxx-loongarch.c
index c282d83315e..fe19ec836f9 100644
--- a/bfd/elfxx-loongarch.c
+++ b/bfd/elfxx-loongarch.c
@@ -278,8 +278,8 @@ static loongarch_reloc_howto_type loongarch_howto_table[] =
 
   LOONGARCH_HOWTO (R_LARCH_IRELATIVE,	  /* type (12).  */
 	 0,				  /* rightshift */
-	 4,				  /* size */
-	 32,				  /* bitsize */
+	 8,				  /* size */
+	 64,				  /* bitsize */
 	 false,				  /* pc_relative */
 	 0,				  /* bitpos */
 	 complain_overflow_dont,	  /* complain_on_overflow */
@@ -312,7 +312,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] =
 
   LOONGARCH_HOWTO (R_LARCH_TLS_DESC64,	  /* type (14).  */
 	 0,				  /* rightshift.  */
-	 4,				  /* size.  */
+	 8,				  /* size.  */
 	 64,				  /* bitsize.  */
 	 false,				  /* pc_relative.  */
 	 0,				  /* bitpos.  */
@@ -514,8 +514,8 @@ static loongarch_reloc_howto_type loongarch_howto_table[] =
 	 bfd_elf_generic_reloc,			  /* special_function.  */
 	 "R_LARCH_SOP_POP_32_S_0_5_10_16_S2",	  /* name.  */
 	 false,					  /* partial_inplace.  */
-	 0xfc0003e0,				  /* src_mask */
-	 0xfc0003e0,				  /* dst_mask */
+	 0x0,					  /* src_mask */
+	 0x03fffc1f,				  /* dst_mask */
 	 false,					  /* pcrel_offset */
 	 BFD_RELOC_LARCH_SOP_POP_32_S_0_5_10_16_S2,
 						  /* bfd_reloc_code_real_type */


More information about the Binutils-cvs mailing list