This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
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).