[binutils-gdb] x86: Skip undefined symbol when finishing DT_RELR
H.J. Lu
hjl@sourceware.org
Sat Feb 5 15:38:53 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a9e61227c09c03d5cb54f9c88520baffc1d86c86
commit a9e61227c09c03d5cb54f9c88520baffc1d86c86
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Feb 5 07:26:31 2022 -0800
x86: Skip undefined symbol when finishing DT_RELR
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.
Diff:
---
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..7ac2411fc80 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
More information about the Binutils-cvs
mailing list