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;