diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-16 02:47:51 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-16 02:50:36 +0200 |
commit | b0344cf5c55b4ca83f383c7a1896a016dfe66687 (patch) | |
tree | 6b7a0f359d40771bece104cc4433793b794ef82d | |
parent | 7a646a93fadef8841c724501fe723b383069191e (diff) | |
download | glibc-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-- | ChangeLog | 4 | ||||
-rw-r--r-- | mach/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/mach/include/mach/mach_traps.h | 20 |
3 files changed, 20 insertions, 7 deletions
@@ -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 |