mirror of git://sourceware.org/git/glibc.git
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.
This commit is contained in:
parent
7a646a93fa
commit
b0344cf5c5
|
|
@ -25,6 +25,10 @@
|
||||||
(__mach_msg): Add hidden prototype.
|
(__mach_msg): Add hidden prototype.
|
||||||
* mach/msg.c: Include <mach.h>.
|
* mach/msg.c: Include <mach.h>.
|
||||||
(__mach_msg): Add hidden definition.
|
(__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>
|
2018-06-15 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,8 @@ else
|
||||||
$(mach-syscalls:%=$(objpfx)%.S): $(objpfx)%.S: $(objpfx)mach-syscalls.mk
|
$(mach-syscalls:%=$(objpfx)%.S): $(objpfx)%.S: $(objpfx)mach-syscalls.mk
|
||||||
(echo '#include <sysdep.h>'; \
|
(echo '#include <sysdep.h>'; \
|
||||||
echo 'kernel_trap (__$*,$(sysno-$*),$(nargs-$*))'; \
|
echo 'kernel_trap (__$*,$(sysno-$*),$(nargs-$*))'; \
|
||||||
echo 'weak_alias (__$*, $*)') > $@-new
|
echo 'weak_alias (__$*, $*)'; \
|
||||||
|
echo 'libc_hidden_def (__$*)') > $@-new
|
||||||
mv -f $@-new $@
|
mv -f $@-new $@
|
||||||
generated += $(mach-syscalls:=.S)
|
generated += $(mach-syscalls:=.S)
|
||||||
endif # mach-syscalls
|
endif # mach-syscalls
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
||||||
#ifndef _MACH_MACH_TRAPS_H
|
#ifndef _MACH_MACH_TRAPS_H
|
||||||
#include_next <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);
|
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_task_self) (void);
|
||||||
extern mach_port_t (__mach_host_self) (void) attribute_hidden;
|
libc_hidden_proto (__mach_task_self)
|
||||||
extern boolean_t __swtch (void) attribute_hidden;
|
extern mach_port_t (__mach_host_self) (void);
|
||||||
extern boolean_t __swtch_pri (int priority) attribute_hidden;
|
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,
|
kern_return_t __thread_switch (mach_port_t new_thread,
|
||||||
int option, mach_msg_timeout_t option_time) attribute_hidden;
|
int option, mach_msg_timeout_t option_time);
|
||||||
kern_return_t __evc_wait (unsigned int event) attribute_hidden;
|
libc_hidden_proto (__thread_switch)
|
||||||
|
kern_return_t __evc_wait (unsigned int event);
|
||||||
|
libc_hidden_proto (__evc_wait)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue