* sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
__clock_gettime and __nanosleep instead of clock_gettime and
nanosleep.
+ * 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.
* sysdeps/mach/hurd/localplt.data: New file.
#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
return error;
}
+strong_alias (__hurd_catch_signal, hurd_catch_signal)
error_t
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);
}
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
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
break;
}
}
+libc_hidden_def (_hurd_exception2signal)
free (env);
return err;
}
+libc_hidden_def (_hurd_exec_paths)
assume the availability of the POSIX.1 services we provide. */
RUN_HOOK (_hurd_subinit, ());
}
+libc_hidden_def (_hurd_init)
\f
#include <hurd/signal.h>
#include <pthreadP.h>
#include <mach.h>
#include <mach/thread_switch.h>
+#include <mach/mig_support.h>
#include <hurd.h>
#include <hurd/id.h>
__mutex_unlock (&_hurd_siglock);
return ss;
}
+libc_hidden_def (_hurd_thread_sigstate)
\f
/* Signal delivery itself is on this page. */
|| 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);
return fd;
}
+libc_hidden_def (_hurd_intern_fd)
return err;
}
+libc_hidden_def (_hurd_intr_rpc_mach_msg)
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)
{
}
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,
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;
}
|| 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;
}
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)
{
*(int *)lock = LLL_INITIALIZER;
}
+libc_hidden_def (__mutex_init)
#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);
__swtch_pri (0);
}
weak_alias (__spin_lock_solid, spin_lock_solid);
+libc_hidden_def (__spin_lock_solid)
--- /dev/null
+#ifndef _HURD_H
+#include_next <hurd.h>
+libc_hidden_proto (_hurd_exec_paths)
+libc_hidden_proto (_hurd_init)
+#endif
--- /dev/null
+#ifndef _HURD_FD_H
+#include_next <hurd/fd.h>
+libc_hidden_proto (_hurd_intern_fd)
+#endif
--- /dev/null
+#ifndef _HURD_SIGNAL_H
+#include_next <hurd/signal.h>
+libc_hidden_proto (_hurd_exception2signal)
+libc_hidden_proto (_hurd_intr_rpc_mach_msg)
+libc_hidden_proto (_hurd_thread_sigstate)
+#endif
a slash to indicate that it is relative to some unknown root directory. */
char *
-_hurd_canonicalize_directory_name_internal (file_t thisdir,
+__hurd_canonicalize_directory_name_internal (file_t thisdir,
char *buf,
size_t size)
{
cleanup ();
return NULL;
}
+strong_alias (__hurd_canonicalize_directory_name_internal, _hurd_canonicalize_directory_name_internal)
char *
__canonicalize_directory_name_internal (const char *thisdir, char *buf,
file_t port = __file_name_lookup (thisdir, 0, 0);
if (port == MACH_PORT_NULL)
return NULL;
- result = _hurd_canonicalize_directory_name_internal (port, buf, size);
+ result = __hurd_canonicalize_directory_name_internal (port, buf, size);
__mach_port_deallocate (__mach_task_self (), port);
return result;
}
{
char *cwd =
__USEPORT (CWDIR,
- _hurd_canonicalize_directory_name_internal (port,
- buf, size));
+ __hurd_canonicalize_directory_name_internal (port,
+ buf, size));
if (cwd && cwd[0] != '/')
{
/* `cwd' is an unknown root directory. */
<http://www.gnu.org/licenses/>. */
#include <mach.h>
+#include <mach/mig_support.h>
#include <hurd/threadvar.h>
/* These functions are called by MiG-generated code. */
return __hurd_local_reply_port;
}
weak_alias (__mig_get_reply_port, mig_get_reply_port)
+libc_hidden_def (__mig_get_reply_port)
/* Called by MiG to deallocate the reply port. */
void
MACH_PORT_RIGHT_RECEIVE, -1);
}
weak_alias (__mig_dealloc_reply_port, mig_dealloc_reply_port)
+libc_hidden_def (__mig_dealloc_reply_port)
/* Called by mig interfaces when done with a port. Used to provide the
same interface as needed when a custom allocator is used. */
/* Do nothing. */
}
weak_alias (__mig_init, mig_init)
+libc_hidden_def (__mig_init)
--- /dev/null
+#ifndef _LOCK_INTERN_H
+#include <mach/lock-intern.h>
+libc_hidden_proto (__spin_lock_locked)
+libc_hidden_proto (__spin_lock)
+libc_hidden_proto (__spin_lock_solid)
+libc_hidden_proto (__spin_unlock)
+libc_hidden_proto (__spin_try_lock)
+libc_hidden_proto (__mutex_init)
+libc_hidden_proto (__mutex_lock)
+libc_hidden_proto (__mutex_unlock)
+libc_hidden_proto (__mutex_trylock)
+#endif
--- /dev/null
+#ifndef _MACH_H
+#include_next <mach.h>
+libc_hidden_proto (__mach_msg_destroy)
+#endif
--- /dev/null
+#ifndef _MACH_MIG_SUPPORT_H
+#include_next <mach/mig_support.h>
+libc_hidden_proto (__mig_get_reply_port)
+libc_hidden_proto (__mig_dealloc_reply_port)
+libc_hidden_proto (__mig_init)
+#endif
--- /dev/null
+#ifndef _MACH_ERROR_
+#include_next <mach_error.h>
+libc_hidden_proto (mach_error_type)
+#endif