[PATCH] S390: Fix backtrace in vdso functions.
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Nov 28 16:35:00 GMT 2017
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).
More information about the Libc-alpha
mailing list