diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-14 01:01:57 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-06-14 01:01:57 +0200 |
commit | 126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d (patch) | |
tree | 5a81277a130a2712556b825cdd8b89e157401bad | |
parent | c8c6e6d6d0859e5e9b3c6f8b3daa4e6b6e709873 (diff) | |
download | glibc-126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d.tar.gz glibc-126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d.tar.xz glibc-126b3ec370f0fa8ecbbce27c8c4b621b1ce6f02d.zip |
hurd: Avoid PLTs for __mach_thread_self and __mach_reply_port
* mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self, __mach_task_self, __mach_host_self, __swtch, __swtch_pri, __thread_switch, __evc_wait): Move declarations to... * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add attribute_hidden.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | mach/mach/mach_traps.h | 9 | ||||
-rw-r--r-- | sysdeps/mach/include/mach/mach_traps.h | 13 |
3 files changed, 18 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 7089241ffd..fab0c81ada 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,11 @@ * sysdeps/mach/hurd/localplt.data (ld.so): Add __open64, rename __libc_read and __libc_write to __read and __write. * sysdeps/hurd/include/hurd/port.h: New file. + * mach/mach/mach_traps.h (__mach_reply_port, __mach_thread_self, + __mach_task_self, __mach_host_self, __swtch, __swtch_pri, + __thread_switch, __evc_wait): Move declarations to... + * sysdeps/mach/include/mach/mach_traps.h: ... new file, and add + attribute_hidden. 2018-06-13 Joseph Myers <joseph@codesourcery.com> diff --git a/mach/mach/mach_traps.h b/mach/mach/mach_traps.h index cefbd2d372..b87ea9e745 100644 --- a/mach/mach/mach_traps.h +++ b/mach/mach/mach_traps.h @@ -29,33 +29,27 @@ /* Create and return a new receive right. */ extern mach_port_t mach_reply_port (void); -extern mach_port_t __mach_reply_port (void); /* Return the thread control port for the calling thread. */ extern mach_port_t mach_thread_self (void); -extern mach_port_t __mach_thread_self (void); /* Return the task control port for the calling task. The parens are needed to protect against the macro in <mach_init.h>. */ extern mach_port_t (mach_task_self) (void); -extern mach_port_t (__mach_task_self) (void); /* Return the host information port for the host of the calling task. The parens are needed to protect against the macro in <mach_init.h>. */ extern mach_port_t (mach_host_self) (void); -extern mach_port_t (__mach_host_self) (void); /* Attempt to context switch the current thread off the processor. Returns true if there are other threads that can be run and false if not. */ extern boolean_t swtch (void); -extern boolean_t __swtch (void); /* Attempt to context switch the current thread off the processor. Lower the thread's priority as much as possible. The thread's priority will be restored when it runs again. PRIORITY is currently unused. Return true if there are other threads that can be run and false if not. */ extern boolean_t swtch_pri (int priority); -extern boolean_t __swtch_pri (int priority); /* Attempt to context switch the current thread off the processor. Try to run NEW_THREAD next, ignoring normal scheduling policies. The @@ -66,13 +60,10 @@ extern boolean_t __swtch_pri (int priority); swtch_pri. If OPTION is SWITCH_OPTION_NONE, ignore TIME. */ kern_return_t thread_switch (mach_port_t new_thread, int option, mach_msg_timeout_t option_time); -kern_return_t __thread_switch (mach_port_t new_thread, - int option, mach_msg_timeout_t option_time); /* Block the current thread until the kernel (or device) event identified by EVENT occurs. */ kern_return_t evc_wait (unsigned int event); -kern_return_t __evc_wait (unsigned int event); /* Display a null-terminated character string on the Mach console. This system call is meant as a debugging tool useful to circumvent messaging diff --git a/sysdeps/mach/include/mach/mach_traps.h b/sysdeps/mach/include/mach/mach_traps.h new file mode 100644 index 0000000000..838386243f --- /dev/null +++ b/sysdeps/mach/include/mach/mach_traps.h @@ -0,0 +1,13 @@ +#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_thread_self (void) attribute_hidden; +extern mach_port_t (__mach_task_self) (void) attribute_hidden; +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; +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; +#endif |