This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] GLIBC_PRIVATE


Hi!

The following patch moves internal glibc symbols to GLIBC_PRIVATE symbol
version. Glibc bootstrap is still running, I'm posting this just to hear
feedback if you find any symbols which aren't actually private but are
marked so, or if you come up with symbols which aren't marked as private by
this patch although they are.
Symbols which are questionable (and not marked private in this patch):
__libc_allocate_rtsig
__libc_calloc
__libc_free
__libc_freeres
__libc_init_first
__libc_mallinfo
__libc_malloc
__libc_mallopt
__libc_memalign
__libc_pvalloc
__libc_realloc
__libc_sa_len
__libc_valloc
__free_fdresult
__nis_default_access
__nis_default_group
__nis_default_owner
__nis_default_ttl
__nis_finddirectory
__nis_hash
__nisbind_connect
__nisbind_create
__nisbind_destroy
__nisbind_next
__nss_database_lookup
__nss_group_lookup
__nss_hostname_digits_dots
__nss_hosts_lookup
__nss_next
__nss_passwd_lookup
_dl_mcount_wrapper
_nl_default_dirname
_nl_domain_bindings
_nl_msg_cat_cntr

Symbols which are questionable but I've marked them private in the patch:
_dl_debug_initialize
_dl_debug_state

2002-01-31  Jakub Jelinek  <jakub@redhat.com>

	* Versions.def (libc): Add GLIBC_PRIVATE.
	(libdb, libnss_db, libdb1): Remove.
	(libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis,
	libnss_nisplus): Move all symbols to GLIBC_PRIVATE.
	(libpthread, libresolv): Add GLIBC_PRIVATE.
	(ld): Rename GLIBC_2.3 to GLIBC_PRIVATE.
	* catgets/Verions (__open_catalog): Move to GLIBC_PRIVATE.
	* elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first,
	_dl_sym, _dl_vsym): Likewise.
	(__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error,
	_dl_check_all_versions, _dl_check_map_versions, _dl_debug_fd,
	_dl_debug_initialize, _dl_debug_printf, _dl_debug_state,
	_dl_dst_count, _dl_dst_substitute, _dl_fpu_control, _dl_init,
	_dl_lazy, _dl_load_lock, _dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip,
	_dl_map_object, _dl_map_object_deps, _dl_out_of_memory,
	_dl_relocate_object, _dl_signal_error, _dl_start_profile,
	_dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global):
	Likewise.
	(_dl_object_relocation_scope): Remove.
	* hesiod/Versions: Move all symbols to GLIBC_PRIVATE.
	* iconv/Versions (__gconv_alias_db, __gconv_modules_db,
	__gconv_cache): Move to GLIBC_PRIVATE.
	* inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r,
	__internal_setnetgrent): Likewise.
	* io/Versions (__libc_open, __libc_close, __libc_read, __libc_write,
	__libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise.
	* locale/Versions (__collate_element_hash, __collate_element_strings,
	__collate_symbol_classes, __collate_symbol_hash,
	__collate_symbol_strings, _nl_current_LC_COLLATE,
	_nl_current_LC_CTYPE): Likewise.
	* misc/Verions (__libc_fsync, __libc_msync): Likewise.
	* nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE.
	(libnss_nis, libnss_nisplus): Likewise.
	* nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent,
	_nss_files_parse_spent): Move to GLIBC_PRIVATE.
	(libnss_files): Move all symbols to GLIBC_PRIVATE.
	* posix/Versions (__libc_wait, __libc_waitpid, __libc_pause,
	__libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64,
	__libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE.
	* resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop,
	__ns_get16, __ns_samename): Likewise.
	(libnss_dns): Move all symbols to GLIBC_PRIVATE.
	* setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to
	GLIBC_PRIVATE.
	* socket/Versions (__libc_accept, __libc_send, __libc_recvfrom,
	__libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto,
	__libc_connect): Likewise.
	* stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits):
	Likewise.
	* stdlib/Versions (__libc_system): Likewise.
	* sunrpc/Versions (__rpc_thread_destroy): Likewise.
	* sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/i386/i686/Versions: Likewise.
	* sysdeps/ia64/fpu/Versions: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/sparc/Versions: Likewise.
	* sysdeps/x86_64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move
	to GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise.
	* sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo,
	__libc_sigaction): Likewise.
	* termios/Versions (__libc_tcdrain): Likewise.

	* misc/sys/cdefs (__attribute_noinline__): Define.
	* elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add
	__attribute_noinline__.

