This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[hurd,commited 7/8] hurd: Avoid PLT references to syscalls
- From: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- To: libc-alpha at sourceware dot org
- Cc: Samuel Thibault <samuel dot thibault at ens-lyon dot org>
- Date: Sat, 16 Jun 2018 03:06:26 +0200
- Subject: [hurd,commited 7/8] hurd: Avoid PLT references to syscalls
- References: <20180616010627.29577-1-samuel.thibault@ens-lyon.org>
* mach/Makefile ($(mach-syscalls:%=$(objpfx))): Add hidden definition.
* sysdeps/mach/include/mach/mach_traps.h (__mach_reply_port,
__mach_thread_self, __mach_task_self, __mach_host_self, __swtch,
__swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes.
---
ChangeLog | 4 ++++
mach/Makefile | 3 ++-
sysdeps/mach/include/mach/mach_traps.h | 20 ++++++++++++++------
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d81c823448..8c4b6ccd2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,10 @@
(__mach_msg): Add hidden prototype.
* mach/msg.c: Include <mach.h>.
(__mach_msg): Add hidden definition.
+ * mach/Makefile ($(mach-syscalls:%=$(objpfx))): Add hidden definition.
+ * sysdeps/mach/include/mach/mach_traps.h (__mach_reply_port,
+ __mach_thread_self, __mach_task_self, __mach_host_self, __swtch,
+ __swtch_pri, __thread_switch, __evc_wait): Add hidden prototypes.
2018-06-15 Joseph Myers <joseph@codesourcery.com>
diff --git a/mach/Makefile b/mach/Makefile
index 2683587b2d..435ae6882d 100644
--- a/mach/Makefile
+++ b/mach/Makefile
@@ -97,7 +97,8 @@ else
$(mach-syscalls:%=$(objpfx)%.S): $(objpfx)%.S: $(objpfx)mach-syscalls.mk
(echo '#include <sysdep.h>'; \
echo 'kernel_trap (__$*,$(sysno-$*),$(nargs-$*))'; \
- echo 'weak_alias (__$*, $*)') > $@-new
+ echo 'weak_alias (__$*, $*)'; \
+ echo 'libc_hidden_def (__$*)') > $@-new
mv -f $@-new $@
generated += $(mach-syscalls:=.S)
endif # mach-syscalls
diff --git a/sysdeps/mach/include/mach/mach_traps.h b/sysdeps/mach/include/mach/mach_traps.h
index d1b2febac1..2d4c1f9c5f 100644
--- a/sysdeps/mach/include/mach/mach_traps.h
+++ b/sysdeps/mach/include/mach/mach_traps.h
@@ -1,13 +1,21 @@
#ifndef _MACH_MACH_TRAPS_H
#include_next <mach/mach_traps.h>
-extern mach_port_t __mach_reply_port (void) attribute_hidden;
+extern mach_port_t __mach_reply_port (void);
+libc_hidden_proto (__mach_reply_port)
extern mach_port_t __mach_thread_self (void);
+libc_hidden_proto (__mach_thread_self)
extern mach_port_t (__mach_task_self) (void);
-extern mach_port_t (__mach_host_self) (void) attribute_hidden;
-extern boolean_t __swtch (void) attribute_hidden;
-extern boolean_t __swtch_pri (int priority) attribute_hidden;
+libc_hidden_proto (__mach_task_self)
+extern mach_port_t (__mach_host_self) (void);
+libc_hidden_proto (__mach_host_self)
+extern boolean_t __swtch (void);
+libc_hidden_proto (__swtch)
+extern boolean_t __swtch_pri (int priority);
+libc_hidden_proto (__swtch_pri)
kern_return_t __thread_switch (mach_port_t new_thread,
- int option, mach_msg_timeout_t option_time) attribute_hidden;
-kern_return_t __evc_wait (unsigned int event) attribute_hidden;
+ int option, mach_msg_timeout_t option_time);
+libc_hidden_proto (__thread_switch)
+kern_return_t __evc_wait (unsigned int event);
+libc_hidden_proto (__evc_wait)
#endif
--
2.17.1