hurd: Avoid PLT references to shortcuts

* sysdeps/mach/include/mach-shortcuts-hidden.h: New file.
	* mach/shortcut.awk: Make syscall stubs include
	<mach-shortcuts-hidden.h> and add hidden definition.
	* sysdeps/mach/include/mach.h: Include <mach-shortcuts-hidden.h>.
This commit is contained in:
Samuel Thibault 2018-06-16 02:19:47 +02:00
parent 932d05f0dc
commit c1b7586c54
4 changed files with 20 additions and 0 deletions

View File

@ -18,6 +18,10 @@
* sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Remove * sysdeps/htl/pthreadP.h (___pthread_get_cleanup_stack): Remove
prototype. prototype.
* sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional. * sysdeps/mach/hurd/localplt.data (ld.so): Make ref to __open optional.
* sysdeps/mach/include/mach-shortcuts-hidden.h: New file.
* mach/shortcut.awk: Make syscall stubs include
<mach-shortcuts-hidden.h> and add hidden definition.
* sysdeps/mach/include/mach.h: Include <mach-shortcuts-hidden.h>.
2018-06-15 Joseph Myers <joseph@codesourcery.com> 2018-06-15 Joseph Myers <joseph@codesourcery.com>

View File

@ -1,6 +1,7 @@
# Icky intimate knowledge of MiG output. # Icky intimate knowledge of MiG output.
BEGIN { print "/* This file is generated by shortcut.awk. */"; BEGIN { print "/* This file is generated by shortcut.awk. */";
print "#include <mach-shortcuts-hidden.h>";
echo=1; echo=1;
inproto=0; proto=""; arglist=""; inproto=0; proto=""; arglist="";
} }
@ -44,6 +45,7 @@ echo == 1 { print $0; }
print " return err;" print " return err;"
print "}"; print "}";
print "weak_alias (" call ", " alias ")"; print "weak_alias (" call ", " alias ")";
print "libc_hidden_def (" call ")";
# Declare RPC so the weak_alias that follows will work. # Declare RPC so the weak_alias that follows will work.
print "extern __typeof (" call ") " rpc ";"; print "extern __typeof (" call ") " rpc ";";
echo = 1; echo = 1;

View File

@ -0,0 +1,13 @@
#include <mach-shortcuts.h>
libc_hidden_proto (__task_create)
libc_hidden_proto (__task_terminate)
libc_hidden_proto (__vm_allocate)
libc_hidden_proto (__vm_deallocate)
libc_hidden_proto (__task_suspend)
libc_hidden_proto (__task_set_special_port)
libc_hidden_proto (__vm_map)
libc_hidden_proto (__thread_depress_abort)
libc_hidden_proto (__mach_port_allocate_name)
libc_hidden_proto (__mach_port_allocate)
libc_hidden_proto (__mach_port_deallocate)
libc_hidden_proto (__mach_port_insert_right)

View File

@ -1,5 +1,6 @@
#ifndef _MACH_H #ifndef _MACH_H
#include_next <mach.h> #include_next <mach.h>
#include <mach-shortcuts-hidden.h>
#ifndef _ISOMAC #ifndef _ISOMAC
libc_hidden_proto (__mach_msg_destroy) libc_hidden_proto (__mach_msg_destroy)
#endif #endif