[binutils-gdb] s390: Increment PC-relative relocation count for PC24DBL relocs

Jens Remus jremus@sourceware.org
Fri Nov 14 08:52:52 GMT 2025


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

commit 4c8a9c8b2f4f89de6832dc3ee5d06ca7cb7854e8
Author: Jens Remus <jremus@linux.ibm.com>
Date:   Fri Nov 14 09:42:12 2025 +0100

    s390: Increment PC-relative relocation count for PC24DBL relocs
    
    Commit fb798c50b2c8 added the R_390_PC24DBL relocation.  Due to a copy
    and paste error it messed up to increment the PC-relative relocation
    count in elf64-s390.c function elf_s390_check_relocs (i.e. duplicate
    check for R_390_PC16DBL).
    
    Found while inspecting and cleaning up differences between elf32-s390.c
    and elf64-s390.c.
    
    bfd/
            * elf64-s390.c (elf_s390_check_relocs): Increment PC-relative
            relocation count for R_390_PC24DBL.
    
    Fixes: fb798c50b2c8
    Signed-off-by: Jens Remus <jremus@linux.ibm.com>

Diff:
---
 bfd/elf64-s390.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 2508769f9bf..f72df9f4e12 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -1325,7 +1325,7 @@ elf_s390_check_relocs (bfd *abfd,
 	      if (ELF64_R_TYPE (rel->r_info) == R_390_PC16
 		  || ELF64_R_TYPE (rel->r_info) == R_390_PC12DBL
 		  || ELF64_R_TYPE (rel->r_info) == R_390_PC16DBL
-		  || ELF64_R_TYPE (rel->r_info) == R_390_PC16DBL
+		  || ELF64_R_TYPE (rel->r_info) == R_390_PC24DBL
 		  || ELF64_R_TYPE (rel->r_info) == R_390_PC32
 		  || ELF64_R_TYPE (rel->r_info) == R_390_PC32DBL
 		  || ELF64_R_TYPE (rel->r_info) == R_390_PC64)


More information about the Binutils-cvs mailing list