Bug 11163 - on ppc, 'syscall.readv' and 'syscall.writev' aliases report an "unknown" fd
Summary: on ppc, 'syscall.readv' and 'syscall.writev' aliases report an "unknown" fd
Status: RESOLVED FIXED
Alias: None
Product: systemtap
Classification: Unclassified
Component: tapsets (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-12 21:57 UTC by David Smith
Modified: 2010-01-12 22:53 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Smith 2010-01-12 21:57:33 UTC
On ppc, the 'syscall.readv' and 'syscall.writev' aliases report the fd as
"unknown".  This is because of the following commit:

commit 43efac911763c31250e953fcd633d7f275d88270
Author: hien <hien>
Date:   Thu Mar 9 01:06:52 2006 +0000

    Temporary fix can't resolve $fd for readv and writev on RHEL4 U3 ppc64.

This "temporary" fix has been around for a long time now.

Here's the code:

/* FIXME: RHEL4 U3 ppc64 can't resolve $fd */
%( arch != "powerpc" %?
	fd = $fd
	argstr = sprintf("%d, %p, %d", $fd, $vec, $vlen)
%:
	argstr = sprintf("unknown fd, %p, %d", $vec, $vlen)
%)

While it may be true that RHEL4 U3 ppc64 can't resolve $fd, RHEL5 U3/U4 ppc64
can resolve $fd.

An easy workaround would be to add in a kernel version check so that "unknown"
fds are only reported for kernels of the RHEL4 era.
Comment 1 Frank Ch. Eigler 2010-01-12 22:04:38 UTC
This rather blunt hack should come out. 
The --skip-badvars option would make scripts that use this probe alias work.
Comment 2 David Smith 2010-01-12 22:53:05 UTC
Fixed in commit 0effa39 by removing the ppc specific code.