Version definitions.
authordrepper <drepper>
Thu, 2 Jul 1998 22:31:00 +0000 (22:31 +0000)
committerdrepper <drepper>
Thu, 2 Jul 1998 22:31:00 +0000 (22:31 +0000)
45 files changed:
assert/Versions [new file with mode: 0644]
catgets/Versions [new file with mode: 0644]
csu/Versions [new file with mode: 0644]
ctype/Versions [new file with mode: 0644]
db/Versions [new file with mode: 0644]
dirent/Versions [new file with mode: 0644]
elf/Versions [new file with mode: 0644]
gmon/Versions [new file with mode: 0644]
grp/Versions [new file with mode: 0644]
hesiod/Versions [new file with mode: 0644]
hurd/Versions [new file with mode: 0644]
iconv/Versions [new file with mode: 0644]
inet/Versions [new file with mode: 0644]
intl/Versions [new file with mode: 0644]
io/Versions [new file with mode: 0644]
libio/Versions [new file with mode: 0644]
login/Versions [new file with mode: 0644]
malloc/Versions [new file with mode: 0644]
math/Versions [new file with mode: 0644]
md5-crypt/Versions [new file with mode: 0644]
misc/Versions [new file with mode: 0644]
nis/Versions [new file with mode: 0644]
nss/Versions [new file with mode: 0644]
posix/Versions [new file with mode: 0644]
pwd/Versions [new file with mode: 0644]
resolv/Versions [new file with mode: 0644]
resource/Versions [new file with mode: 0644]
rt/Versions [new file with mode: 0644]
setjmp/Versions [new file with mode: 0644]
shadow/Versions [new file with mode: 0644]
signal/Versions [new file with mode: 0644]
socket/Versions [new file with mode: 0644]
stdio-common/Versions [new file with mode: 0644]
stdio/Versions [new file with mode: 0644]
stdlib/Versions [new file with mode: 0644]
streams/Versions [new file with mode: 0644]
string/Versions [new file with mode: 0644]
sunrpc/Versions [new file with mode: 0644]
sysdeps/alpha/Versions [new file with mode: 0644]
sysdeps/alpha/fpu/Versions [new file with mode: 0644]
sysdeps/i386/Versions [new file with mode: 0644]
sysdeps/sparc/Versions [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/Versions [new file with mode: 0644]
sysdeps/unix/sysv/linux/i386/Versions [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/Versions [new file with mode: 0644]

diff --git a/assert/Versions b/assert/Versions
new file mode 100644 (file)
index 0000000..0761373
--- /dev/null
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.0 {
+    # functions used in inline functions or macros
+    __assert_fail; __assert_perror_fail;
+  }
+}
diff --git a/catgets/Versions b/catgets/Versions
new file mode 100644 (file)
index 0000000..f225be2
--- /dev/null
@@ -0,0 +1,9 @@
+libc {
+  GLIBC_2.0 {
+    # functions with required interface outside normal name space
+    __open_catalog;
+
+    # c*
+    catclose; catgets; catopen;
+  }
+}
diff --git a/csu/Versions b/csu/Versions
new file mode 100644 (file)
index 0000000..5cae3c4
--- /dev/null
@@ -0,0 +1,29 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _errno; __environ; _environ;
+
+    # helper functions
+    __errno_location; __libc_init_first; __libc_start_main;
+
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __register_frame_info; __deregister_frame_info;
+
+    # variables in normal name space
+    environ; errno;
+
+    # b*
+    brk;
+
+    # s*
+    sbrk;
+  }
+  GLIBC_2.1 {
+    # global variables
+    __libc_stack_end;
+
+    # New special glibc functions.
+    gnu_get_libc_release; gnu_get_libc_version;
+  }
+}
diff --git a/ctype/Versions b/ctype/Versions
new file mode 100644 (file)
index 0000000..6e7ed9b
--- /dev/null
@@ -0,0 +1,13 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    __ctype_b; __ctype_tolower; __ctype_toupper;
+
+    # i*
+    isalnum; isalpha; isascii; isblank; iscntrl; isdigit; isgraph; islower;
+    isprint; ispunct; isspace; isupper; isxdigit;
+
+    # t*
+    toascii; tolower; toupper;
+  }
+}
diff --git a/db/Versions b/db/Versions
new file mode 100644 (file)
index 0000000..65c1ae7
--- /dev/null
@@ -0,0 +1,10 @@
+libdb {
+  GLIBC_2.0 {
+    # the real DB entry point.
+    dbopen; __dbopen;
+
+    # The compatibility functions.
+    dbm_clearerr; dbm_close; dbm_delete; dbm_dirfno; dbm_error;
+    dbm_fetch; dbm_firstkey; dbm_nextkey; dbm_open; dbm_store;
+  }
+}
diff --git a/dirent/Versions b/dirent/Versions
new file mode 100644 (file)
index 0000000..aa7693e
--- /dev/null
@@ -0,0 +1,40 @@
+libc {
+  GLIBC_2.0 {
+    # a*
+    alphasort;
+
+    # c*
+    closedir;
+
+    # d*
+    dirfd;
+
+    # g*
+    getdirentries;
+
+    # o*
+    opendir;
+
+    # r*
+    readdir; readdir_r; rewinddir;
+
+    # s*
+    scandir; seekdir;
+
+    # t*
+    telldir;
+  }
+  GLIBC_2.1 {
+    # a*
+    alphasort64;
+
+    # r*
+    readdir64; readdir64_r;
+
+    # s*
+    scandir64;
+
+    # v*
+    versionsort; versionsort64;
+  }
+}
diff --git a/elf/Versions b/elf/Versions
new file mode 100644 (file)
index 0000000..d908c59
--- /dev/null
@@ -0,0 +1,35 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _dl_debug_impcalls; _dl_debug_fd;
+
+    # functions used in other libraries
+    _dl_open; _dl_close; _dl_addr; _dl_sysdep_output; _dl_debug_message;
+
+    # Those are in the dynamic linker, but used by libc.so.
+    __libc_enable_secure; _dl_catch_error; _dl_check_all_versions;
+    _dl_debug_initialize; _dl_debug_state; _dl_default_scope;
+    _dl_global_scope_end; _dl_init_next; _dl_lookup_symbol;
+    _dl_map_object; _dl_map_object_deps; _dl_object_relocation_scope;
+    _dl_relocate_object; _dl_signal_error; _dl_starting_up;
+    _dl_sysdep_start; _r_debug;
+    _dl_global_scope; _dl_lookup_symbol_skip;
+    _dl_lookup_versioned_symbol; _dl_lookup_versioned_symbol_skip;
+  }
+  GLIBC_2.1 {
+    # global variables
+    _dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile;
+
+    # functions used in other libraries
+    _dl_mcount; _dl_mcount_wrapper;
+  }
+}
+
+libdl {
+  GLIBC_2.0 {
+    dladdr; dlclose; dlerror; dlopen; dlsym;
+  }
+  GLIBC_2.1 {
+    dlvsym;
+  }
+}
diff --git a/gmon/Versions b/gmon/Versions
new file mode 100644 (file)
index 0000000..d546690
--- /dev/null
@@ -0,0 +1,15 @@
+libc {
+  GLIBC_2.0 {
+    # functions with special/multiple interfaces
+    _mcount;
+
+    # Profiling support
+    __monstartup; _mcleanup; __profile_frequency;
+
+    # m*
+    moncontrol; monstartup;
+
+    # p*
+    profil; profil_counter;
+  }
+}
diff --git a/grp/Versions b/grp/Versions
new file mode 100644 (file)
index 0000000..1e13e55
--- /dev/null
@@ -0,0 +1,19 @@
+libc {
+  GLIBC_2.0 {
+    # e*
+    endgrent;
+
+    # f*
+    fgetgrent; fgetgrent_r;
+
+    # g*
+    getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r;
+    getgroups;
+
+    # i*
+    initgroups;
+
+    # s*
+    setgrent; setgroups;
+  }
+}
diff --git a/hesiod/Versions b/hesiod/Versions
new file mode 100644 (file)
index 0000000..eeb0d57
--- /dev/null
@@ -0,0 +1,10 @@
+libnss_hesiod {
+  GLIBC_2.1 {
+    _nss_hesiod_setpwent; _nss_hesiod_endpwent;
+    _nss_hesiod_getpwnam_r; _nss_hesiod_getpwuid;
+    _nss_hesiod_setgrent; _nss_hesiod_endgrent;
+    _nss_hesiod_getgrnam_r; _nss_hesiod_getgrgid;
+    _nss_hesiod_setservent; _nss_hesiod_endservent;
+    _nss_hesiod_getservbyname_r;
+  }
+}
diff --git a/hurd/Versions b/hurd/Versions
new file mode 100644 (file)
index 0000000..5b4ab61
--- /dev/null
@@ -0,0 +1,298 @@
+libc {
+  GLIBC_2.0 {
+    # Hurd-specific variables
+    __hurd_sigthread_stack_base; __hurd_sigthread_stack_end;
+    __hurd_sigthread_variables;
+    __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
+
+    # 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;
+    _S_msg_get_dtable; _S_msg_set_dtable;
+    _S_msg_get_env_variable; _S_msg_set_env_variable;
+    _S_msg_get_environment; _S_msg_set_environment;
+    _S_msg_get_fd; _S_msg_set_fd;
+    _S_msg_get_init_int; _S_msg_set_init_int;
+    _S_msg_get_init_ints; _S_msg_set_init_ints;
+    _S_msg_get_init_port; _S_msg_set_init_port;
+    _S_msg_get_init_ports; _S_msg_set_init_ports;
+    _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/iconv/Versions b/iconv/Versions
new file mode 100644 (file)
index 0000000..25d1642
--- /dev/null
@@ -0,0 +1,9 @@
+libc {
+  GLIBC_2.1 {
+    # global variables
+    __gconv_alias_db; __gconv_nmodules; __gconv_modules_db;
+
+    # i*
+    iconv_open; iconv; iconv_close;
+  }
+}
diff --git a/inet/Versions b/inet/Versions
new file mode 100644 (file)
index 0000000..3d2e4c7
--- /dev/null
@@ -0,0 +1,58 @@
+libc {
+  GLIBC_2.0 {
+    # functions with required interface outside normal name space
+    __ivaliduser; __check_rhosts_file; __rcmd_errstr;
+
+    # functions used in other libraries
+    __internal_endnetgrent; __internal_getnetgrent_r;
+    __internal_setnetgrent;
+
+    # variables in normal name space
+    rexecoptions;
+
+    # e*
+    endaliasent; endhostent; endnetent; endnetgrent; endprotoent; endrpcent;
+    endservent;
+
+    # e*
+    ether_aton; ether_aton_r; ether_hostton; ether_line; ether_ntoa;
+    ether_ntoa_r; ether_ntohost;
+
+    # g*
+    getaliasbyname; getaliasbyname_r; getaliasent; getaliasent_r;
+    getdomainname; gethostbyaddr; gethostbyaddr_r; gethostbyname;
+    gethostbyname2; gethostbyname2_r; gethostbyname_r; gethostent;
+    gethostent_r; getnetbyaddr; getnetbyaddr_r; getnetbyname;
+    getnetbyname_r; getnetent; getnetent_r; getnetgrent; getnetgrent_r;
+    getprotobyname; getprotobyname_r; getprotobynumber;
+    getprotobynumber_r; getprotoent; getprotoent_r; getrpcbyname;
+    getrpcbyname_r; getrpcbynumber; getrpcbynumber_r; getrpcent; getrpcent_r;
+    getrpcport; getservbyname; getservbyname_r; getservbyport;
+    getservbyport_r; getservent; getservent_r;
+
+    # h*
+    htonl; htons;
+
+    # i*
+    inet_addr; inet_aton; inet_lnaof; inet_makeaddr; inet_netof; inet_network;
+    inet_nsap_addr; inet_nsap_ntoa; inet_ntoa; inet_ntop; inet_pton; innetgr;
+    iruserok;
+
+    # n*
+    ntohl; ntohs;
+
+    # r*
+    rcmd; rexec; rresvport; ruserok; ruserpass;
+
+    # s*
+    setaliasent; setnetent; setnetgrent; setprotoent; setrpcent; setservent;
+  }
+  GLIBC_2.1 {
+    # variables in normal name space
+    in6addr_any; in6addr_loopback;
+
+    # i*
+    if_freenameindex; if_indextoname; if_nameindex; if_nametoindex;
+    inet6_isipv4mapped;
+  }
+}
diff --git a/intl/Versions b/intl/Versions
new file mode 100644 (file)
index 0000000..acf0ce0
--- /dev/null
@@ -0,0 +1,21 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _nl_msg_cat_cntr; _nl_default_dirname; _nl_domain_bindings;
+
+    # functions used in inline functions or macros
+    __dcgettext;
+
+    # functions used in other libraries
+    __dgettext;
+
+    # b*
+    bindtextdomain;
+
+    # d*
+    dcgettext; dgettext; gettext;
+
+    # t*
+    textdomain;
+  }
+}
diff --git a/io/Versions b/io/Versions
new file mode 100644 (file)
index 0000000..7892eeb
--- /dev/null
@@ -0,0 +1,83 @@
+libc {
+  GLIBC_2.0 {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_open; __libc_close; __libc_read; __libc_write;
+    __libc_lseek; __libc_fcntl;
+
+    # functions used in inline functions or macros
+    __xstat; __fxstat; __lxstat; __xmknod; __write; __close; __fcntl;
+    __lseek; __open; __read;
+
+    # a*
+    access;
+
+    # c*
+    chdir; chmod; chown; close; creat;
+
+    # d*
+    dup; dup2;
+
+    # e*
+    euidaccess;
+
+    # f*
+    fchdir; fchmod; fchown; fcntl; flock; fstatfs; fts_children; fts_close;
+    fts_open; fts_read; fts_set; ftw;
+
+    # g*
+    get_current_dir_name; getcwd; getwd;
+
+    # i*
+    isatty;
+
+    # l*
+    lchown; link; lockf; lseek;
+
+    # m*
+    mkdir; mkfifo;
+
+    # o*
+    open;
+
+    # p*
+    pipe; poll;
+
+    # r*
+    read; readlink; rmdir;
+
+    # s*
+    statfs; symlink;
+
+    # t*
+    ttyname; ttyname_r;
+
+    # u*
+    umask; unlink; utime;
+
+    # w*
+    write;
+  }
+  GLIBC_2.1 {
+    # functions used in other libraries
+    __xstat64; __fxstat64; __lxstat64; __poll;
+
+    # c*
+    creat64;
+
+    # f*
+    fstatfs64; fstatvfs; fstatvfs64; ftw64;
+
+    # l*
+    lockf64; lseek64;
+
+    # n*
+    nftw; nftw64;
+
+    # o*
+    open64;
+
+    # s*
+    statfs64; statvfs; statvfs64;
+  }
+}
diff --git a/libio/Versions b/libio/Versions
new file mode 100644 (file)
index 0000000..ea58a29
--- /dev/null
@@ -0,0 +1,103 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _IO_list_all; _IO_stderr_; _IO_stdin_; _IO_stdout_;
+
+    # functions used in inline functions or macros
+    __getdelim;
+
+    # functions used in inline functions or macros
+    _IO_getc; _IO_peekc_unlocked; _IO_putc; _IO_feof; _IO_ferror;
+    __uflow; __underflow; __overflow;
+
+    # functions used in other libraries
+    __vsscanf; __vsnprintf;
+
+    # libio
+    _IO_adjust_column; _IO_clearerr; _IO_default_doallocate;
+    _IO_default_finish; _IO_default_pbackfail; _IO_default_uflow;
+    _IO_default_xsgetn; _IO_default_xsputn; _IO_do_write;
+    _IO_doallocbuf; _IO_fclose; _IO_fdopen; _IO_feof; _IO_ferror;
+    _IO_fflush; _IO_fgetc; _IO_fgetpos; _IO_fgets; _IO_file_attach;
+    _IO_file_close; _IO_file_close_it; _IO_file_doallocate;
+    _IO_file_fopen; _IO_file_init; _IO_file_jumps; _IO_file_open;
+    _IO_file_overflow; _IO_file_read; _IO_file_seek; _IO_file_seekoff;
+    _IO_file_setbuf; _IO_file_stat; _IO_file_sync; _IO_file_underflow;
+    _IO_file_write; _IO_file_xsputn; _IO_fileno; _IO_flockfile;
+    _IO_flush_all; _IO_flush_all_linebuffered; _IO_fopen; _IO_fprintf;
+    _IO_fputs; _IO_fread; _IO_free_backup_area; _IO_freopen;
+    _IO_fscanf; _IO_fseek; _IO_fsetpos; _IO_ftell; _IO_ftrylockfile;
+    _IO_funlockfile; _IO_fwrite; _IO_getc; _IO_getline; _IO_gets;
+    _IO_init; _IO_init_marker; _IO_link_in; _IO_marker_delta;
+    _IO_marker_difference; _IO_padn; _IO_pclose; _IO_peekc_locked;
+    _IO_perror; _IO_popen; _IO_printf; _IO_proc_close; _IO_proc_open;
+    _IO_putc; _IO_puts; _IO_remove_marker; _IO_rewind; _IO_scanf;
+    _IO_seekmark; _IO_seekoff; _IO_seekpos; _IO_setb; _IO_setbuf;
+    _IO_setbuffer; _IO_setlinebuf; _IO_setvbuf; _IO_sgetn;
+    _IO_sprintf; _IO_sputbackc; _IO_sscanf; _IO_str_init_readonly;
+    _IO_str_init_static; _IO_str_overflow; _IO_str_pbackfail;
+    _IO_str_seekoff; _IO_str_underflow; _IO_sungetc;
+    _IO_switch_to_get_mode; _IO_un_link; _IO_ungetc;
+    _IO_unsave_markers; _IO_vfprintf; _IO_vfscanf; _IO_vsprintf;
+
+    # variables in normal name space
+    stderr; stdin; stdout;
+
+    # a*
+    asprintf;
+
+    # c*
+    clearerr; clearerr_unlocked;
+
+    # d*
+    dprintf;
+
+    # f*
+    fclose; fcloseall; fdopen; feof; feof_locked; feof_unlocked; ferror;
+    ferror_locked; ferror_unlocked; fflush; fflush_locked; fflush_unlocked;
+    fgetc; fgetpos; fgets; fileno; fileno_locked; fileno_unlocked; flockfile;
+    fopen; fopencookie; fprintf; fputc; fputc_locked; fputc_unlocked; fputs;
+    fread; freopen; fscanf; fseek; fsetpos; ftell; ftrylockfile; funlockfile;
+    fwrite;
+
+    # g*
+    getc; getc_locked; getc_unlocked; getchar; getchar_unlocked; getdelim;
+    getline; gets; getw;
+
+    # o*
+    obstack_printf; obstack_vprintf; open_memstream;
+
+    # p*
+    pclose; popen; printf; putc; putc_locked; putc_unlocked; putchar;
+    putchar_unlocked; puts;
+
+    # p*
+    putw; rewind;
+
+    # s*
+    scanf; setbuf; setbuffer; setlinebuf;
+
+    # s*
+    setvbuf; snprintf; sprintf; sscanf;
+
+    # u*
+    ungetc;
+
+    # v*
+    vasprintf; vdprintf; vprintf; vscanf; vsnprintf; vsprintf; vsscanf;
+  }
+  GLIBC_2.1 {
+    # global variables
+    _IO_2_1_stdin_; _IO_2_1_stdout_; _IO_2_1_stderr_;
+
+    # functions used in other libraries
+    _IO_fclose; _IO_fopen; _IO_fdopen; __asprintf;
+
+    # Changed getline function in libio.
+    _IO_getline_info;
+
+    # f*
+    fgetpos64; fopen64; freopen64; fseeko; fseeko64; fsetpos64; ftello;
+    ftello64; fopen; fclose; fdopen;
+  }
+}
diff --git a/login/Versions b/login/Versions
new file mode 100644 (file)
index 0000000..b7cc90c
--- /dev/null
@@ -0,0 +1,41 @@
+libc {
+  GLIBC_2.0 {
+    # e*
+    endutent;
+
+    # g*
+    getlogin; getlogin_r; getutent; getutent_r; getutid; getutid_r; getutline;
+    getutline_r;
+
+    # p*
+    pututline;
+
+    # s*
+    setutent;
+
+    # u*
+    updwtmp; utmpname;
+  }
+  GLIBC_2.1 {
+    # e*
+    endutxent;
+
+    # g*
+    getpt; getutxent; getutxid; getutxline; grantpt;
+
+    # p*
+    ptsname; ptsname_r; pututxline;
+
+    # s*
+    setutxent;
+
+    # u*
+    unlockpt; updwtmpx; utmpxname;
+  }
+}
+
+libutil {
+  GLIBC_2.0 {
+    forkpty; login; login_tty; logout; logwtmp; openpty;
+  }
+}
diff --git a/malloc/Versions b/malloc/Versions
new file mode 100644 (file)
index 0000000..9cbec55
--- /dev/null
@@ -0,0 +1,47 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _obstack;
+
+    # interface of malloc functions
+    __libc_calloc; __libc_free; __libc_mallinfo; __libc_malloc;
+    __libc_mallopt; __libc_memalign; __libc_pvalloc; __libc_realloc;
+    __libc_valloc;
+    __malloc_initialize_hook; __free_hook; __malloc_hook; __realloc_hook;
+    __memalign_hook; __after_morecore_hook;
+    __malloc_initialized; __default_morecore; __morecore;
+
+    # functions used in inline functions or macros
+    _obstack_allocated_p; _obstack_begin; _obstack_begin_1;
+    _obstack_free; _obstack_memory_used; _obstack_newchunk;
+
+    # variables in normal name space
+    mallwatch; obstack_alloc_failed_handler; obstack_exit_failure;
+
+    # c*
+    calloc; cfree;
+
+    # f*
+    free;
+
+    # m*
+    mallinfo; malloc; malloc_get_state; malloc_set_state; malloc_stats;
+    malloc_trim; malloc_usable_size; mallopt; memalign; mprobe; mtrace;
+    muntrace;
+
+    # o*
+    obstack_free;
+
+    # p*
+    pvalloc;
+
+    # r*
+    realloc;
+
+    # t*
+    tr_break;
+
+    # v*
+    valloc;
+  }
+}
diff --git a/math/Versions b/math/Versions
new file mode 100644 (file)
index 0000000..9c71d32
--- /dev/null
@@ -0,0 +1,158 @@
+libc {
+  GLIBC_2.0 {
+    # functions used in inline functions or macros
+    __isnan; __isnanf; __isnanl; __finite; __finitef; __finitel;
+    __isinf; __isinff; __isinfl;
+
+    # c*
+    copysign; copysignf; copysignl;
+
+    # f*
+    finite; finitef; finitel; frexp; frexpf; frexpl;
+
+    # i*
+    isinf; isinff; isinfl; isnan; isnanf; isnanl; ldexp; ldexpf; ldexpl;
+
+    # m*
+    modf; modff; modfl;
+
+    # s*
+    scalbn; scalbnf; scalbnl;
+  }
+  GLIBC_2.1 {
+    # functions used in inline functions or macros
+    __signbit; __signbitf; __signbitl;
+
+    # s*
+    scalbln; scalblnf; scalblnl;
+  }
+}
+
+libm {
+  GLIBC_2.0 {
+    # mathematical functions
+    acos; acosf; acosl;
+    acosh; acoshf; acoshl;
+    asin; asinf; asinl;
+    asinh; asinhf; asinhl;
+    atan2; atan2f; atan2l;
+    atan; atanf; atanl;
+    atanh; atanhf; atanhl;
+    cbrt; cbrtf; cbrtl;
+    ceil; ceilf; ceill;
+    copysign; copysignf; copysignl;
+    cos; cosf; cosl;
+    coshf; cosh; coshl;
+    drem; dremf; dreml;
+    erf; erff; erfl;
+    erfc; erfcf; erfcl;
+    exp; expf; expl;
+    expm1; expm1f; expm1l;
+    fabs; fabsf; fabsl;
+    finite; finitef; finitel;
+    floor; floorf; floorl;
+    fmod; fmodf; fmodl;
+    frexp; frexpf; frexpl;
+    gamma; gammaf; gammal;
+    gamma_r; gammaf_r; gammal_r;
+    hypot; hypotf; hypotl;
+    ilogb; ilogbf; ilogbl;
+    j0; j0f; j0l;
+    j1; j1f; j1l;
+    jn; jnf; jnl;
+    ldexp; ldexpf; ldexpl;
+    lgamma; lgammaf; lgammal;
+    lgamma_r; lgammaf_r; lgammal_r;
+    log10; log10f; log10l;
+    log1p; log1pf; log1pl;
+    log; logf; logl;
+    logb; logbf; logbl;
+    matherr;
+    modf; modff; modfl;
+    nextafter; nextafterf; nextafterl;
+    pow; powf; powl;
+    remainder; remainderf; remainderl;
+    rint; rintf; rintl;
+    scalb; scalbf; scalbl;
+    scalbn; scalbnf; scalbnl;
+    significand; significandf; significandl;
+    sin; sinf; sinl;
+    sinh; sinhf; sinhl;
+    sqrt; sqrtf; sqrtl;
+    tan; tanf; tanl;
+    tanh; tanhf; tanhl;
+    y0; y0f; y0l;
+    y1; y1f; y1l;
+    yn; ynf; ynl;
+
+
+    # global variables
+    _LIB_VERSION; signgam;
+
+    # functions used in inline functions or macros
+    __log1p; __atan2;
+  }
+  GLIBC_2.1 {
+    # mathematical functions
+    exp2; exp2f; exp2l;
+    exp10; exp10f; exp10l;
+    fdim; fdimf; fdiml;
+    fma; fmaf; fmal;
+    fmax; fmaxf; fmaxl;
+    fmin; fminf; fminl;
+    log2; log2f; log2l;
+    nan; nanf; nanl;
+    nearbyint; nearbyintf; nearbyintl;
+    nextafterx; nextafterxf; nextafterxl;
+    pow10; pow10f; pow10l;
+    remquo; remquof; remquol;
+    lrint; lrintf; lrintl;
+    llrint; llrintf; llrintl;
+    round; roundf; roundl;
+    lround; lroundf; lroundl;
+    llround; llroundf; llroundl;
+    scalbln; scalblnf; scalblnl;
+    sincos; sincosf; sincosl;
+    trunc; truncf; truncl;
+
+    # complex functions
+    cabs; cabsf; cabsl;
+    cacos; cacosf; cacosl;
+    cacosh; cacoshf; cacoshl;
+    carg; cargf; cargl;
+    casin; casinf; casinl;
+    casinh; casinhf; casinhl;
+    catan; catanf; catanl;
+    catanh; catanhf; catanhl;
+    ccos; ccosf; ccosl;
+    ccosh; ccoshf; ccoshl;
+    cexp; cexpf; cexpl;
+    cimag; cimagf; cimagl;
+    clog; clogf; clogl;
+    clog10; clog10f; clog10l;
+    __clog10; __clog10f; __clog10l;
+    conj; conjf; conjl;
+    cpow; cpowf; cpowl;
+    cproj; cprojf; cprojl;
+    creal; crealf; creall;
+    csin; csinf; csinl;
+    csinh; csinhf; csinhl;
+    csqrt; csqrtf; csqrtl;
+    ctan; ctanf; ctanl;
+    ctanh; ctanhf; ctanhl;
+
+    # fp environment functions
+    feclearexcept; fegetenv; fegetexceptflag;
+    fegetround; feholdexcept; feraiseexcept;
+    fesetenv; fesetexceptflag; fesetround;
+    fetestexcept; feupdateenv;
+
+    # functions used in inline functions or macros
+    __finite; __finitef; __finitel;
+    __fpclassify; __fpclassifyf; __fpclassifyl;
+    __signbit; __signbitf; __signbitl;
+
+    # symbols used in macros from sysdeps/powerpc/bits/fenv.h
+    __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
+  }
+}
diff --git a/md5-crypt/Versions b/md5-crypt/Versions
new file mode 100644 (file)
index 0000000..389e7d5
--- /dev/null
@@ -0,0 +1,5 @@
+libcrypt {
+  GLIBC_2.0 {
+    crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r;
+  }
+}
diff --git a/misc/Versions b/misc/Versions
new file mode 100644 (file)
index 0000000..abde3e7
--- /dev/null
@@ -0,0 +1,102 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    ___brk_addr; __curbrk; __progname; __progname_full;
+
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_fsync; __libc_msync;
+
+    # interface of malloc functions
+    __sbrk; __getpagesize;
+
+    # functions used in other libraries
+    __select;
+
+    # variables in normal name space
+    error_message_count; error_one_per_line; error_print_progname;
+
+    # variables in normal name space
+    loc1; loc2; locs;
+    program_invocation_name; program_invocation_short_name;
+
+    # a*
+    acct; addmntent; advance;
+
+    # c*
+    chflags; chroot; closelog;
+
+    # d*
+    daemon; dirname;
+
+    # e*
+    ecvt; ecvt_r; endfsent; endmntent; endttyent; endusershell;
+
+    # e*
+    err; error; error_at_line; errx;
+
+    # f*
+    fchflags; fcvt; fcvt_r; fdatasync; fsync; ftruncate;
+
+    # g*
+    gcvt; get_avphys_pages; get_nprocs; get_nprocs_conf; get_phys_pages;
+    getfsent; getfsfile; getfsspec; gethostid; gethostname; getmntent;
+    getmntent_r; getpagesize; getpass; getttyent; getttynam; getusershell;
+    gtty;
+
+    # h*
+    hasmntopt; hcreate; hcreate_r; hdestroy; hdestroy_r; hsearch; hsearch_r;
+
+    # i*
+    insque; ioctl;
+
+    # j*
+    jrand48; jrand48_r; lfind; lsearch;
+
+    # m*
+    madvise; mkstemp; mktemp; mlock; mlockall; mmap; mount; mprotect; msync;
+    munlock; munlockall; munmap;
+
+    # o*
+    openlog;
+
+    # p*
+    ptrace;
+
+    # q*
+    qecvt; qecvt_r; qfcvt; qfcvt_r; qgcvt;
+
+    # r*
+    readv; remque; revoke;
+
+    # s*
+    select; setdomainname; setfsent; sethostent; sethostid; sethostname;
+    setlogmask; setmntent; setregid; setreuid; setttyent; setusershell; sstk;
+    stty; sync; syscall; syslog;
+
+    # t*
+    tdelete; tfind; truncate; tsearch; ttyslot; twalk;
+
+    # u*
+    ualarm; usleep; ustat; utimes;
+
+    # v*
+    verr; verrx; vhangup; vsyslog; vwarn; vwarnx;
+
+    # w*
+    warn; warnx;
+
+    # w*
+    writev;
+  }
+  GLIBC_2.1 {
+    # f*
+    ftruncate64;
+
+    # m*
+    mmap64;
+
+    # t*
+    tdestroy; truncate64;
+  }
+}
diff --git a/nis/Versions b/nis/Versions
new file mode 100644 (file)
index 0000000..aa2df3a
--- /dev/null
@@ -0,0 +1,121 @@
+libnsl {
+  GLIBC_2.0 {
+    # Many programs expect this, but every user program should
+    # have it's own version, since the interface is different on
+    # various platforms.
+    xdr_domainname;       xdr_keydat;          xdr_mapname;
+    xdr_peername;         xdr_valdat;          xdr_yp_buf;
+    xdr_ypbind_binding;   xdr_ypbind_resp;     xdr_ypbind_resptype;
+    xdr_ypbind_setdom;    xdr_ypdelete_args;   xdr_ypmap_parms;
+    xdr_ypmaplist;        xdr_yppush_status;   xdr_yppushresp_xfr;
+    xdr_ypreq_key;        xdr_ypreq_nokey;     xdr_ypreq_xfr;
+    xdr_ypresp_all;       xdr_ypresp_key_val;  xdr_ypresp_maplist;
+    xdr_ypresp_master;    xdr_ypresp_order;    xdr_ypresp_val;
+    xdr_ypresp_xfr;       xdr_ypstat;          xdr_ypupdate_args;
+    xdr_ypxfrstat;
+
+    __yp_check;
+    yp_all;               yp_bind;             yp_first;
+    yp_get_default_domain; yp_maplist;         yp_master;
+    yp_match;             yp_next;             yp_order;
+    yp_unbind;            yp_update;           ypbinderr_string;
+    yperr_string;         ypprot_err;
+  }
+  GLIBC_2.1 {
+    nis_add;              nis_add_entry;       nis_addmember;
+    nis_checkpoint;       nis_clone_directory; nis_clone_object;
+    nis_clone_result;     nis_creategroup;     nis_destroy_object;
+    nis_destroygroup;     nis_dir_cmp;         nis_domain_of;
+    nis_domain_of_r;      nis_first_entry;     nis_free_directory;
+    nis_free_object;      nis_free_request;    nis_freenames;
+    nis_freeresult;       nis_freeservlist;    nis_freetags;
+    nis_getnames;         nis_getservlist;     nis_ismember;
+    nis_leaf_of;          nis_leaf_of_r;       nis_lerror;
+    nis_list;             nis_local_directory; nis_local_group;
+    nis_local_host;       nis_local_principal; nis_lookup;
+    nis_mkdir;            nis_modify;          nis_modify_entry;
+    nis_name_of;          nis_name_of_r;       nis_next_entry;
+    nis_perror;           nis_ping;            nis_print_directory;
+    nis_print_entry;      nis_print_group;     nis_print_group_entry;
+    nis_print_link;       nis_print_object;    nis_print_result;
+    nis_print_rights;     nis_print_table;     nis_read_obj;
+    nis_remove;           nis_remove_entry;    nis_removemember;
+    nis_rmdir;            nis_servstate;       nis_sperrno;
+    nis_sperror;          nis_sperror_r;       nis_stats;
+    nis_verifygroup;      nis_write_obj;
+
+    xdr_cback_data;       xdr_obj_p;
+
+    # This functions are needed by the NIS+ tools and rpc.nisd,
+    # they should never be used in a normal user program !
+    __do_niscall2;        __free_fdresult;     __nis_default_access;
+    __nis_default_group;  __nis_default_owner; __nis_default_ttl;
+    __nis_finddirectory;  __nis_hash;
+    readColdStartFile;    writeColdStartFile;
+  }
+}
+
+libnss_compat {
+  GLIBC_2.0 {
+    _nss_compat_endgrent; _nss_compat_endpwent; _nss_compat_endspent;
+    _nss_compat_getgrent_r; _nss_compat_getgrgid_r; _nss_compat_getgrnam_r;
+    _nss_compat_getpwent_r; _nss_compat_getpwnam_r; _nss_compat_getpwuid_r;
+    _nss_compat_getspent_r; _nss_compat_getspnam_r; _nss_compat_initgroups;
+    _nss_compat_setgrent; _nss_compat_setpwent; _nss_compat_setspent;
+  }
+}
+
+libnss_nis {
+  GLIBC_2.0 {
+    _nss_nis_endaliasent; _nss_nis_endetherent; _nss_nis_endgrent;
+    _nss_nis_endhostent; _nss_nis_endnetent; _nss_nis_endnetgrent;
+    _nss_nis_endprotoent; _nss_nis_endpwent; _nss_nis_endrpcent;
+    _nss_nis_endservent; _nss_nis_endspent; _nss_nis_getaliasbyname_r;
+    _nss_nis_getaliasent_r; _nss_nis_getetherent_r; _nss_nis_getgrent_r;
+    _nss_nis_getgrgid_r; _nss_nis_getgrnam_r; _nss_nis_gethostbyaddr_r;
+    _nss_nis_gethostbyname2_r; _nss_nis_gethostbyname_r; _nss_nis_gethostent_r;
+    _nss_nis_gethostton_r; _nss_nis_getnetbyaddr_r; _nss_nis_getnetbyname_r;
+    _nss_nis_getnetent_r; _nss_nis_getnetgrent_r; _nss_nis_getntohost_r;
+    _nss_nis_getprotobyname_r; _nss_nis_getprotobynumber_r;
+    _nss_nis_getprotoent_r; _nss_nis_getpublickey; _nss_nis_getpwent_r;
+    _nss_nis_getpwnam_r; _nss_nis_getpwuid_r; _nss_nis_getrpcbyname_r;
+    _nss_nis_getrpcbynumber_r; _nss_nis_getrpcent_r; _nss_nis_getsecretkey;
+    _nss_nis_getservbyname_r; _nss_nis_getservbyport_r; _nss_nis_getservent_r;
+    _nss_nis_getspent_r; _nss_nis_getspnam_r; _nss_nis_initgroups;
+    _nss_nis_netname2user; _nss_nis_setaliasent; _nss_nis_setetherent;
+    _nss_nis_setgrent; _nss_nis_sethostent; _nss_nis_setnetent;
+    _nss_nis_setnetgrent; _nss_nis_setprotoent; _nss_nis_setpwent;
+    _nss_nis_setrpcent; _nss_nis_setservent; _nss_nis_setspent;
+  }
+}
+
+libnss_nisplus {
+  GLIBC_2.1 {
+    _nss_nisplus_endaliasent; _nss_nisplus_endetherent; _nss_nisplus_endgrent;
+    _nss_nisplus_endhostent; _nss_nisplus_endnetent; _nss_nisplus_endnetgrent;
+    _nss_nisplus_endprotoent; _nss_nisplus_endpwent; _nss_nisplus_endrpcent;
+    _nss_nisplus_endservent; _nss_nisplus_endspent;
+    _nss_nisplus_getaliasbyname_r; _nss_nisplus_getaliasent_r;
+    _nss_nisplus_getetherent_r; _nss_nisplus_getgrent_r;
+    _nss_nisplus_getgrgid_r; _nss_nisplus_getgrnam_r;
+    _nss_nisplus_gethostbyaddr_r; _nss_nisplus_gethostbyname2_r;
+    _nss_nisplus_gethostbyname_r; _nss_nisplus_gethostent_r;
+    _nss_nisplus_gethostton_r; _nss_nisplus_getnetbyaddr_r;
+    _nss_nisplus_getnetbyname_r; _nss_nisplus_getnetent_r;
+    _nss_nisplus_getnetgrent_r; _nss_nisplus_getntohost_r;
+    _nss_nisplus_getprotobyname_r; _nss_nisplus_getprotobynumber_r;
+    _nss_nisplus_getprotoent_r; _nss_nisplus_getpublickey;
+    _nss_nisplus_getpwent_r; _nss_nisplus_getpwnam_r; _nss_nisplus_getpwuid_r;
+    _nss_nisplus_getrpcbyname_r; _nss_nisplus_getrpcbynumber_r;
+    _nss_nisplus_getrpcent_r; _nss_nisplus_getsecretkey;
+    _nss_nisplus_getservbyname_r; _nss_nisplus_getservbynumber_r;
+    _nss_nisplus_getservent_r; _nss_nisplus_getspent_r;
+    _nss_nisplus_getspnam_r; _nss_nisplus_netname2user;
+    _nss_nisplus_parse_grent; _nss_nisplus_parse_pwent;
+    _nss_nisplus_parse_spent; _nss_nisplus_setaliasent;
+    _nss_nisplus_setetherent; _nss_nisplus_setgrent; _nss_nisplus_sethostent;
+    _nss_nisplus_setnetent; _nss_nisplus_setnetgrent; _nss_nisplus_setprotoent;
+    _nss_nisplus_setpwent; _nss_nisplus_setrpcent; _nss_nisplus_setservent;
+    _nss_nisplus_setspent;
+  }
+}
diff --git a/nss/Versions b/nss/Versions
new file mode 100644 (file)
index 0000000..217f4da
--- /dev/null
@@ -0,0 +1,105 @@
+libc {
+  GLIBC_2.0 {
+     # functions used in other libraries
+    __nss_passwd_lookup; __nss_group_lookup; __nss_next;
+    _nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
+    __nss_database_lookup; __nss_configure_lookup;
+  }
+}
+
+libnss_db {
+  GLIBC_2.0 {
+    _nss_db_endaliasent; _nss_db_endetherent; _nss_db_endgrent;
+    _nss_db_endnetgrent; _nss_db_endprotoent; _nss_db_endpwent;
+    _nss_db_endrpcent; _nss_db_endservent; _nss_db_endspent;
+    _nss_db_getaliasbyname_r; _nss_db_getaliasent_r; _nss_db_getetherent_r;
+    _nss_db_getgrent_r; _nss_db_getgrgid_r; _nss_db_getgrnam_r;
+    _nss_db_gethostton_r; _nss_db_getnetgrent_r; _nss_db_getntohost_r;
+    _nss_db_getprotobyname_r; _nss_db_getprotobynumber_r;
+    _nss_db_getprotoent_r; _nss_db_getpwent_r; _nss_db_getpwnam_r;
+    _nss_db_getpwuid_r; _nss_db_getrpcbyname_r; _nss_db_getrpcbynumber_r;
+    _nss_db_getrpcent_r; _nss_db_getservbyname_r; _nss_db_getservbyport_r;
+    _nss_db_getservent_r; _nss_db_getspent_r; _nss_db_getspnam_r;
+    _nss_db_setaliasent; _nss_db_setetherent; _nss_db_setgrent;
+    _nss_db_setnetgrent; _nss_db_setprotoent; _nss_db_setpwent;
+    _nss_db_setrpcent; _nss_db_setservent; _nss_db_setspent;
+  }
+}
+
+libnss_files {
+  GLIBC_2.0 {
+    _nss_files_setaliasent;
+    _nss_files_endaliasent;
+    _nss_files_getaliasbyname_r;
+    _nss_files_getaliasent_r;
+
+    _nss_files_setetherent;
+    _nss_files_endetherent;
+    _nss_files_getetherent_r;
+    _nss_files_parse_etherent;
+
+    _nss_files_setgrent;
+    _nss_files_endgrent;
+    _nss_files_getgrent_r;
+    _nss_files_getgrgid_r;
+    _nss_files_getgrnam_r;
+
+    _nss_files_sethostent;
+    _nss_files_endhostent;
+    _nss_files_gethostbyaddr_r;
+    _nss_files_gethostbyname2_r;
+    _nss_files_gethostbyname_r;
+    _nss_files_gethostent_r;
+    _nss_files_gethostton_r;
+
+    _nss_files_setnetent;
+    _nss_files_endnetent;
+    _nss_files_getnetbyaddr_r;
+    _nss_files_getnetbyname_r;
+    _nss_files_getnetent_r;
+    _nss_files_getntohost_r;
+    _nss_files_parse_netent;
+
+    _nss_files_setnetgrent;
+    _nss_files_endnetgrent;
+    _nss_files_getnetgrent_r;
+
+    _nss_files_setprotoent;
+    _nss_files_endprotoent;
+    _nss_files_getprotobyname_r;
+    _nss_files_getprotobynumber_r;
+    _nss_files_getprotoent_r;
+    _nss_files_parse_protoent;
+
+    _nss_files_setpwent;
+    _nss_files_endpwent;
+    _nss_files_getpwent_r;
+    _nss_files_getpwnam_r;
+    _nss_files_getpwuid_r;
+
+    _nss_files_setrpcent;
+    _nss_files_endrpcent;
+    _nss_files_getrpcbyname_r;
+    _nss_files_getrpcbynumber_r;
+    _nss_files_getrpcent_r;
+    _nss_files_parse_rpcent;
+
+    _nss_files_setservent;
+    _nss_files_endservent;
+    _nss_files_getservbyname_r;
+    _nss_files_getservbyport_r;
+    _nss_files_getservent_r;
+    _nss_files_parse_servent;
+
+    _nss_files_setspent;
+    _nss_files_endspent;
+    _nss_files_getspent_r;
+    _nss_files_getspnam_r;
+
+    _nss_netgroup_parseline;
+  }
+  GLIBC_2.1 {
+    _nss_files_getpublickey;
+    _nss_files_getsecretkey;
+  }
+}
diff --git a/posix/Versions b/posix/Versions
new file mode 100644 (file)
index 0000000..049d232
--- /dev/null
@@ -0,0 +1,80 @@
+libc {
+  GLIBC_2.0 {
+    # functions with special/multiple interfaces
+    __bsd_getpgrp; __setpgid; __getpgid;
+
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep;
+
+    # functions with required interface outside normal name space
+    _exit;
+
+    # functions used in other libraries
+    __sched_get_priority_max; __sched_get_priority_min;
+    __sched_getparam; __sched_getscheduler; __sched_setscheduler;
+    __sched_yield; __fork; __getpid; __wait;
+
+    # variables in normal name space
+    optarg; opterr; optind; optopt; re_max_failures; re_syntax_options;
+
+    # a*
+    alarm;
+
+    # c*
+    confstr;
+
+    # e*
+    execl; execle; execlp; execv; execve; execvp; fexecve;
+
+    # f*
+    fnmatch; fork; fpathconf; freeaddrinfo;
+
+    # g*
+    getaddrinfo; getdtablesize; getegid; geteuid; getgid; getopt; getopt_long;
+    getopt_long_only; getpgid; getpgrp; getpid; getppid; getsid; getuid; glob;
+    glob_pattern_p; globfree; group_member;
+
+    # n*
+    nanosleep;
+
+    # p*
+    pathconf; pause; pselect;
+
+    # r*
+    re_comp; re_compile_fastmap; re_compile_pattern; re_exec; re_match;
+    re_match_2; re_search; re_search_2; re_set_registers; re_set_syntax;
+    regcomp; regerror; regexec; regfree;
+
+    # s*
+    sched_get_priority_max; sched_get_priority_min; sched_getparam;
+    sched_getscheduler; sched_rr_get_interval; sched_setparam;
+    sched_setscheduler; sched_yield; setegid; seteuid; setgid; setlogin;
+    setpgid; setpgrp; setsid; setuid; sleep; sysconf;
+
+    # t*
+    times;
+
+    # u*
+    uname;
+
+    # v*
+    vfork;
+
+    # w*
+    wait; wait3; wait4; waitpid;
+  }
+  GLIBC_2.1 {
+    # functions used in other libraries
+    __pread64; __pwrite64;
+
+    # g*
+    gai_strerror; getnameinfo;
+
+    # p*
+    pread; pread64; pwrite; pwrite64;
+
+    # w*
+    waitid; wordexp; wordfree;
+  }
+}
diff --git a/pwd/Versions b/pwd/Versions
new file mode 100644 (file)
index 0000000..45a750e
--- /dev/null
@@ -0,0 +1,15 @@
+libc {
+  GLIBC_2.0 {
+    # e*
+    endpwent;
+
+    # f*
+    fgetpwent; fgetpwent_r;
+
+    # g*
+    getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
+
+    # p*
+    putpwent; setpwent;
+  }
+}
diff --git a/resolv/Versions b/resolv/Versions
new file mode 100644 (file)
index 0000000..112f55a
--- /dev/null
@@ -0,0 +1,53 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _h_errno; _res;
+
+    # helper functions
+    __h_errno_location;
+
+    # functions used in other libraries
+    __res_randomid;
+
+    # variables in normal name space
+    h_errlist; h_errno; h_nerr;
+
+    # h*
+    herror; hstrerror;
+
+    # r*
+    res_init;
+  }
+}
+
+libresolv {
+  GLIBC_2.0 {
+    _gethtbyaddr; _gethtbyname; _gethtbyname2; _gethtent; _getlong;
+    _getshort; _res_opcodes; _res_resultcodes; _sethtent; dn_expand;
+    inet_net_ntop; inet_net_pton; inet_neta; res_gethostbyaddr;
+    res_gethostbyname; res_gethostbyname2; res_mkquery; res_query;
+    res_querydomain; res_search; res_send_setqhook; res_send_setrhook;
+    # Variables
+    __p_class_syms; __p_type_syms;
+    # Private routines shared between libc/net, named, nslookup and others.
+    __b64_ntop; __b64_pton;
+    __dn_comp;  __dn_count_labels; __dn_skipname;
+    __fp_nquery; __fp_query; __fp_resstat; __hostalias;
+    __loc_aton; __loc_ntoa;
+    __p_cdname; __p_cdnname; __p_class; __p_fqname; __p_fqnname; __p_option;
+    __p_query; __p_rr; __p_secstodate; __p_time; __p_type;
+    __putlong; __putshort;
+    __res_close; __res_dnok; __res_hnok; __res_isourserver; __res_mailok;
+    __res_nameinquery; __res_ownok; __res_queriesmatch;
+    __res_send;
+    __sym_ntop; __sym_ntos; __sym_ston;
+  }
+}
+
+libnss_dns {
+  GLIBC_2.0 {
+    _nss_dns_gethostbyaddr_r; _nss_dns_gethostbyname2_r;
+    _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
+    _nss_dns_getnetbyname_r;
+  }
+}
diff --git a/resource/Versions b/resource/Versions
new file mode 100644 (file)
index 0000000..caff6a2
--- /dev/null
@@ -0,0 +1,25 @@
+libc {
+  GLIBC_2.0 {
+    # g*
+    getpriority; getrlimit; getrusage;
+
+    # n*
+    nice;
+
+    # s*
+    setpriority; setrlimit;
+
+    # u*
+    ulimit;
+
+    # v*
+    vlimit; vtimes;
+  }
+  GLIBC_2.1 {
+    # g*
+    getrlimit64;
+
+    # s*
+    setrlimit64;
+  }
+}
diff --git a/rt/Versions b/rt/Versions
new file mode 100644 (file)
index 0000000..abe9e33
--- /dev/null
@@ -0,0 +1,8 @@
+librt {
+  GLIBC_2.1 {
+    # AIO functions.
+    aio_cancel; aio_cancel64; aio_error; aio_error64; aio_fsync; aio_fsync64;
+    aio_init; aio_read; aio_read64; aio_return; aio_return64; aio_suspend;
+    aio_suspend64; aio_write; aio_write64; lio_listio; lio_listio64;
+  }
+}
diff --git a/setjmp/Versions b/setjmp/Versions
new file mode 100644 (file)
index 0000000..68292ee
--- /dev/null
@@ -0,0 +1,16 @@
+libc {
+  GLIBC_2.0 {
+    # functions with special/multiple interfaces
+    _longjmp; __sigsetjmp; _setjmp;
+
+    # l*
+    longjmp;
+
+    # s*
+    setjmp;
+  }
+  GLIBC_2.1 {
+    # helper functions
+    __libc_longjmp; __libc_siglongjmp;
+  }
+}
diff --git a/shadow/Versions b/shadow/Versions
new file mode 100644 (file)
index 0000000..7a0dae5
--- /dev/null
@@ -0,0 +1,27 @@
+libc {
+  GLIBC_2.0 {
+    # e*
+    endspent;
+
+    # f*
+    fgetspent; fgetspent_r;
+
+    # g*
+    getspent; getspent_r; getspnam; getspnam_r;
+
+    # l*
+    lckpwdf;
+
+    # p*
+    putspent;
+
+    # s*
+    setspent;
+
+    # s*
+    sgetspent; sgetspent_r;
+
+    # u*
+    ulckpwdf;
+  }
+}
diff --git a/signal/Versions b/signal/Versions
new file mode 100644 (file)
index 0000000..a24dc03
--- /dev/null
@@ -0,0 +1,44 @@
+libc {
+  GLIBC_2.0 {
+    # functions with special/multiple interfaces
+    __sigaddset; __sigdelset; __sigismember; __sysv_signal;
+
+    # functions used in inline functions or macros
+    __sigpause;
+
+    # functions used in other libraries
+     __sigaction;
+
+    # b*
+    bsd_signal;
+
+    # g*
+    gsignal;
+
+    # k*
+    kill; killpg;
+
+    # p*
+    psignal;
+
+    # r*
+    raise;
+
+    # s*
+    sigaction; sigaddset; sigaltstack; sigandset; sigblock; sigdelset;
+    sigemptyset; sigfillset; siggetmask; siginterrupt; sigisemptyset;
+    sigismember; siglongjmp; signal; sigorset; sigpause; sigpending;
+    sigprocmask; sigreturn; sigsetmask; sigstack; sigsuspend; sigvec;
+    sigwait; ssignal;
+  }
+  GLIBC_2.1 {
+    # helper functions
+    __libc_current_sigrtmin; __libc_current_sigrtmax; __libc_allocate_rtsig;
+
+    # s*
+    sighold; sigrelse; sigignore; sigset; sysv_signal;
+
+    # New RT signal functions.
+    sigqueue; sigtimedwait; sigwaitinfo;
+  }
+}
diff --git a/socket/Versions b/socket/Versions
new file mode 100644 (file)
index 0000000..36c7653
--- /dev/null
@@ -0,0 +1,35 @@
+libc {
+  GLIBC_2.0 {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_accept; __libc_send; __libc_recvfrom;
+    __libc_recvmsg; __libc_sendmsg; __libc_recv; __libc_sendto; __libc_connect;
+
+    # functions used in other libraries
+    __connect; __send;
+
+    # a*
+    accept;
+
+    # b*
+    bind;
+
+    # c*
+    connect;
+
+    # g*
+    getpeername; getsockname; getsockopt;
+
+    # i*
+    isfdtype;
+
+    # l*
+    listen;
+
+    # r*
+    recv; recvfrom; recvmsg;
+
+    # s*
+    send; sendmsg; sendto; setsockopt; socket; socketpair;
+  }
+}
diff --git a/stdio-common/Versions b/stdio-common/Versions
new file mode 100644 (file)
index 0000000..5db571d
--- /dev/null
@@ -0,0 +1,35 @@
+libc {
+  GLIBC_2.0 {
+    # global variables
+    _itoa_lower_digits; _itoa_upper_digits; _sys_errlist; _sys_nerr;
+    _sys_siglist;
+
+    # functions used in other libraries
+    __printf_fp; __vfscanf;
+
+    # variables in normal name space
+    sys_errlist; sys_nerr; sys_sigabbrev; sys_siglist;
+
+    # c*
+    ctermid; cuserid;
+
+    # p*
+    parse_printf_format; perror;
+
+    # r*
+    register_printf_function; remove; rename;
+
+    # t*
+    tempnam; tmpfile; tmpnam; tmpnam_r;
+
+    # v*
+    vfprintf; vfscanf;
+  }
+  GLIBC_2.1 {
+    # p*
+    printf_size; printf_size_info;
+
+    # t*
+    tmpfile64;
+  }
+}
diff --git a/stdio/Versions b/stdio/Versions
new file mode 100644 (file)
index 0000000..5c6bbe3
--- /dev/null
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.0 {
+    # more or less standard functions
+    __fillbf; __flshfp;
+  }
+}
diff --git a/stdlib/Versions b/stdlib/Versions
new file mode 100644 (file)
index 0000000..6e92552
--- /dev/null
@@ -0,0 +1,86 @@
+libc {
+  GLIBC_2.0 {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_system;
+
+    # functions with required interface outside normal name space
+    __xpg_basename;
+
+    # functions used in inline functions or macros
+    __strto*_internal;
+
+    # functions used in other libraries
+    __secure_getenv; __on_exit;
+
+    # a*
+    a64l; abort; abs; atexit; atof; atoi; atol; atoll;
+
+    # b*
+    bsearch;
+
+    # c*
+    canonicalize_file_name; clearenv;
+
+    # d*
+    div; drand48; drand48_r;
+
+    # e*
+    erand48; erand48_r; exit;
+
+    # g*
+    getenv; getsubopt;
+
+    # i*
+    initstate; initstate_r;
+
+    # l*
+    l64a; labs; lcong48; lcong48_r; ldiv; llabs; lldiv; lrand48; lrand48_r;
+
+    # m*
+    mblen; mbrlen; mbrtowc; mbsinit; mbsnrtowcs; mbsrtowcs; mbstowcs;
+    mbtowc; mcheck; mcount; mrand48; mrand48_r;
+
+    # n*
+    nrand48; nrand48_r;
+
+    # o*
+    on_exit;
+
+    # p*
+    putenv;
+
+    # q*
+    qsort;
+
+    # r*
+    rand; rand_r; random; random_r; realpath; rpmatch;
+
+    # s*
+    seed48; seed48_r; setcontext; setenv; setstate; setstate_r; srand; srand48;
+    srand48_r; srandom; srandom_r; step; strfmon; strtod; strtof; strtol;
+    strtold; strtoll; strtoq; strtoul; strtoull; strtouq; system;
+
+    # u*
+    unsetenv;
+
+    # w*
+    wcstombs; wctomb;
+  }
+  GLIBC_2.1 {
+    # a*
+    addseverity;
+
+    # f*
+    fmtmsg;
+
+    # g*
+    getcontext;
+
+    # m*
+    makecontext;
+
+    # s*
+    strtoimax; strtoumax; swapcontext;
+  }
+}
diff --git a/streams/Versions b/streams/Versions
new file mode 100644 (file)
index 0000000..9a6f4d7
--- /dev/null
@@ -0,0 +1,15 @@
+libc {
+  GLIBC_2.1 {
+    # f*
+    fattach; fdetach;
+
+    # g*
+    getmsg; getpmsg;
+
+    # i*
+    isastream;
+
+    # p*
+    putmsg; putpmsg;
+  }
+}
diff --git a/string/Versions b/string/Versions
new file mode 100644 (file)
index 0000000..9774139
--- /dev/null
@@ -0,0 +1,53 @@
+libc {
+  GLIBC_2.0 {
+    # functions with required interface outside normal name space
+    __argz_count; __argz_stringify; __argz_next;
+
+    # functions used in inline functions or macros
+    __bzero; __strtok_r;
+
+    # functions used in other libraries
+    __stpncpy; __stpcpy; __strdup; __mempcpy; __strcasecmp; __strerror_r;
+    __ffs;
+
+    # a*
+    argz_add; argz_add_sep; argz_append; argz_count; argz_create;
+    argz_create_sep; argz_delete; argz_extract; argz_insert; argz_next;
+    argz_replace; argz_stringify;
+
+    # b*
+    basename; bcmp; bcopy; bzero;
+
+    # e*
+    envz_add; envz_entry; envz_get; envz_merge; envz_remove;
+    envz_strip;
+
+    # f*
+    ffs;
+
+    # i*
+    index;
+
+    # m*
+    memccpy; memchr; memcmp; memcpy; memfrob; memmem; memmove; memset;
+
+    # r*
+    rindex;
+
+    # s*
+    stpcpy; stpncpy; strcasecmp; strcat; strchr; strcmp; strcoll; strcpy;
+    strcspn; strdup; strerror; strerror_r; strfry; strlen; strncasecmp;
+    strncat; strncmp; strncpy; strndup; strnlen; strpbrk; strrchr; strsep;
+    strsignal; strspn; strstr; strtok; strtok_r; strxfrm; swab;
+  }
+  GLIBC_2.1 {
+    # functions used in other libraries
+    __strcasestr;
+
+    # m*
+    mempcpy;
+
+    # s*
+    strcasestr; strverscmp;
+  }
+}
diff --git a/sunrpc/Versions b/sunrpc/Versions
new file mode 100644 (file)
index 0000000..d956486
--- /dev/null
@@ -0,0 +1,99 @@
+libc {
+  GLIBC_2.0 {
+    # global variables.
+    _null_auth;
+
+    # functions used in other libraries
+    _rpc_dtablesize; _seterr_reply;
+
+    # variables in normal name space
+    rpc_createerr; svc_fdset; svcauthdes_stats;
+
+    # a*
+    authnone_create; authunix_create; authunix_create_default;
+
+    # b*
+    bindresvport;
+
+    # c*
+    callrpc;
+    clnt_broadcast; clnt_create; clnt_pcreateerror; clnt_perrno;
+    clnt_perror; clnt_spcreateerror; clnt_sperrno; clnt_sperror;
+    clntraw_create; clnttcp_create; clntudp_bufcreate; clntudp_create;
+
+    # g*
+    get_myaddress; getpublickey; getsecretkey;
+
+    # p*
+    pmap_getmaps; pmap_getport; pmap_rmtcall; pmap_set; pmap_unset;
+
+    # r*
+    registerrpc;
+
+    # s*
+    svc_exit; svc_getreq; svc_getreqset; svc_register; svc_run;
+    svc_sendreply; svc_unregister; svcerr_auth; svcerr_decode;
+    svcerr_noproc; svcerr_noprog; svcerr_progvers; svcerr_systemerr;
+    svcerr_weakauth; svcfd_create; svcraw_create; svctcp_create;
+    svcudp_bufcreate; svcudp_create; svcudp_enablecache;
+
+    # x*
+    xdr_accepted_reply; xdr_array; xdr_authunix_parms; xdr_bool; xdr_bytes;
+    xdr_callhdr; xdr_callmsg; xdr_char; xdr_cryptkeyarg; xdr_cryptkeyarg2;
+    xdr_cryptkeyres; xdr_des_block; xdr_double; xdr_enum; xdr_float;
+    xdr_free; xdr_int; xdr_key_netstarg; xdr_key_netstres; xdr_keybuf;
+    xdr_keystatus; xdr_long; xdr_netobj; xdr_opaque; xdr_opaque_auth;
+    xdr_pmap; xdr_pmaplist; xdr_pointer; xdr_reference; xdr_rejected_reply;
+    xdr_replymsg; xdr_rmtcall_args; xdr_rmtcallres; xdr_short; xdr_string;
+    xdr_u_char; xdr_u_int; xdr_u_long; xdr_u_short; xdr_union; xdr_vector;
+    xdr_void; xdr_wrapstring; xdrmem_create; xdrrec_create;
+    xdrrec_endofrecord; xdrrec_eof; xdrrec_skiprecord; xdrstdio_create;
+    xencrypt; xprt_register; xprt_unregister;
+  }
+  GLIBC_2.1 {
+    # Special Pointer to avoid keyserv deadlock
+    __key_decryptsession_pk_LOCAL; __key_encryptsession_pk_LOCAL;
+    __key_gendes_LOCAL;
+
+    # a*
+    authdes_create; authdes_getucred; authdes_pk_create;
+
+    # c*
+    cbc_crypt;
+
+    # d*
+    des_setparity;
+
+    # e*
+    ecb_crypt;
+
+    # g*
+    getnetname;
+
+    # h*
+    host2netname;
+
+    # k*
+    key_decryptsession; key_decryptsession_pk; key_encryptsession;
+    key_encryptsession_pk; key_gendes; key_get_conv; key_secretkey_is_set;
+    key_setnet; key_setsecret;
+
+    # n*
+    netname2host; netname2user;
+
+    # p*
+    passwd2des;
+
+    # r*
+    rtime;
+
+    # u*
+    user2netname;
+
+    # x*
+    xdecrypt; xdr_authdes_cred; xdr_authdes_verf;
+    xdr_cryptkeyarg; xdr_cryptkeyarg2; xdr_cryptkeyres; xdr_des_block;
+    xdr_getcredres; xdr_key_netstarg; xdr_key_netstres;
+    xdr_keybuf; xdr_keystatus; xdr_netnamestr; xdr_sizeof; xdr_unixcred;
+  }
+}
diff --git a/sysdeps/alpha/Versions b/sysdeps/alpha/Versions
new file mode 100644 (file)
index 0000000..c7c1f04
--- /dev/null
@@ -0,0 +1,7 @@
+libc {
+  GLIBC_2.0 {
+    # functions with special/multiple interfaces
+    __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
+    __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
+  }
+}
diff --git a/sysdeps/alpha/fpu/Versions b/sysdeps/alpha/fpu/Versions
new file mode 100644 (file)
index 0000000..fa3d810
--- /dev/null
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.0 {
+    # functions used in other libraries
+    __ieee_get_fp_control; __ieee_set_fp_control;
+  }
+}
diff --git a/sysdeps/i386/Versions b/sysdeps/i386/Versions
new file mode 100644 (file)
index 0000000..e5caa55
--- /dev/null
@@ -0,0 +1,6 @@
+libc {
+  GLIBC_2.1 {
+    # global variable
+    _fp_hw;
+  }
+}
diff --git a/sysdeps/sparc/Versions b/sysdeps/sparc/Versions
new file mode 100644 (file)
index 0000000..aa36082
--- /dev/null
@@ -0,0 +1,5 @@
+libc {
+  GLIBC_2.0 {
+    .div; .mul; .rem; .udiv; .umul; .urem;
+  }
+}
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
new file mode 100644 (file)
index 0000000..ad49040
--- /dev/null
@@ -0,0 +1,49 @@
+libc {
+  GLIBC_2.0 {
+    # Unfortunately in wider use.
+    _inb; _inw; _inl; _outb; _outw; _outl; _bus_base; _bus_base_sparse;
+    _hae_shift;
+
+    # b*
+    bus_base; bus_base_sparse;
+
+    # h*
+    hae_shift;
+
+    # i*
+    inb; inl; inw; ioperm; iopl;
+
+    # o*
+    outb; outl; outw;
+
+    # p*
+    pciconfig_read; pciconfig_write; sethae;
+  }
+  GLIBC_2.1 {
+    # Linux/Alpha 64-bit timeval functions.
+    __select; select;
+    adjtime; adjtimex; __adjtimex;
+    __gettimeofday;
+
+    # glob interface change
+    glob; globfree;
+
+    # limit type change
+    getrusage;
+
+    # time type change
+    gettimeofday;
+
+    # i*
+    ieee_get_fp_control; ieee_set_fp_control;
+
+    # s*
+    setitimer; settimeofday;
+
+    # u*
+    utimes;
+
+    # w*
+    wait4;
+  }
+}
diff --git a/sysdeps/unix/sysv/linux/i386/Versions b/sysdeps/unix/sysv/linux/i386/Versions
new file mode 100644 (file)
index 0000000..1ec868a
--- /dev/null
@@ -0,0 +1,7 @@
+libc {
+  GLIBC_2.0 {
+    ioperm; iopl;
+
+    vm86;
+  }
+}
diff --git a/sysdeps/unix/sysv/linux/mips/Versions b/sysdeps/unix/sysv/linux/mips/Versions
new file mode 100644 (file)
index 0000000..11614a4
--- /dev/null
@@ -0,0 +1,9 @@
+libc {
+  GLIBC_2.0 {
+    # c*
+    cachectl; cacheflush;
+
+    # s*
+    sysmips;
+  }
+}