summaryrefslogtreecommitdiff
path: root/mach
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-02 22:07:28 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-02 22:08:55 +0000
commit7a8f45e302b4518da518b48ab54ab43249d606f1 (patch)
treea133a61119bb88126436c14862c29ba3a88805e2 /mach
parent02008f83011862eda4aec358a369427b790d7cd8 (diff)
hurd: Avoid some libc.so PLTs
* hurd/catch-signal.c (hurd_catch_signal): Rename to __hurd_catch_signal. (hurd_catch_signal): New strong alias. (hurd_safe_memset, hurd_safe_copyout, hurd_safe_copyin): Call __hurd_catch_signal instead of hurd_catch_signal. * hurd/exc2signal.c (_hurd_exception2signal): Add hidden def. * hurd/hurdexec.c (_hurd_init): Add hidden def. * hurd/hurdinit.c (_hurd_init): Add hidden def. * hurd/hurdsig.c: Include <mach/mig_support.h>. (_hurd_thread_sigstate): Add hidden def. (_hurd_internal_post_signal): Use __mutex_unlock instead of mutex_unlock. * hurd/intern-fd.c (_hurd_intern_fd): Add hidden def. * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add hidden def. * hurd/path-lookup.c (hurd_file_name_path_lookup): Rename to __hurd_file_name_path_lookup. (hurd_file_name_path_lookup): New strong alias. (file_name_path_lookup): Call __hurd_file_name_path_lookup instead of hurd_file_name_path_lookup. * mach/errstring.c (mach_error_type): Add hidden def. * mach/msg-destroy.c (__mach_msg_destroy): Add hidden def. * mach/mutex-init.c (__mutex_init): Add hidden def. * mach/spin-lock.c (__spin_lock_locked, __spin_lock, __spin_unlock, __spin_try_lock, __mutex_lock, __mutex_trylock): Add hidden defs. * mach/spin-solid.c (__spin_lock_solid): Add hidden def. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_internal): Rename to __hurd_canonicalize_directory_name_internal. (_hurd_canonicalize_directory_name_internal): New strong alias. (__canonicalize_directory_name_internal, __getcwd): Call __hurd_canonicalize_directory_name_internal instead of _hurd_canonicalize_directory_name_internal. * sysdeps/mach/hurd/mig-reply.c: Include <mach/mig_support.h>. (__mig_get_reply_port, __mig_dealloc_reply_port, __mig_init): Add hidden defs. * sysdeps/hurd/include/hurd.h: New file. * sysdeps/hurd/include/hurd/fd.h: New file. * sysdeps/hurd/include/hurd/signal.h: New file. * sysdeps/mach/include/lock-intern.h: New file. * sysdeps/mach/include/mach.h: New file. * sysdeps/mach/include/mach/mig_support.h: New file. * sysdeps/mach/include/mach_error.h: New file.
Diffstat (limited to 'mach')
-rw-r--r--mach/errstring.c1
-rw-r--r--mach/msg-destroy.c1
-rw-r--r--mach/mutex-init.c1
-rw-r--r--mach/spin-lock.c6
-rw-r--r--mach/spin-solid.c1
5 files changed, 10 insertions, 0 deletions
diff --git a/mach/errstring.c b/mach/errstring.c
index c00b02c2a6..3e665e6f7a 100644
--- a/mach/errstring.c
+++ b/mach/errstring.c
@@ -59,6 +59,7 @@ mach_error_type(mach_error_t err)
|| sub >= errors[system].max_sub ) return( "(?/?)" );
return( errors[system].subsystem[sub].subsys_name );
}
+libc_hidden_def (mach_error_type)
boolean_t mach_error_full_diag = FALSE;
diff --git a/mach/msg-destroy.c b/mach/msg-destroy.c
index bc7dd558e9..7429ecbc2d 100644
--- a/mach/msg-destroy.c
+++ b/mach/msg-destroy.c
@@ -189,6 +189,7 @@ __mach_msg_destroy (mach_msg_header_t *msg)
}
weak_alias (__mach_msg_destroy, mach_msg_destroy)
+libc_hidden_def (__mach_msg_destroy)
static void
mach_msg_destroy_port (mach_port_t port, mach_msg_type_name_t type)
diff --git a/mach/mutex-init.c b/mach/mutex-init.c
index 776fec5506..a8f238c722 100644
--- a/mach/mutex-init.c
+++ b/mach/mutex-init.c
@@ -24,3 +24,4 @@ __mutex_init (void *lock)
{
*(int *)lock = LLL_INITIALIZER;
}
+libc_hidden_def (__mutex_init)
diff --git a/mach/spin-lock.c b/mach/spin-lock.c
index 1b1e69c8d6..888eb9d708 100644
--- a/mach/spin-lock.c
+++ b/mach/spin-lock.c
@@ -3,7 +3,13 @@
#include "spin-lock.h"
weak_alias (__spin_lock_init, spin_lock_init);
+libc_hidden_def (__spin_lock_locked);
weak_alias (__spin_lock_locked, spin_lock_locked);
+libc_hidden_def (__spin_lock);
weak_alias (__spin_lock, spin_lock);
+libc_hidden_def (__spin_unlock);
weak_alias (__spin_unlock, spin_unlock);
+libc_hidden_def (__spin_try_lock);
weak_alias (__spin_try_lock, spin_try_lock);
+libc_hidden_def (__mutex_lock);
+libc_hidden_def (__mutex_trylock);
diff --git a/mach/spin-solid.c b/mach/spin-solid.c
index 6612885167..db1bcd0750 100644
--- a/mach/spin-solid.c
+++ b/mach/spin-solid.c
@@ -26,3 +26,4 @@ __spin_lock_solid (spin_lock_t *lock)
__swtch_pri (0);
}
weak_alias (__spin_lock_solid, spin_lock_solid);
+libc_hidden_def (__spin_lock_solid)