diff options
author | Josh Stone <jistone@redhat.com> | 2009-07-14 17:57:16 -0700 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-07-14 17:57:16 -0700 |
commit | d52761f89a1826b1cca29b1a63269eafe7197756 (patch) | |
tree | a5b5d178e1586fb1d4cdc2733089b8d6cb753be9 /testsuite/systemtap.base/pointer_array.stp | |
parent | 9344d46f4186dbeaff984b1af6333d5c55221cd5 (diff) | |
download | systemtap-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.stp | 16 |
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]) + } +} |