glibc/mach/Versions
Samuel Thibault 42fc12ef73 hurd: Fix exec usage of mach_setup_thread
Exec needs that mach_setup_thread does *not* set up TLS since it works on
another task, so we have to split this into mach_setup_tls.

	* mach/mach.h (__mach_setup_tls, mach_setup_tls): Add prototypes.
	* mach/setup-thread.c (__mach_setup_thread): Move TLS setup to...
	(__mach_setup_tls): ... new function.
	(mach_setup_tls): New alias.
	* hurd/hurdsig.c (_hurdsig_init): Call __mach_setup_tls after
	__mach_setup_thread.
	* sysdeps/mach/hurd/profil.c (update_waiter): Likewise.
	* sysdeps/mach/hurd/setitimer.c (setitimer_locked): Likewise.
	* mach/Versions [libc] (mach_setup_tls): Add symbol.
	* sysdeps/mach/hurd/i386/libc.abilist (mach_setup_tls): Likewise.
2018-08-01 00:10:03 +02:00

69 lines
1.7 KiB
Plaintext

libc {
GLIBC_2.0 {
# variables used in Mach-specific macros
__mach_task_self_;
__vm_page_size;
# functions used in inline functions and macros
__mach_port_deallocate; __mach_thread_self;
# functions used by RPC stubs
__mach_msg; __mach_msg_overwrite;
__mig_allocate; __mig_deallocate; __mig_dealloc_reply_port;
__mig_get_reply_port; __mig_put_reply_port;
__mig_strncpy;
# variables in normal name space
vm_page_size;
# functions in normal name space
# e*
evc_wait;
# m*
mach_error; mach_error_string; mach_error_type;
mach_host_self;
mach_msg; mach_msg_overwrite;
mach_msg_destroy;
mach_msg_send; mach_msg_receive;
mach_msg_server; mach_msg_server_timeout;
mach_open_devstream;
mach_port_allocate; mach_port_allocate_name; mach_port_deallocate;
mach_port_insert_right; mach_reply_port;
mach_setup_thread;
mach_setup_tls;
mach_task_self;
mach_thread_self;
mig_allocate; mig_dealloc_reply_port; mig_deallocate;
mig_get_reply_port; mig_init; mig_put_reply_port;
# v*
vm_allocate; vm_deallocate; vm_map;
# s*
swtch; swtch_pri;
# t*
task_create; task_set_special_port; task_suspend; task_terminate;
thread_depress_abort; thread_switch;
}
GLIBC_2.2.5 {
# internal functions used by other libraries (e.g. librt)
__mach_msg_destroy; __mach_reply_port;
# This was always there, but not exported as it should have been.
mig_strncpy;
}
GLIBC_2.21 {
__mach_host_self_;
}
HURD_CTHREADS_0.3 {
__mutex_init; __mutex_lock; __mutex_lock_solid; __mutex_trylock;
__mutex_unlock; __mutex_unlock_solid;
__spin_lock; __spin_lock_init; __spin_lock_solid; __spin_try_lock;
__spin_unlock;
}
}