diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | hurd/Versions | 312 | ||||
-rw-r--r-- | mach/Versions | 46 | ||||
-rw-r--r-- | sysdeps/mach/hurd/dl-sysdep.c | 22 |
4 files changed, 108 insertions, 283 deletions
@@ -1,3 +1,14 @@ +1998-10-24 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/dl-sysdep.c (__getcwd): New weak function. + + * mach/Versions, hurd/Versions: Add numerous symbols. + Remove libmachuser and libhurduser sections, punt + versioning for those libraries for now. + + * misc/Versions: Add reboot here; it exists on all platforms. + * sysdeps/unix/sysv/linux/Versions: Remove reboot here. + 1998-10-23 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOFOLLOW): New diff --git a/hurd/Versions b/hurd/Versions index 5b4ab6179c..b8d5daf13a 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -2,13 +2,46 @@ libc { GLIBC_2.0 { # Hurd-specific variables __hurd_sigthread_stack_base; __hurd_sigthread_stack_end; - __hurd_sigthread_variables; + __hurd_sigthread_variables; __hurd_threadvar_max; __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset; + _hurd_device_master; _hurd_host_priv; + + # Hurd-specific exported functions from <hurd.h> + _hurd_ports; _hurd_ports_use; + getcrdir; getcwdir; getauth; getproc; getcttyid; + setcrdir; setcwdir; setauth; setproc; setcttyid; + file_name_split; file_name_lookup; file_name_lookup_under; + file_name_path_lookup; + openport; fopenport; task2pid; pid2task; getdport; vpprintf; + hurd_thread_self; hurd_thread_cancel; hurd_check_cancel; + hurd_safe_memset; + _hurd_init; _hurd_proc_init; + _hurd_exec; + _hurd_canonicalize_directory_name_internal; + getuids; __getuids; + + # XXX ought to exist on all platforms + getumask; + + # <hurd/lookup.h> + hurd_file_name_lookup; __hurd_file_name_lookup; + hurd_file_name_lookup_retry; __hurd_file_name_lookup_retry; + hurd_file_name_split; __hurd_file_name_split; + hurd_file_name_path_lookup; __hurd_file_name_path_lookup; + + # <hurd/signal.h> + _hurd_thread_sigstate; _hurd_msgport; + _hurd_exception2signal; + hurd_sig_post; + + # <hurd/sigpreempt.h> + hurd_catch_signal; + hurd_preempt_signals; + + # <hurd/port.h> + _hurd_port_cleanup; # Internal functions referenced by libmachuser and libhurduser. - __mach_msg; - __mig_allocate; __mig_deallocate; - __mig_get_reply_port; __mig_put_reply_port; __mig_dealloc_reply_port; _S_catch_exception_raise; _S_msg_add_auth; _S_msg_del_auth; _S_msg_describe_ports; @@ -23,276 +56,5 @@ libc { _S_msg_proc_newids; _S_msg_report_wait; _S_msg_sig_post; _S_msg_sig_post_untraced; _hurd_intr_rpc_mach_msg; _hurdsig_fault_catch_exception_raise; - - # Placeholders for the Hurd libthreads implementation. - cthread_getspecific; cthread_keycreate; cthread_setspecific; - __libc_getspecific; - - # Function versions of Hurd macros. - __mutex_init; __mutex_trylock; - __mutex_lock; __mutex_unlock; - __mutex_lock_solid; __mutex_unlock_solid; - } -} - -libhurduser { - GLIBC_2.0 { - # These functions are used internally by libc. - _S_msg_server; __auth_getids; __auth_makeauth; - __auth_user_authenticate; __crash_dump_task; __dir_link; - __dir_lookup; __dir_mkdir; __dir_mkfile; __dir_readdir; - __dir_rename; __dir_rmdir; __dir_unlink; __exec_startup_get_info; - __file_check_access; __file_chflags; __file_chmod; __file_chown; - __file_exec; __file_getlinknode; __file_lock; __file_reparent; - __file_set_size; __file_set_translator; __file_statfs; - __file_sync; __file_syncfs; __file_utimes; __ifsock_getsockaddr; - __interrupt_operation; __io_clear_some_openmodes; - __io_get_icky_async_id; __io_get_openmodes; __io_get_owner; - __io_identity; __io_map; __io_mod_owner; __io_pathconf; __io_read; - __io_readable; __io_reauthenticate; __io_seek; __io_select; - __io_set_all_openmodes; __io_set_some_openmodes; __io_stat; - __io_write; __msg_set_init_int; __msg_sig_post; - __msg_sig_post_reply; __msg_sig_post_request; - __msg_sig_post_untraced; __msg_sig_post_untraced_reply; - __proc_child; __proc_dostop; __proc_get_arg_locations; - __proc_getallpids; __proc_getlogin; __proc_getmsgport; - __proc_getpgrp; __proc_getpgrppids; __proc_getpids; - __proc_getprivports; __proc_getprocinfo; __proc_getsid; - __proc_getsidport; __proc_handle_exceptions; __proc_mark_cont; - __proc_mark_exit; __proc_mark_stop; __proc_mark_traced; - __proc_mod_stopchild; __proc_pid2task; __proc_reauthenticate; - __proc_set_arg_locations; __proc_setlogin; __proc_setmsgport; - __proc_setowner; __proc_setpgrp; __proc_setsid; __proc_task2pid; - __proc_task2proc; __proc_uname; __proc_wait; __socket_accept; - __socket_bind; __socket_connect; __socket_connect2; - __socket_create; __socket_create_address; __socket_getopt; - __socket_listen; __socket_name; __socket_peername; __socket_recv; - __socket_send; __socket_setopt; __socket_shutdown; - __socket_whatis_address; __startup_reboot; __term_get_nodename; - __term_getctty; __term_open_ctty; __termctty_open_terminal; - __tioctl_tiocspgrp; _hurdsig_fault_exc_server; - - # functions in normal name space - # Please keep them sorted by name! - - # a* - auth_getids; auth_makeauth; auth_server_authenticate; - auth_user_authenticate; - - # c* - crash_dump_task; - - # d* - dir_link; dir_lookup; dir_mkdir; dir_mkfile; dir_notice_changes; - dir_readdir; dir_rename; dir_rmdir; dir_unlink; - - # e* - exec_exec; exec_init; exec_setexecdata; exec_startup_get_info; - - # f* - file_chauthor; file_check_access; file_chflags; file_chmod; - file_chown; file_exec; file_get_fs_options; file_get_storage_info; - file_get_translator; file_get_translator_cntl; file_getcontrol; - file_getfh; file_getlinknode; file_lock; file_lock_stat; - file_notice_changes; file_reparent; file_set_size; - file_set_translator; file_statfs; file_sync; file_syncfs; - file_utimes; fsys_forward; fsys_get_options; fsys_getfile; - fsys_getpriv; fsys_getroot; fsys_goaway; fsys_init; - fsys_set_options; fsys_startup; fsys_syncfs; - - # i* - ifsock_getsockaddr; interrupt_operation; io_async; - io_clear_some_openmodes; io_duplicate; io_eofnotify; io_get_conch; - io_get_icky_async_id; io_get_openmodes; io_get_owner; io_identity; - io_map; io_map_cntl; io_mod_owner; io_pathconf; io_postnotify; - io_prenotify; io_read; io_readable; io_readnotify; io_readsleep; - io_reauthenticate; io_release_conch; io_restrict_auth; io_seek; - io_select; io_server_version; io_set_all_openmodes; - io_set_some_openmodes; io_sigio; io_stat; io_write; - - # m* - msg_add_auth; msg_del_auth; msg_describe_ports; msg_get_dtable; - msg_get_env_variable; msg_get_environment; msg_get_fd; - msg_get_init_int; msg_get_init_ints; msg_get_init_port; - msg_get_init_ports; msg_proc_newids; msg_report_wait; - msg_set_dtable; msg_set_env_variable; msg_set_environment; - msg_set_fd; msg_set_init_int; msg_set_init_ints; - msg_set_init_port; msg_set_init_ports; msg_sig_post; - msg_sig_post_reply; msg_sig_post_request; msg_sig_post_untraced; - msg_sig_post_untraced_reply; msg_sig_post_untraced_request; - - # p* - proc_child; proc_child_request; proc_dostop; proc_dostop_request; - proc_execdata_notify; proc_execdata_notify_request; - proc_get_arg_locations; proc_get_arg_locations_request; - proc_get_tty; proc_get_tty_request; proc_getallpids; - proc_getallpids_request; proc_getexecdata; - proc_getexecdata_request; proc_gethostid_request; - proc_gethostname_request; proc_getlogin; proc_getlogin_request; - proc_getloginid; proc_getloginid_request; proc_getloginpids; - proc_getloginpids_request; proc_getmsgport; - proc_getmsgport_request; proc_getpgrp; proc_getpgrp_request; - proc_getpgrppids; proc_getpgrppids_request; proc_getpids; - proc_getpids_request; proc_getprivports; - proc_getprivports_request; proc_getprocargs; - proc_getprocargs_request; proc_getprocenv; - proc_getprocenv_request; proc_getprocinfo; - proc_getprocinfo_request; proc_getsessionpgids; - proc_getsessionpgids_request; proc_getsessionpids; - proc_getsessionpids_request; proc_getsid; proc_getsid_request; - proc_getsidport; proc_getsidport_request; proc_handle_exceptions; - proc_handle_exceptions_request; proc_make_login_coll; - proc_make_login_coll_request; proc_mark_cont; - proc_mark_cont_request; proc_mark_exec; proc_mark_exec_request; - proc_mark_exit; proc_mark_exit_request; proc_mark_stop; - proc_mark_stop_request; proc_mark_traced; - proc_mark_traced_request; proc_mod_stopchild; - proc_mod_stopchild_request; proc_pid2proc; proc_pid2proc_request; - proc_pid2task; proc_pid2task_request; proc_proc2task; - proc_proc2task_request; proc_reassign; proc_reassign_request; - proc_reauthenticate; proc_reauthenticate_request; - proc_register_version; proc_register_version_request; - proc_set_arg_locations; proc_set_arg_locations_request; - proc_setexecdata; proc_setexecdata_request; - proc_sethostid_request; proc_sethostname_request; proc_setlogin; - proc_setlogin_request; proc_setmsgport; proc_setmsgport_request; - proc_setowner; proc_setowner_request; proc_setpgrp; - proc_setpgrp_request; proc_setsid; proc_setsid_request; - proc_task2pid; proc_task2pid_request; proc_task2proc; - proc_task2proc_request; proc_uname; proc_uname_request; proc_wait; - proc_wait_request; - - # s* - socket_accept; socket_bind; socket_connect; socket_connect2; - socket_create; socket_create_address; socket_fabricate_address; - socket_getopt; socket_listen; socket_name; socket_peername; - socket_recv; socket_send; socket_setopt; socket_shutdown; - socket_whatis_address; startup_authinit; startup_essential_task; - startup_procinit; startup_reboot; startup_request_notification; - - # t* - term_get_bottom_type; term_get_nodename; term_getctty; - term_on_hurddev; term_on_machdev; term_on_pty; term_open_ctty; - term_set_filenode; term_set_nodename; termctty_open_terminal; - tioctl_tioccbrk; tioctl_tioccdtr; tioctl_tiocdrain; - tioctl_tiocexcl; tioctl_tiocext; tioctl_tiocflush; - tioctl_tiocgeta; tioctl_tiocgetd; tioctl_tiocgpgrp; - tioctl_tiocgwinsz; tioctl_tiocmbic; tioctl_tiocmbis; - tioctl_tiocmget; tioctl_tiocmodg; tioctl_tiocmods; - tioctl_tiocmset; tioctl_tiocnxcl; tioctl_tiocoutq; tioctl_tiocpkt; - tioctl_tiocremote; tioctl_tiocsbrk; tioctl_tiocsdtr; - tioctl_tiocseta; tioctl_tiocsetaf; tioctl_tiocsetaw; - tioctl_tiocsetd; tioctl_tiocsig; tioctl_tiocspgrp; - tioctl_tiocstart; tioctl_tiocsti; tioctl_tiocstop; - tioctl_tiocswinsz; tioctl_tiocucntl; - } -} -libmachuser { - GLIBC_2.0 { - # These functions are used internally by libc. - _S_exc_server; __host_adjust_time; __host_get_time; __host_info; - __host_set_time; __mach_port_allocate_name_rpc; - __mach_port_allocate_rpc; __mach_port_deallocate_rpc; - __mach_port_destroy; __mach_port_extract_right; - __mach_port_get_refs; __mach_port_insert_right_rpc; - __mach_port_mod_refs; __mach_port_move_member; __mach_port_names; - __mach_port_set_qlimit; __task_create_rpc; - __task_disable_pc_sampling; __task_enable_pc_sampling; - __task_get_special_port; __task_priority; __task_resume; - __task_set_special_port_rpc; __task_suspend_rpc; - __task_terminate_rpc; __task_threads; __thread_abort; - __thread_create; __thread_depress_abort_rpc; __thread_get_state; - __thread_resume; __thread_set_special_port; __thread_set_state; - __thread_suspend; __thread_terminate; __vm_allocate_rpc; - __vm_deallocate_rpc; __vm_map_rpc; __vm_protect; __vm_read; - __vm_region; __vm_statistics; __vm_write; - - # functions in normal name space - # Please keep them sorted by name! - - # d* - default_pager_info; default_pager_object_create; - default_pager_object_pages; default_pager_objects; - default_pager_paging_file; default_pager_register_fileserver; - device_close; device_get_status; device_map; device_open; - device_open_request; device_read; device_read_inband; - device_read_request; device_read_request_inband; device_set_filter; - device_set_status; device_write; device_write_inband; - device_write_request; device_write_request_inband; - dp_helper_paging_space; - - # e* - exception_raise; - - # h* - host_adjust_time; host_get_boot_info; host_get_time; host_info; - host_kernel_version; host_processor_set_priv; host_processor_sets; - host_processors; host_reboot; host_set_time; - - # m* - mach_port_allocate_name_rpc; mach_port_allocate_rpc; - mach_port_deallocate_rpc; mach_port_destroy; - mach_port_extract_right; mach_port_get_receive_status; - mach_port_get_refs; mach_port_get_set_status; - mach_port_insert_right_rpc; mach_port_mod_refs; - mach_port_move_member; mach_port_names; mach_port_rename; - mach_port_request_notification; mach_port_set_mscount; - mach_port_set_qlimit; mach_port_set_seqno; mach_port_type; - mach_ports_lookup; mach_ports_register; - memory_object_change_attributes; memory_object_change_completed; - memory_object_copy; memory_object_create; - memory_object_data_error; memory_object_data_initialize; - memory_object_data_provided; memory_object_data_request; - memory_object_data_return; memory_object_data_supply; - memory_object_data_unavailable; memory_object_data_unlock; - memory_object_data_write; memory_object_destroy; - memory_object_get_attributes; memory_object_init; - memory_object_lock_completed; memory_object_lock_request; - memory_object_ready; memory_object_set_attributes; - memory_object_supply_completed; memory_object_terminate; - - # o* - old_mach_port_get_receive_status; - - # p* - processor_assign; processor_control; processor_exit; - processor_get_assignment; processor_info; processor_set_create; - processor_set_default; processor_set_destroy; processor_set_info; - processor_set_max_priority; processor_set_policy_disable; - processor_set_policy_enable; processor_set_tasks; - processor_set_threads; processor_start; - - # t* - task_assign; task_assign_default; task_create_rpc; - task_disable_pc_sampling; task_enable_pc_sampling; - task_get_assignment; task_get_emulation_vector; - task_get_sampled_pcs; task_get_special_port; task_info; - task_priority; task_ras_control; task_resume; task_set_emulation; - task_set_emulation_vector; task_set_special_port_rpc; - task_suspend_rpc; task_terminate_rpc; task_threads; thread_abort; - thread_assign; thread_assign_default; thread_create; - thread_depress_abort_rpc; thread_disable_pc_sampling; - thread_enable_pc_sampling; thread_get_assignment; - thread_get_sampled_pcs; thread_get_special_port; thread_get_state; - thread_info; thread_max_priority; thread_policy; thread_priority; - thread_resume; thread_set_special_port; thread_set_state; - thread_suspend; thread_terminate; thread_wire; - - # v* - vm_allocate_rpc; vm_copy; vm_deallocate_rpc; vm_inherit; - vm_machine_attribute; vm_map_rpc; vm_protect; vm_read; vm_region; - vm_set_default_memory_manager; vm_statistics; vm_wire; vm_write; - - # x* - xxx_cpu_control; xxx_device_get_status; xxx_device_set_filter; - xxx_device_set_status; xxx_host_info; - xxx_memory_object_lock_request; xxx_processor_set_default_priv; - xxx_slot_info; xxx_task_get_emulation_vector; xxx_task_info; - xxx_task_set_emulation_vector; xxx_thread_get_state; - xxx_thread_info; xxx_thread_set_state; - - # y* - yyy_host_info; yyy_processor_control; yyy_processor_info; - yyy_processor_set_info; } } diff --git a/mach/Versions b/mach/Versions new file mode 100644 index 0000000000..e85c2b9d42 --- /dev/null +++ b/mach/Versions @@ -0,0 +1,46 @@ +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; + + 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; + __mutex_lock_solid; __mutex_unlock_solid; + } +} diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index 2495af4de9..7e8ed23a8b 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -504,11 +504,11 @@ off_t weak_function __lseek (int fd, off_t offset, int whence) { error_t err; - + err = __io_seek ((mach_port_t) fd, offset, whence, &offset); if (err) return __hurd_fail (err); - + return offset; } @@ -574,9 +574,9 @@ int weak_function __fxstat (int vers, int fd, struct stat *buf) { error_t err; - + assert (vers == _STAT_VER); - + err = __io_stat ((mach_port_t) fd, buf); if (err) return __hurd_fail (err); @@ -589,7 +589,7 @@ __xstat (int vers, const char *file, struct stat *buf) { error_t err; mach_port_t port; - + assert (vers == _STAT_VER); err = open_file (file, 0, &port, buf); @@ -606,7 +606,7 @@ __getpid () { pid_t pid, ppid; int orphaned; - + if (__proc_getpids (_dl_hurd_data->portarray[INIT_PORT_PROC], &pid, &ppid, &orphaned)) return -1; @@ -645,7 +645,7 @@ abort (void) /* Try for ever and ever. */ ABORT_INSTRUCTION; } - + /* This function is called by interruptible RPC stubs. For initial dynamic linking, just use the normal mach_msg. Since this defn is weak, the real defn in libc.so will override it if we are linked into @@ -664,7 +664,13 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, timeout, notify); } - +char * weak_function +__getcwd (char *buf, size_t size) /* XXX loser elf/dl-object.c */ +{ + abort (); + return NULL; +} + void internal_function _dl_show_auxv (void) |