+2002-02-01 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): Add GLIBC_PRIVATE.
+ (libresolv): Likewise, remove GLIBC_2.1.
+ (ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1,
+ GLIBC_2.2.3, GLIBC_2.3.
+ * catgets/Versions (__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_initialize,
+ _dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute,
+ _dl_init, _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/Versions (__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/ia64/fpu/Versions: Likewise.
+ * sysdeps/ia64/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__.
+
+ * elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64.
+ * elf/dl-xstat64.c: New file.
+ * elf/dl-fxstat64.c: New file.
+ * sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined,
+ don't export __fxstat64 at multiple versions.
+ * sysdeps/unix/sysv/linux/lxstat64.c: Similarly.
+ * sysdeps/unix/sysv/linux/xstat64.c: Similarly.
+
2002-01-18 Isamu Hasegawa <isamu@yamato.ibm.com>
* locale/program/ld-collate.c (collate_finish): Assign a wide
%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
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
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
libutil {
GLIBC_2.0
}
-libdb1 {
- GLIBC_2.0
-}
ld {
GLIBC_2.0
GLIBC_2.1
- GLIBC_2.1.1
- GLIBC_2.2
- GLIBC_2.2.1
- GLIBC_2.2.3
- GLIBC_2.3
+ GLIBC_PRIVATE
}
libthread_db {
GLIBC_2.1.3
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;
+ }
}
# ld.so uses those routines, plus some special stuff for being the program
# interpreter and operating independent of libc.
-rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
+rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal \
+ dl-xstat64 dl-fxstat64
all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines)
distribute := $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
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
# 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;
}
__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 {
- # 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
- __libc_stack_end;
- # functions used in other libraries
- _dl_start_profile; _dl_mcount; _dl_unload_cache;
+ _r_debug;
}
- GLIBC_2.1.1 {
+ GLIBC_2.1 {
# functions used in other libraries
- _dl_dst_count; _dl_dst_substitute;
+ _dl_mcount;
}
- GLIBC_2.2 {
- _dl_init; _dl_argv; _dl_check_map_versions;
-
- # variables used elsewhere
- _dl_out_of_memory;
- }
- GLIBC_2.2.3 {
- _dl_debug_printf;
- }
- GLIBC_2.3 {
+ 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_initialize; _dl_debug_printf; _dl_debug_state; _dl_dst_count;
+ _dl_dst_substitute; _dl_init; _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;
}
}
--- /dev/null
+/* Dynamic linker's private version of __fxstat64.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* This special file is needed because some fxstat64.c implementations
+ use versioning for __fxstat64 and we need to keep it local to
+ the dynamic linker. */
+
+#define RTLD_STAT64
+#include <fxstat64.c>
/* 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,
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,
--- /dev/null
+/* Dynamic linker's private version of __xstat64.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* This special file is needed because some xstat64.c implementations
+ use versioning for __xstat64 and we need to keep it local to
+ the dynamic linker. */
+
+#define RTLD_STAT64
+#include <xstat64.c>
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 {
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;
}
}
# 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;
# r*
rcmd_af; rexec_af; rresvport_af; ruserok_af;
}
+ GLIBC_PRIVATE {
+ # functions used in other libraries
+ __internal_endnetgrent; __internal_getnetgrent_r;
+ __internal_setnetgrent;
+ }
}
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;
# 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;
+ }
}
+2002-02-01 Jakub Jelinek <jakub@redhat.com>
+
+ * 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 file.
+ * sysdeps/sparc/sparc64/Versions: New file.
+ * sysdeps/ia64/Versions: Move all symbols to GLIBC_PRIVATE.
+
2002-01-31 Ulrich Drepper <drepper@redhat.com>
* pthread.c: _dl_cpuclock_offset is not any longer a global variable
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;
}
_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;
sem_close; sem_open; sem_unlink;
}
GLIBC_2.1.2 {
- __pthread_kill_other_threads_np;
__vfork;
}
GLIBC_2.2 {
# Extensions.
pthread_getattr_np;
}
+ GLIBC_PRIVATE {
+ # Internal libc interface to libpthread
+ __libc_internal_tsd_get; __libc_internal_tsd_set;
+ __pthread_kill_other_threads_np;
+ }
}
libpthread {
- GLIBC_2.2.3 {
+ GLIBC_PRIVATE {
__pthread_clock_gettime; __pthread_clock_settime;
}
}
libpthread {
- GLIBC_2.2.3 {
+ GLIBC_PRIVATE {
__pthread_clock_gettime; __pthread_clock_settime;
}
}
libpthread {
- GLIBC_2.2.3 {
+ GLIBC_PRIVATE {
__pthread_clock_gettime; __pthread_clock_settime;
}
}
--- /dev/null
+libpthread {
+ GLIBC_PRIVATE {
+ __pthread_clock_gettime; __pthread_clock_settime;
+ }
+}
--- /dev/null
+libpthread {
+ GLIBC_PRIVATE {
+ __pthread_clock_gettime; __pthread_clock_settime;
+ }
+}
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;
# 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;
+ }
}
# 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;
# p*
posix_madvise;
}
+ GLIBC_PRIVATE {
+ # functions which have an additional interface since they are
+ # cancelable.
+ __libc_fsync; __libc_msync;
+ }
}
(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
}
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;
_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;
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;
_nss_files_getspnam_r;
_nss_netgroup_parseline;
- }
- GLIBC_2.1 {
_nss_files_getpublickey;
_nss_files_getsecretkey;
}
# 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;
}
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*
# 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;
+ }
}
# r*
__res_state; __res_init; __res_nclose; __res_ninit; _res_hconf;
}
- GLIBC_2.2.3 {
+ GLIBC_PRIVATE {
__gai_sigqueue;
}
}
__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;
# s*
setjmp;
}
- GLIBC_2.1 {
+ GLIBC_PRIVATE {
# helper functions
__libc_longjmp; __libc_siglongjmp;
}
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;
# 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 {
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;
# t*
tmpfile; tmpfile64;
}
+ GLIBC_PRIVATE {
+ # global variables
+ _itoa_lower_digits; _itoa_upper_digits;
}
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;
# used by new G++ ABI
__cxa_atexit; __cxa_finalize;
}
+ GLIBC_PRIVATE {
+ # functions which have an additional interface since they are
+ # are cancelable.
+ __libc_system;
+ }
}
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;
+ }
}
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;
ld {
- GLIBC_2.2 {
+ GLIBC_PRIVATE {
# ia64 specific functions in the dynamic linker, but used by libc.so.
_dl_symbol_address; _dl_unmap; _dl_lookup_address;
_dl_function_address;
libc {
- GLIBC_2.2.3 {
+ GLIBC_PRIVATE {
__libm_frexp_4; __libm_frexp_4f; __libm_frexp_4l; __libm_error_support;
}
}
# 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;
}
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;
# p*
pivot_root;
}
+ GLIBC_PRIVATE {
+ # needed by libpthread.
+ __libc_sigaction;
+
+ # functions used in other libraries
+ __syscall_rt_sigqueueinfo;
+ }
}
/* fxstat64 using old-style Unix fstat system call.
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#endif
}
-#include <shlib-compat.h>
+#ifndef RTLD_STAT64
+# include <shlib-compat.h>
versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
-#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+# if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
strong_alias (___fxstat64, __old__fxstat64)
compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
+# endif
+
+#else
+strong_alias (___fxstat64, __fxstat64);
#endif
vm86;
}
GLIBC_2.1 {
- __modify_ldt; modify_ldt;
+ modify_ldt;
}
GLIBC_2.2 {
# functions used in other libraries
# v*
versionsort64;
}
+ GLIBC_PRIVATE {
+ __modify_ldt;
+ }
}
ld {
- GLIBC_2.2 {
- # global variables needed in the libc.
- _dl_pagesize;
- }
- GLIBC_2.2.1 {
+ GLIBC_PRIVATE {
_dl_var_init;
}
}
/* lxstat64 using old-style Unix lstat system call.
- Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#endif
}
-#include <shlib-compat.h>
+#ifndef RTLD_STAT64
+# include <shlib-compat.h>
versioned_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
-#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+# if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
strong_alias (___lxstat64, __old__lxstat64)
compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1);
+# endif
+
+#else
+strong_alias (___lxstat64, __lxstat64);
#endif
ioperm; iopl;
- __modify_ldt; modify_ldt;
+ modify_ldt;
+ }
+ GLIBC_PRIVATE {
+ __modify_ldt;
}
}
/* xstat64 using old-style Unix stat system call.
- Copyright (C) 1991,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+ Copyright (C) 1991,95,96,97,98,99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
#endif
}
-#include <shlib-compat.h>
+#ifndef RTLD_STAT64
+# include <shlib-compat.h>
versioned_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
-#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
+# if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
strong_alias (___xstat64, __old__xstat64)
compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
+# endif
+
+#else
+strong_alias (___xstat64, __xstat64);
#endif
libc {
GLIBC_2.0 {
- # functions which have an additional interface since they are
- # are cancelable.
- __libc_tcdrain;
-
# c*
cfgetispeed; cfgetospeed; cfmakeraw; cfsetispeed; cfsetospeed; cfsetspeed;
# t*
tcgetsid;
}
+ GLIBC_PRIVATE {
+ # functions which have an additional interface since they are
+ # are cancelable.
+ __libc_tcdrain;
+ }
}