diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | loc2c.c | 3 | ||||
-rw-r--r-- | tapsets.cxx | 1 | ||||
-rwxr-xr-x | testsuite/buildok/seven.stp | 26 |
4 files changed, 33 insertions, 6 deletions
@@ -1,5 +1,14 @@ 2005-08-31 Graydon Hoare <graydon@redhat.com> + PR systemtap/1258 + * tapsets.cxx (dwflpp::literal_stmt_for_local): + Support DW_TAG_enumeration_type tag as synonymous with + DW_TAG_base_type. + * loc2c.c (base_byte_size): Likewise. + * testsuite/buildok/seven.stp: Adjust to work on UP kernels. + +2005-08-31 Graydon Hoare <graydon@redhat.com> + * tapsets.cxx (dwflpp::iterate_over_srcfile_lines): Correct segv reported in PR 1270. @@ -1129,7 +1129,8 @@ c_translate_pointer (struct obstack *pool, int indent, static Dwarf_Word base_byte_size (Dwarf_Die *typedie, struct location *origin) { - assert (dwarf_tag (typedie) == DW_TAG_base_type); + assert (dwarf_tag (typedie) == DW_TAG_base_type || + dwarf_tag (typedie) == DW_TAG_enumeration_type); Dwarf_Attribute attr_mem; Dwarf_Word size; diff --git a/tapsets.cxx b/tapsets.cxx index ec168ae9..f2eeb5d1 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -915,6 +915,7 @@ dwflpp + lex_cast<string>(typetag)); break; + case DW_TAG_enumeration_type: case DW_TAG_base_type: ty = pe_long; c_translate_fetch (&pool, 1, module_bias, die, typedie, &tail, diff --git a/testsuite/buildok/seven.stp b/testsuite/buildok/seven.stp index 778e483d..2ac6bcd7 100755 --- a/testsuite/buildok/seven.stp +++ b/testsuite/buildok/seven.stp @@ -1,8 +1,24 @@ #! stap -p4 -probe kernel.function("rebalance_tick") { - log ("rebalance_tick (" . string ($this_cpu) . ", " . - string ($this_rq) . ", " . - string ($idle) . - ")") +# this tests whether integers, pointers, and enums can be +# logged (PR 1258) + + +# first: enums and ints + +probe kernel.function("find_pid") +{ + log ("find_pid (" . string($type) . "," + . string($nr) . ")") } + +# second: opaque pointers and enums + +probe kernel.function("detach_pid") +{ + log ("detach_pid (" . hexstring($task) . "," + . string($type) . ")") +} + + + |