mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
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.
This commit is contained in:
parent
02008f8301
commit
7a8f45e302
42
ChangeLog
42
ChangeLog
@ -345,6 +345,48 @@
|
|||||||
* sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
|
* sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
|
||||||
__clock_gettime and __nanosleep instead of clock_gettime and
|
__clock_gettime and __nanosleep instead of clock_gettime and
|
||||||
nanosleep.
|
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.
|
* sysdeps/mach/hurd/localplt.data: New file.
|
||||||
|
|
||||||
|
@ -22,10 +22,10 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
error_t
|
error_t
|
||||||
hurd_catch_signal (sigset_t sigset,
|
__hurd_catch_signal (sigset_t sigset,
|
||||||
unsigned long int first, unsigned long int last,
|
unsigned long int first, unsigned long int last,
|
||||||
error_t (*operate) (struct hurd_signal_preemptor *),
|
error_t (*operate) (struct hurd_signal_preemptor *),
|
||||||
sighandler_t handler)
|
sighandler_t handler)
|
||||||
{
|
{
|
||||||
/* We need to restore the signal mask, because otherwise the
|
/* We need to restore the signal mask, because otherwise the
|
||||||
signal-handling code will have blocked the caught signal and for
|
signal-handling code will have blocked the caught signal and for
|
||||||
@ -73,6 +73,7 @@ hurd_catch_signal (sigset_t sigset,
|
|||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
strong_alias (__hurd_catch_signal, hurd_catch_signal)
|
||||||
|
|
||||||
|
|
||||||
error_t
|
error_t
|
||||||
@ -83,9 +84,9 @@ hurd_safe_memset (void *dest, int byte, size_t nbytes)
|
|||||||
memset (dest, byte, nbytes);
|
memset (dest, byte, nbytes);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
||||||
(vm_address_t) dest, (vm_address_t) dest + nbytes,
|
(vm_address_t) dest, (vm_address_t) dest + nbytes,
|
||||||
&operate, SIG_ERR);
|
&operate, SIG_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -97,9 +98,9 @@ hurd_safe_copyout (void *dest, const void *src, size_t nbytes)
|
|||||||
memcpy (dest, src, nbytes);
|
memcpy (dest, src, nbytes);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
||||||
(vm_address_t) dest, (vm_address_t) dest + nbytes,
|
(vm_address_t) dest, (vm_address_t) dest + nbytes,
|
||||||
&operate, SIG_ERR);
|
&operate, SIG_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
error_t
|
error_t
|
||||||
@ -110,9 +111,9 @@ hurd_safe_copyin (void *dest, const void *src, size_t nbytes)
|
|||||||
memcpy (dest, src, nbytes);
|
memcpy (dest, src, nbytes);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
return __hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV),
|
||||||
(vm_address_t) src, (vm_address_t) src + nbytes,
|
(vm_address_t) src, (vm_address_t) src + nbytes,
|
||||||
&operate, SIG_ERR);
|
&operate, SIG_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
error_t
|
error_t
|
||||||
|
@ -68,3 +68,4 @@ _hurd_exception2signal (struct hurd_signal_detail *detail, int *signo)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_exception2signal)
|
||||||
|
@ -435,3 +435,4 @@ _hurd_exec_paths (task_t task, file_t file,
|
|||||||
free (env);
|
free (env);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_exec_paths)
|
||||||
|
@ -110,6 +110,7 @@ _hurd_init (int flags, char **argv,
|
|||||||
assume the availability of the POSIX.1 services we provide. */
|
assume the availability of the POSIX.1 services we provide. */
|
||||||
RUN_HOOK (_hurd_subinit, ());
|
RUN_HOOK (_hurd_subinit, ());
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_init)
|
||||||
|
|
||||||
#include <hurd/signal.h>
|
#include <hurd/signal.h>
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include <pthreadP.h>
|
#include <pthreadP.h>
|
||||||
#include <mach.h>
|
#include <mach.h>
|
||||||
#include <mach/thread_switch.h>
|
#include <mach/thread_switch.h>
|
||||||
|
#include <mach/mig_support.h>
|
||||||
|
|
||||||
#include <hurd.h>
|
#include <hurd.h>
|
||||||
#include <hurd/id.h>
|
#include <hurd/id.h>
|
||||||
@ -120,6 +121,7 @@ _hurd_thread_sigstate (thread_t thread)
|
|||||||
__mutex_unlock (&_hurd_siglock);
|
__mutex_unlock (&_hurd_siglock);
|
||||||
return ss;
|
return ss;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_thread_sigstate)
|
||||||
|
|
||||||
/* Signal delivery itself is on this page. */
|
/* 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_IGN
|
||||||
|| ss->actions[signo].sa_handler == SIG_DFL))
|
|| ss->actions[signo].sa_handler == SIG_DFL))
|
||||||
{
|
{
|
||||||
mutex_unlock (&_hurd_siglock);
|
__mutex_unlock (&_hurd_siglock);
|
||||||
goto deliver_pending;
|
goto deliver_pending;
|
||||||
}
|
}
|
||||||
__spin_unlock (&ss->lock);
|
__spin_unlock (&ss->lock);
|
||||||
|
@ -47,3 +47,4 @@ _hurd_intern_fd (io_t port, int flags, int dealloc)
|
|||||||
|
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_intern_fd)
|
||||||
|
@ -422,3 +422,4 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (_hurd_intr_rpc_mach_msg)
|
||||||
|
@ -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
|
if it is looked up using a prefix from PATH, *PREFIXED_NAME is set to
|
||||||
malloced storage containing the prefixed name. */
|
malloced storage containing the prefixed name. */
|
||||||
error_t
|
error_t
|
||||||
hurd_file_name_path_lookup (error_t (*use_init_port)
|
__hurd_file_name_path_lookup (error_t (*use_init_port)
|
||||||
(int which, error_t (*operate) (mach_port_t)),
|
(int which, error_t (*operate) (mach_port_t)),
|
||||||
file_t (*get_dtable_port) (int fd),
|
file_t (*get_dtable_port) (int fd),
|
||||||
error_t (*lookup)
|
error_t (*lookup)
|
||||||
(file_t dir, const char *name, int flags, mode_t mode,
|
(file_t dir, const char *name, int flags, mode_t mode,
|
||||||
retry_type *do_retry, string_t retry_name,
|
retry_type *do_retry, string_t retry_name,
|
||||||
mach_port_t *result),
|
mach_port_t *result),
|
||||||
const char *file_name, const char *path,
|
const char *file_name, const char *path,
|
||||||
int flags, mode_t mode,
|
int flags, mode_t mode,
|
||||||
file_t *result, char **prefixed_name)
|
file_t *result, char **prefixed_name)
|
||||||
{
|
{
|
||||||
error_t scan_lookup (const char *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);
|
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_t
|
||||||
file_name_path_lookup (const char *file_name, const char *path,
|
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;
|
error_t err;
|
||||||
file_t result;
|
file_t result;
|
||||||
|
|
||||||
err = hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport, 0,
|
err = __hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport, 0,
|
||||||
file_name, path, flags, mode,
|
file_name, path, flags, mode,
|
||||||
&result, prefixed_name);
|
&result, prefixed_name);
|
||||||
|
|
||||||
return err ? (__hurd_fail (err), MACH_PORT_NULL) : result;
|
return err ? (__hurd_fail (err), MACH_PORT_NULL) : result;
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@ mach_error_type(mach_error_t err)
|
|||||||
|| sub >= errors[system].max_sub ) return( "(?/?)" );
|
|| sub >= errors[system].max_sub ) return( "(?/?)" );
|
||||||
return( errors[system].subsystem[sub].subsys_name );
|
return( errors[system].subsystem[sub].subsys_name );
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (mach_error_type)
|
||||||
|
|
||||||
boolean_t mach_error_full_diag = FALSE;
|
boolean_t mach_error_full_diag = FALSE;
|
||||||
|
|
||||||
|
@ -189,6 +189,7 @@ __mach_msg_destroy (mach_msg_header_t *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
weak_alias (__mach_msg_destroy, mach_msg_destroy)
|
weak_alias (__mach_msg_destroy, mach_msg_destroy)
|
||||||
|
libc_hidden_def (__mach_msg_destroy)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mach_msg_destroy_port (mach_port_t port, mach_msg_type_name_t type)
|
mach_msg_destroy_port (mach_port_t port, mach_msg_type_name_t type)
|
||||||
|
@ -24,3 +24,4 @@ __mutex_init (void *lock)
|
|||||||
{
|
{
|
||||||
*(int *)lock = LLL_INITIALIZER;
|
*(int *)lock = LLL_INITIALIZER;
|
||||||
}
|
}
|
||||||
|
libc_hidden_def (__mutex_init)
|
||||||
|
@ -3,7 +3,13 @@
|
|||||||
#include "spin-lock.h"
|
#include "spin-lock.h"
|
||||||
|
|
||||||
weak_alias (__spin_lock_init, spin_lock_init);
|
weak_alias (__spin_lock_init, spin_lock_init);
|
||||||
|
libc_hidden_def (__spin_lock_locked);
|
||||||
weak_alias (__spin_lock_locked, spin_lock_locked);
|
weak_alias (__spin_lock_locked, spin_lock_locked);
|
||||||
|
libc_hidden_def (__spin_lock);
|
||||||
weak_alias (__spin_lock, spin_lock);
|
weak_alias (__spin_lock, spin_lock);
|
||||||
|
libc_hidden_def (__spin_unlock);
|
||||||
weak_alias (__spin_unlock, spin_unlock);
|
weak_alias (__spin_unlock, spin_unlock);
|
||||||
|
libc_hidden_def (__spin_try_lock);
|
||||||
weak_alias (__spin_try_lock, spin_try_lock);
|
weak_alias (__spin_try_lock, spin_try_lock);
|
||||||
|
libc_hidden_def (__mutex_lock);
|
||||||
|
libc_hidden_def (__mutex_trylock);
|
||||||
|
@ -26,3 +26,4 @@ __spin_lock_solid (spin_lock_t *lock)
|
|||||||
__swtch_pri (0);
|
__swtch_pri (0);
|
||||||
}
|
}
|
||||||
weak_alias (__spin_lock_solid, spin_lock_solid);
|
weak_alias (__spin_lock_solid, spin_lock_solid);
|
||||||
|
libc_hidden_def (__spin_lock_solid)
|
||||||
|
5
sysdeps/hurd/include/hurd.h
Normal file
5
sysdeps/hurd/include/hurd.h
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#ifndef _HURD_H
|
||||||
|
#include_next <hurd.h>
|
||||||
|
libc_hidden_proto (_hurd_exec_paths)
|
||||||
|
libc_hidden_proto (_hurd_init)
|
||||||
|
#endif
|
4
sysdeps/hurd/include/hurd/fd.h
Normal file
4
sysdeps/hurd/include/hurd/fd.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _HURD_FD_H
|
||||||
|
#include_next <hurd/fd.h>
|
||||||
|
libc_hidden_proto (_hurd_intern_fd)
|
||||||
|
#endif
|
6
sysdeps/hurd/include/hurd/signal.h
Normal file
6
sysdeps/hurd/include/hurd/signal.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#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
|
@ -37,7 +37,7 @@
|
|||||||
a slash to indicate that it is relative to some unknown root directory. */
|
a slash to indicate that it is relative to some unknown root directory. */
|
||||||
|
|
||||||
char *
|
char *
|
||||||
_hurd_canonicalize_directory_name_internal (file_t thisdir,
|
__hurd_canonicalize_directory_name_internal (file_t thisdir,
|
||||||
char *buf,
|
char *buf,
|
||||||
size_t size)
|
size_t size)
|
||||||
{
|
{
|
||||||
@ -282,6 +282,7 @@ _hurd_canonicalize_directory_name_internal (file_t thisdir,
|
|||||||
cleanup ();
|
cleanup ();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
strong_alias (__hurd_canonicalize_directory_name_internal, _hurd_canonicalize_directory_name_internal)
|
||||||
|
|
||||||
char *
|
char *
|
||||||
__canonicalize_directory_name_internal (const char *thisdir, char *buf,
|
__canonicalize_directory_name_internal (const char *thisdir, char *buf,
|
||||||
@ -291,7 +292,7 @@ __canonicalize_directory_name_internal (const char *thisdir, char *buf,
|
|||||||
file_t port = __file_name_lookup (thisdir, 0, 0);
|
file_t port = __file_name_lookup (thisdir, 0, 0);
|
||||||
if (port == MACH_PORT_NULL)
|
if (port == MACH_PORT_NULL)
|
||||||
return 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);
|
__mach_port_deallocate (__mach_task_self (), port);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -306,8 +307,8 @@ __getcwd (char *buf, size_t size)
|
|||||||
{
|
{
|
||||||
char *cwd =
|
char *cwd =
|
||||||
__USEPORT (CWDIR,
|
__USEPORT (CWDIR,
|
||||||
_hurd_canonicalize_directory_name_internal (port,
|
__hurd_canonicalize_directory_name_internal (port,
|
||||||
buf, size));
|
buf, size));
|
||||||
if (cwd && cwd[0] != '/')
|
if (cwd && cwd[0] != '/')
|
||||||
{
|
{
|
||||||
/* `cwd' is an unknown root directory. */
|
/* `cwd' is an unknown root directory. */
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <mach.h>
|
#include <mach.h>
|
||||||
|
#include <mach/mig_support.h>
|
||||||
#include <hurd/threadvar.h>
|
#include <hurd/threadvar.h>
|
||||||
|
|
||||||
/* These functions are called by MiG-generated code. */
|
/* These functions are called by MiG-generated code. */
|
||||||
@ -34,6 +35,7 @@ __mig_get_reply_port (void)
|
|||||||
return __hurd_local_reply_port;
|
return __hurd_local_reply_port;
|
||||||
}
|
}
|
||||||
weak_alias (__mig_get_reply_port, mig_get_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. */
|
/* Called by MiG to deallocate the reply port. */
|
||||||
void
|
void
|
||||||
@ -47,6 +49,7 @@ __mig_dealloc_reply_port (mach_port_t arg)
|
|||||||
MACH_PORT_RIGHT_RECEIVE, -1);
|
MACH_PORT_RIGHT_RECEIVE, -1);
|
||||||
}
|
}
|
||||||
weak_alias (__mig_dealloc_reply_port, mig_dealloc_reply_port)
|
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
|
/* Called by mig interfaces when done with a port. Used to provide the
|
||||||
same interface as needed when a custom allocator is used. */
|
same interface as needed when a custom allocator is used. */
|
||||||
@ -66,3 +69,4 @@ __mig_init (void *stack)
|
|||||||
/* Do nothing. */
|
/* Do nothing. */
|
||||||
}
|
}
|
||||||
weak_alias (__mig_init, mig_init)
|
weak_alias (__mig_init, mig_init)
|
||||||
|
libc_hidden_def (__mig_init)
|
||||||
|
12
sysdeps/mach/include/lock-intern.h
Normal file
12
sysdeps/mach/include/lock-intern.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#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
|
4
sysdeps/mach/include/mach.h
Normal file
4
sysdeps/mach/include/mach.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _MACH_H
|
||||||
|
#include_next <mach.h>
|
||||||
|
libc_hidden_proto (__mach_msg_destroy)
|
||||||
|
#endif
|
6
sysdeps/mach/include/mach/mig_support.h
Normal file
6
sysdeps/mach/include/mach/mig_support.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#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
|
4
sysdeps/mach/include/mach_error.h
Normal file
4
sysdeps/mach/include/mach_error.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _MACH_ERROR_
|
||||||
|
#include_next <mach_error.h>
|
||||||
|
libc_hidden_proto (mach_error_type)
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user