diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-04-09 20:36:24 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-04-09 20:36:24 +0000 |
commit | 6b87a5642cfdd502b0586cbd09bcd91f9021e114 (patch) | |
tree | bd742558d884f610d64baf452a5e6367f64d3911 /sysdeps/unix | |
parent | 6311efee520cedd76f77c44e0eef5b39852e0c62 (diff) | |
download | glibc-6b87a5642cfdd502b0586cbd09bcd91f9021e114.tar.gz glibc-6b87a5642cfdd502b0586cbd09bcd91f9021e114.tar.xz glibc-6b87a5642cfdd502b0586cbd09bcd91f9021e114.zip |
Update.
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown. * sysdeps/unix/sysv/aix/chown.c: Likewise. * sysdeps/unix/grantpt.c: Use INTUSE for __chown calls. * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define __chown_internal. * sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise. * intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext. * intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE. * intl/ngettext.c: Likewise. * include/sys/socket.h: Declare __connect_internal and define __connect macro if not NOT_IN_libc. * sysdeps/mach/hurd/connect.c: Use INTDEF for __connect. * sysdeps/unix/sysv/aix/connect.c: Likewise. * sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias. * include/unistd.h: Declare __close_internal and define __close macro if not NOT_IN_libc. * libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2, WJUMP3): Add extra parenthesis to avoid expanding element names with macors like __close. * sysdeps/unix/syscalls.list: Add __close_internal alias. * include/unistd.h: Declare __dup2_internal and define __dup2 macro if not NOT_IN_libc. * sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2. * sysdeps/posix/dup2.c: Use INTDEF for __dup2. * sysdeps/unix/syscalls.list: Add __dup2_internal alias. * include/unistd.h: Declare __fork_internal and define __fork macro if not NOT_IN_libc. * sysdeps/mach/hurd/fork.c: Use INTDEF for __fork. * sysdeps/unix/sysv/aix/fork.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias. * include/stdio_ext.h: Declare __fsetlocking_internal and define __fsetlocking macro to use it if not NOT_IN_libc. * libio/__fsetlocking.c: Use INTDEF for __fsetlocking. * libio/__fbufsize.c: Correct copyright. * libio/__flbf.c: Likewise. * libio/__fpending.c: Likewise. * libio/__fpurge.c: Likewise. * libio/__freadable.c: Likewise. * libio/__freading.c: Likewise. * libio/__fsetlocking.c: Likewise. * libio/__fwritable.c: Likewise. * libio/__fwriting.c: Likewise. * include/stdio.h: Declare __asprintf_internal and define __asprintf macro to use it if not NOT_IN_libc. * stdio-common/asprintf.c: Use INTDEF for __asprintf. * include/mntent.h: Declare __setmntent_internal, __getmntent_r_internal, __endmntent_internal. Define __setmntent, __getmntent_r, and __endmntent macros to use these functions if not NOT_IN_libc. * misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and __endmntent. * include/math.h: Declare __finite_internal, __finitef_internal, and __finitel_internal. Redefine isfinite macro if in libc or libm using these functions. * sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls. * sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls. * sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls. * sysdeps/i386/fpu/s_finite.S: Define _internal alias. * sysdeps/i386/fpu/s_finitef.S: Likewise. * sysdeps/i386/fpu/s_finitel.S: Likewise. * sysdeps/ieee754/dbl-64/s_finite.c: Likewise. * sysdeps/ieee754/flt-32/s_finitef.c: Likewise. * sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise. * include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro to use this function if not NOT_IN_libc. * libio/iofdopen.c (_IO_fcntl): Use INTUSE. * sysdeps/generic/fcntl.c: Use INTDEF for __fcntl. * sysdeps/mach/hurd/fcntl.c: Likewise. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/argz.h: Declare __argz_count_internal and __argz_stringify_internal. * intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and __argz_stringify. * string/argz-count.c: Use INTDEF for __argz_count. * string/argz-stringify.c: Use INTDEF for __argz_stringify. * include/stdlib.h: Declare __cxa_atexit_internal and define __cxa_atexit macro if not NOT_IN_libc. * stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit. * dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c. * assert/assert.c: Use INTDEF for __assert_fail. * assert/__assert.c: Use INTUSE for call to __assert_fail. * include/assert.h: Declare __assert_fail_internal.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/grantpt.c | 6 | ||||
-rw-r--r-- | sysdeps/unix/syscalls.list | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/aix/chown.c | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/aix/connect.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/aix/fcntl.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/aix/fork.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/connect.S | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/chown.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/fcntl.c | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/chown.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/chown.c | 17 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-32/chown.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/syscalls.list | 2 |
13 files changed, 41 insertions, 21 deletions
diff --git a/sysdeps/unix/grantpt.c b/sysdeps/unix/grantpt.c index dad7d16b43..f24932b64b 100644 --- a/sysdeps/unix/grantpt.c +++ b/sysdeps/unix/grantpt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998. @@ -116,7 +116,7 @@ grantpt (int fd) uid = __getuid (); if (st.st_uid != uid) { - if (__chown (buf, uid, st.st_gid) < 0) + if (INTUSE(__chown) (buf, uid, st.st_gid) < 0) goto helper; } @@ -132,7 +132,7 @@ grantpt (int fd) /* Make sure the group of the device is that special group. */ if (st.st_gid != gid) { - if (__chown (buf, uid, gid) < 0) + if (INTUSE(__chown) (buf, uid, gid) < 0) goto helper; } diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list index 3c60597329..f13cfd42f0 100644 --- a/sysdeps/unix/syscalls.list +++ b/sysdeps/unix/syscalls.list @@ -6,9 +6,9 @@ chdir - chdir i:s __chdir chdir chmod - chmod i:si __chmod chmod chown - chown i:sii __chown chown chroot - chroot i:s chroot -close - close i:i __libc_close __close close +close - close i:i __libc_close __close close __close_internal dup - dup i:i __dup dup -dup2 - dup2 i:ii __dup2 dup2 +dup2 - dup2 i:ii __dup2 dup2 __dup2_internal fchdir - fchdir i:i __fchdir fchdir fcntl - fcntl i:iiF __libc_fcntl __fcntl fcntl fstatfs - fstatfs i:ip __fstatfs fstatfs diff --git a/sysdeps/unix/sysv/aix/chown.c b/sysdeps/unix/sysv/aix/chown.c index 568c26ac77..037b14b276 100644 --- a/sysdeps/unix/sysv/aix/chown.c +++ b/sysdeps/unix/sysv/aix/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,8 +18,11 @@ #include <unistd.h> +#undef __chown + int __chown (const char *file, uid_t owner, gid_t group) { return chown (file, owner, group); } +INTDEF(__chown) diff --git a/sysdeps/unix/sysv/aix/connect.c b/sysdeps/unix/sysv/aix/connect.c index 7fb636dea9..2f58be1ede 100644 --- a/sysdeps/unix/sysv/aix/connect.c +++ b/sysdeps/unix/sysv/aix/connect.c @@ -1,8 +1,11 @@ /* This is a system call. We only have to provide the wrapper. */ #include <sys/socket.h> +#undef __connect + int __connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len) { return connect (fd, addr, len); } +INTDEF(__connect) diff --git a/sysdeps/unix/sysv/aix/fcntl.c b/sysdeps/unix/sysv/aix/fcntl.c index 8c5ba154c2..43f21b6e58 100644 --- a/sysdeps/unix/sysv/aix/fcntl.c +++ b/sysdeps/unix/sysv/aix/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,6 +19,8 @@ #include <fcntl.h> #include <stdarg.h> +#undef __fcntl + extern int kfcntl (int fdes, int cmd, unsigned long int arg); int diff --git a/sysdeps/unix/sysv/aix/fork.c b/sysdeps/unix/sysv/aix/fork.c index f31f3428a9..085342b716 100644 --- a/sysdeps/unix/sysv/aix/fork.c +++ b/sysdeps/unix/sysv/aix/fork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,10 +18,12 @@ #include <unistd.h> +#undef __fork pid_t __fork (void) { return kfork (); } +INTDEF(__fork) strong_alias (__fork, fork) diff --git a/sysdeps/unix/sysv/linux/connect.S b/sysdeps/unix/sysv/linux/connect.S index d1dd69a217..2de35180fc 100644 --- a/sysdeps/unix/sysv/linux/connect.S +++ b/sysdeps/unix/sysv/linux/connect.S @@ -2,4 +2,5 @@ #define __socket __libc_connect #define NARGS 3 #include <socket.S> +strong_alias (__libc_connect, __connect_internal) weak_alias (__libc_connect, __connect) diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c index 025e58df08..a54f2b5dd3 100644 --- a/sysdeps/unix/sysv/linux/i386/chown.c +++ b/sysdeps/unix/sysv/linux/i386/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -154,10 +154,12 @@ compat_symbol (libc, _chown_is_lchown, chown, GLIBC_2_0); #endif #ifdef __NR_lchown +INTDEF2(__real_chown, __chown) strong_alias (__real_chown, _real_chown) versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1); versioned_symbol (libc, _real_chown, chown, GLIBC_2_1); #else +INTDEF2(__chown_is_lchown, __chown) strong_alias (__chown_is_lchown, __chown_is_lchown21) strong_alias (__chown_is_lchown, _chown_is_lchown21) versioned_symbol (libc, __chown_is_lchown21, __chown, GLIBC_2_1); diff --git a/sysdeps/unix/sysv/linux/i386/fcntl.c b/sysdeps/unix/sysv/linux/i386/fcntl.c index 6e4d591c58..3c013cc962 100644 --- a/sysdeps/unix/sysv/linux/i386/fcntl.c +++ b/sysdeps/unix/sysv/linux/i386/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,6 +25,8 @@ #include <sys/syscall.h> #include "../kernel-features.h" +#undef __fcntl + extern int __syscall_fcntl (int __fd, int __cmd, ...); #ifdef __NR_fcntl64 extern int __syscall_fcntl64 (int __fd, int __cmd, ...); @@ -130,6 +132,7 @@ __libc_fcntl (int fd, int cmd, ...) return -1; #endif /* __ASSUME_FCNTL64 */ } +INTDEF2(__libc_fcntl, __fcntl); weak_alias (__libc_fcntl, __fcntl) weak_alias (__libc_fcntl, fcntl) diff --git a/sysdeps/unix/sysv/linux/m68k/chown.c b/sysdeps/unix/sysv/linux/m68k/chown.c index 50e11c1aa9..f8f4b5c0af 100644 --- a/sysdeps/unix/sysv/linux/m68k/chown.c +++ b/sysdeps/unix/sysv/linux/m68k/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,4 +71,5 @@ __chown (const char *file, uid_t owner, gid_t group) return INLINE_SYSCALL (chown, 3, CHECK_STRING (file), owner, group); #endif } +INTDEF(__chown) weak_alias (__chown, chown) diff --git a/sysdeps/unix/sysv/linux/powerpc/chown.c b/sysdeps/unix/sysv/linux/powerpc/chown.c index a446277c96..23eaefa5e6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/chown.c +++ b/sysdeps/unix/sysv/linux/powerpc/chown.c @@ -1,5 +1,5 @@ /* chown() compatibility. - Copyright (C) 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -44,7 +44,7 @@ __chown (const char *file, uid_t owner, gid_t group) int loopct; int filelen; static int libc_old_chown = 0 /* -1=old linux, 1=new linux, 0=unknown */; - + if (libc_old_chown == 1) return __syscall_chown (file, owner, group); @@ -62,7 +62,7 @@ __chown (const char *file, uid_t owner, gid_t group) libc_old_chown = -1; } #endif - + err = __readlink (file, link, PATH_MAX+1); if (err == -1) { @@ -83,7 +83,7 @@ __chown (const char *file, uid_t owner, gid_t group) for (loopct = 0; loopct < 128; loopct++) { int linklen; - + if (err >= PATH_MAX+1) { errno = ENAMETOOLONG; @@ -93,13 +93,13 @@ __chown (const char *file, uid_t owner, gid_t group) link[err] = 0; /* Null-terminate string, just-in-case. */ linklen = strlen (link) + 1; - + if (link[0] == '/') memcpy (path, link, linklen); else { filelen = strlen (path); - + while (filelen > 1 && path[filelen-1] == '/') filelen--; while (filelen > 0 && path[filelen-1] != '/') @@ -113,9 +113,9 @@ __chown (const char *file, uid_t owner, gid_t group) } err = __readlink(path, link, PATH_MAX+1); - + if (err == -1) - { + { errno = old_errno; return __lchown(path, owner, group); } @@ -123,6 +123,7 @@ __chown (const char *file, uid_t owner, gid_t group) errno = ELOOP; return -1; } +INTDEF(__chown) #include <shlib-compat.h> versioned_symbol (libc, __chown, chown, GLIBC_2_1); diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/chown.c b/sysdeps/unix/sysv/linux/s390/s390-32/chown.c index 1ccf578766..64d7285f13 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/chown.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -109,10 +109,12 @@ strong_alias (__chown_is_lchown, _chown_is_lchown) compat_symbol (libc, __chown_is_lchown, __chown, GLIBC_2_0); compat_symbol (libc, _chown_is_lchown, chown, GLIBC_2_0); +INTDEF2(__real_chown, __chown) strong_alias (__real_chown, _real_chown) versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1); versioned_symbol (libc, _real_chown, chown, GLIBC_2_1); #else +INTDEF2(__real_chown, __chown) strong_alias (__real_chown, __chown) weak_alias (__real_chown, chown) #endif diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 7ca6e48c8c..e443ca60c1 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -8,7 +8,7 @@ create_module EXTRA create_module 3 create_module delete_module EXTRA delete_module 3 delete_module fdatasync - fdatasync i:i fdatasync flock - flock i:ii __flock flock -fork - fork i: __libc_fork __fork fork +fork - fork i: __libc_fork __fork fork __fork_internal get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms getegid - getegid i: __getegid getegid geteuid - geteuid i: __geteuid geteuid |