[PATCH] Fix outputting of debug info for things marked *INTERNAL* (fwd)

Michael Elizabeth Chastain chastain@cygnus.com
Sun Feb 18 16:56:00 GMT 2001


Hello gcc-patches,

What's the status of Jason Merrill's patch below?

I'm working on fixing the gdb testsuite for the g++ v3 abi.  One of the
problems is that g++ emits "*INTERNAL*" symbols which do not correspond
to any actual code.  Here's a sample.

  .stabs  "A:T(0,25)=s4x_:/0(0,1),0,32;operator=::(0,26)=#(0,25),(0,27)=&(0,25),(0,28)=*(0,25),(0,29)=&(0,25),(0,21);:_ZN1AaSERKS_;2A.;A::(0,30)=#(0,25),(0,21),(0,28),(0,29),(0,21);:_ZN1AC1ERKS_ *INTERNAL* ;2A.;__base_ctor::(0,30):_ZN1AC2ERKS_;2A.;__comp_ctor::(0,30):_ZN1AC1ERKS_;2A.;A::(0,31)=#(0,25),(0,21),(0,28),(0,1),(0,21);:_ZN1AC1Ei *INTERNAL* ;2A.;__base_ctor::(0,31):_ZN1AC2Ei;2A.;__comp_ctor::(0,31):_ZN1AC1Ei;2A.;;",128,0,0,0

These *INTERNAL* symbols show up in gdb when the user inspects the type
("ptype A").  I need them to not show up, one way or another.

Jason Merrill wrote a patch to remove them from gcc's output, but the
patch doesn't appear to be in either gcc-3_0-branch or mainline.

So, can gcc remove these symbols from its output?  If not, I'll look
into making gdb's input reader skip them.

Michael Elizabeth Chastain
<chastain@redhat.com>
"love without fear"

---------- Forwarded message ----------
Date: 10 Feb 2001 10:36:30 +0000
From: Jason Merrill <jason@redhat.com>
To: Daniel Berlin <dberlin@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Fix outputting of debug info for things marked
    *INTERNAL*

How about this?

2001-02-10  Jason Merrill  <jason@redhat.com>

	* class.c (clone_function_decl): Set DECL_IGNORED_P on the
	original, imaginary function.

*** class.c.~1~ Tue Feb  6 16:29:13 2001
--- class.c     Sat Feb 10 10:27:33 2001
*************** clone_function_decl (fn, update_method_v
*** 4387,4392 ****
--- 4387,4395 ----
	if (update_method_vec_p)
	add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
      }
+
+   /* We don't want debugging information for this imaginary function.  */
+   DECL_IGNORED_P (fn) = 1;
  }

  /* For each of the constructors and destructors in T, create an





More information about the Gcc-patches mailing list