1998-07-02 21:51  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Define list of subdirs as all-subdirs and make subdirs
	a copy.
	* Makefile: Add rules to generate map files.
	(distribute): Remove libc.map, add Versions.def and versions.awk.
	* Makerules: Change rules to find map files on common-objpfx.
	* elf/Makefile: Likewise.
	* md5-crypt/Makefile: Likewise.
	* nis/Makefile (libnsl-map): Remove.
	* Versions.def: New file.
	* versions.awk: New file.
	* argp/Versions: New file.
	* assert/Versions: New file.
	* catgets/Versions: New file.
	* csu/Versions: New file.
	* ctype/Versions: New file.
	* db/Versions: New file.
	* debug/Versions: New file.
	* dirent/Versions: New file.
	* elf/Versions: New file.
	* gmon/Versions: New file.
	* grp/Versions: New file.
	* hesiod/Versions: New file.
	* hurd/Versions: New file.
	* iconv/Versions: New file.
	* inet/Versions: New file.
	* intl/Versions: New file.
	* io/Versions: New file.
	* libio/Versions: New file.
	* linuxthreads/Versions: New file.
	* locale/Versions: New file.
	* login/Versions: New file.
	* malloc/Versions: New file.
	* math/Versions: New file.
	* md5-crypt/Versions: New file.
	* misc/Versions: New file.
	* nis/Versions: New file.
	* nss/Versions: New file.
	* posix/Versions: New file.
	* pwd/Versions: New file.
	* resolv/Versions: New file.
	* resource/Versions: New file.
	* rt/Versions: New file.
	* setjmp/Versions: New file.
	* shadow/Versions: New file.
	* signal/Versions: New file.
	* socket/Versions: New file.
	* stdio/Versions: New file.
	* stdio-common/Versions: New file.
	* stdlib/Versions: New file.
	* streams/Versions: New file.
	* string/Versions: New file.
	* sunrpc/Versions: New file.
	* sysdeps/alpha/Versions: New file.
	* sysdeps/alpha/fpu/Versions: New file.
	* sysdeps/i386/Versions: New file.
	* sysdeps/sparc/Versions: New file.
	* sysdeps/unix/sysv/Versions: New file.
	* sysdeps/unix/sysv/linux/Versions: New file.
	* sysdeps/unix/sysv/linux/alpha/Versions: New file.
	* sysdeps/unix/sysv/linux/i386/Versions: New file.
	* sysdeps/unix/sysv/linux/mips/Versions: New file.
	* sysvipc/Versions: New file.
	* termios/Versions: New file.
	* time/Versions: New file.
	* wcsmbs/Versions: New file.
	* wctype/Versions: New file.
	* libc.map: Removed.
	* db/libdb.map: Removed.
	* elf/libdl.map: Removed.
	* hesiod/libnss_hesiod.map: Removed.
	* hurd/libhurduser.map: Removed.
	* hurd/libmachuser.map: Removed.
	* linuxthreads/libpthread.map: Removed.
	* locale/libBrokenLocale.map: Removed.
	* login/libutil.map: Removed.
	* math/libm.map: Removed.
	* md5-crypt/libcrypt.map: Removed.
	* nis/libnsl.map: Removed.
	* nis/libnsl_compat.map: Removed.
	* nis/libnss_nis.map: Removed.
	* nis/libnss_nisplus.map: Removed.
	* nss/libnss_db.map: Removed.
	* nss/libnss_files.map: Removed.
	* resolv/libnss_dns.map: Removed.
	* resolv/libresolv.map: Removed.
	* rt/librt.map: Removed.

	* elf/dl-load.c (fillin_rpath): Fix test for trusted directory.
	Fix typos.

	* elf/rtld.c (process_dl_debug): Recognize 'all'.
	(process_envvars): LD_BIND_NOW must be followed by y, Y, or 1.

	* sysdeps/generic/elf/backtracesyms.c: Allocate string memory of
	correct size.

	* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Fix typo
	in comment.
This commit is contained in:
Ulrich Drepper 1998-07-02 22:51:40 +00:00
parent 4c223a7cf6
commit b0b67c47a5
80 changed files with 2260 additions and 1020 deletions

101
ChangeLog
View file

@ -1,5 +1,106 @@
1998-07-02 21:51 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig: Define list of subdirs as all-subdirs and make subdirs
a copy.
* Makefile: Add rules to generate map files.
(distribute): Remove libc.map, add Versions.def and versions.awk.
* Makerules: Change rules to find map files on common-objpfx.
* elf/Makefile: Likewise.
* md5-crypt/Makefile: Likewise.
* nis/Makefile (libnsl-map): Remove.
* Versions.def: New file.
* versions.awk: New file.
* argp/Versions: New file.
* assert/Versions: New file.
* catgets/Versions: New file.
* csu/Versions: New file.
* ctype/Versions: New file.
* db/Versions: New file.
* debug/Versions: New file.
* dirent/Versions: New file.
* elf/Versions: New file.
* gmon/Versions: New file.
* grp/Versions: New file.
* hesiod/Versions: New file.
* hurd/Versions: New file.
* iconv/Versions: New file.
* inet/Versions: New file.
* intl/Versions: New file.
* io/Versions: New file.
* libio/Versions: New file.
* linuxthreads/Versions: New file.
* locale/Versions: New file.
* login/Versions: New file.
* malloc/Versions: New file.
* math/Versions: New file.
* md5-crypt/Versions: New file.
* misc/Versions: New file.
* nis/Versions: New file.
* nss/Versions: New file.
* posix/Versions: New file.
* pwd/Versions: New file.
* resolv/Versions: New file.
* resource/Versions: New file.
* rt/Versions: New file.
* setjmp/Versions: New file.
* shadow/Versions: New file.
* signal/Versions: New file.
* socket/Versions: New file.
* stdio/Versions: New file.
* stdio-common/Versions: New file.
* stdlib/Versions: New file.
* streams/Versions: New file.
* string/Versions: New file.
* sunrpc/Versions: New file.
* sysdeps/alpha/Versions: New file.
* sysdeps/alpha/fpu/Versions: New file.
* sysdeps/i386/Versions: New file.
* sysdeps/sparc/Versions: New file.
* sysdeps/unix/sysv/Versions: New file.
* sysdeps/unix/sysv/linux/Versions: New file.
* sysdeps/unix/sysv/linux/alpha/Versions: New file.
* sysdeps/unix/sysv/linux/i386/Versions: New file.
* sysdeps/unix/sysv/linux/mips/Versions: New file.
* sysvipc/Versions: New file.
* termios/Versions: New file.
* time/Versions: New file.
* wcsmbs/Versions: New file.
* wctype/Versions: New file.
* libc.map: Removed.
* db/libdb.map: Removed.
* elf/libdl.map: Removed.
* hesiod/libnss_hesiod.map: Removed.
* hurd/libhurduser.map: Removed.
* hurd/libmachuser.map: Removed.
* linuxthreads/libpthread.map: Removed.
* locale/libBrokenLocale.map: Removed.
* login/libutil.map: Removed.
* math/libm.map: Removed.
* md5-crypt/libcrypt.map: Removed.
* nis/libnsl.map: Removed.
* nis/libnsl_compat.map: Removed.
* nis/libnss_nis.map: Removed.
* nis/libnss_nisplus.map: Removed.
* nss/libnss_db.map: Removed.
* nss/libnss_files.map: Removed.
* resolv/libnss_dns.map: Removed.
* resolv/libresolv.map: Removed.
* rt/librt.map: Removed.
* elf/dl-load.c (fillin_rpath): Fix test for trusted directory.
Fix typos.
* elf/rtld.c (process_dl_debug): Recognize 'all'.
(process_envvars): LD_BIND_NOW must be followed by y, Y, or 1.
* sysdeps/generic/elf/backtracesyms.c: Allocate string memory of
correct size.
1998-07-01 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Fix typo
in comment.
* nscd/nscd.c: Include unistd.h.
1998-07-01 09:32 Ulrich Drepper <drepper@cygnus.com>

