This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failure of gcc-ss-20010409 in ia64
- To: wilson at cygnus dot com
- Subject: Re: Bootstrap failure of gcc-ss-20010409 in ia64
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Tue, 17 Apr 2001 08:21:55 -0700
- Cc: gcc at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
- References: <mark@codesourcery.com><200104170044.RAA13813@wilson.cygnus.com>
>>>>> "Jim" == Jim Wilson <wilson@cygnus.com> writes:
Jim> Not emitting the abstract origin attribute would be easy.
Jim> This will give a die with no type or size info, which is
Jim> pretty useless. I suspect gdb will give a reasonable error
Jim> message instead of failing, but haven't tried it yet.
Jim> For a slightly more complicated change, we could check to see
Jim> if the abstract origin attribute was emitted, and if not,
Jim> then treat it like a non-inlined local variable. This would
Jim> allow the user to still be able to look at the variable, but
Jim> the output would be a little confusing since the debugger
Jim> would claim that we have a variable that doesn't exist in the
Jim> source code.
I think either of these two alternatives would be fine.
In my experience, using GDB to debug optimized, heavily inlined code
really has never worked. You tend not to be able to see variables,
you tend to find that step/next work oddly, and often you end up
jumping entirely out of the function spontaneously.
So, I guess I don't think this will be a major inconvenience to
anyone, relative to the current state.
In the long run, we should do better, but it sounds like these changes
would do the trick for GCC 3.0. At this point, we have to be looking
for minimalist solutions.
Thanks,
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com