summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog30
-rw-r--r--mach/Versions86
-rw-r--r--sysdeps/mach/hurd/Versions9
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c2
4 files changed, 87 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index bcf3cfef77..87a51903a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+1998-10-24  Mark Kettenis  <kettenis@phys.uva.nl>
+
+	* mach/Versions: Add evc_wait, mach_error, mach_error_string,
+	mach_error_type, mach_msg_destroy, mig_deallocate_reply_port.
+	Remove __mach_host_self, __mach_reply_port, __mach_setup_thread,
+	__mach_port_allocate, __mach_port_allocate_name,
+	__mach_port_deallocate, __mach_port_insert_right, __mutex_init,
+	__mutex_trylock, __mutex_lock, __mutex_unlock, __swtch, __switch,
+	__task_create, __task_suspend, __task_set_special_port,
+	__task_terminate, __thread_depress_abort, __thread_switch,
+	__vm_allocate, __vm_deallocate, __vm_map.  These functions are not
+	used outside libc.
+
+	* sysdeps/mach/hurd/Versions: New file.
+	[libc, GLIBC_2.0]: Add _cthread_exit_routine and
+	_cthread_init_routine.  These are set by the Hurd cthreads library.
+	Add __getcwd, __mmap.  If we don't add these, the weak definitions in
+	the dynamic linker will not be replaced by the corresponding shared
+	library routines once they are loaded.
+
+1998-10-21  Mark Kettenis  <kettenis@phys.uva.nl>
+
+	* sysdeps/mach/hurd/i386/init-first.c: Only define
+	__libc_enable_secure if PIC is not defined.
+
+1998-10-25  Roland McGrath  <roland@baalperazim.frob.com>
+
+	* argp/Versions: Add _argp_unlock_xxx.  Lock-savvy functions call this
+	to recurse into argp.
+
 1998-10-25  Ulrich Drepper  <drepper@cygnus.com>
 
 	* include/features.h: Define __USE_POSIS199506 is _POSIX_C_SOURCE is
diff --git a/mach/Versions b/mach/Versions
index e85c2b9d42..3c0e1229d8 100644
--- a/mach/Versions
+++ b/mach/Versions
@@ -1,46 +1,52 @@
 libc {
   GLIBC_2.0 {
-    __mach_msg; mach_msg; __mach_reply_port; mach_reply_port;
-    __mach_task_self_; __mach_thread_self; mach_thread_self;
-    mach_host_self; __mach_host_self;
-    swtch_pri; __swtch_pri; swtch; __swtch;
-    thread_switch; __thread_switch;
-
-    mig_init;
-    __mig_allocate; __mig_deallocate; mig_deallocate; mig_allocate;
-    __mig_get_reply_port; __mig_put_reply_port; __mig_dealloc_reply_port;
-    mig_get_reply_port; mig_put_reply_port; mig_dealloc_reply_port;
-
-    mach_msg_server_timeout; mach_msg_server;
-    get_privileged_ports; __get_privileged_ports;
-    mach_setup_thread; __mach_setup_thread;
-    mach_open_devstream;
+    # variables used in Mach-specific macros
+    __mach_task_self_;
+    __vm_page_size;
 
-    vm_page_size; __vm_page_size;
-
-    __spin_lock_solid;
-
-    # system call shortcuts
-    vm_map; __vm_map;
-    vm_allocate; __vm_allocate;
-    vm_deallocate; __vm_deallocate;
-    task_create; __task_create;
-    task_terminate; __task_terminate;
-    task_suspend; __task_suspend;
-    task_set_special_port; __task_set_special_port;
-    mach_port_allocate; __mach_port_allocate;
-    mach_port_deallocate; __mach_port_deallocate;
-    mach_port_insert_right; __mach_port_insert_right;
-    mach_port_allocate_name; __mach_port_allocate_name;
-    thread_depress_abort; __thread_depress_abort;
-
-    # Placeholders for the Hurd libthreads implementation.
-    cthread_getspecific; cthread_keycreate; cthread_setspecific;
-    __libc_getspecific;
-
-    # Function versions of Mach macros.
-    __mutex_init; __mutex_trylock;
-    __mutex_lock; __mutex_unlock;
+    # functions used in inline functions
+    __mach_thread_self;
     __mutex_lock_solid; __mutex_unlock_solid;
+    __spin_lock_solid; __spin_try_lock; __spin_unlock;
+
+    # functions used by RPC stubs
+    __mach_msg;
+    __mig_allocate; __mig_deallocate; __mig_deallocate_reply_port;
+    __mig_get_reply_port; __mig_put_reply_port;
+
+    # variables in normal name space
+    vm_page_size;
+
+    # functions in normal name space
+
+    # e*
+    evc_wait;
+
+    # g*
+    get_privileged_ports;
+
+    # m*
+    mach_error; mach_error_string; mach_error_type;
+    mach_host_self;
+    mach_msg; mach_msg_destroy;
+    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_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;
   }
 }
diff --git a/sysdeps/mach/hurd/Versions b/sysdeps/mach/hurd/Versions
new file mode 100644
index 0000000000..79d5ce6e04
--- /dev/null
+++ b/sysdeps/mach/hurd/Versions
@@ -0,0 +1,9 @@
+libc {
+  GLIBC_2.0 {
+    # variables used for detecting cthreads
+    _cthread_exit_routine; _cthread_init_routine;
+
+    # functions with a weak definition in the dynamic linker
+    __getcwd; __mmap;
+  }
+}
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index bfc2ff5b57..6854a1b3dc 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -35,7 +35,9 @@ unsigned int __hurd_threadvar_max;
 unsigned long int __hurd_threadvar_stack_offset;
 unsigned long int __hurd_threadvar_stack_mask;
 
+#ifndef PIC
 int __libc_enable_secure;
+#endif
 int __libc_multiple_libcs = 1;
 
 extern int __libc_argc;