View file

@ -756,11 +756,13 @@ sysdep-subdirs := $(subst $(\n), ,$(sysdep-subdirs))
endif
# These are the subdirectories containing the library source.
subdirs = csu assert ctype db2 locale intl catgets math setjmp signal stdlib \
stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd \
posix io termios resource misc socket sysvipc gmon gnulib iconv \
iconvdata wctype manual shadow md5-crypt po argp $(add-ons) nss \
localedata timezone rt debug $(sysdep-subdirs) $(binfmt-subdir)
all-subdirs = csu assert ctype db2 locale intl catgets math setjmp signal \
stdlib stdio-common $(stdio) malloc string wcsmbs time dirent \
grp pwd posix io termios resource misc socket sysvipc gmon \
gnulib iconv iconvdata wctype manual shadow md5-crypt po argp \
$(add-ons) nss localedata timezone rt debug $(sysdep-subdirs) \
$(binfmt-subdir)
subdirs = $(all-subdirs)
# The mach and hurd subdirectories have many generated header files which
# much of the rest of the library depends on, so it is best to build them

View file

@ -77,6 +77,10 @@ ifeq (yes,$(build-shared))
install-others += $(inst_includedir)/gnu/lib-names.h
endif
ifeq ($(versioning),yes)
lib-noranlib: $(common-objpfx)sysd-versions
endif
include Makerules
ifeq ($(build-programs),yes)
@ -241,12 +245,12 @@ parent_echo-distinfo:
distribute := README README.libm INSTALL FAQ FAQ.in NOTES NEWS BUGS \
PROJECTS COPYING.LIB COPYING ChangeLog ChangeLog.[0-9] \
Makefile Makeconfig Makerules Rules Make-dist MakeTAGS \
extra-lib.mk o-iterator.mk libc.map configure \
configure.in aclocal.m4 config.h.in config.make.in \
config-name.in Makefile.in sysdep.h set-hooks.h \
libc-symbols.h version.h shlib-versions rpm/Makefile \
rpm/template rpm/rpmrc glibcbug.in abi-tags stub-tag.h \
test-skeleton.c include/des.h \
extra-lib.mk o-iterator.mk configure configure.in \
aclocal.m4 config.h.in config.make.in config-name.in \
Makefile.in sysdep.h set-hooks.h libc-symbols.h \
version.h shlib-versions rpm/Makefile rpm/template \
rpm/rpmrc glibcbug.in abi-tags stub-tag.h \
test-skeleton.c include/des.h Versions.def versions.awk \
$(addprefix scripts/, \
rellns-sh config.sub config.guess \
mkinstalldirs move-if-change install-sh \
@ -311,3 +315,13 @@ headers2_0 := __math.h bytesex.h confname.h direntry.h elfclass.h \
.PHONY: remove-old-headers
remove-old-headers:
rm -f $(addprefix $(inst_includedir)/, $(headers2_0))
# Generate version maps.
ifeq ($(versioning),yes)
$(common-objpfx)sysd-versions: versions.awk \
$(wildcard $(all-subdirs:%=%/Versions)) \
$(wildcard $(+sysdep_dirs:%=%/Versions))
$(AWK) -v 'buildroot=$(common-objpfx)' -f $^
rm -f $@
echo > $@
endif

View file

@ -325,8 +325,8 @@ ifeq (yes,$(build-shared))
# Reference map file only when versioning is selected and a map file name
# is given.
ifeq ($(versioning),yes)
map-file = $(firstword $(wildcard \
$($(@F:.so=-map)) $(@F:.so=.map) $(..)$(@F:.so=.map)))
map-file = $(firstword $(wildcard $($(@F:.so=-map)) \
$(common-objpfx)$(@F:.so=.map)))
load-map-file = $(map-file:%=-Wl,--version-script=%)
endif
@ -345,7 +345,7 @@ $(LINK.o) -shared -o $@ $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
-Wl,--whole-archive \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(filter-out $(map-file) $(@F:.so=.map) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
endef
@ -386,7 +386,7 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
$(common-objpfx)libc_pic.os \
$(elfobjdir)/sofini.os \
$(elfobjdir)/interp.os $(elfobjdir)/ld.so \
$(..)libc.map
$(common-objpfx)libc.map
$(build-shlib)
common-generated += libc.so libc_pic.os
ifdef libc.so-version

66
Versions.def Normal file
View file

@ -0,0 +1,66 @@
libBrokenLocale {
GLIBC_2.0
}
libc {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libcrypt {
GLIBC_2.0
}
libdb {
GLIBC_2.0
}
libdl {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libhurduser {
GLIBC_2.0
}
libm {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libmachuser {
GLIBC_2.0
}
libnsl {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libnss_compat {
GLIBC_2.0
}
libnss_db {
GLIBC_2.0
}
libnss_dns {
GLIBC_2.0
}
libnss_files {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libnss_hesiod {
GLIBC_2.1
}
libnss_nis {
GLIBC_2.0
}
libnss_nisplus {
GLIBC_2.0
}
libpthread {
GLIBC_2.0
GLIBC_2.1 GLIBC_2.0
}
libresolv {
GLIBC_2.0
}
librt {
GLIBC_2.1
}
libutil {
GLIBC_2.0
}

11
argp/Versions Normal file
View file

@ -0,0 +1,11 @@
libc {
GLIBC_2.1 {
# variables in normal name space
argp_err_exit_status; argp_program_bug_address; argp_program_version;
argp_program_version_hook;
# a*
argp_error; argp_failure; argp_help; argp_parse; argp_state_help;
argp_usage;
}
}

6
assert/Versions Normal file
View file

@ -0,0 +1,6 @@
libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__assert_fail; __assert_perror_fail;
}
}

9
catgets/Versions Normal file
View file

@ -0,0 +1,9 @@
libc {
GLIBC_2.0 {
# functions with required interface outside normal name space
__open_catalog;
# c*
catclose; catgets; catopen;
}
}

29
csu/Versions Normal file
View file

@ -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;
}
}

13
ctype/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,12 +1,10 @@
GLIBC_2.0 {
global:
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;
local:
*;
};
}
}

9
debug/Versions Normal file
View file

@ -0,0 +1,9 @@
libc {
GLIBC_2.1 {
# functions used in other libraries
__backtrace; __backtrace_symbols;
# b*
backtrace; backtrace_symbols;
}
}

40
dirent/Versions Normal file
View file

@ -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;
}
}

