bfd: avoid infinite loop when static linking XCOFF

git commit b95a0a3177bc changed a "return FALSE" to "continue", and
missed updating the while loop iterator.

	* xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
This commit is contained in:
Clément Chigot
2021-04-13 08:32:55 +02:00
committed by Alan Modra
parent 1cfc6f00e4
commit d2f1139ef0
2 changed files with 5 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2021-04-13 Clément Chigot <clement.chigot@atos.net>
* xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
2021-04-13 Nelson Chu <nelson.chu@sifive.com>
* elfnn-riscv.c (riscv_version_mismatch): Do not report the warning

View File

@ -2349,6 +2349,7 @@ xcoff_link_check_ar_symbols (bfd *abfd,
struct internal_syment sym;
bfd_coff_swap_sym_in (abfd, (void *) esym, (void *) &sym);
esym += (sym.n_numaux + 1) * symesz;
if (EXTERN_SYM_P (sym.n_sclass) && sym.n_scnum != N_UNDEF)
{
@ -2382,8 +2383,6 @@ xcoff_link_check_ar_symbols (bfd *abfd,
return true;
}
}
esym += (sym.n_numaux + 1) * symesz;
}
/* We do not need this object file. */