Probe on function entry rather than the end of the prolog (s390x only)

David Wilder dwilder@us.ibm.com
Thu Feb 8 23:17:00 GMT 2007


David Wilder wrote:

> Frank Ch. Eigler wrote:
>
>> Roland McGrath <roland@redhat.com> writes:
>>
>>
>>
>>> I don't think that flies so well. The bugs we hit in older
>>> compilers were location lists that looked fine but were incorrect
>>> for the prologue regions. There isn't any automatic way to identify
>>> those location lists as bad.
>>>
>>
>> Too bad. OK, then let's gather some data about compiler versions and
>> architectures. If we find a reasonable and documentable dividing line
>> between working and not working, then we can make systemtap assume the
>> former. (We could retain a discreet switch such as an environment
>> variable to activate the prologue code for people stuck with
>> non-working systems.)
>>
>> - FChE
>>
>>
> What archs did you see bugs on? I suspect any list of working and not 
> working gcc versions will have to be indexed by arch.
>
> I can try to verify that the location lists for the prolog region (on 
> s390) are always correct or not.
> After making my purposed change on s390x the full systemtap tests 
> found no new failures. But that may not be all inclusive so I will try 
> to develop a specific test.
>
I would like to re-open this discussion.
I have not had a chance to do any targeted testing of the correctness of 
location lists at function entry on the s390x. However, in other testing 
I have not seen any issues related to bad location info at the function 
entry. Setting the probe points at the end of the prolog may be 
problematic on the s390x for another reason. I am told that depending on 
the optimization level, finding the end of the prolog may be tricky as 
the prolog may be interspersed with other code. The method used today of 
finding the prolog by searching for the next line of C code after the 
function entry may not fly. These are clearly all bugs/issues with gcc 
and we should push for solutions from the gcc folks. But before that 
happens I believe the best solution for s390x is going to be placing our 
probe points at the function entry (only for s390x).

-- 
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA 
dwilder@us.ibm.com
(503)578-3789



More information about the Systemtap mailing list