View file

@ -35,7 +35,7 @@ elide-routines.os = $(dl-routines) dl-support enbl-secure
# 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-minimal
ld-map = $(..)libc.map
ld-map = $(common-objpfx)libc.map
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \
genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \

35
elf/Versions Normal file
View file

@ -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;
}
}

View file

@ -204,13 +204,14 @@ fillin_rpath (char *rpath, struct r_search_path_elem **result, const char *sep,
{
const char **trun = trusted;
/* All trusted directory must be complete name. */
/* All trusted directories must be complete names. */
if (cp[0] != '/')
continue;
while (*trun != NULL
&& (memcmp (*trun, cp, len) != 0
|| ((*trun)[len] != '/' && (*trun)[len + 1] != '\0')))
|| (*trun)[len] != '/'
|| (*trun)[len + 1] != '\0'))
++trun;
if (*trun == NULL)
@ -392,7 +393,7 @@ _dl_init_paths (const char *llp)
if (rtld_search_dirs[0] == NULL)
_dl_signal_error (ENOMEM, NULL, "cannot create cache for search path");
pelem = all_dirs= rtld_search_dirs[0];
pelem = all_dirs = rtld_search_dirs[0];
for (strp = system_dirs; *strp != NULL; ++strp, pelem += round_size)
{
size_t cnt;
@ -904,12 +905,13 @@ open_path (const char *name, size_t namelen, int preloaded,
return -1;
}
buf = __alloca (max_dirnamelen + max_capstrlen + namelen + 1);
buf = __alloca (max_dirnamelen + max_capstrlen + namelen);
do
{
struct r_search_path_elem *this_dir = *dirs;
size_t buflen = 0;
size_t cnt;
char *edp;
/* If we are debugging the search for libraries print the path
now if it hasn't happened now. */
@ -919,6 +921,7 @@ open_path (const char *name, size_t namelen, int preloaded,
print_search_path (dirs, current_what, this_dir->where);
}
edp = (char *) __mempcpy (buf, this_dir->dirname, this_dir->dirnamelen);
for (cnt = 0; fd == -1 && cnt < ncapstr; ++cnt)
{
/* Skip this directory if we know it does not exist. */
@ -926,8 +929,7 @@ open_path (const char *name, size_t namelen, int preloaded,
continue;
buflen =
((char *) __mempcpy (__mempcpy (__mempcpy (buf, this_dir->dirname,
this_dir->dirnamelen),
((char *) __mempcpy (__mempcpy (edp,
capstr[cnt].str, capstr[cnt].len),
name, namelen)
- buf);
@ -946,12 +948,11 @@ open_path (const char *name, size_t namelen, int preloaded,
test whether there is any directory at all. */
struct stat st;
buf[this_dir->dirnamelen
+ MAX (capstr[cnt].len - 1, 0)] = '\0';
buf[buflen - namelen - 1] = '\0';
if (__xstat (_STAT_VER, buf, &st) != 0
|| ! S_ISDIR (st.st_mode))
/* The directory does not exist ot it is no directory. */
/* The directory does not exist or it is no directory. */
this_dir->status[cnt] = nonexisting;
else
this_dir->status[cnt] = existing;

View file

@ -1,7 +0,0 @@
GLIBC_2.0 {
global:
dladdr; dlclose; dlerror; dlopen; dlsym; dlvsym;
local:
*;
};

View file

@ -968,6 +968,22 @@ process_dl_debug (const char *dl_debug)
switch (len)
{
case 3:
/* This option is not documented since it is not generally
useful. */
if (memcmp (dl_debug, "all", 3) == 0)
{
_dl_debug_libs = 1;
_dl_debug_impcalls = 1;
_dl_debug_reloc = 1;
_dl_debug_files = 1;
_dl_debug_symbols = 1;
_dl_debug_bindings = 1;
_dl_debug_versions = 1;
any_debug = 1;
}
break;
case 4:
if (memcmp (dl_debug, "help", 4) == 0)
{
@ -1117,7 +1133,9 @@ process_envvars (enum mode *modep, int *lazyp)
case 8:
/* Do we bind early? */
if (memcmp (&envline[3], "BIND_NOW", 8) == 0)
if (memcmp (&envline[3], "BIND_NOW", 8) == 0
&& (envline[12] == '1' || envline[12] == 'y'
|| envline[12] == 'Y'))
bind_now = 1;
break;

15
gmon/Versions Normal file
View file

@ -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;
}
}

19
grp/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,12 +1,10 @@
GLIBC_2.1 {
global:
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;
local:
*;
};
}
}

View file

@ -1,6 +1,42 @@
GLIBC_2.0 {
global:
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;
@ -149,7 +185,114 @@ GLIBC_2.0 {
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;
local:
*;
};
# 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;
}
}

View file

@ -1,113 +0,0 @@
# libmachuser.map - symbol version and export information for libmachuser.so
GLIBC_2.0 {
global:
# 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;
local:
*;
};

9
iconv/Versions Normal file
View file

@ -0,0 +1,9 @@
libc {
GLIBC_2.1 {
# global variables
__gconv_alias_db; __gconv_nmodules; __gconv_modules_db;
# i*
iconv_open; iconv; iconv_close;
}
}

58
inet/Versions Normal file
View file

@ -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;
}
}

21
intl/Versions Normal file
View file

@ -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;
}
}

83
io/Versions Normal file
View file

@ -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;
}
}

629
libc.map
View file

