[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