linuxthreads/
	* Versions (__libc_internal_tsd_get, __libc_internal_tsd_set,
	__pthread_kill_other_threads_np): Move to GLIBC_PRIVATE.
	* sysdeps/i386/i586/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/i386/i686/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/sparc/sparc32/sparcv9/Versions: New.
	* sysdeps/sparc/sparc64/Versions: New.
	* sysdeps/ia64/Versions: Move all symbols to GLIBC_PRIVATE.

--- libc/catgets/Versions.jj	Fri Jul  3 00:31:04 1998
+++ libc/catgets/Versions	Thu Jan 31 14:55:33 2002
@@ -1,9 +1,10 @@
 libc {
   GLIBC_2.0 {
-    # functions with required interface outside normal name space
-    __open_catalog;
-
     # c*
     catclose; catgets; catopen;
   }
+  GLIBC_PRIVATE {
+    # functions with required interface outside normal name space
+    __open_catalog;
+  }
 }
--- libc/elf/Versions.jj	Thu Jan 31 11:40:29 2002
+++ libc/elf/Versions	Thu Jan 31 16:48:33 2002
@@ -1,7 +1,5 @@
 libc {
   GLIBC_2.0 {
-    # functions used in other libraries
-    _dl_open; _dl_close; _dl_addr;
 %ifdef EXPORT_UNWIND_FIND_FDE
     __register_frame_info; __deregister_frame_info;
 %endif
@@ -10,13 +8,6 @@ libc {
     # functions used in other libraries
     _dl_mcount_wrapper; _dl_mcount_wrapper_check;
   }
-  GLIBC_2.2 {
-    # this is defined in ld.so and overridden by libc
-    _dl_init_first;
-
-    # functions used in other libraries
-    _dl_sym; _dl_vsym;
-  }
   GLIBC_2.2.4 {
     dl_iterate_phdr;
   }
@@ -26,50 +17,35 @@ libc {
     __register_frame_info_table_bases; _Unwind_Find_FDE;
   }
 %endif
+  GLIBC_PRIVATE {
+    # functions used in other libraries
+    _dl_open; _dl_close; _dl_addr;
+    _dl_sym; _dl_vsym; _dl_init_first;
+  }
 }
 
 ld {
   GLIBC_2.0 {
-    # global variables
-    _dl_debug_fd;
-
-    # 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_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_lookup_symbol_skip;
-    _dl_lookup_versioned_symbol; _dl_lookup_versioned_symbol_skip;
-
     # Function from libc.so which must be shared with libc.
     calloc; free; malloc; realloc;
-  }
-  GLIBC_2.1 {
-    # global variables
-    _dl_fpu_control; __libc_stack_end;
 
-    # functions used in other libraries
-    _dl_start_profile; _dl_mcount; _dl_unload_cache;
+    _r_debug;
   }
-  GLIBC_2.1.1 {
-    # global variables
-    _dl_lazy;
-
+  GLIBC_2.1 {
     # functions used in other libraries
-    _dl_dst_count; _dl_dst_substitute;
-  }
-  GLIBC_2.2 {
-    _dl_init; _dl_load_lock; _dl_argv; _dl_check_map_versions;
-
-    # variables used elsewhere
-    _dl_out_of_memory;
+    _dl_mcount;
   }
-  GLIBC_2.2.3 {
-    _dl_debug_printf;
-  }
-  GLIBC_2.3 {
-    _rtld_global;
+  GLIBC_PRIVATE {
+    # Those are in the dynamic linker, but used by libc.so.
+    __libc_enable_secure; __libc_stack_end;
+    _dl_argv; _dl_catch_error; _dl_check_all_versions;
+    _dl_check_map_versions; _dl_debug_fd; _dl_debug_initialize;
+    _dl_debug_printf; _dl_debug_state; _dl_dst_count; _dl_dst_substitute;
+    _dl_fpu_control; _dl_init; _dl_lazy; _dl_load_lock; _dl_lookup_symbol;
+    _dl_lookup_symbol_skip; _dl_lookup_versioned_symbol;
+    _dl_lookup_versioned_symbol_skip; _dl_map_object; _dl_map_object_deps;
+    _dl_out_of_memory; _dl_relocate_object; _dl_signal_error;
+    _dl_start_profile; _dl_starting_up; _dl_sysdep_start; _dl_unload_cache; 
+    _rtld_global; 
   }
 }
--- libc/elf/dl-lookup.c.jj	Thu Jan 31 11:40:29 2002
+++ libc/elf/dl-lookup.c	Thu Jan 31 15:51:08 2002
@@ -661,7 +661,7 @@ _dl_debug_bindings (const char *undef_na
 
 /* These are here so that we only inline do_lookup{,_versioned} in the common
    case, not everywhere.  */
-static int
+static int __attribute_noinline__
 internal_function
 _dl_do_lookup (const char *undef_name, unsigned long int hash,
 	       const ElfW(Sym) *ref, struct sym_val *result,
@@ -672,7 +672,7 @@ _dl_do_lookup (const char *undef_name, u
 		    type_class);
 }
 
-static int
+static int __attribute_noinline__
 internal_function
 _dl_do_lookup_versioned (const char *undef_name, unsigned long int hash,
 			 const ElfW(Sym) *ref, struct sym_val *result,
--- libc/hesiod/Versions.jj	Thu Jul 27 15:58:10 2000
+++ libc/hesiod/Versions	Thu Jan 31 16:25:57 2002
@@ -1,13 +1,11 @@
 libnss_hesiod {
-  GLIBC_2.1 {
+  GLIBC_PRIVATE {
     _nss_hesiod_setpwent; _nss_hesiod_endpwent;
     _nss_hesiod_getpwnam_r; _nss_hesiod_getpwuid_r;
     _nss_hesiod_setgrent; _nss_hesiod_endgrent;
     _nss_hesiod_getgrnam_r; _nss_hesiod_getgrgid_r;
     _nss_hesiod_setservent; _nss_hesiod_endservent;
     _nss_hesiod_getservbyname_r;
-  }
-  GLIBC_2.2 {
     _nss_hesiod_initgroups_dyn;
     _nss_hesiod_getservbyport_r;
     _nss_hesiod_setprotoent; _nss_hesiod_endprotoent;
--- libc/iconv/Versions.jj	Wed Sep 12 09:56:44 2001
+++ libc/iconv/Versions	Thu Jan 31 12:57:17 2002
@@ -1,13 +1,10 @@
 libc {
   GLIBC_2.1 {
-    # global variables
-    __gconv_alias_db; __gconv_modules_db;
-
     # i*
     iconv_open; iconv; iconv_close;
   }
-  GLIBC_2.2.5 {
-    # variable shared with iconv program
-    __gconv_cache;
+  GLIBC_PRIVATE {
+    # variables shared with iconv program
+    __gconv_alias_db; __gconv_modules_db; __gconv_cache;
   }
 }
--- libc/inet/Versions.jj	Wed Aug  2 21:36:17 2000
+++ libc/inet/Versions	Thu Jan 31 12:59:03 2002
@@ -3,10 +3,6 @@ libc {
     # 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;
 
@@ -68,4 +64,9 @@ libc {
     # r*
     rcmd_af; rexec_af; rresvport_af; ruserok_af;
   }
+  GLIBC_PRIVATE {
+    # functions used in other libraries
+    __internal_endnetgrent; __internal_getnetgrent_r;
+    __internal_setnetgrent;
+  }
 }
--- libc/io/Versions.jj	Mon Nov 13 23:01:21 2000
+++ libc/io/Versions	Thu Jan 31 16:50:37 2002
@@ -1,10 +1,5 @@
 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;
@@ -83,14 +78,16 @@ libc {
     # s*
     statfs64; statvfs; statvfs64;
   }
-  GLIBC_2.1.3 {
-    # For the cancelation wrappers.
-    __libc_open64; __libc_lseek64;
-  }
   GLIBC_2.2 {
     # p*
     posix_fadvise; posix_fadvise64; posix_fallocate; posix_fallocate64;
 
     __open64;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # cancelable.
+    __libc_open; __libc_close; __libc_read; __libc_write;
+    __libc_lseek; __libc_fcntl; __libc_open64; __libc_lseek64;
+  }
 }
--- libc/linuxthreads/sysdeps/i386/i686/Versions.jj	Thu Nov 15 23:10:54 2001
+++ libc/linuxthreads/sysdeps/i386/i686/Versions	Thu Jan 31 14:56:17 2002
@@ -1,5 +1,5 @@
 libpthread {
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     __pthread_clock_gettime; __pthread_clock_settime;
   }
 }
--- libc/linuxthreads/sysdeps/i386/i586/Versions.jj	Sat Apr 21 09:52:39 2001
+++ libc/linuxthreads/sysdeps/i386/i586/Versions	Thu Jan 31 14:56:07 2002
@@ -1,5 +1,5 @@
 libpthread {
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     __pthread_clock_gettime; __pthread_clock_settime;
   }
 }
--- libc/linuxthreads/sysdeps/sparc/sparc32/sparcv9/Versions.jj	Thu Jan 31 14:59:42 2002
+++ libc/linuxthreads/sysdeps/sparc/sparc32/sparcv9/Versions	Thu Jan 31 14:56:07 2002
@@ -0,0 +1,5 @@
+libpthread {
+  GLIBC_PRIVATE {
+    __pthread_clock_gettime; __pthread_clock_settime;
+  }
+}
--- libc/linuxthreads/sysdeps/sparc/sparc64/Versions.jj	Thu Jan 31 14:59:54 2002
+++ libc/linuxthreads/sysdeps/sparc/sparc64/Versions	Thu Jan 31 14:59:54 2002
@@ -0,0 +1,5 @@
+libpthread {
+  GLIBC_PRIVATE {
+    __pthread_clock_gettime; __pthread_clock_settime;
+  }
+}
--- libc/linuxthreads/sysdeps/ia64/Versions.jj	Tue Apr 24 06:43:34 2001
+++ libc/linuxthreads/sysdeps/ia64/Versions	Thu Jan 31 14:56:41 2002
@@ -1,5 +1,5 @@
 libpthread {
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     __pthread_clock_gettime; __pthread_clock_settime;
   }
 }
--- libc/linuxthreads/Versions.jj	Fri Mar 16 09:48:44 2001
+++ libc/linuxthreads/Versions	Thu Jan 31 15:02:04 2002
@@ -13,17 +13,18 @@ libc {
     pthread_mutexattr_getkind_np; pthread_mutexattr_setkind_np;
     pthread_self; pthread_setcancelstate; pthread_setcanceltype;
     pthread_setschedparam;
-
-    # Internal libc interface to libpthread
-    __libc_internal_tsd_get; __libc_internal_tsd_set;
   }
   GLIBC_2.1 {
     pthread_attr_init;
   }
+  GLIBC_PRIVATE {
+    # Internal libc interface to libpthread
+    __libc_internal_tsd_get; __libc_internal_tsd_set;
+  }
 }
 
 ld {
-  GLIBC_2.0 {
+  GLIBC_PRIVATE {
     # Internal libc interface to libpthread
     __libc_internal_tsd_get; __libc_internal_tsd_set;
   }
@@ -35,9 +36,6 @@ libpthread {
     _pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push;
     _pthread_cleanup_push_defer;
 
-    # Internal libc interface to libpthread
-    __libc_internal_tsd_get; __libc_internal_tsd_set;
-
     # Overwritten libc functions.
     accept; close; connect; fcntl; fork; fsync; longjmp; lseek; msync;
     nanosleep; open; pause; raise; read; recv; recvfrom; recvmsg; send;
@@ -118,7 +116,6 @@ libpthread {
     sem_close; sem_open; sem_unlink;
   }
   GLIBC_2.1.2 {
-    __pthread_kill_other_threads_np;
     __vfork;
   }
   GLIBC_2.2 {
@@ -156,4 +153,9 @@ libpthread {
     # Extensions.
     pthread_getattr_np;
   }
+  GLIBC_PRIVATE {
+    # Internal libc interface to libpthread
+    __libc_internal_tsd_get; __libc_internal_tsd_set;
+    __pthread_kill_other_threads_np;
+  }
 }
--- libc/locale/Versions.jj	Tue Sep 26 09:22:43 2000
+++ libc/locale/Versions	Thu Jan 31 12:49:54 2002
@@ -7,9 +7,7 @@ libBrokenLocale {
 libc {
   GLIBC_2.0 {
     # global variables
-    __collate_element_hash; __collate_element_strings;
-    __collate_symbol_classes; __collate_symbol_hash; __collate_symbol_strings;
-    _libc_intl_domainname; _nl_current_LC_COLLATE; _nl_current_LC_CTYPE;
+    _libc_intl_domainname;
 
     # functions used in inline functions or macros
     __ctype_get_mb_cur_max;
@@ -48,4 +46,10 @@ libc {
     # missing function from the experimental locale implementation
     __nl_langinfo_l;
   }
+  GLIBC_PRIVATE {
+    # global variables
+    __collate_element_hash; __collate_element_strings;
+    __collate_symbol_classes; __collate_symbol_hash; __collate_symbol_strings;
+    _nl_current_LC_COLLATE; _nl_current_LC_CTYPE;
+  }
 }
--- libc/misc/sys/cdefs.h.jj	Wed Nov 21 13:32:30 2001
+++ libc/misc/sys/cdefs.h	Thu Jan 31 15:50:24 2002
@@ -165,8 +165,10 @@
    (although this would be possible) since it generates warnings.  */
 #if __GNUC_PREREQ (3,1)
 # define __attribute_used__ __attribute__ ((__used__))
+# define __attribute_noinline__ __attribute__ ((__noinline__))
 #else
 # define __attribute_used__ __attribute__ ((__unused__))
+# define __attribute_noinline__ /* Ignore */
 #endif
 
 /* At some point during the gcc 2.8 development the `format_arg' attribute
--- libc/misc/Versions.jj	Fri Sep 29 12:56:59 2000
+++ libc/misc/Versions	Thu Jan 31 16:51:47 2002
@@ -3,10 +3,6 @@ libc {
     # 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;
 
@@ -112,4 +108,9 @@ libc {
     # p*
     posix_madvise;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # cancelable.
+    __libc_fsync; __libc_msync;
+  }
 }
--- libc/nis/Versions.jj	Wed Aug  2 21:36:30 2000
+++ libc/nis/Versions	Thu Jan 31 16:26:54 2002
@@ -60,20 +60,18 @@ libnsl {
 }
 
 libnss_compat {
-  GLIBC_2.0 {
+  GLIBC_PRIVATE {
     _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_setgrent; _nss_compat_setpwent; _nss_compat_setspent;
-  }
-  GLIBC_2.2 {
     _nss_compat_initgroups_dyn;
   }
 }
 
 libnss_nis {
-  GLIBC_2.0 {
+  GLIBC_PRIVATE {
     _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;
@@ -93,14 +91,12 @@ libnss_nis {
     _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;
-  }
-  GLIBC_2.2 {
     _nss_nis_initgroups_dyn;
   }
 }
 
 libnss_nisplus {
-  GLIBC_2.1 {
+  GLIBC_PRIVATE {
     _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;
--- libc/nss/Versions.jj	Wed Jan 31 16:35:04 2001
+++ libc/nss/Versions	Thu Jan 31 16:29:17 2002
@@ -2,16 +2,18 @@ libc {
   GLIBC_2.0 {
      # functions used in other libraries
     __nss_passwd_lookup; __nss_group_lookup; __nss_hosts_lookup; __nss_next;
-    _nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
     __nss_database_lookup; __nss_configure_lookup;
   }
   GLIBC_2.2.2 {
     __nss_hostname_digits_dots;
   }
+  GLIBC_PRIVATE {
+    _nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
+  }
 }
 
 libnss_files {
-  GLIBC_2.0 {
+  GLIBC_PRIVATE {
     _nss_files_setaliasent;
     _nss_files_endaliasent;
     _nss_files_getaliasbyname_r;
@@ -81,8 +83,6 @@ libnss_files {
     _nss_files_getspnam_r;
 
     _nss_netgroup_parseline;
-  }
-  GLIBC_2.1 {
     _nss_files_getpublickey;
     _nss_files_getsecretkey;
   }
--- libc/posix/Versions.jj	Fri Mar 16 10:01:23 2001
+++ libc/posix/Versions	Thu Jan 31 13:27:03 2002
@@ -3,10 +3,6 @@ libc {
     # 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;
 
@@ -86,11 +82,7 @@ libc {
   }
   GLIBC_2.1.2 {
     # functions used in other libraries
-    __libc_fork; __vfork;
-  }
-  GLIBC_2.1.3 {
-    # For the cancelation wrappers.
-    __libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64;
+    __vfork;
   }
   GLIBC_2.2 {
     # p*
@@ -113,4 +105,10 @@ libc {
     # Extended Interface.
     fnmatch;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep; __libc_fork;
+    __libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64;
+  }
 }
--- libc/resolv/Versions.jj	Mon Mar  5 11:58:07 2001
+++ libc/resolv/Versions	Thu Jan 31 16:29:40 2002
@@ -22,7 +22,7 @@ libc {
     # r*
     __res_state; __res_init; __res_nclose; __res_ninit; _res_hconf;
   }
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     __gai_sigqueue;
   }
 }
@@ -49,21 +49,21 @@ libresolv {
     __res_send;
     __sym_ntop; __sym_ntos; __sym_ston;
   }
-  GLIBC_2.1 {
-    # Needed in libnss_dns.
-    __ns_name_unpack; __ns_name_ntop;
-  }
   GLIBC_2.2 {
     __dn_expand;
-    __ns_get16; __ns_samename;
     __res_hostalias; __res_mkquery; __res_nmkquery; __res_nquery;
     __res_nquerydomain; __res_nsearch; __res_nsend; __res_query;
     __res_querydomain; __res_search;
   }
+  GLIBC_PRIVATE {
+    # Needed in libnss_dns.
+    __ns_name_unpack; __ns_name_ntop;
+    __ns_get16; __ns_samename;
+  }
 }
 
 libnss_dns {
-  GLIBC_2.0 {
+  GLIBC_PRIVATE {
     _nss_dns_gethostbyaddr_r; _nss_dns_gethostbyname2_r;
     _nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
     _nss_dns_getnetbyname_r;
--- libc/setjmp/Versions.jj	Fri Jul  3 00:32:40 1998
+++ libc/setjmp/Versions	Thu Jan 31 13:35:17 2002
@@ -9,7 +9,7 @@ libc {
     # s*
     setjmp;
   }
-  GLIBC_2.1 {
+  GLIBC_PRIVATE {
     # helper functions
     __libc_longjmp; __libc_siglongjmp;
   }
--- libc/socket/Versions.jj	Mon Jun 25 10:34:46 2001
+++ libc/socket/Versions	Thu Jan 31 16:54:01 2002
@@ -1,10 +1,5 @@
 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;
 
@@ -36,4 +31,10 @@ libc {
     # Addition from P1003.1-200x
     sockatmark;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # cancelable.
+    __libc_accept; __libc_send; __libc_recvfrom;
+    __libc_recvmsg; __libc_sendmsg; __libc_recv; __libc_sendto; __libc_connect;
+  }
 }
--- libc/stdio-common/Versions.jj	Sat Aug  8 21:48:39 1998
+++ libc/stdio-common/Versions	Thu Jan 31 16:54:26 2002
@@ -1,8 +1,7 @@
 libc {
   GLIBC_2.0 {
     # global variables
-    _itoa_lower_digits; _itoa_upper_digits; _sys_errlist; _sys_nerr;
-    _sys_siglist;
+    _sys_errlist; _sys_nerr; _sys_siglist;
 
     # functions used in other libraries
     __printf_fp; __vfscanf;
@@ -47,4 +46,7 @@ libc {
     # t*
     tmpfile; tmpfile64;
   }
+  GLIBC_PRIVATE {
+    # global variables
+    _itoa_lower_digits; _itoa_upper_digits;
 }
--- libc/stdlib/Versions.jj	Mon Mar 12 10:55:45 2001
+++ libc/stdlib/Versions	Thu Jan 31 13:44:34 2002
@@ -1,9 +1,5 @@
 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;
 
@@ -94,4 +90,9 @@ libc {
     # used by new G++ ABI
     __cxa_atexit; __cxa_finalize;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_system;
+  }
 }
--- libc/sunrpc/Versions.jj	Mon Mar 26 10:02:25 2001
+++ libc/sunrpc/Versions	Thu Jan 31 15:03:14 2002
@@ -110,7 +110,11 @@ libc {
     svc_getreq_common; svc_getreq_poll; svc_max_pollfd; svc_pollfd;
   }
   GLIBC_2.2.3 {
-    __rpc_thread_destroy; __rpc_thread_svc_fdset; __rpc_thread_createerr;
+    __rpc_thread_svc_fdset; __rpc_thread_createerr;
     __rpc_thread_svc_pollfd; __rpc_thread_svc_max_pollfd;
   }
+  GLIBC_PRIVATE {
+    # needed by libpthread.
+    __rpc_thread_destroy;
+  }
 }
--- libc/sysdeps/hppa/Versions.jj	Wed Apr 25 12:39:50 2001
+++ libc/sysdeps/hppa/Versions	Thu Jan 31 15:41:17 2002
@@ -1,5 +1,5 @@
 ld {
-  GLIBC_2.2 {
+  GLIBC_PRIVATE {
     # hppa specific functions in the dynamic linker, but used by libc.so.
     _dl_symbol_address; _dl_unmap; _dl_lookup_address;
     _dl_function_address;
--- libc/sysdeps/i386/i686/Versions.jj	Mon Apr 23 20:52:23 2001
+++ libc/sysdeps/i386/i686/Versions	Thu Jan 31 15:26:02 2002
@@ -1,5 +1,5 @@
 ld {
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     _dl_cpuclock_offset;
   }
 }
--- libc/sysdeps/ia64/fpu/Versions.jj	Mon Feb 19 09:40:36 2001
+++ libc/sysdeps/ia64/fpu/Versions	Thu Jan 31 13:49:58 2002
@@ -1,5 +1,5 @@
 libc {
-  GLIBC_2.2.3 {
+  GLIBC_PRIVATE {
     __libm_frexp_4; __libm_frexp_4f; __libm_frexp_4l; __libm_error_support;
   }
 }
--- libc/sysdeps/ia64/Versions.jj	Wed Jan 30 23:04:26 2002
+++ libc/sysdeps/ia64/Versions	Thu Jan 31 15:26:37 2002
@@ -1,10 +1,9 @@
 ld {
-  GLIBC_2.2 {
+  GLIBC_PRIVATE {
+    _dl_cpuclock_offset;
+
     # ia64 specific functions in the dynamic linker, but used by libc.so.
     _dl_symbol_address; _dl_unmap; _dl_lookup_address;
     _dl_function_address;
   }
-  GLIBC_2.2.3 {
-    _dl_cpuclock_offset;
-  }
 }
--- libc/sysdeps/sparc/Versions.jj	Mon Apr 23 20:59:46 2001
+++ libc/sysdeps/sparc/Versions	Thu Jan 31 15:27:57 2002
@@ -1,6 +1,5 @@
 ld {
-  GLIBC_2.2.3 {
-    # If this symbol is ever available on SPARC it was introduced in 2.2.3.
+  GLIBC_PRIVATE {
     _dl_cpuclock_offset;
   }
 }
--- libc/sysdeps/unix/sysv/linux/ia64/Versions.jj	Wed Jan 31 16:35:23 2001
+++ libc/sysdeps/unix/sysv/linux/ia64/Versions	Thu Jan 31 16:08:53 2002
@@ -1,9 +1,5 @@
 ld {
-  GLIBC_2.2 {
-    # global variables needed in the libc.
-    _dl_pagesize;
-  }
-  GLIBC_2.2.1 {
+  GLIBC_PRIVATE {
     _dl_var_init;
   }
 }
--- libc/sysdeps/unix/sysv/linux/i386/Versions.jj	Wed Nov 21 13:32:59 2001
+++ libc/sysdeps/unix/sysv/linux/i386/Versions	Thu Jan 31 13:51:38 2002
@@ -9,7 +9,7 @@ libc {
     vm86;
   }
   GLIBC_2.1 {
-    __modify_ldt; modify_ldt;
+    modify_ldt;
   }
   GLIBC_2.2 {
     # functions used in other libraries
@@ -33,4 +33,7 @@ libc {
     # v*
     versionsort64;
   }
+  GLIBC_PRIVATE {
+    __modify_ldt;
+  }
 }
--- libc/sysdeps/unix/sysv/linux/x86_64/Versions.jj	Mon Dec 10 19:19:21 2001
+++ libc/sysdeps/unix/sysv/linux/x86_64/Versions	Thu Jan 31 13:52:00 2002
@@ -4,6 +4,9 @@ libc {
 
     ioperm; iopl;
 
-    __modify_ldt; modify_ldt;
+    modify_ldt;
+  }
+  GLIBC_PRIVATE {
+    __modify_ldt;
   }
 }
--- libc/sysdeps/unix/sysv/linux/Versions.jj	Thu Nov 23 14:42:19 2000
+++ libc/sysdeps/unix/sysv/linux/Versions	Thu Jan 31 15:04:34 2002
@@ -55,9 +55,6 @@ libc {
     # functions used in inline functions or macros
     __libc_sa_len;
 
-    # functions used in other libraries
-    __syscall_rt_sigqueueinfo;
-
     # Since we have new signals this structure changed.
     _sys_siglist; sys_siglist; sys_sigabbrev;
 
@@ -84,8 +81,7 @@ libc {
   }
   GLIBC_2.2 {
     # needed in other libraries.
-    __endmntent; __getmntent_r; __setmntent; __statfs; __libc_sigaction;
-    __sysctl;
+    __endmntent; __getmntent_r; __setmntent; __statfs; __sysctl;
 
     # ipc ctl interface change.
     semctl; shmctl; msgctl;
@@ -94,4 +90,11 @@ libc {
     # p*
     pivot_root;
   }
+  GLIBC_PRIVATE {
+    # needed by libpthread.
+    __libc_sigaction;
+
+    # functions used in other libraries
+    __syscall_rt_sigqueueinfo;
+  }
 }
--- libc/sysdeps/x86_64/Versions.jj	Wed Sep 19 12:26:35 2001
+++ libc/sysdeps/x86_64/Versions	Thu Jan 31 15:28:14 2002
@@ -1,5 +1,5 @@
 ld {
-  GLIBC_2.2.5 {
+  GLIBC_PRIVATE {
     _dl_cpuclock_offset;
   }
 }
--- libc/termios/Versions.jj	Fri Jul  3 00:33:49 1998
+++ libc/termios/Versions	Thu Jan 31 13:45:11 2002
@@ -1,9 +1,5 @@
 libc {
   GLIBC_2.0 {
-    # functions which have an additional interface since they are
-    # are cancelable.
-    __libc_tcdrain;
-
     # c*
     cfgetispeed; cfgetospeed; cfmakeraw; cfsetispeed; cfsetospeed; cfsetspeed;
 
@@ -15,4 +11,9 @@ libc {
     # t*
     tcgetsid;
   }
+  GLIBC_PRIVATE {
+    # functions which have an additional interface since they are
+    # are cancelable.
+    __libc_tcdrain;
+  }
 }
--- libc/Versions.def.jj	Thu Jan 31 11:40:28 2002
+++ libc/Versions.def	Thu Jan 31 16:38:37 2002
@@ -20,15 +20,11 @@ libc {
 %ifdef EXPORT_UNWIND_FIND_FDE
   GCC_3.0
 %endif
+  GLIBC_PRIVATE
 }
 libcrypt {
   GLIBC_2.0
 }
-libdb {
-  GLIBC_2.0
-  GLIBC_2.1
-  GLIBC_2.2
-}
 libdl {
   GLIBC_2.0
   GLIBC_2.1
@@ -45,27 +41,22 @@ libnsl {
   GLIBC_2.2
 }
 libnss_compat {
-  GLIBC_2.0
-}
-libnss_db {
-  GLIBC_2.0
+  GLIBC_PRIVATE
 }
 libnss_dns {
-  GLIBC_2.0
+  GLIBC_PRIVATE
 }
 libnss_files {
-  GLIBC_2.0
-  GLIBC_2.1
+  GLIBC_PRIVATE
 }
 libnss_hesiod {
-  GLIBC_2.1
-  GLIBC_2.2
+  GLIBC_PRIVATE
 }
 libnss_nis {
-  GLIBC_2.0
+  GLIBC_PRIVATE
 }
 libnss_nisplus {
-  GLIBC_2.0
+  GLIBC_PRIVATE
 }
 libpthread {
   GLIBC_2.0
@@ -74,11 +65,13 @@ libpthread {
   GLIBC_2.1.2
   GLIBC_2.2
   GLIBC_2.2.3
+  GLIBC_PRIVATE
 }
 libresolv {
   GLIBC_2.0
   GLIBC_2.1
   GLIBC_2.2
+  GLIBC_PRIVATE
 }
 librt {
   GLIBC_2.1
@@ -87,9 +80,6 @@ librt {
 libutil {
   GLIBC_2.0
 }
-libdb1 {
-  GLIBC_2.0
-}
 ld {
   GLIBC_2.0
   GLIBC_2.1
@@ -97,7 +87,7 @@ ld {
   GLIBC_2.2
   GLIBC_2.2.1
   GLIBC_2.2.3
-  GLIBC_2.3
+  GLIBC_PRIVATE
 }
 libthread_db {
   GLIBC_2.1.3

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]