summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base/pointer_array.stp
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-07-14 17:57:16 -0700
committerJosh Stone <jistone@redhat.com>2009-07-14 17:57:16 -0700
commitd52761f89a1826b1cca29b1a63269eafe7197756 (patch)
treea5b5d178e1586fb1d4cdc2733089b8d6cb753be9 /testsuite/systemtap.base/pointer_array.stp
parent9344d46f4186dbeaff984b1af6333d5c55221cd5 (diff)
downloadsystemtap-steved-d52761f89a1826b1cca29b1a63269eafe7197756.tar.gz
systemtap-steved-d52761f89a1826b1cca29b1a63269eafe7197756.tar.xz
systemtap-steved-d52761f89a1826b1cca29b1a63269eafe7197756.zip
PR4166: Allow array-like indexing on pointers
* dwflpp.cxx (dwflpp::translate_components): let pointers get treated the same as arrays, and add a final DIE dereference for array access. * loc2c.c (c_translate_array): tolerate pointer types * testsuite/systemtap.base/pointer_array.*: new test
Diffstat (limited to 'testsuite/systemtap.base/pointer_array.stp')
-rw-r--r--testsuite/systemtap.base/pointer_array.stp16
1 files changed, 16 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/pointer_array.stp b/testsuite/systemtap.base/pointer_array.stp
new file mode 100644
index 00000000..1d15ebf4
--- /dev/null
+++ b/testsuite/systemtap.base/pointer_array.stp
@@ -0,0 +1,16 @@
+probe syscall.execve
+{
+ if (pid() == target()) {
+ println(user_string($argv[0]))
+ printf("%c\n", $argv[0][0])
+ printf("%c\n", $argv[0][1])
+ printf("%c\n", $argv[0][2])
+ printf("%c\n", $argv[0][3])
+ printf("%c\n", $argv[0][4])
+ printf("%c\n", $argv[0][5])
+ printf("%c\n", $argv[0][6])
+ printf("%c\n", $argv[0][7])
+ printf("%c\n", $argv[0][8])
+ println($argv[0][9])
+ }
+}