diff options
| author | Mark Wielaard <[email protected]> | 2011-03-24 13:21:43 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2011-03-24 13:21:43 +0100 |
| commit | 1bfd2cbcc0591061089dcf88b2f4024d1fc06377 (patch) | |
| tree | 3b549be2355864886b6a515aaab613a1eb4294ad | |
| parent | 86a4c3e51f26ff72156ced7f8a1334f19d66b25f (diff) | |
| parent | 49c206bdc316e3722012751d66300015e45a1a20 (diff) | |
Merge branch 'mjw/call_site' into dwarf
| -rw-r--r-- | dwarflint/dwarf_gnu.cc | 11 | ||||
| -rw-r--r-- | src/dwarf-opcodes.h | 5 |
2 files changed, 15 insertions, 1 deletions
diff --git a/dwarflint/dwarf_gnu.cc b/dwarflint/dwarf_gnu.cc index 6335abb4..b70a6d2d 100644 --- a/dwarflint/dwarf_gnu.cc +++ b/dwarflint/dwarf_gnu.cc @@ -69,6 +69,17 @@ namespace add (const_attribute (DW_AT_GNU_odr_signature)); add (string_attribute (DW_AT_GNU_template_name)); // xxx ??? + + // GNU extensions for representation of call sites + // http://www.dwarfstd.org/ShowIssue.php?issue=100909.2 + add (attribute (DW_AT_GNU_call_site_value, cl_exprloc)); + add (attribute (DW_AT_GNU_call_site_data_value, cl_exprloc)); + add (attribute (DW_AT_GNU_call_site_target, cl_exprloc)); + add (attribute (DW_AT_GNU_call_site_target_clobbered, cl_exprloc)); + add (flag_attribute (DW_AT_GNU_tail_call)); + add (flag_attribute (DW_AT_GNU_all_tail_call_sites)); + add (flag_attribute (DW_AT_GNU_all_call_sites)); + add (flag_attribute (DW_AT_GNU_all_source_call_sites)); } }; diff --git a/src/dwarf-opcodes.h b/src/dwarf-opcodes.h index f80deff3..3631bef3 100644 --- a/src/dwarf-opcodes.h +++ b/src/dwarf-opcodes.h @@ -206,4 +206,7 @@ DW_OP_0 (DW_OP_stack_value) \ DW_OP_1 (DW_OP_implicit_value, DW_FORM_block) \ /* GNU extensions */ \ - DW_OP_2 (DW_OP_GNU_implicit_pointer, DW_FORM_ref_addr, DW_FORM_sdata) + DW_OP_2 (DW_OP_GNU_implicit_pointer, DW_FORM_ref_addr, DW_FORM_sdata) \ + /* GNU variant for tracking of values passed as arguments to functions. */ \ + /* http://www.dwarfstd.org/ShowIssue.php?issue=100909.1 */ \ + DW_OP_1 (DW_OP_GNU_entry_value, DW_FORM_block) |
