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 | |
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')
30 files changed, 86 insertions, 33 deletions
diff --git a/sysdeps/generic/fcntl.c b/sysdeps/generic/fcntl.c index 6bc216cca6..aff3e84503 100644 --- a/sysdeps/generic/fcntl.c +++ b/sysdeps/generic/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 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 <errno.h> #include <fcntl.h> +#undef __fcntl + /* Perform file control operations on FD. */ int __fcntl (fd, cmd) diff --git a/sysdeps/generic/s_ldexp.c b/sysdeps/generic/s_ldexp.c index 12c336fad4..20c444f7db 100644 --- a/sysdeps/generic/s_ldexp.c +++ b/sysdeps/generic/s_ldexp.c @@ -25,9 +25,9 @@ static char rcsid[] = "$NetBSD: s_ldexp.c,v 1.6 1995/05/10 20:47:40 jtc Exp $"; double value; int exp; #endif { - if(!__finite(value)||value==0.0) return value; + if(!INTUSE(__finite)(value)||value==0.0) return value; value = __scalbn(value,exp); - if(!__finite(value)||value==0.0) __set_errno (ERANGE); + if(!INTUSE(__finite)(value)||value==0.0) __set_errno (ERANGE); return value; } weak_alias (__ldexp, ldexp) diff --git a/sysdeps/generic/s_ldexpf.c b/sysdeps/generic/s_ldexpf.c index 1ecbe8346b..07f0c9ecff 100644 --- a/sysdeps/generic/s_ldexpf.c +++ b/sysdeps/generic/s_ldexpf.c @@ -28,9 +28,10 @@ static char rcsid[] = "$NetBSD: s_ldexpf.c,v 1.3 1995/05/10 20:47:42 jtc Exp $"; float value; int exp; #endif { - if(!__finitef(value)||value==(float)0.0) return value; + if(!INTUSE(__finitef)(value)||value==(float)0.0) return value; value = __scalbnf(value,exp); - if(!__finitef(value)||value==(float)0.0) __set_errno (ERANGE); + if(!INTUSE(__finitef)(value)||value==(float)0.0) __set_errno (ERANGE); return value; } +INTDEF(__ldexpf) weak_alias (__ldexpf, ldexpf) diff --git a/sysdeps/generic/s_ldexpl.c b/sysdeps/generic/s_ldexpl.c index 123a6b3b58..a5603988f4 100644 --- a/sysdeps/generic/s_ldexpl.c +++ b/sysdeps/generic/s_ldexpl.c @@ -29,9 +29,9 @@ static char rcsid[] = "$NetBSD: $"; long double value; int exp; #endif { - if(!__finitel(value)||value==0.0) return value; + if(!INTUSE(__finitel)(value)||value==0.0) return value; value = __scalbnl(value,exp); - if(!__finitel(value)||value==0.0) __set_errno (ERANGE); + if(!INTUSE(__finitel)(value)||value==0.0) __set_errno (ERANGE); return value; } weak_alias (__ldexpl, ldexpl) diff --git a/sysdeps/i386/fpu/s_finite.S b/sysdeps/i386/fpu/s_finite.S index 63c766a950..52359acdc2 100644 --- a/sysdeps/i386/fpu/s_finite.S +++ b/sysdeps/i386/fpu/s_finite.S @@ -12,4 +12,5 @@ ENTRY(__finite) shrl $31, %eax ret END (__finite) +strong_alias(__finite, __finite_internal) weak_alias (__finite, finite) diff --git a/sysdeps/i386/fpu/s_finitef.S b/sysdeps/i386/fpu/s_finitef.S index dabb71a115..98c6c59c00 100644 --- a/sysdeps/i386/fpu/s_finitef.S +++ b/sysdeps/i386/fpu/s_finitef.S @@ -12,4 +12,5 @@ ENTRY(__finitef) shrl $31,%eax ret END (__finitef) +strong_alias(__finitef, __finitef_internal) weak_alias (__finitef, finitef) diff --git a/sysdeps/i386/fpu/s_finitel.S b/sysdeps/i386/fpu/s_finitel.S index acc5ad4cd0..b473443a04 100644 --- a/sysdeps/i386/fpu/s_finitel.S +++ b/sysdeps/i386/fpu/s_finitel.S @@ -11,4 +11,5 @@ ENTRY(__finitel) shrl $31, %eax ret END (__finitel) +strong_alias(__finitel, __finitel_internal) weak_alias (__finitel, finitel) diff --git a/sysdeps/ieee754/dbl-64/s_finite.c b/sysdeps/ieee754/dbl-64/s_finite.c index b12ff42360..2317f4a105 100644 --- a/sysdeps/ieee754/dbl-64/s_finite.c +++ b/sysdeps/ieee754/dbl-64/s_finite.c @@ -22,6 +22,8 @@ static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $"; #include "math.h" #include "math_private.h" +#undef __finite + #ifdef __STDC__ int __finite(double x) #else @@ -33,6 +35,7 @@ static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $"; GET_HIGH_WORD(hx,x); return (int)((u_int32_t)((hx&0x7fffffff)-0x7ff00000)>>31); } +INTDEF(__finite) weak_alias (__finite, finite) #ifdef NO_LONG_DOUBLE strong_alias (__finite, __finitel) diff --git a/sysdeps/ieee754/flt-32/s_finitef.c b/sysdeps/ieee754/flt-32/s_finitef.c index baafc31aec..74019c763e 100644 --- a/sysdeps/ieee754/flt-32/s_finitef.c +++ b/sysdeps/ieee754/flt-32/s_finitef.c @@ -8,7 +8,7 @@ * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice + * software is freely granted, provided that this notice * is preserved. * ==================================================== */ @@ -25,6 +25,8 @@ static char rcsid[] = "$NetBSD: s_finitef.c,v 1.4 1995/05/10 20:47:18 jtc Exp $" #include "math.h" #include "math_private.h" +#undef __finitef + #ifdef __STDC__ int __finitef(float x) #else @@ -36,4 +38,5 @@ static char rcsid[] = "$NetBSD: s_finitef.c,v 1.4 1995/05/10 20:47:18 jtc Exp $" GET_FLOAT_WORD(ix,x); return (int)((u_int32_t)((ix&0x7fffffff)-0x7f800000)>>31); } +INTDEF(__finitef) weak_alias (__finitef, finitef) diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c index dd176c1e7a..a2372dc8d9 100644 --- a/sysdeps/ieee754/ldbl-128/s_finitel.c +++ b/sysdeps/ieee754/ldbl-128/s_finitel.c @@ -25,6 +25,8 @@ static char rcsid[] = "$NetBSD: $"; #include "math.h" #include "math_private.h" +#undef __finitel + #ifdef __STDC__ int __finitel(long double x) #else @@ -37,4 +39,5 @@ static char rcsid[] = "$NetBSD: $"; return (int)((u_int64_t)((hx&0x7fffffffffffffffLL) -0x7fff000000000000LL)>>63); } +INTDEF(__finitel) weak_alias (__finitel, finitel) diff --git a/sysdeps/ieee754/ldbl-96/s_finitel.c b/sysdeps/ieee754/ldbl-96/s_finitel.c index 6e444e90d0..3bbb21a2bb 100644 --- a/sysdeps/ieee754/ldbl-96/s_finitel.c +++ b/sysdeps/ieee754/ldbl-96/s_finitel.c @@ -26,6 +26,8 @@ static char rcsid[] = "$NetBSD: $"; #include "math.h" #include "math_private.h" +#undef __finitel + #ifdef __STDC__ int __finitel(long double x) #else @@ -37,4 +39,5 @@ static char rcsid[] = "$NetBSD: $"; GET_LDOUBLE_EXP(exp,x); return (int)((u_int32_t)((exp&0x7fff)-0x7fff)>>31); } +INTDEF(__finitel) weak_alias (__finitel, finitel) diff --git a/sysdeps/mach/hurd/chown.c b/sysdeps/mach/hurd/chown.c index 5c0d8a05ec..cab26fc419 100644 --- a/sysdeps/mach/hurd/chown.c +++ b/sysdeps/mach/hurd/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991,1992,1994,1995,1997,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 @@ -39,4 +39,5 @@ __chown (file, owner, group) return 0; } +INTDEF(__chown) weak_alias (__chown, chown) diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c index 178e335eca..30883f65ae 100644 --- a/sysdeps/mach/hurd/connect.c +++ b/sysdeps/mach/hurd/connect.c @@ -24,6 +24,8 @@ #include <sys/un.h> #include <hurd/ifsock.h> +#undef __connect + /* Open a connection on socket FD to peer at ADDR (which LEN bytes long). For connectionless socket types, just set the default address to send to and the only address from which to accept transmissions. @@ -72,4 +74,5 @@ __connect (int fd, __CONST_SOCKADDR_ARG addrarg, socklen_t len) return err ? __hurd_dfail (fd, err) : 0; } +INTDEF(__connect) weak_alias (__connect, connect) diff --git a/sysdeps/mach/hurd/dup2.c b/sysdeps/mach/hurd/dup2.c index 6038e87fd9..64d69d9af1 100644 --- a/sysdeps/mach/hurd/dup2.c +++ b/sysdeps/mach/hurd/dup2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 94, 95, 97, 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 @@ -22,6 +22,8 @@ #include <hurd.h> #include <hurd/fd.h> +#undef __dup2 + /* Duplicate FD to FD2, closing the old FD2 and making FD2 be open on the same file as FD is. Return FD2 or -1. */ @@ -132,4 +134,5 @@ __dup2 (fd, fd2) return fd2; } +INTDEF(__dup2) weak_alias (__dup2, dup2) diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index 3b4a0375cd..9c03b3cbc2 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,93,94,95,96,97,99,2000 Free Software Foundation, Inc. +/* Copyright (C) 1992-1997,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 @@ -23,6 +23,8 @@ #include <stdarg.h> #include <sys/file.h> /* XXX for LOCK_* */ +#undef __fcntl + /* Perform file control operations on FD. */ int diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c index 635110a9cb..b730b344f3 100644 --- a/sysdeps/mach/hurd/fork.c +++ b/sysdeps/mach/hurd/fork.c @@ -27,6 +27,8 @@ #include <assert.h> #include "hurdmalloc.h" /* XXX */ +#undef __fork + /* Things that want to be locked while forking. */ symbol_set_declare (_hurd_fork_locks) @@ -675,4 +677,5 @@ __fork (void) return err ? __hurd_fail (err) : pid; } +INTDEF(__fork) weak_alias (__fork, fork) diff --git a/sysdeps/posix/dup2.c b/sysdeps/posix/dup2.c index 49a8e57ea1..bc8d422831 100644 --- a/sysdeps/posix/dup2.c +++ b/sysdeps/posix/dup2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 95, 96, 97, 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 @@ -21,6 +21,8 @@ #include <limits.h> #include <unistd.h> +#undef __dup2 + /* Duplicate FD to FD2, closing the old FD2 and making FD2 be open the same file as FD is. Return FD2 or -1. */ @@ -57,4 +59,5 @@ __dup2 (fd, fd2) return fcntl (fd, F_DUPFD, fd2); } +INTDEF(__dup2) weak_alias (__dup2, dup2) 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 |