[PATCH] x86: Skip undefined symbol when finishing DT_RELR
H.J. Lu
hjl.tools@gmail.com
Sat Feb 5 15:32:34 GMT 2022
I am checking this and backporting it to 2.38 branch.
H.J.
---
Don't abort for undefined symbol when finishing DT_RELR. Instead, skip
undefined symbol. Undefined symbol will be reported by relocate_section.
* elfxx-x86.c (elf_x86_size_or_finish_relative_reloc): Skip
undefined symbol in finishing phase.
---
bfd/elfxx-x86.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index da8a488db36..f58a0a1ac3c 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -1484,11 +1484,13 @@ elf_x86_size_or_finish_relative_reloc
}
else
{
- /* Allow undefined symbol only at the sizing phase. */
+ /* Allow undefined symbol only at the sizing phase.
+ Otherwise skip undefined symbol here. Undefined
+ symbol will be reported by relocate_section. */
if (outrel == NULL)
relocation = 0;
else
- abort ();
+ continue;
}
}
else
--
2.34.1
More information about the Binutils
mailing list