about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-09 20:36:24 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-09 20:36:24 +0000
commit6b87a5642cfdd502b0586cbd09bcd91f9021e114 (patch)
treebd742558d884f610d64baf452a5e6367f64d3911 /sysdeps/unix/sysv/linux
parent6311efee520cedd76f77c44e0eef5b39852e0c62 (diff)
downloadglibc-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/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/connect.S1
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/fcntl.c5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/chown.c17
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/chown.c4
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
7 files changed, 23 insertions, 13 deletions
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