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