@ -1,629 +0,0 @@
GLIBC_2.0 {
global:
# global variables
_errno; _h_errno; _itoa_lower_digits; _itoa_upper_digits;
__ctype_b; __ctype_tolower; __ctype_toupper;
_nl_msg_cat_cntr; __environ; _environ; _res;
___brk_addr; __curbrk; _nl_current_LC_CTYPE; _libc_intl_domainname;
_sys_errlist; _sys_nerr; _sys_siglist; __progname; _nl_default_dirname;
_nl_domain_bindings; __timezone; __daylight; __tzname;
_nl_current_LC_COLLATE; __collate_element_hash;
__collate_element_strings; __collate_symbol_classes;
__collate_symbol_hash; __collate_symbol_strings;
_obstack;
__progname_full; __progname; _dl_debug_impcalls; _dl_debug_fd;
_IO_list_all; _IO_stderr_; _IO_stdin_; _IO_stdout_;
# This is for sparc only.
.div; .mul; .rem; .udiv; .umul; .urem;
# For alpha, unfortunately in wider use.
_inb; _inw; _inl; _outb; _outw; _outl; _bus_base; _bus_base_sparse;
_hae_shift;
# helper functions
__errno_location; __libc_init_first; __h_errno_location; __libc_start_main;
# functions with special/multiple interfaces
__sigsetjmp; _setjmp; __sigaddset; __sigdelset; __sigismember;
__sysv_signal; __bsd_getpgrp; _longjmp; _mcount;
__divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
__remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
__setpgid; __getpgid; __adjtimex;
# functions which have an additional interface since they are
# are cancelable.
__libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep;
__libc_open; __libc_close; __libc_read; __libc_write;
__libc_lseek; __libc_fcntl; __libc_tcdrain; __libc_fsync;
__libc_msync; __libc_system; __libc_accept; __libc_send; __libc_recvfrom;
__libc_recvmsg; __libc_sendmsg; __libc_recv; __libc_sendto; __libc_connect;
# 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; __sbrk;
__getpagesize;
# functions with required interface outside normal name space
_exit; __ivaliduser; __open_catalog;
__argz_count; __argz_stringify; __argz_next;
__check_rhosts_file; __rcmd_errstr; __xpg_basename;
# functions from the experimental locale implementation
__*_l; __newlocale; __duplocale; __freelocale;
# functions used in inline functions or macros
__strto*_internal; __wcsto*_internal; __getdelim;
__isnan; __isnanf; __isnanl; __finite; __finitef; __finitel;
__isinf; __isinff; __isinfl;
__cmsg_nxthdr;
_obstack_allocated_p; _obstack_begin; _obstack_begin_1;
_obstack_free; _obstack_memory_used; _obstack_newchunk;
__assert_fail; __assert_perror_fail;
_IO_getc; _IO_peekc_unlocked; _IO_putc; _IO_feof; _IO_ferror;
__xstat; __fxstat; __lxstat; __xmknod;
__dcgettext; __uflow; __underflow; __overflow; __iswctype; __sigpause;
__ctype_get_mb_cur_max; __bzero;
__strtok_r;
# functions used in other libraries
__printf_fp; __stpncpy; __stpcpy; __strdup; __mempcpy;
__nss_passwd_lookup; __nss_group_lookup; __nss_next;
_nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
__nss_database_lookup; __internal_endnetgrent; __internal_getnetgrent_r;
__internal_setnetgrent; __gmtime_r; __secure_getenv;
__select; __sched_get_priority_max; __sched_get_priority_min;
__sched_getparam; __sched_getscheduler; __sched_setscheduler;
__sched_yield; __on_exit; __gettimeofday; __fork; __clone;
__nss_configure_lookup; _dl_open; _dl_close; _dl_addr;
__vsscanf; __vfscanf; __vsnprintf;
_rpc_dtablesize; _null_auth; _seterr_reply;
__res_randomid; __getpid;
__strcasecmp; __strerror_r; __write; _dl_sysdep_output;
_dl_debug_message;
__ffs;
__close; __connect; __fcntl; __lseek; __open; __read; __send; __wait;
__ieee_get_fp_control; __ieee_set_fp_control;
__dgettext; __sigaction;
# 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;
# Exception handling support functions from libgcc
__register_frame; __register_frame_table; __deregister_frame;
__register_frame_info; __deregister_frame_info;
# Profiling support
__monstartup; _mcleanup; __profile_frequency;
# Hurd-specific variables
__hurd_sigthread_stack_base; __hurd_sigthread_stack_end;
__hurd_sigthread_variables;
__hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
# functions from stdio
__fillbf; __flshfp;
# 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;
# variables in normal name space
argp_err_exit_status; argp_program_bug_address; argp_program_version;
argp_program_version_hook;
daylight;
environ;
errno; error_message_count; error_one_per_line; error_print_progname;
h_errlist; h_errno; h_nerr;
loc1; loc2; locs;
mallwatch;
obstack_alloc_failed_handler; obstack_exit_failure;
optarg; opterr; optind; optopt;
program_invocation_name; program_invocation_short_name;
re_max_failures; re_syntax_options; rexecoptions; rpc_createerr;
stderr; stdin; stdout; svc_fdset; svcauthdes_stats;
sys_errlist; sys_nerr; sys_sigabbrev; sys_siglist;
timezone; tzname;
# functions in normal name space
# Please keep them sorted by name!
# a*
a64l; abort; abs; accept; access; acct; addmntent; adjtime; adjtimex;
advance; alarm; alphasort;
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;
asctime; asctime_r; asprintf; atexit; atof; atoi; atol; atoll;
authnone_create; authunix_create; authunix_create_default;
# b*
basename; bcmp; bcopy; bdflush; bind; bindresvport;
bindtextdomain; brk; bsd_signal; bsearch; btowc; bus_base; bus_base_sparse;
bzero;
# c*
cachectl; cacheflush; calloc; callrpc; canonicalize_file_name;
catclose; catgets; catopen;
cfgetispeed; cfgetospeed; cfmakeraw; cfree;
cfsetispeed; cfsetospeed; cfsetspeed; chdir; chflags; chmod; chown;
chroot; clearenv; clearerr; clearerr_unlocked;
clnt_broadcast; clnt_create; clnt_pcreateerror; clnt_perrno;
clnt_perror; clnt_spcreateerror; clnt_sperrno; clnt_sperror;
clntraw_create; clnttcp_create; clntudp_bufcreate; clntudp_create;
clock; clone; close; closedir; closelog; confstr; connect; copysign;
copysignf; copysignl; creat; create_module; ctermid; ctime;
ctime_r; cuserid;
# d*
daemon; dcgettext; delete_module; dgettext;
difftime; dirfd; dirname; div; dprintf; drand48; drand48_r; dup; dup2;
dysize;
# e*
ecvt; ecvt_r; endaliasent; endfsent; endgrent; endhostent;
endmntent; endnetent; endnetgrent; endprotoent; endpwent; endrpcent;
endservent; endspent; endttyent; endusershell; endutent;
envz_add; envz_entry; envz_get; envz_merge; envz_remove;
envz_strip; erand48; erand48_r; err; error; error_at_line; errx;
ether_aton; ether_aton_r; ether_hostton; ether_line; ether_ntoa;
ether_ntoa_r; ether_ntohost;
euidaccess; execl; execle; execlp; execv; execve; execvp; exit;
# f*
fchdir; fchflags; fchmod; fchown; fclose; fcloseall; fcntl; fcvt;
fcvt_r; fdatasync; fdopen; feof; feof_locked; feof_unlocked; ferror;
ferror_locked; ferror_unlocked; fexecve; fflush; fflush_locked;
fflush_unlocked; ffs;
fgetc; fgetgrent; fgetgrent_r; fgetpos; fgetpwent; fgetpwent_r; fgets;
fgetspent; fgetspent_r; fileno; fileno_locked; fileno_unlocked; finite;
finitef; finitel; flock; flockfile; fnmatch; fopen; fopencookie;
fork; fpathconf; fprintf; fputc; fputc_locked; fputc_unlocked; fputs;
fread; free; freeaddrinfo; freopen; frexp; frexpf; frexpl; fscanf; fseek;
fsetpos; fstatfs; fsync; ftell; ftime; ftok; ftruncate; ftrylockfile;
fts_children; fts_close; fts_open; fts_read; fts_set; ftw;
funlockfile; fwrite;
# g*
gcvt; get_avphys_pages; get_current_dir_name;
get_kernel_syms; get_myaddress; get_nprocs; get_nprocs_conf;
get_phys_pages; getaddrinfo; getaliasbyname; getaliasbyname_r;
getaliasent; getaliasent_r; getc; getc_locked; getc_unlocked; getchar;
getchar_unlocked; getcwd; getdelim; getdirentries;
getdomainname; getdtablesize; getegid; getenv; geteuid; getfsent;
getfsfile; getfsspec; getgid; getgrent; getgrent_r; getgrgid;
getgrgid_r; getgrnam; getgrnam_r; getgroups; gethostbyaddr;
gethostbyaddr_r; gethostbyname; gethostbyname2; gethostbyname2_r;
gethostbyname_r; gethostent; gethostent_r; gethostid; gethostname;
getitimer; getline; getlogin; getlogin_r; getmntent; getmntent_r;
getnetbyaddr; getnetbyaddr_r; getnetbyname;
getnetbyname_r; getnetent; getnetent_r; getnetgrent; getnetgrent_r;
getopt; getopt_long; getopt_long_only; getpagesize;
getpass; getpeername; getpgid; getpgrp; getpid; getppid; getpriority;
getprotobyname; getprotobyname_r; getprotobynumber;
getprotobynumber_r; getprotoent; getprotoent_r; getpublickey;
getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
getresgid; getresuid;
getrlimit; getrpcbyname; getrpcbyname_r; getrpcbynumber;
getrpcbynumber_r; getrpcent; getrpcent_r; getrpcport; getrusage; gets;
getsecretkey; getservbyname; getservbyname_r; getservbyport;
getservbyport_r; getservent; getservent_r; getsid; getsockname;
getsockopt; getspent; getspent_r; getspnam; getspnam_r; getsubopt;
gettext; gettimeofday; getttyent; getttynam; getuid; getusershell;
getutent; getutent_r; getutid; getutid_r; getutline; getutline_r;
getw; getwd; glob; glob_pattern_p;
globfree; gmtime; gmtime_r; group_member; gsignal; gtty;
# h*
hae_shift; hasmntopt; hcreate; hcreate_r; hdestroy; hdestroy_r; herror;
hsearch; hsearch_r; hstrerror; htonl; htons;
# i*
inb; index; inet_addr; inet_aton; inet_lnaof; inet_makeaddr;
inet_netof; inet_network; inet_nsap_addr; inet_nsap_ntoa; inet_ntoa;
inet_ntop; inet_pton; init_module; initgroups; initstate; initstate_r;
inl; innetgr; insque; inw; ioctl; ioperm; iopl; iruserok;
isalnum; isalpha; isascii; isatty; isblank; iscntrl; isdigit;
isfdtype; isgraph; isinf; isinff; isinfl; islower; isnan; isnanf;
isnanl; isprint; ispunct; isspace; isupper; iswalnum; iswalpha;
iswcntrl; iswctype; iswdigit; iswgraph; iswlower; iswprint;
iswpunct; iswspace; iswupper; iswxdigit; isxdigit;
# j*
jrand48; jrand48_r;
# k*
kill; killpg; klogctl;
# l*
l64a; labs; lchown; lckpwdf; lcong48; lcong48_r; ldexp; ldexpf;
ldexpl; ldiv; lfind; link; listen; llabs; lldiv; llseek; localeconv;
localtime; localtime_r; lockf; longjmp; lrand48; lrand48_r;
lsearch; lseek;
# m*
madvise;
mallinfo; malloc; malloc_get_state; malloc_set_state;
malloc_stats; malloc_trim; malloc_usable_size; mallopt;
mblen; mbrlen; mbrtowc; mbsinit; mbsnrtowcs; mbsrtowcs; mbstowcs;
mbtowc; mcheck; mcount;
memalign; memccpy; memchr; memcmp; memcpy; memfrob; memmem;
memmove; memset;
mkdir; mkfifo; mkstemp; mktemp; mktime; mlock;
mlockall; mmap; modf; modff; modfl; moncontrol; monstartup; mount;
mprobe; mprotect; mrand48; mrand48_r; mremap; msgctl; msgget; msgrcv;
msgsnd; msync; mtrace; munlock; munlockall; munmap; muntrace;
# n*
nanosleep; nfsservctl; nice; nl_langinfo; nrand48; nrand48_r;
ntohl; ntohs;
# o*
obstack_free; obstack_printf; obstack_vprintf; on_exit; open;
open_memstream; opendir; openlog; outb; outl; outw;
# p*
parse_printf_format; pathconf; pause; pciconfig_read;
pciconfig_write; pclose; perror;
personality; pipe; pmap_getmaps; pmap_getport; pmap_rmtcall; pmap_set;
pmap_unset; poll; popen; prctl; printf; profil; profil_counter;
pselect; psignal;
pthread_attr_destroy;
pthread_attr_getdetachstate; pthread_attr_getinheritsched;
pthread_attr_getschedparam; pthread_attr_getschedpolicy;
pthread_attr_getscope; pthread_attr_init; pthread_attr_setdetachstate;
pthread_attr_setinheritsched; pthread_attr_setschedparam;
pthread_attr_setschedpolicy; pthread_attr_setscope;
pthread_cond_broadcast; pthread_cond_destroy; pthread_cond_init;
pthread_cond_signal; pthread_cond_wait; pthread_condattr_destroy;
pthread_condattr_init; pthread_equal; pthread_exit;
pthread_getschedparam; pthread_mutex_destroy; pthread_mutex_init;
pthread_mutex_lock; pthread_mutex_unlock;
pthread_mutexattr_getkind_np; pthread_mutexattr_setkind_np;
pthread_self; pthread_setcancelstate; pthread_setcanceltype;
pthread_setschedparam;
ptrace; putc; putc_locked; putc_unlocked; putchar; putchar_unlocked;
putenv; putpwent; puts; putspent; pututline; putw; pvalloc;
# q*
qecvt; qecvt_r; qfcvt; qfcvt_r; qgcvt; qsort; query_module; quotactl;
# r*
raise; rand; rand_r; random; random_r; rcmd;
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;
read; readdir; readdir_r; readlink; readv;
realloc; realpath; reboot; recv; recvfrom; recvmsg; regcomp; regerror;
regexec; regfree; register_printf_function; registerrpc; remove; remque;
rename; res_init; revoke; rewind; rewinddir; rexec; rindex; rmdir; rpmatch;
rresvport; ruserok; ruserpass;
# s*
sbrk; scalbn; scalbnf; scalbnl; scandir; scanf;
sched_get_priority_max; sched_get_priority_min; sched_getparam;
sched_getscheduler; sched_rr_get_interval; sched_setparam;
sched_setscheduler; sched_yield;
seed48; seed48_r; seekdir; select;
semctl; semget; semop; send; sendmsg; sendto; setaliasent; setbuf;
setbuffer; setcontext;
setdomainname; setegid; setenv; seteuid; setfsent;
setfsgid; setfsuid; setgid; setgrent; setgroups; sethae; sethostent;
sethostid; sethostname; setitimer; setjmp; setlinebuf; setlocale;
setlogin; setlogmask; setmntent; setnetent; setnetgrent; setpgid;
setpgrp; setpriority; setprotoent; setpwent; setregid; setresgid;
setresuid; setreuid; setrlimit; setrpcent; setservent;
setsid; setsockopt; setspent;
setstate; setstate_r; settimeofday; setttyent; setuid; setusershell;
setutent; setvbuf; sgetspent; sgetspent_r; shmat; shmctl;
shmdt; shmget; shutdown;
sigaction; sigaddset; sigaltstack; sigandset; sigblock; sigdelset;
sigemptyset; sigfillset; siggetmask; siginterrupt; sigisemptyset;
sigismember; siglongjmp; signal; sigorset; sigpause; sigpending;
sigprocmask; sigreturn; sigsetmask; sigstack; sigsuspend; sigvec;
sigwait;
sleep; snprintf; socket; socketpair; sprintf; srand; srand48;
srand48_r; srandom; srandom_r; sscanf; ssignal; sstk; statfs;
step; stime; stpcpy; stpncpy; strcasecmp; strcat;
strchr; strcmp; strcoll;
strcpy; strcspn; strdup; strerror; strerror_r; strfmon; strfry;
strftime; strlen; strncasecmp; strncat; strncmp; strncpy; strndup;
strnlen; strpbrk; strptime; strrchr; strsep; strsignal; strspn;
strstr; strtod; strtof; strtok; strtok_r; strtol; strtold; strtoll;
strtoq; strtoul; strtoull; strtouq; strxfrm; stty;
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;
swab; swapoff; swapon; symlink; sync;
syscall; sysconf; sysctl; sysinfo; syslog; sysmips;
system;
# t*
tcdrain; tcflow; tcflush; tcgetattr; tcgetpgrp; tcsendbreak;
tcsetattr; tcsetpgrp; tdelete; telldir; tempnam; textdomain;
tfind; time; timegm; timelocal; times; tmpfile; tmpnam;
tmpnam_r;
toascii; tolower; toupper; towctrans; towlower; towupper;
tr_break; truncate; tsearch; ttyname; ttyname_r; ttyslot;
twalk; tzset;
# u*
ualarm; ulckpwdf; ulimit; umask; umount; uname; ungetc; unlink;
unsetenv; updwtmp; uselib; usleep; ustat; utime; utimes; utmpname;
# v*
valloc; vasprintf; vdprintf; verr; verrx; vfork; vfprintf; vfscanf;
vhangup; vlimit; vm86; vprintf; vscanf; vsnprintf; vsprintf; vsscanf;
vsyslog; vtimes; vwarn; vwarnx;
# w*
wait; wait3; wait4; waitpid; warn; warnx;
wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
wcstod; wcstof; wcstok; wcstol; wcstold; wcstombs; wcstoq; wcstoul;
wcstouq; wcswidth; wcsxfrm; wctob; wctomb; wctrans; wctype; wcwidth;
wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
write; writev;
# 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;
# 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;
local:
*;
};
GLIBC_2.1 {
global:
# global variables
_IO_2_1_stdin_; _IO_2_1_stdout_; _IO_2_1_stderr_;
__gconv_alias_db; __gconv_nmodules; __gconv_modules_db;
_dl_profile; _dl_profile_map; _dl_profile_output; _dl_start_profile;
__libc_stack_end;
# This is for ix86 only.
_fp_hw;
# variables in normal name space
getdate_err; in6addr_any; in6addr_loopback;
# functions used in inline functions or macros
__signbit; __signbitf; __signbitl; __libc_sa_len;
# functions used in other libraries
_IO_fclose; _IO_fopen; _IO_fdopen; __asprintf; __strcasestr;
__syscall_rt_sigqueueinfo;
__xstat64; __fxstat64; __lxstat64;
__pread64; __pwrite64;
__backtrace; __backtrace_symbols;
_dl_mcount; _dl_mcount_wrapper; __poll;
# helper functions
__libc_current_sigrtmin; __libc_current_sigrtmax; __libc_allocate_rtsig;
__libc_longjmp; __libc_siglongjmp;
# Since we have new signals this structure changed.
_sys_siglist; sys_siglist; sys_sigabbrev;
# Linux/Alpha 64-bit timeval functions.
__select; select;
adjtime; adjtimex; __adjtimex;
__gettimeofday;
# New errlist.
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
# Changed getline function in libio.
_IO_getline_info;
# Special Pointer to avoid keyserv deadlock
__key_decryptsession_pk_LOCAL; __key_encryptsession_pk_LOCAL;
__key_gendes_LOCAL;
# chown interface change.
chown; glob; globfree;
# Change in pthread_attr_t.
pthread_attr_init;
# functions in normal name space
# Please keep them sorted by name!
# a*
addseverity; alphasort64;
argp_error; argp_failure; argp_help; argp_parse; argp_state_help;
argp_usage;
authdes_create; authdes_getucred; authdes_pk_create;
# b*
backtrace; backtrace_symbols;
# c*
capget; capset; cbc_crypt; creat64;
# d*
des_setparity;
# e*
ecb_crypt; endutxent;
# f*
fattach; fdetach;
fgetpos64; fmtmsg; fopen64; freopen64; fseeko; fseeko64; fsetpos64;
fstatfs64; fstatvfs; fstatvfs64; ftello; ftello64; ftruncate64; ftw64;
fopen; fclose; fdopen;
# g*
gai_strerror; getcontext; getdate; getdate_r; getitimer; getmsg;
getnameinfo; getnetname; getpmsg; getpt; getrlimit64; getrusage;
gettimeofday; getutxent; getutxid; getutxline; grantpt;
# New special glibc functions.
gnu_get_libc_release; gnu_get_libc_version;
# h*
host2netname;
# i*
iconv_open; iconv; iconv_close;
ieee_get_fp_control; ieee_set_fp_control;
if_freenameindex; if_indextoname; if_nameindex; if_nametoindex;
inet6_isipv4mapped; isastream; iswblank;
# k*
key_decryptsession; key_decryptsession_pk; key_encryptsession;
key_encryptsession_pk; key_gendes; key_get_conv; key_secretkey_is_set;
key_setnet; key_setsecret;
# l*
lockf64; lseek64;
# m*
makecontext; mmap64; mempcpy;
# n*
netname2host; netname2user; nftw; nftw64;
# o*
open64;
# p*
passwd2des; pread; pread64; printf_size; printf_size_info;
ptsname; ptsname_r; putmsg; putpmsg; pututxline; pwrite; pwrite64;
# r*
readdir64; readdir64_r; rtime;
# s*
scalbln; scalblnf; scalblnl;
scandir64; setitimer; setrlimit64; setutxent; settimeofday;
sighold; sigrelse; sigignore; sigset; statfs64; statvfs; statvfs64;
strcasestr; strtoimax; strtoumax; strverscmp; strfxtime;
swapcontext; sysv_signal;
# New RT signal functions.
sigqueue; sigtimedwait; sigwaitinfo;
# t*
tcgetsid; tdestroy; tmpfile64; truncate64;
# u*
unlockpt; updwtmpx; user2netname; utimes; utmpxname;
# v*
versionsort; versionsort64;
# w*
wait4; waitid; wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
wordexp; wordfree;
# 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;
} GLIBC_2.0;

