[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