[Bug librt/20489] timer_create in compatibility mode on a 64bit big-endian system segfaults
joseph at codesourcery dot com
sourceware-bugzilla@sourceware.org
Thu Aug 18 21:30:00 GMT 2016
https://sourceware.org/bugzilla/show_bug.cgi?id=20489
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Thu, 18 Aug 2016, ian.merin at thalesesec dot com wrote:
> #if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3)
> timer_create is redirected to
> int __timer_create_old (clockid_t clock_id, struct sigevent *evp,
> int *timerid)
>
> however, the signature for timer_create is:
>
>
> int timer_create(clockid_t clockid, struct sigevent *sevp,
> timer_t *timerid);
>
> On this system, timer_t is defined as a 64bit type, while int is defined as a
> 32 bit type.
And in glibc versions in the relevant interval, timer_t was int. So this
redirection to a function taking int * is correct; callers of this
function were compiled against glibc versions at least 2.2 and less than
2.3.3, and will be passing a pointer to int.
If there's a problem here, you'll need to explain it further.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list