103
libio/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,5 +1,23 @@
GLIBC_2.0 {
global:
libc {
GLIBC_2.0 {
pthread_attr_destroy; pthread_attr_getdetachstate;
pthread_attr_getinheritsched; pthread_attr_getschedparam;
pthread_attr_getschedpolicy; pthread_attr_getscope; pthread_attr_init;
pthread_attr_setdetachstate; pthread_attr_setinheritsched;
pthread_attr_setschedparam; pthread_attr_setschedpolicy;
pthread_attr_setscope; pthread_cond_broadcast; pthread_cond_destroy;
pthread_cond_init; pthread_cond_signal; pthread_cond_wait;
pthread_condattr_destroy; pthread_condattr_init; pthread_equal;
pthread_exit; pthread_getschedparam; pthread_mutex_destroy;
pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock;
pthread_mutexattr_getkind_np; pthread_mutexattr_setkind_np;
pthread_self; pthread_setcancelstate; pthread_setcanceltype;
pthread_setschedparam;
}
}
libpthread {
GLIBC_2.0 {
# Hidden entry point (through macros).
_pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push;
_pthread_cleanup_push_defer;
@ -53,14 +71,8 @@ GLIBC_2.0 {
# The error functions.
__errno_location; __h_errno_location;
local:
*;
};
GLIBC_2.1 {
global:
}
GLIBC_2.1 {
# Functions with changed interface.
pthread_attr_init; pthread_create;
@ -76,4 +88,5 @@ GLIBC_2.1 {
pthread_attr_getstacksize; pthread_attr_setstacksize;
pthread_getconcurrency; pthread_setconcurrency;
} GLIBC_2.0;
}
}

29
locale/Versions Normal file
View file

@ -0,0 +1,29 @@
libBrokenLocale {
GLIBC_2.0 {
__ctype_get_mb_cur_max;
}
}
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;
# functions from the experimental locale implementation
__*_l; __newlocale; __duplocale; __freelocale;
# functions used in inline functions or macros
__ctype_get_mb_cur_max;
# l*
localeconv;
# n*
nl_langinfo;
# s*
setlocale;
}
}

