PATCH COMMITTED: Print name of bad C_EFCN symbol

Ian Lance Taylor ian@airs.com
Mon Mar 28 05:52:00 GMT 2005


Due to gcc pr 9963 (http://gcc.gnu.org/PR9963) gcc will sometimes
generate bad COFF debugging information for functions with a forward
reference.  Pending a compiler fix, it's nice if the assembler can
give a slightly more useful error message.  I just committed a patch
to do this--the error message is only slightly more useful, but at
least you know which function is causing the problem.

Ian


2005-03-27  Ian Lance Taylor  <ian@airs.com>

	* config/obj-coff.c (coff_frob_symbol): When crashing because of a
	bad C_EFCN symbol, print its name.


Index: config/obj-coff.c
===================================================================
RCS file: /cvs/src/src/gas/config/obj-coff.c,v
retrieving revision 1.80
diff -u -p -r1.80 obj-coff.c
--- config/obj-coff.c	16 Mar 2005 14:56:59 -0000	1.80
+++ config/obj-coff.c	27 Mar 2005 17:53:01 -0000
@@ -1301,7 +1301,8 @@ coff_frob_symbol (symbolS *symp, int *pu
 	  if (S_GET_STORAGE_CLASS (symp) == C_EFCN)
 	    {
 	      if (coff_last_function == 0)
-		as_fatal (_("C_EFCN symbol out of scope"));
+		as_fatal (_("C_EFCN symbol for %s out of scope"),
+			  S_GET_NAME (symp));
 	      SA_SET_SYM_FSIZE (coff_last_function,
 				(long) (S_GET_VALUE (symp)
 					- S_GET_VALUE (coff_last_function)));



More information about the Binutils mailing list