From 39a8b0bce28cf4ef8fda523ad9c4634692764134 Mon Sep 17 00:00:00 2001 From: Jim Keniston Date: Wed, 4 Jun 2008 16:16:31 -0700 Subject: [PATCH] Fix PR 6588 --- ChangeLog | 6 ++++++ tapset/syscalls.stp | 7 ++++--- testsuite/semok/syscall_return.stp | 4 ++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100755 testsuite/semok/syscall_return.stp diff --git a/ChangeLog b/ChangeLog index bf174568c..726bd76cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-06-04 Jim Keniston + + PR 6588 + * tapset/syscalls.stp: Remove return aliases for exit and exit_group. + * testsuite/semok/syscalls_return.stp: Regression test + 2008-06-03 David Smith * tapsets.cxx: Added several string tokens that are used instead diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp index d394208f2..cf824f676 100644 --- a/tapset/syscalls.stp +++ b/tapset/syscalls.stp @@ -630,7 +630,8 @@ probe syscall.exit = kernel.function("do_exit") { status = $code argstr = sprint($code) } -probe syscall.exit.return = end {} +# sys_exit() never returns, and is blacklisted for return probes, +# so no alias here. See bz6588. # exit_group _________________________________________________ # void sys_exit_group(int error_code) @@ -640,8 +641,8 @@ probe syscall.exit_group = kernel.function("sys_exit_group") { status = $error_code argstr = sprint($error_code) } - -probe syscall.exit_group.return = end {} +# sys_exit_group() never returns, and is blacklisted for return probes, +# so no alias here. See bz6588. %(arch != "x86_64" %? # fadvise64 __________________________________________________ diff --git a/testsuite/semok/syscall_return.stp b/testsuite/semok/syscall_return.stp new file mode 100755 index 000000000..9a0ca7c48 --- /dev/null +++ b/testsuite/semok/syscall_return.stp @@ -0,0 +1,4 @@ +#!/bin/sh +# Per bz6588, this should get through the semantic pass without warnings. +stap -p2 -e 'probe syscall.*.return { printf("%s returns %s\n", name, retstr) }' 2>&1 | grep -q WARNING && exit 1 +exit 0 -- 2.43.5