This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 11/12] linux: Consolidate time implementation
* Adhemerval Zanella:
> * include/libc-symbols.h (hidden_def_redir): New macro.
This macro should have documentation in the large common block above it.
Its purpose isn't obvious to me.
> +#if HAVE_IFUNC && defined USE_TIME_VSYSCALL_IFUNC
> +/* Route externals calls direct to vDSO and static and internal calls to
> + fallback implementation (which also might call the vDSO). */
> +# ifdef SHARED
> +# define INIT_ARCH()
> +libc_ifunc_redirected (__redirect_time, time,
> + get_vdso_symbol (HAVE_TIME_VSYSCALL)
> + ?: time_syscall);
> +libc_hidden_def_redir (time_syscall, time)
> +# else
> +strong_alias (time_syscall, time)
> +# endif /* SHARED */
Does this really work on x86-64? I don't think it's possible to call
IFUNCs through hidden aliases.
Thanks,
Florian