This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] S390: Fix backtrace in vdso functions.



On 28/11/2017 13:53, Adhemerval Zanella wrote:
> 
> 
> On 28/11/2017 12:18, Florian Weimer wrote:
>> On 11/28/2017 02:09 PM, Adhemerval Zanella wrote:
>>> I am almost sure we can remove it for powerpc as well (I can't see
>>> no immediate gain on doing a function call using inline assembly
>>> as for INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK on powerpc).
>>
>> Is there another way to obtain the condition code for the error status?
>>
>>   /* The vDSO does not return an error (it clear cr0.so on returning).  */
>>   INTERNAL_SYSCALL_DECL (err);
>>   result =
>>     INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK (get_tbfreq, err, uint64_t, 0);
>>
>> Thanks,
>> Florian
> 
> I think we can simplify this call in specific since __kernel_get_tbfreq
> always succeed if the vDSO is present. The only issue is the symbol
> returns an uint64_t even for powerpc32.
> 

The problem is for __kernel_clock_getres and __kernel_clock_gettime the
fallback for clocks different than CLOCK_REALTIME or CLOCK_MONOTONIC
is to issue a syscall (and then it requires a mfcr to get the result
value).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]