diff options
author | fche <fche> | 2006-04-25 17:40:53 +0000 |
---|---|---|
committer | fche <fche> | 2006-04-25 17:40:53 +0000 |
commit | 1b07c728305a32a8d1fa1bb5da9d428e34dddf4e (patch) | |
tree | f86471e86673dbd7ce49f755f7d980aec43a5a58 /tapset/conversions.stp | |
parent | fe7e582fac54df14452fa017529bf642f2047e5f (diff) | |
download | systemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.tar.gz systemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.tar.xz systemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.zip |
2006-04-25 Frank Ch. Eigler <fche@elastic.org>
PR 2427.
* staptree.cxx (varuse_collecting_visitor::visit_embeddedcode):
Support /* pure */ declaration. Stop using __tvar_ naming hack.
(v_c_u::visit_print_format): Mark sprint and sprintf as
side-effect-free.
(deep_copy_visitor::visit_print_format): Propagate raw_components.
* stap.1.in: Document declaration.
* elaborate.cxx (semantic_pass_opt2): Verbose message tweak.
(dead_stmtexpr_remover): Extend for more aggressive optimization.
* tapsets.cxx (dwarf,mark_var_expanding_copy_visotor): Add
/* pure */ declaration to rvalue expansions.
* tapset/*.stp: Added /* pure */ declarations to many functions.
* testsuite/parseok/unparsers.stp: Propagate guru mode flag.
* testsuite/buildok/twentyfour.stp: New test.
Diffstat (limited to 'tapset/conversions.stp')
-rw-r--r-- | tapset/conversions.stp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tapset/conversions.stp b/tapset/conversions.stp index b05d7a8e..7a664a58 100644 --- a/tapset/conversions.stp +++ b/tapset/conversions.stp @@ -6,15 +6,15 @@ // Public License (GPL); either version 2, or (at your option) any // later version. -function hexstring:string (num:long) %{ +function hexstring:string (num:long) %{ /* pure */ snprintf (THIS->__retvalue, MAXSTRINGLEN, "0x%llx", (long long) THIS->num); %} -function string:string (num:long) %{ +function string:string (num:long) %{ /* pure */ snprintf (THIS->__retvalue, MAXSTRINGLEN, "%lld", (long long) THIS->num); %} -function kernel_string:string (addr:long) %{ +function kernel_string:string (addr:long) %{ /* pure */ char *destination = THIS->__retvalue; deref_string (destination, THIS->addr, MAXSTRINGLEN); goto success; @@ -30,7 +30,7 @@ success: ; # NB: accessing user space is hazardous from certain kernel contexts. # Errors should be returned when this is detected. -function user_string:string (addr:long) %{ +function user_string:string (addr:long) %{ /* pure */ long rc = _stp_strncpy_from_user (THIS->__retvalue, (const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN); |