View file

@ -1,7 +0,0 @@
GLIBC_2.0 {
global:
__ctype_get_mb_cur_max;
local:
*;
};

41
login/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,7 +0,0 @@
GLIBC_2.0 {
global:
forkpty; login; login_tty; logout; logwtmp; openpty;
local:
*;
};

47
malloc/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,5 +1,35 @@
GLIBC_2.0 {
global:
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;
@ -61,15 +91,8 @@ GLIBC_2.0 {
# functions used in inline functions or macros
__log1p; __atan2;
local:
*;
};
GLIBC_2.1 {
global:
}
GLIBC_2.1 {
# mathematical functions
exp2; exp2f; exp2l;
exp10; exp10f; exp10l;
@ -131,5 +154,5 @@ GLIBC_2.1 {
# symbols used in macros from sysdeps/powerpc/bits/fenv.h
__fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
} GLIBC_2.0;
}
}

View file

@ -66,7 +66,7 @@ libmd5crypt: $(objpfx)libmd5crypt.so
# drop in replacement.
LDFLAGS-md5crypt.so = -Wl,-soname=lib$(libprefix)crypt.so$(libcrypt.so-version)
# We also use the same version script.
libmd5crypt-map := libcrypt.map
libmd5crypt-map := $(common-objpfx)libcrypt.map
endif
define o-iterator-doit

