[Bug translator/2438] Can't resolve $fd argument for sys_readv and sys_writev on ppc64
guij at cn dot ibm dot com
sourceware-bugzilla@sourceware.org
Tue May 9 01:48:00 GMT 2006
------- Additional Comments From guij at cn dot ibm dot com 2006-05-09 01:48 -------
(In reply to comment #4)
> (In reply to comment #3)
> > It seems such case cannot be avoided completely. In powerpc, first
> > arguments are always passed in registers, and there's no reason
> > for the compiler to refuse to put a modification instruction at the
> > probe address.
> You mean, there is no need to look for a prologue end? Yes, we would
> prefer not to, but that requires correct location list information from
> the compiler to cover the function.
>
No, I don't mean there is no need to look for a prologue end. I just want
to say the first instruction (X) after the prologue may probably modify
the argument register, thus the location list entry will be inavailable.
Since our prehandler is executed before (X), thus we can use its preceding
one (X-4) to ask for the location list entry.
In the code of sys_readv, I think 0xc0000000000b3f50 is (X-4) the prologue end
and 0xc0000000000b3f54 is (pc) the first instruction after the prologue as
follow. Sorry if I am wrong with something.
c0000000000b3f44 <.sys_readv>:
c0000000000b3f44: 7c 08 02 a6 mflr r0
c0000000000b3f48: fb 81 ff e0 std r28,-32(r1)
c0000000000b3f4c: fb a1 ff e8 std r29,-24(r1)
c0000000000b3f50: 7c 9c 23 78 mr r28,r4
c0000000000b3f54: 78 63 00 20 clrldi r3,r3,32
c0000000000b3f58: 7c bd 2b 78 mr r29,r5
...
--
http://sourceware.org/bugzilla/show_bug.cgi?id=2438
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Systemtap
mailing list