Module Name:    src
Committed By:   rin
Date:           Thu Apr 22 01:09:48 UTC 2021

Modified Files:
        src/external/gpl3/binutils/dist/bfd: elf32-ppc.c elf64-ppc.c

Log Message:
Fix regression where ld(1) is trapped into infinite loop when
linking binary whose text does not fit within R_PPC_REL24.

Reported upstream as Bug 27755:
https://sourceware.org/bugzilla/show_bug.cgi?id=27755

This problem was introduced to binutils-2-31-1 for our tree.
netbsd-9 is affected, while netbsd-8 is not.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c \
    src/external/gpl3/binutils/dist/bfd/elf64-ppc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/binutils/dist/bfd/elf32-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elf32-ppc.c:1.15	Fri Apr  3 23:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/elf32-ppc.c	Thu Apr 22 01:09:48 2021
@@ -4235,7 +4235,7 @@ ppc_elf_inline_plt (struct bfd_link_info
 	      return FALSE;
 
 	    relend = relstart + sec->reloc_count;
-	    for (rel = relstart; rel < relend; )
+	    for (rel = relstart; rel < relend; rel++)
 	      {
 		enum elf_ppc_reloc_type r_type;
 		unsigned long r_symndx;
Index: src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
diff -u src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.16
--- src/external/gpl3/binutils/dist/bfd/elf64-ppc.c:1.15	Fri Apr  3 23:48:46 2020
+++ src/external/gpl3/binutils/dist/bfd/elf64-ppc.c	Thu Apr 22 01:09:48 2021
@@ -7507,7 +7507,7 @@ ppc64_elf_inline_plt (struct bfd_link_in
 	      return FALSE;
 
 	    relend = relstart + sec->reloc_count;
-	    for (rel = relstart; rel < relend; )
+	    for (rel = relstart; rel < relend; rel++)
 	      {
 		enum elf_ppc64_reloc_type r_type;
 		unsigned long r_symndx;

Reply via email to