[PATCH] Improve debug info for Ada (2/4)
Geoffrey Keating
geoffk@apple.com
Fri Jun 8 18:03:00 GMT 2007
On 07/06/2007, at 11:05 PM, Eric Botcazou wrote:
> Hi Geoff,
>
>> Your patch
>> [...]
>> breaks bootstrap on i386-darwin9, because the Darwin backend is not
>> expecting the debug information type to suddenly change from DWARF to
>> nothing in the middle of a compilation. See the definition of
>> DBX_REGISTER_NUMBER in darwin.h.
>
> Could you clarify the failure mode?
This assert in dwarf2out.c fails building libjava:
gcc_assert (cfa.reg
== (unsigned long)DWARF_FRAME_REGNUM
(STACK_POINTER_REGNUM));
because cfa.reg is 4 and it's expecting 5.
>> All the other implementation of DECL_IGNORED_P is done by the
>> debugging output backends and it's done differently for each
>> backend. In particular the DWARF output code doesn't actually
>> suppress any debug information, it just marks it as
>> DW_AT_artificial. We had extensive discussion about this on the list
>> and agreed this was the right thing to do.
>
> Yes, that's why I wanted to expand the semantics, in order to avoid
> emitting
> useless debug info for whole functions.
It's not all useless in all circumstances. For instance, if the
debugger stops in such a function (due to a crash or a breakpoint set
on an address) I think you'd need pretty much all of it.
>> So, I propose reverting this patch. What do you think?
>
> Can we get away with defining DWARF_FRAME_REGNUM for x86/Darwin?
I don't think so, or that's what would have been implemented originally.
I can confirm that backing out the change allows a successful bootstrap.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2462 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070608/f4a9a3b9/attachment.p7s>
More information about the Gcc-patches
mailing list