This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Debug info extensions to support optimized out parameters


Hi!

This is an implementation of something I've sent earlier this week to
Dwarf-Discuss.
I'm attaching patch, two small testcases that can show what are these
extensions useful for and the two proposals sent to Dwarf-Discuss.
The patch implements this as vendor extension instead, as DWARF5 is
probably quite far away.  If possible, it would be nice if the
vendor codes just matched what will end up in DWARF5, then we'd just
switch to using the standard codes.

The DW_OP_GNU_entry_value special location op can be useful either
together with the DW_TAG_GNU_call_site DIEs, or e.g. for non-interactive
debugging (e.g. systemtap, where you know beforehand you'll need to query
value at some PC, and can insert breakpoint at the start of routine and
remember the value there).
DW_TAG_GNU_call_site can be useful also for more useful backtraces (where
the debugger can print you the values that were actually passed to
the function, rather than whatever the parameters contain now), for
virtual backtraces when tail calls are involved, for doing static call graph
analysis etc.

The patch is on top of the DW_OP_GNU_implicit_pointer patch.

Bootstrapped/regtested on x86_64-linux and i686-linux.

	Jakub

Attachment: Y620w
Description: Text document

Attachment: entryval.c
Description: Text document

Attachment: entryval2.f90
Description: Text document

Attachment: ENTRY_VALUE
Description: Text document

Attachment: CALL_SITE
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]