1998-07-03 06:51:40 +08:00
|
|
|
libc {
|
|
|
|
GLIBC_2.0 {
|
|
|
|
# global variables
|
|
|
|
___brk_addr; __curbrk; __progname; __progname_full;
|
|
|
|
|
|
|
|
# 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;
|
|
|
|
|
Update.
1998-07-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (+sysdep-tsrcs): Add Versions.
1998-07-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Versions: Remove __log1p, __atan2, __fe_dfl_env,
__fe_enabled_env, __fe_nonieee_env and __fe_nomask_env.
* sysdeps/powerpc/Versions: New file.
* csu/Versions: Remove brk, sbrk, environ, __environ, _environ
and __errno_location.
* misc/Versions: Add brk and sbrk.
* posix/Versions: Add environ, __environ and _environ.
* sysdeps/unix/sysv/linux/Versions: Add __errno_location.
1998-07-10 11:58 Ulrich Drepper <drepper@cygnus.com>
* Makerules [no_defs]: Avoid dependency for loading sysd-versions.
Patch by Zack Weinberg.
1998-07-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/annexc.c (errno_maybe): EACCESS->EACCES.
(signal_maybe): Remove duplicate entry SIGEV_SIGNAL.
(mman_maybe): Remove duplicates MS_ASYNC, MS_INVALIDATE.
* signal/signal.h: Define pid_t also for __USE_XOPEN.
1998-07-11 04:45:28 +08:00
|
|
|
# b*
|
|
|
|
brk;
|
|
|
|
|
1998-07-03 06:51:40 +08:00
|
|
|
# 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*
|
1998-10-24 09:31:41 +08:00
|
|
|
readv; reboot; remque; revoke;
|
1998-07-03 06:51:40 +08:00
|
|
|
|
|
|
|
# s*
|
Update.
1998-07-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (+sysdep-tsrcs): Add Versions.
1998-07-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Versions: Remove __log1p, __atan2, __fe_dfl_env,
__fe_enabled_env, __fe_nonieee_env and __fe_nomask_env.
* sysdeps/powerpc/Versions: New file.
* csu/Versions: Remove brk, sbrk, environ, __environ, _environ
and __errno_location.
* misc/Versions: Add brk and sbrk.
* posix/Versions: Add environ, __environ and _environ.
* sysdeps/unix/sysv/linux/Versions: Add __errno_location.
1998-07-10 11:58 Ulrich Drepper <drepper@cygnus.com>
* Makerules [no_defs]: Avoid dependency for loading sysd-versions.
Patch by Zack Weinberg.
1998-07-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/annexc.c (errno_maybe): EACCESS->EACCES.
(signal_maybe): Remove duplicate entry SIGEV_SIGNAL.
(mman_maybe): Remove duplicates MS_ASYNC, MS_INVALIDATE.
* signal/signal.h: Define pid_t also for __USE_XOPEN.
1998-07-11 04:45:28 +08:00
|
|
|
sbrk; select; setdomainname; setfsent; sethostent; sethostid; sethostname;
|
1998-07-03 06:51:40 +08:00
|
|
|
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;
|
|
|
|
}
|
1999-07-07 00:26:03 +08:00
|
|
|
GLIBC_2.2 {
|
1999-10-04 13:30:05 +08:00
|
|
|
# g*
|
|
|
|
getloadavg;
|
|
|
|
|
1999-07-07 00:26:03 +08:00
|
|
|
# m*
|
2000-09-26 17:57:34 +08:00
|
|
|
mincore; mkdtemp; mkstemp64;
|
2000-04-14 13:45:32 +08:00
|
|
|
|
|
|
|
# p*
|
|
|
|
posix_madvise;
|
1999-07-07 00:26:03 +08:00
|
|
|
}
|
2002-08-23 17:29:27 +08:00
|
|
|
GLIBC_2.3 {
|
|
|
|
# f*
|
|
|
|
fgetxattr; flistxattr; fremovexattr; fsetxattr;
|
2002-08-27 10:10:01 +08:00
|
|
|
futimes;
|
2002-08-23 17:29:27 +08:00
|
|
|
|
|
|
|
# g*
|
|
|
|
getxattr;
|
|
|
|
|
|
|
|
# l*
|
|
|
|
listxattr;
|
|
|
|
lgetxattr; llistxattr; lremovexattr; lsetxattr;
|
2002-08-27 10:10:01 +08:00
|
|
|
lutimes;
|
2002-08-23 17:29:27 +08:00
|
|
|
|
|
|
|
# r*
|
|
|
|
removexattr;
|
|
|
|
|
|
|
|
# s*
|
|
|
|
setxattr;
|
|
|
|
}
|
2003-03-03 18:05:49 +08:00
|
|
|
GLIBC_2.3.3 {
|
|
|
|
remap_file_pages;
|
|
|
|
}
|
2005-07-30 14:00:43 +08:00
|
|
|
GLIBC_2.4 {
|
* io/Makefile (routines): Add fstatat, fstatat64, fxstatat, fxstatat64,
fchownat, and unlinkat.
(static-only-routines): Add fstatat and fstatat64.
(tests): Add tst-unlinkat, tst-fstatat, tst-futimesat, tst-renameat,
and tst-fchownat.
* io/Versions [GLIBC_2.4]: Add fchownat, __fxstatat, __fxstatat64,
and unlinkat.
* io/fcntl.h: Define AT_FDCWD, AT_SYMLINK_NOFOLLOW, and AT_REMOVEDIR.
* io/fstatat.c: New file.
* io/fstatat64.c: New file.
* io/sys/stat.h: Declare fstatat, fstatat64, __fxstatat, __fxstatat64
and define fstatat and fstatat64 inline functions.
* libio/stdio.h: Declare renameat.
* misc/Makefile (routines): Add futimesat.
* misc/Versions [GLIBC_2.4]: Add futimesat.
* posix/unistd.h: Declare fchownat and unlinkat.
* stdio-common/Makefile (routines): Add renameat.
* stdio-common/Versions [GLIBC_2.4]: Add renameat.
* sysdeps/generic/fchownat.c: New file.
* sysdeps/generic/futimesat.c: New file.
* sysdeps/generic/fxstatat.c: New file.
* sysdeps/generic/fxstatat64.c: New file.
* sysdeps/generic/renameat.c: New file.
* sysdeps/generic/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/fchownat.c: New file.
* sysdeps/unix/sysv/linux/futimesat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/fxstatat64.c: New file.
* sysdeps/unix/sysv/linux/renameat.c: New file.
* sysdeps/unix/sysv/linux/unlinkat.c: New file.
* sysdeps/unix/sysv/linux/alpha/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/i386/fchownat.c: New file.
* sysdeps/unix/sysv/linux/i386/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchownat.c: New file.
* sysdeps/unix/sysv/linux/m68k/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fchownat.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sh/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sh/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat64.c: New file.
* time/sys/time.h: Declare futimesat.
* include/fcntl.h: Declare __atfct_seterrno.
* sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): New function.
Split out from openat code and called.
(do_test): Allow openat to fail with ENOSYS. Handle AT_FDCWD.
* sysdeps/generic/openat.c: Handle AT_FDCWD.
* sysdeps/generic/openat64.c: Likewise.
* io/tst-unlinkat.c: New file.
* io/tst-fstatat.c: New file.
* io/tst-futimesat.c: New file.
* io/tst-renameat.c: New file.
* io/tst-fchownat.c: New file.
* io/tst-openat.c: Don't fail if openat is not implemented.
* sysdeps/unix/sysv/linux/powerpc/chown.c: Don't provide backward
compatibility code if new kernel is guaranteed.
* time/sys/time.h: Add a few nonnull attributes.
2005-11-12 04:02:07 +08:00
|
|
|
futimesat;
|
2005-07-30 14:00:43 +08:00
|
|
|
__syslog_chk; __vsyslog_chk;
|
|
|
|
}
|
2007-08-11 10:48:28 +08:00
|
|
|
GLIBC_2.7 {
|
|
|
|
mkostemp; mkostemp64;
|
|
|
|
}
|
2009-04-04 03:57:16 +08:00
|
|
|
GLIBC_2.10 {
|
|
|
|
preadv; preadv64; pwritev; pwritev64;
|
|
|
|
}
|
2009-10-30 15:11:07 +08:00
|
|
|
GLIBC_2.11 {
|
2009-10-30 23:02:30 +08:00
|
|
|
mkstemps; mkstemps64; mkostemps; mkostemps64;
|
2009-10-30 15:11:07 +08:00
|
|
|
}
|
2011-04-02 01:08:28 +08:00
|
|
|
GLIBC_2.14 {
|
|
|
|
syncfs;
|
|
|
|
}
|
2012-05-21 01:34:00 +08:00
|
|
|
GLIBC_2.16 {
|
|
|
|
__getauxval; getauxval;
|
|
|
|
}
|
2015-08-17 23:28:46 +08:00
|
|
|
GLIBC_2.23 {
|
|
|
|
# SHLIB_COMPAT(GLIBC_2_0, GLIBC_2_23) used in regexp.c
|
|
|
|
}
|
Minimize sysdeps code involved in defining major/minor/makedev.
Presently sys/sysmacros.h is entirely defined in sysdeps. This would
mean that the deprecation logic coming up in the next patch would have
to be written twice (in generic/ and unix/sysv/linux/). To avoid that,
hoist all but the unavoidably system-dependent logic to misc/, leaving a
bits/ header behind. This also promotes the Linux-specific encoding of
dev_t, which accommodates 32-bit major and minor numbers in a 64-bit dev_t,
to generic, as glibc's dev_t is always 64 bits wide.
The former Linux implementation used inline functions to avoid evaluating
arguments more than once. After this change, all platforms use inline
functions, which means that three new symbols are added to the generic ABI.
(These symbols are in the user namespace, which is how they have always
been on Linux. They begin with "gnu_dev_", so collisions with user code
are pretty unlikely.)
New ports henceforth need only provide a bits/sysmacros.h defining
internal macros __SYSMACROS_{DECLARE,DEFINE}_{MAJOR,MINOR,MAKEDEV}.
This is only necessary if the kernel encoding is incompatible with
the now-generic encoding (for instance, it would be necessary for
FreeBSD).
While I was at it, I added a basic round-trip test for these functions.
* sysdeps/generic/sys/sysmacros.h: Delete file.
* sysdeps/unix/sysv/linux/makedev.c: Delete file.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Move file ...
* bits/sysmacros.h: ... here; this encoding is now the generic
encoding. Now defines only the following macros:
__SYSMACROS_DECLARE_MAJOR, __SYSMACROS_DEFINE_MAJOR,
__SYSMACROS_DECLARE_MINOR, __SYSMACROS_DEFINE_MINOR,
__SYSMACROS_DECLARE_MAKEDEV, __SYSMACROS_DEFINE_MAKEDEV.
* misc/sys/sysmacros.h, misc/makedev.c: New files that use
bits/sysmacros.h and the above new macros to generate the
public implementations of major, minor, and makedev.
* misc/tst-makedev.c: New test.
* include/sys/sysmacros.h: New wrapper.
* misc/Makefile (headers): Add sys/sysmacros.h, bits/sysmacros.h.
(routines): Add makedev.
(tests): Add tst-makedev.
* misc/Versions [GLIBC_2.25]: Add gnu_dev_major, gnu_dev_minor,
gnu_dev_makedev.
* posix/Makefile (headers): Remove sys/sysmacros.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove makedev.
* sysdeps/arm/nacl/libc.abilist: Add GLIBC_2.25,
gnu_dev_major, gnu_dev_makedev, gnu_dev_minor.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist
* sysdeps/unix/sysv/linux/alpha/libc.abilist
* sysdeps/unix/sysv/linux/arm/libc.abilist
* sysdeps/unix/sysv/linux/hppa/libc.abilist
* sysdeps/unix/sysv/linux/i386/libc.abilist
* sysdeps/unix/sysv/linux/ia64/libc.abilist
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
* sysdeps/unix/sysv/linux/microblaze/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
* sysdeps/unix/sysv/linux/nios2/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
* sysdeps/unix/sysv/linux/sh/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist:
Add GLIBC_2.25.
2016-04-29 00:29:55 +08:00
|
|
|
GLIBC_2.25 {
|
|
|
|
gnu_dev_major; gnu_dev_minor; gnu_dev_makedev;
|
|
|
|
}
|
2012-10-05 07:31:43 +08:00
|
|
|
GLIBC_PRIVATE {
|
|
|
|
__madvise;
|
2013-01-15 21:36:09 +08:00
|
|
|
__mktemp;
|
2012-10-10 22:47:59 +08:00
|
|
|
__libc_ifunc_impl_list;
|
Fix sem_* tdelete, tfind, tsearch, twalk namespace (bug 18536).
The sem_* functions bring in references to tdelete, tfind, tsearch and
twalk. But the t* functions are XSI-shaded, while sem_* aren't. This
patch fixes this by using __t* instead, exporting those functions from
libc at version GLIBC_PRIVATE (since sem_* are in libpthread) and
using libc_hidden_* for the benefit of calls within libc.
Tested for x86_64 and x86 (testsuite, and comparison of disassembly of
installed stripped shared libraries). libpthread gets changes from
PLT reordering; addresses in libc change because of PLT / dynamic
symbol table changes.
[BZ #18536]
* misc/tsearch.c (__tsearch): Use libc_hidden_def.
(__tfind): Likewise.
(__tdelete): Likewise.
(__twalk): Likewise.
* misc/Versions (libc): Add __tdelete, __tfind, __tsearch and
__twalk to GLIBC_PRIVATE.
* include/search.h (__tsearch): Use libc_hidden_proto.
(__tfind): Likewise.
(__tdelete): Likewise.
(__twalk): Likewise.
* nptl/sem_close.c (sem_close): Call __twalk instead of twalk.
Call __tdelete instead of tdelete.
* nptl/sem_open.c (check_add_mapping): Call __tfind instead of
tfind. Call __tsearch instead of tsearch.
* sysdeps/sparc/sparc32/sem_open.c (check_add_mapping): Likewise.
* conform/Makefile (test-xfail-POSIX/semaphore.h/linknamespace):
Remove variable.
(test-xfail-POSIX2008/semaphore.h/linknamespace): Likewise.
2015-06-18 04:11:58 +08:00
|
|
|
__tdelete; __tfind; __tsearch; __twalk;
|
2012-10-05 07:31:43 +08:00
|
|
|
}
|
1998-07-03 06:51:40 +08:00
|
|
|
}
|