summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-06-16 02:47:51 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-06-16 02:50:36 +0200
commitb0344cf5c55b4ca83f383c7a1896a016dfe66687 (patch)
tree6b7a0f359d40771bece104cc4433793b794ef82d
parent7a646a93fadef8841c724501fe723b383069191e (diff)
downloadglibc-b0344cf5c55b4ca83f383c7a1896a016dfe66687.tar.gz
hurd: Avoid PLT references to syscalls
* 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.
-rw-r--r--ChangeLog4
-rw-r--r--mach/Makefile3
-rw-r--r--sysdeps/mach/include/mach/mach_traps.h20
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