diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-02 22:07:28 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-02 22:08:55 +0000 |
commit | 7a8f45e302b4518da518b48ab54ab43249d606f1 (patch) | |
tree | a133a61119bb88126436c14862c29ba3a88805e2 /hurd | |
parent | 02008f83011862eda4aec358a369427b790d7cd8 (diff) | |
download | glibc-7a8f45e302b4518da518b48ab54ab43249d606f1.tar.gz glibc-7a8f45e302b4518da518b48ab54ab43249d606f1.tar.xz glibc-7a8f45e302b4518da518b48ab54ab43249d606f1.zip |
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 'hurd')
-rw-r--r-- | hurd/catch-signal.c | 27 | ||||
-rw-r--r-- | hurd/exc2signal.c | 1 | ||||
-rw-r--r-- | hurd/hurdexec.c | 1 | ||||
-rw-r--r-- | hurd/hurdinit.c | 1 | ||||
-rw-r--r-- | hurd/hurdsig.c | 4 | ||||
-rw-r--r-- | hurd/intern-fd.c | 1 | ||||
-rw-r--r-- | hurd/intr-msg.c | 1 | ||||
-rw-r--r-- | hurd/path-lookup.c | 27 |
8 files changed, 36 insertions, 27 deletions
diff --git a/hurd/catch-signal.c b/hurd/catch-signal.c index b1e373992b..56ce86532d 100644 --- a/hurd/catch-signal.c +++ b/hurd/catch-signal.c @@ -22,10 +22,10 @@ #include <assert.h> error_t -hurd_catch_signal (sigset_t sigset, - unsigned long int first, unsigned long int last, - error_t (*operate) (struct hurd_signal_preemptor *), - sighandler_t handler) +__hurd_catch_signal (sigset_t sigset, + unsigned long int first, unsigned long int last, + error_t (*operate) (struct hurd_signal_preemptor *), + sighandler_t handler) { /* We need to restore the signal mask, because otherwise the signal-handling code will have blocked the caught signal and for @@ -73,6 +73,7 @@ hurd_catch_signal (sigset_t sigset, return error; } +strong_alias (__hurd_catch_signal, hurd_catch_signal) error_t @@ -83,9 +84,9 @@ hurd_safe_memset (void *dest, int byte, size_t nbytes) memset (dest, byte, nbytes); return 0; } - return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), - (vm_address_t) dest, (vm_address_t) dest + nbytes, - &operate, SIG_ERR); + return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + (vm_address_t) dest, (vm_address_t) dest + nbytes, + &operate, SIG_ERR); } @@ -97,9 +98,9 @@ hurd_safe_copyout (void *dest, const void *src, size_t nbytes) memcpy (dest, src, nbytes); return 0; } - return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), - (vm_address_t) dest, (vm_address_t) dest + nbytes, - &operate, SIG_ERR); + return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + (vm_address_t) dest, (vm_address_t) dest + nbytes, + &operate, SIG_ERR); } error_t @@ -110,9 +111,9 @@ hurd_safe_copyin (void *dest, const void *src, size_t nbytes) memcpy (dest, src, nbytes); return 0; } - return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), - (vm_address_t) src, (vm_address_t) src + nbytes, - &operate, SIG_ERR); + return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), + (vm_address_t) src, (vm_address_t) src + nbytes, + &operate, SIG_ERR); } error_t diff --git a/hurd/exc2signal.c b/hurd/exc2signal.c index 73abb93baf..10aa1ca4cf 100644 --- a/hurd/exc2signal.c +++ b/hurd/exc2signal.c @@ -68,3 +68,4 @@ _hurd_exception2signal (struct hurd_signal_detail *detail, int *signo) break; } } +libc_hidden_def (_hurd_exception2signal) diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c index 027fa5a3ee..732c9ec34b 100644 --- a/hurd/hurdexec.c +++ b/hurd/hurdexec.c @@ -435,3 +435,4 @@ _hurd_exec_paths (task_t task, file_t file, free (env); return err; } +libc_hidden_def (_hurd_exec_paths) diff --git a/hurd/hurdinit.c b/hurd/hurdinit.c index cc018a43ce..6af1ddf610 100644 --- a/hurd/hurdinit.c +++ b/hurd/hurdinit.c @@ -110,6 +110,7 @@ _hurd_init (int flags, char **argv, assume the availability of the POSIX.1 services we provide. */ RUN_HOOK (_hurd_subinit, ()); } +libc_hidden_def (_hurd_init) #include <hurd/signal.h> diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c index 101dd76be1..31e8d336e3 100644 --- a/hurd/hurdsig.c +++ b/hurd/hurdsig.c @@ -23,6 +23,7 @@ #include <pthreadP.h> #include <mach.h> #include <mach/thread_switch.h> +#include <mach/mig_support.h> #include <hurd.h> #include <hurd/id.h> @@ -120,6 +121,7 @@ _hurd_thread_sigstate (thread_t thread) __mutex_unlock (&_hurd_siglock); return ss; } +libc_hidden_def (_hurd_thread_sigstate) /* Signal delivery itself is on this page. */ @@ -1018,7 +1020,7 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss, || ss->actions[signo].sa_handler == SIG_IGN || ss->actions[signo].sa_handler == SIG_DFL)) { - mutex_unlock (&_hurd_siglock); + __mutex_unlock (&_hurd_siglock); goto deliver_pending; } __spin_unlock (&ss->lock); diff --git a/hurd/intern-fd.c b/hurd/intern-fd.c index 970800fd09..3b00824cc1 100644 --- a/hurd/intern-fd.c +++ b/hurd/intern-fd.c @@ -47,3 +47,4 @@ _hurd_intern_fd (io_t port, int flags, int dealloc) return fd; } +libc_hidden_def (_hurd_intern_fd) diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c index 5495edc08d..2f83ac6ce7 100644 --- a/hurd/intr-msg.c +++ b/hurd/intr-msg.c @@ -422,3 +422,4 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, return err; } +libc_hidden_def (_hurd_intr_rpc_mach_msg) diff --git a/hurd/path-lookup.c b/hurd/path-lookup.c index 389a8ccd1b..5607d5809c 100644 --- a/hurd/path-lookup.c +++ b/hurd/path-lookup.c @@ -87,16 +87,16 @@ file_name_path_scan (const char *file_name, const char *path, if it is looked up using a prefix from PATH, *PREFIXED_NAME is set to malloced storage containing the prefixed name. */ error_t -hurd_file_name_path_lookup (error_t (*use_init_port) - (int which, error_t (*operate) (mach_port_t)), - file_t (*get_dtable_port) (int fd), - error_t (*lookup) - (file_t dir, const char *name, int flags, mode_t mode, - retry_type *do_retry, string_t retry_name, - mach_port_t *result), - const char *file_name, const char *path, - int flags, mode_t mode, - file_t *result, char **prefixed_name) +__hurd_file_name_path_lookup (error_t (*use_init_port) + (int which, error_t (*operate) (mach_port_t)), + file_t (*get_dtable_port) (int fd), + error_t (*lookup) + (file_t dir, const char *name, int flags, mode_t mode, + retry_type *do_retry, string_t retry_name, + mach_port_t *result), + const char *file_name, const char *path, + int flags, mode_t mode, + file_t *result, char **prefixed_name) { error_t scan_lookup (const char *name) { @@ -106,6 +106,7 @@ hurd_file_name_path_lookup (error_t (*use_init_port) } return file_name_path_scan (file_name, path, scan_lookup, prefixed_name); } +strong_alias (__hurd_file_name_path_lookup, hurd_file_name_path_lookup) file_t file_name_path_lookup (const char *file_name, const char *path, @@ -114,9 +115,9 @@ file_name_path_lookup (const char *file_name, const char *path, error_t err; file_t result; - err = hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport, 0, - file_name, path, flags, mode, - &result, prefixed_name); + err = __hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport, 0, + file_name, path, flags, mode, + &result, prefixed_name); return err ? (__hurd_fail (err), MACH_PORT_NULL) : result; } |