View file

@ -1,7 +1,5 @@
GLIBC_2.0 {
global:
libcrypt {
GLIBC_2.0 {
crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r;
local:
*;
};
}
}

102
misc/Versions Normal file
View file

@ -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;
}
}

View file

@ -53,7 +53,6 @@ libnsl-routines = yp_xdr ypclnt ypupdate_xdr \
nis_modify nis_remove nis_add nis_defaults\
nis_findserv nis_callback nis_clone_dir nis_clone_obj\
nis_clone_res
libnsl-map = libnsl.map
libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) \
nisplus-parser

121
nis/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,62 +0,0 @@
GLIBC_2.0 {
global:
# 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;
local:
*;
};
GLIBC_2.1 {
global:
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;
} GLIBC_2.0;

View file

@ -1,11 +0,0 @@
GLIBC_2.0 {
global:
_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;
local:
*;
};

View file

@ -1,25 +0,0 @@
GLIBC_2.0 {
global:
_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;
local:
*;
};

View file

@ -1,32 +0,0 @@
GLIBC_2.1 {
global:
_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;
local:
*;
};

View file

@ -1,5 +1,33 @@
GLIBC_2.0 {
global:
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;
@ -69,10 +97,9 @@ GLIBC_2.0 {
_nss_files_getspnam_r;
_nss_netgroup_parseline;
}
GLIBC_2.1 {
_nss_files_getpublickey;
_nss_files_getsecretkey;
local:
*;
};
}
}

View file

@ -1,20 +0,0 @@
GLIBC_2.0 {
global:
_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;
local:
*;
};

80
posix/Versions Normal file
View file

@ -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;
}
}

15
pwd/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,5 +1,27 @@
GLIBC_2.0 {
global:
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;
@ -19,7 +41,13 @@ GLIBC_2.0 {
__res_nameinquery; __res_ownok; __res_queriesmatch;
__res_send;
__sym_ntop; __sym_ntos; __sym_ston;
}
}
local:
*;
};
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;
}
}

View file

@ -1,9 +0,0 @@
GLIBC_2.0 {
global:
_nss_dns_gethostbyaddr_r; _nss_dns_gethostbyname2_r;
_nss_dns_gethostbyname_r; _nss_dns_getnetbyaddr_r;
_nss_dns_getnetbyname_r;
local:
*;
};

25
resource/Versions Normal file
View file

@ -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;
}
}

View file

@ -1,11 +1,8 @@
GLIBC_2.1 {
global:
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;
local:
*;
};
}
}

16
setjmp/Versions Normal file
View file

@ -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;
}
}

27
shadow/Versions Normal file
View file

@ -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;
}
}

44
signal/Versions Normal file
View file

@ -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;
}
}

35
socket/Versions Normal file
View file

@ -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;
}
}

35
stdio-common/Versions Normal file
View file

@ -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;
}
}

6
stdio/Versions Normal file
View file

@ -0,0 +1,6 @@
libc {
GLIBC_2.0 {
# more or less standard functions
__fillbf; __flshfp;
}
}

86
stdlib/Versions Normal file
View file

@ -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;
}
}

15
streams/Versions Normal file
View file

@ -0,0 +1,15 @@
libc {
GLIBC_2.1 {
# f*
fattach; fdetach;
# g*
getmsg; getpmsg;
# i*
isastream;
# p*
putmsg; putpmsg;
}
}

53
string/Versions Normal file
View file

@ -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;
}
}

99
sunrpc/Versions Normal file
View file

@ -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;
}
}

7
sysdeps/alpha/Versions Normal file
View file

@ -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;
}
}

View file

@ -0,0 +1,6 @@
libc {
GLIBC_2.0 {
# functions used in other libraries
__ieee_get_fp_control; __ieee_set_fp_control;
}
}

View file

@ -53,8 +53,8 @@ __backtrace_symbols (array, size)
"<fct-name>(<sym-name>)[+offset]. */
total += (strlen (info[cnt].dli_fname ?: "")
+ (info[cnt].dli_sname
? strlen (info[cnt].dli_sname) + 2
: 0)
? strlen (info[cnt].dli_sname) + 3
: 1)
+ WORD_WIDTH + 6);
else
total += 6 + WORD_WIDTH;

