[PATCH] y2038: fix: Add missing libc_hidden_def attribute for some syscall wrappers
Lukasz Majewski
lukma@denx.de
Sun Mar 22 13:46:48 GMT 2020
Dear Community,
> During the conversion to support 64 bit time on some architectures
> with __WORDSIZE == 32 && __TIMESIZE != 64 the libc_hidden_def
> attribute for eligible functions was by mistake omitted.
>
Are there any comments for this patch?
This patch fixes the code which is already in glibc-master. I do
believe that it shall be pulled ASAP...
> This patch fixes this issue and exports (and allows using) those
> functions when Y2038 support is enabled in glibc.
> ---
> sysdeps/unix/sysv/linux/clock_getres.c | 2 ++
> sysdeps/unix/sysv/linux/clock_gettime.c | 2 ++
> sysdeps/unix/sysv/linux/clock_nanosleep.c | 2 ++
> sysdeps/unix/sysv/linux/clock_settime.c | 2 ++
> sysdeps/unix/sysv/linux/ppoll.c | 2 ++
> 5 files changed, 10 insertions(+)
>
> diff --git a/sysdeps/unix/sysv/linux/clock_getres.c
> b/sysdeps/unix/sysv/linux/clock_getres.c index fee693c36f..5f6955ab10
> 100644 --- a/sysdeps/unix/sysv/linux/clock_getres.c
> +++ b/sysdeps/unix/sysv/linux/clock_getres.c
> @@ -72,6 +72,8 @@ __clock_getres64 (clockid_t clock_id, struct
> __timespec64 *res) }
>
> #if __TIMESIZE != 64
> +libc_hidden_def (__clock_getres64)
> +
> int
> __clock_getres (clockid_t clock_id, struct timespec *res)
> {
> diff --git a/sysdeps/unix/sysv/linux/clock_gettime.c
> b/sysdeps/unix/sysv/linux/clock_gettime.c index
> d6c0b4f637..bfe3823b68 100644 ---
> a/sysdeps/unix/sysv/linux/clock_gettime.c +++
> b/sysdeps/unix/sysv/linux/clock_gettime.c @@ -73,6 +73,8 @@
> __clock_gettime64 (clockid_t clock_id, struct __timespec64 *tp) }
>
> #if __TIMESIZE != 64
> +libc_hidden_def (__clock_gettime64)
> +
> int
> __clock_gettime (clockid_t clock_id, struct timespec *tp)
> {
> diff --git a/sysdeps/unix/sysv/linux/clock_nanosleep.c
> b/sysdeps/unix/sysv/linux/clock_nanosleep.c index
> 48175ef1da..cc7a09569d 100644 ---
> a/sysdeps/unix/sysv/linux/clock_nanosleep.c +++
> b/sysdeps/unix/sysv/linux/clock_nanosleep.c @@ -79,6 +79,8 @@
> __clock_nanosleep_time64 (clockid_t clock_id, int flags, const struct
> __timespec }
> #if __TIMESIZE != 64
> +libc_hidden_def (__clock_nanosleep_time64)
> +
> int
> __clock_nanosleep (clockid_t clock_id, int flags, const struct
> timespec *req, struct timespec *rem)
> diff --git a/sysdeps/unix/sysv/linux/clock_settime.c
> b/sysdeps/unix/sysv/linux/clock_settime.c index
> e704e1dbe7..ebda871f4c 100644 ---
> a/sysdeps/unix/sysv/linux/clock_settime.c +++
> b/sysdeps/unix/sysv/linux/clock_settime.c @@ -55,6 +55,8 @@
> __clock_settime64 (clockid_t clock_id, const struct __timespec64 *tp)
> }
> #if __TIMESIZE != 64
> +libc_hidden_def (__clock_settime64)
> +
> int
> __clock_settime (clockid_t clock_id, const struct timespec *tp)
> {
> diff --git a/sysdeps/unix/sysv/linux/ppoll.c
> b/sysdeps/unix/sysv/linux/ppoll.c index 3fcd19efb4..4ffb23710e 100644
> --- a/sysdeps/unix/sysv/linux/ppoll.c
> +++ b/sysdeps/unix/sysv/linux/ppoll.c
> @@ -67,6 +67,8 @@ __ppoll64 (struct pollfd *fds, nfds_t nfds, const
> struct __timespec64 *timeout, }
>
> #if __TIMESIZE != 64
> +libc_hidden_def (__ppoll64)
> +
> int
> __ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec
> *timeout, const sigset_t *sigmask)
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20200322/677986ec/attachment.sig>
More information about the Libc-alpha
mailing list