gcc/gcc ChangeLog dbxout.c

uweigand@de.ibm.com uweigand@de.ibm.com
Thu Feb 17 13:31:00 GMT 2005


Richard Henderson wrote:

(I couldn't find the gcc-patches post corresponding to this change?)
> Log message:
> 	PR debug/19521
> 	* dbxout.c (dbxout_function_end): Take decl parameter; update callers.
> 	Do nothing if debug info suppressed for this function.
> 	(dbxout_begin_function): Early exit if debug info suppressed for
> 	this function.
> 
> Patches:
> http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7494&r2=2.7495
> http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/dbxout.c.diff?cvsroot=gcc&r1=1.219&r2=1.220

This change

+  /* The N_FUN tag at the end of the function is a GNU extension,
+     which may be undesirable, and is unnecessary if we do not have
+     named sections.  */
+  if (!use_gnu_debug_info_extensions
+      || NO_DBX_FUNCTION_END
+      || !targetm.have_named_sections
+      || DECL_IGNORED_P (decl))
+    return;
+
   /* The Lscope label must be emitted even if we aren't doing anything
      else; dbxout_block needs it.  */
   function_section (current_function_decl);

breaks -gstabs output for the very reason mentioned in the above
comment: dbxout_block will emit references to the Lscope label,
which is now undefined after your change ...

This causes gcc.dg/20041216-1.c to fail on s390.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  Linux on zSeries Development
  Ulrich.Weigand@de.ibm.com



More information about the Gcc-patches mailing list