PATCH: ld/1247: IA64: Linker crashes with undefined hidden symbols

H. J. Lu hjl@lucon.org
Fri Aug 26 20:40:00 GMT 2005


allocate_fptr doesn't check if a hidden symbol is undefined, which
leads to crash later. This patch fixes it.


H.J.
----
2005-08-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1247
	* elfxx-ia64.c (allocate_fptr): Check undefined symbol.

--- bfd/elfxx-ia64.c.hidden	2005-08-26 10:14:04.000000000 -0700
+++ bfd/elfxx-ia64.c	2005-08-26 13:34:06.000000000 -0700
@@ -2776,7 +2776,8 @@ allocate_fptr (dyn_i, data)
       if (!x->info->executable
 	  && (!h
 	      || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-	      || h->root.type != bfd_link_hash_undefweak))
+	      || (h->root.type != bfd_link_hash_undefweak
+		  && h->root.type != bfd_link_hash_undefined)))
 	{
 	  if (h && h->dynindx == -1)
 	    {



More information about the Binutils mailing list