[3/3] x86-64: Mark internal symbols with attribute_hidden [BZ #18822]
Commit Message
Since __syscall_clock_gettime and __start_context are internal symbols
for Linux/x86-64, mark them with attribute_hidden.
OK for master?
H.J.
---
[BZ #18822]
* sysdeps/unix/sysv/linux/x86_64/init-first.c
(__syscall_clock_gettime): Add attribute_hidden.
* sysdeps/unix/sysv/linux/x86_64/makecontext.c
(__start_context): Likewise.
---
sysdeps/unix/sysv/linux/x86_64/init-first.c | 3 ++-
sysdeps/unix/sysv/linux/x86_64/makecontext.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
Comments
On 08/18/2017 06:28 PM, H.J. Lu wrote:
> -extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
> +extern long int __syscall_clock_gettime (clockid_t, struct timespec *)
> + attribute_hidden;
Should this be
__typeof__ (clock_gettime) __syscall_clock_gettime attribute_hidden;
for added type safety?
> static inline void
> diff --git a/sysdeps/unix/sysv/linux/x86_64/makecontext.c b/sysdeps/unix/sysv/linux/x86_64/makecontext.c
> index 59fb77a8c1..e198a2215a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/makecontext.c
> +++ b/sysdeps/unix/sysv/linux/x86_64/makecontext.c
> @@ -51,7 +51,7 @@
> void
> __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
> {
> - extern void __start_context (void);
> + extern void __start_context (void) attribute_hidden;
This is okay. The definition is in assembler code, so a separate header
would not add type safety.
Thanks,
Florian
@@ -27,7 +27,8 @@ long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *)
attribute_hidden;
-extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
+extern long int __syscall_clock_gettime (clockid_t, struct timespec *)
+ attribute_hidden;
static inline void
@@ -51,7 +51,7 @@
void
__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
{
- extern void __start_context (void);
+ extern void __start_context (void) attribute_hidden;
greg_t *sp;
unsigned int idx_uc_link;
va_list ap;