From 20c6c071f5dfe6942438d97364e74f424217c94b Mon Sep 17 00:00:00 2001 From: graydon Date: Wed, 29 Jun 2005 22:42:23 +0000 Subject: 2005-06-27 Graydon Hoare * staptree.{h,cxx} (probe_alias): New structure. * parse.{h,cxx} (parser::parse): Parse probes or probe aliases. (parser::parse_probe): Likewise. * tapsets.{h,cxx}: (derived_probe_builder): (match_key): (match_node): (alias_derived_probe): Move from here, * elaborate.{h,cxx}: to here. * elaborate.h (systemtap_session::pattern_root): New member. (register_library_aliases): New function. * tapsets.cxx: Build one dwarf_derived_probe per target address. --- staptree.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'staptree.h') diff --git a/staptree.h b/staptree.h index dd53c42e..8d55f053 100644 --- a/staptree.h +++ b/staptree.h @@ -356,10 +356,12 @@ struct next_statement: public statement struct probe; +struct probe_alias; struct stapfile { std::string name; std::vector probes; + std::vector aliases; std::vector functions; std::vector globals; void print (std::ostream& o); @@ -392,9 +394,18 @@ struct probe std::vector locals; probe (); void print (std::ostream& o); - void printsig (std::ostream &o); + virtual void printsig (std::ostream &o); + virtual ~probe() {} }; +struct probe_alias + : public probe +{ + probe_alias(std::vector const & aliases); + std::vector alias_names; + virtual void printsig (std::ostream &o); + virtual ~probe_alias() {} +}; // An derived visitor instance is used to visit the entire -- cgit