6
sysdeps/i386/Versions Normal file
View file

@ -0,0 +1,6 @@
libc {
GLIBC_2.1 {
# global variable
_fp_hw;
}
}

5
sysdeps/sparc/Versions Normal file
View file

@ -0,0 +1,5 @@
libc {
GLIBC_2.0 {
.div; .mul; .rem; .udiv; .umul; .urem;
}
}

View file

@ -0,0 +1,5 @@
libc {
GLIBC_2.0 {
sysinfo;
}
}

View file

@ -0,0 +1,76 @@
libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__cmsg_nxthdr;
# functions used in other libraries
__clone;
# b*
bdflush;
# c*
clone; create_module;
# d*
delete_module;
# g*
get_kernel_syms; getresgid; getresuid;
# i*
init_module;
# k*
klogctl;
# l*
llseek;
# m*
mremap;
# n*
nfsservctl;
# p*
personality; prctl;
# q*
query_module; quotactl;
# r*
reboot;
# s*
setfsgid; setfsuid;
# s*
setresgid; setresuid; shutdown; swapoff; swapon; sysctl;
# u*
umount; uselib;
}
GLIBC_2.1 {
# 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;
# New errlist.
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
# chown interface change.
chown;
# Change in pthread_attr_t.
pthread_attr_init;
# c*
capget; capset;
}
}

View file

@ -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;
}
}

View file

@ -1,5 +1,5 @@
/* Determine various system internal values, Linux version.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -62,7 +62,7 @@ get_proc_path (char *buffer, size_t bufsize)
series to add this, though.
One possibility to implement it for systems using Linux 2.0 is to
examine the pseudo file /proc/meminfo. Here we have one entry for
examine the pseudo file /proc/cpuinfo. Here we have one entry for
each processor.
But not all systems have support for the /proc filesystem. If it

View file

@ -0,0 +1,7 @@
libc {
GLIBC_2.0 {
ioperm; iopl;
vm86;
}
}

View file

@ -0,0 +1,9 @@
libc {
GLIBC_2.0 {
# c*
cachectl; cacheflush;
# s*
sysmips;
}
}

12
sysvipc/Versions Normal file
View file

@ -0,0 +1,12 @@
libc {
GLIBC_2.0 {
# f*
ftok;
# m*
msgctl; msgget; msgrcv; msgsnd;
# s*
semctl; semget; semop; shmat; shmctl; shmdt; shmget;
}
}

18
termios/Versions Normal file
View file

@ -0,0 +1,18 @@
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*
tcdrain; tcflow; tcflush; tcgetattr; tcgetpgrp; tcsendbreak; tcsetattr;
tcsetpgrp;
}
GLIBC_2.1 {
# t*
tcgetsid;
}
}

52
time/Versions Normal file
View file

@ -0,0 +1,52 @@
libc {
GLIBC_2.0 {
# global variables
__timezone; __daylight; __tzname;
# functions with special/multiple interfaces
__adjtimex;
# functions used in other libraries
__gmtime_r; __gettimeofday;
# variables in normal name space
daylight; timezone; tzname;
# a*
adjtime; adjtimex; asctime; asctime_r;
# c*
clock; ctime; ctime_r;
# d*
difftime; dysize;
# f*
ftime;
# g*
getitimer; gettimeofday; gmtime; gmtime_r;
# l*
localtime; localtime_r;
# m*
mktime;
# s*
setitimer; settimeofday; stime; strftime; strptime;
# t*
time; timegm; timelocal; tzset;
}
GLIBC_2.1 {
# variables in normal name space
getdate_err;
# g*
getdate; getdate_r; getitimer;
# s*
strfxtime;
}
}

105
versions.awk Normal file
View file

@ -0,0 +1,105 @@
# Combine version map fragments into version files for the generated
# shared object.
# (C) Copyright 1998 Free Software Foundation, Inc.
# Written by Ulrich Drepper <drepper@cygnus.com>, 1998.
# Read definitions for the versions.
BEGIN {
nlibs=0;
while (getline < "Versions.def") {
if (/^[a-zA-Z_]+ {/) {
libs[$1] = 1;
curlib = $1;
while (getline < "Versions.def" && ! /^}/) {
if (NF > 1) {
versions[$1] = 1;
derived[curlib, $1] = (" " $2);
for (n = 3; n <= NF; ++n) {
derived[curlib, $1] = sprintf("%s, %s", derived[curlib, $1], $n);
}
} else {
versions[$1] = 1;
}
}
}
}
close("Versions.def");
tmpfile = (buildroot "/Versions.tmp");
sort = ("sort -n >" tmpfile);
}
# Remove comment lines.
/^ *#/ {
next;
}
# This matches the beginning of the version information for a new library.
/^[a-zA-Z_]+/ {
actlib = $1;
if (libs[$1] != 1) {
printf("no versions defined for %s\n", $1);
exit 1;
}
next;
}
# This matches the beginning of a new version for the current library.
/^ [A-Za-z_]/ {
actver = $1;
if (versions[$1] != 1) {
printf("version %s not defined\n", $1);
exit 1;
}
next;
}
# This matches lines with names to be added to the current version in the
# current library. This is the only place where we print something to
# the intermediate file.
/^ / {
printf("%s %s %s\n", actlib, actver, $0) | sort;
}
function closeversion(name) {
if (firstinfile) {
printf(" local:\n *;\n") > outfile;
firstinfile = 0;
}
printf("}%s;\n", derived[oldlib, name]) > outfile;
}
# Now print the accumulated information.
END {
close(sort);
oldlib="";
oldver="";
while(getline < tmpfile) {
if ($1 != oldlib) {
if (oldlib != "") {
closeversion(oldver);
oldver = "";
close(outfile);
}
oldlib = $1;
outfile = (buildroot oldlib ".map");
firstinfile = 1;
}
if ($2 != oldver) {
if (oldver != "") {
closeversion(oldver);
}
printf("%s {\n global:\n", $2) > outfile;
oldver = $2;
}
printf(" ") > outfile;
for (n = 3; n <= NF; ++n) {
printf(" %s", $n) > outfile;
}
printf("\n") > outfile;
}
closeversion(oldver);
close(outfile);
rm tmpfile;
}

23
wcsmbs/Versions Normal file
View file

@ -0,0 +1,23 @@
libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__wcsto*_internal;
# b*
btowc;
# w*
wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
wcstod; wcstof; wcstok; wcstol; wcstold; wcstoq; wcstoul;
wcstouq; wcswidth; wcsxfrm; wctob;
wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
}
GLIBC_2.1 {
# w*
wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
}
}

20
wctype/Versions Normal file
View file

@ -0,0 +1,20 @@
libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__iswctype;
# i*
iswalnum; iswalpha; iswcntrl; iswctype; iswdigit; iswgraph; iswlower;
iswprint; iswpunct; iswspace; iswupper; iswxdigit;
# t*
towctrans; towlower; towupper;
# w*
wctrans; wctype; wcwidth;
}
GLIBC_2.1 {
# i*
iswblank;
}
}