about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog22
-rw-r--r--elf/ldconfig.h1
-rw-r--r--linuxthreads/attr.c3
-rw-r--r--linuxthreads/oldsemaphore.c12
-rw-r--r--linuxthreads/pthread.c2
-rw-r--r--linuxthreads/weaks.c3
-rw-r--r--sysdeps/generic/fclrexcpt.c7
-rw-r--r--sysdeps/generic/fegetenv.c7
-rw-r--r--sysdeps/generic/fesetenv.c7
-rw-r--r--sysdeps/generic/feupdateenv.c7
-rw-r--r--sysdeps/generic/fraiseexcpt.c7
-rw-r--r--sysdeps/generic/fsetexcptflg.c7
-rw-r--r--sysdeps/mach/hurd/mips/init-first.c8
-rw-r--r--sysdeps/mach/mips/thread_state.h4
-rw-r--r--sysdeps/unix/mips/sysdep.h4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/glob.c7
-rw-r--r--sysdeps/unix/sysv/linux/arm/errlist.c8
-rw-r--r--sysdeps/unix/sysv/linux/errlist.c8
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c18
19 files changed, 93 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index b84df57865..45c727f967 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2000-04-01  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/mach/hurd/mips/init-first.c: Use SHARED instead of PIC.
+
+	* sysdeps/unix/mips/sysdep.h: Use __PIC__ instead of PIC.
+	* sysdeps/mach/mips/thread_state.h: Likewise.
+
+	* sysdeps/generic/fclrexcpt.c: Use shlib-compat macros.
+	* sysdeps/generic/fegetenv.c: Likewise.
+	* sysdeps/generic/fesetenv.c: Likewise.
+	* sysdeps/generic/feupdateenv.c: Likewise.
+	* sysdeps/generic/fraiseexcpt.c: Likewise.
+	* sysdeps/generic/fsetexcptflg.c: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/glob.c: Likewise.
+	* sysdeps/unix/sysv/linux/arm/errlist.c: Likewise.
+	* sysdeps/unix/sysv/linux/errlist.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
+
+2000-04-02  H.J. Lu  <hjl@gnu.org>
+
+	* elf/ldconfig.h (FLAG_IA64_LIB64): New. Defined.
+
 2000-04-03  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/dl-load.c (_dl_dst_substitute): Pretty print comment.
diff --git a/elf/ldconfig.h b/elf/ldconfig.h
index 3344876857..9e40714c05 100644
--- a/elf/ldconfig.h
+++ b/elf/ldconfig.h
@@ -28,6 +28,7 @@
 #define FLAG_ELF_LIBC6		0x0003
 #define FLAG_REQUIRED_MASK	0xff00
 #define FLAG_SPARC_LIB64	0x0100
+#define FLAG_IA64_LIB64		0x0200
 
 /* Declared in cache.c.  */
 extern void print_cache (const char *cache_name);
diff --git a/linuxthreads/attr.c b/linuxthreads/attr.c
index 992234aadf..966cea1203 100644
--- a/linuxthreads/attr.c
+++ b/linuxthreads/attr.c
@@ -51,7 +51,8 @@ int __pthread_attr_init_2_0(pthread_attr_t *attr)
   attr->__scope = PTHREAD_SCOPE_SYSTEM;
   return 0;
 }
-symbol_version (__pthread_attr_init_2_0, pthread_attr_init, GLIBC_2.0);
+compat_symbol (libpthread, __pthread_attr_init_2_0, pthread_attr_init,
+	       GLIBC_2_0);
 #endif
 
 int pthread_attr_destroy(pthread_attr_t *attr)
diff --git a/linuxthreads/oldsemaphore.c b/linuxthreads/oldsemaphore.c
index c6f44cfce2..52957d9a27 100644
--- a/linuxthreads/oldsemaphore.c
+++ b/linuxthreads/oldsemaphore.c
@@ -226,11 +226,11 @@ static void sem_restart_list(pthread_descr waiting)
   }
 }
 
-symbol_version (__old_sem_init, sem_init, GLIBC_2.0);
-symbol_version (__old_sem_wait, sem_wait, GLIBC_2.0);
-symbol_version (__old_sem_trywait, sem_trywait, GLIBC_2.0);
-symbol_version (__old_sem_post, sem_post, GLIBC_2.0);
-symbol_version (__old_sem_getvalue, sem_getvalue, GLIBC_2.0);
-symbol_version (__old_sem_destroy, sem_destroy, GLIBC_2.0);
+compat_symbol (libpthread, __old_sem_init, sem_init, GLIBC_2_0);
+compat_symbol (libpthread, __old_sem_wait, sem_wait, GLIBC_2_0);
+compat_symbol (libpthread, __old_sem_trywait, sem_trywait, GLIBC_2_0);
+compat_symbol (libpthread, __old_sem_post, sem_post, GLIBC_2_0);
+compat_symbol (libpthread, __old_sem_getvalue, sem_getvalue, GLIBC_2_0);
+compat_symbol (libpthread, __old_sem_destroy, sem_destroy, GLIBC_2_0);
 
 #endif
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c
index f8df39db02..c0658cd3c2 100644
--- a/linuxthreads/pthread.c
+++ b/linuxthreads/pthread.c
@@ -541,7 +541,7 @@ int __pthread_create_2_0(pthread_t *thread, const pthread_attr_t *attr,
     }
   return __pthread_create_2_1 (thread, attr, start_routine, arg);
 }
-symbol_version (__pthread_create_2_0, pthread_create, GLIBC_2.0);
+compat_symbol (libpthread, __pthread_create_2_0, pthread_create, GLIBC_2_0);
 #endif
 
 /* Simple operations on thread identifiers */
diff --git a/linuxthreads/weaks.c b/linuxthreads/weaks.c
index a91f5cfb02..f6705f1108 100644
--- a/linuxthreads/weaks.c
+++ b/linuxthreads/weaks.c
@@ -32,7 +32,8 @@ versioned_symbol (libpthread, __libc_pthread_attr_init_2_1, pthread_attr_init,
 		  GLIBC_2_1);
 #if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
 weak_alias (__pthread_return_0, __libc_pthread_attr_init_2_0)
-symbol_version (__libc_pthread_attr_init_2_, pthread_attr_init, GLIBC_2.0);
+compat_symbol (libpthread, __libc_pthread_attr_init_2_, pthread_attr_init,
+	       GLIBC_2_0);
 #endif
 weak_alias (__pthread_return_0, pthread_attr_destroy)
 weak_alias (__pthread_return_0, pthread_attr_setdetachstate)
diff --git a/sysdeps/generic/fclrexcpt.c b/sysdeps/generic/fclrexcpt.c
index db5c566a00..b143168593 100644
--- a/sysdeps/generic/fclrexcpt.c
+++ b/sysdeps/generic/fclrexcpt.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 __feclearexcept (int excepts)
@@ -26,9 +27,11 @@ __feclearexcept (int excepts)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__feclearexcept, __old_feclearexcept)
-symbol_version (__old_feclearexcept, feclearexcept, GLIBC_2.1);
-default_symbol_version (__feclearexcept, feclearexcept, GLIBC_2.2);
+compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
 
 stub_warning (feclearexcept)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/fegetenv.c b/sysdeps/generic/fegetenv.c
index 3d0576339d..4b30754249 100644
--- a/sysdeps/generic/fegetenv.c
+++ b/sysdeps/generic/fegetenv.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 fegetenv (fenv_t *envp)
@@ -26,9 +27,11 @@ fegetenv (fenv_t *envp)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__fegetenv, __old_fegetenv)
-symbol_version (__old_fegetenv, fegetenv, GLIBC_2.1);
-default_symbol_version (__fegetenv, fegetenv, GLIBC_2.2);
+compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
 
 stub_warning (fegetenv)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/fesetenv.c b/sysdeps/generic/fesetenv.c
index a9bbb0a417..ce5916aa13 100644
--- a/sysdeps/generic/fesetenv.c
+++ b/sysdeps/generic/fesetenv.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 __fesetenv (const fenv_t *envp)
@@ -26,9 +27,11 @@ __fesetenv (const fenv_t *envp)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__fesetenv, __old_fesetenv)
-symbol_version (__old_fesetenv, fesetenv, GLIBC_2.1);
-default_symbol_version (__fesetenv, fesetenv, GLIBC_2.2);
+compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
 
 stub_warning (fesetenv)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/feupdateenv.c b/sysdeps/generic/feupdateenv.c
index 8589646a19..8537e2a1f7 100644
--- a/sysdeps/generic/feupdateenv.c
+++ b/sysdeps/generic/feupdateenv.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 __feupdateenv (const fenv_t *envp)
@@ -26,9 +27,11 @@ __feupdateenv (const fenv_t *envp)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__feupdateenv, __old_feupdateenv)
-symbol_version (__old_feupdateenv, feupdateenv, GLIBC_2.1);
-default_symbol_version (__feupdateenv, feupdateenv, GLIBC_2.2);
+compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
 
 stub_warning (feupdateenv)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/fraiseexcpt.c b/sysdeps/generic/fraiseexcpt.c
index f4836117f6..283206ee9c 100644
--- a/sysdeps/generic/fraiseexcpt.c
+++ b/sysdeps/generic/fraiseexcpt.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 __feraiseexcept (int excepts)
@@ -26,9 +27,11 @@ __feraiseexcept (int excepts)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__feraiseexcept, __old_feraiseexcept)
-symbol_version (__old_feraiseexcept, feraiseexcept, GLIBC_2.1);
-default_symbol_version (__feraiseexcept, feraiseexcept, GLIBC_2.2);
+compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
 
 stub_warning (feraiseexcept)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/fsetexcptflg.c b/sysdeps/generic/fsetexcptflg.c
index 1274301081..b2a98b3747 100644
--- a/sysdeps/generic/fsetexcptflg.c
+++ b/sysdeps/generic/fsetexcptflg.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <fenv.h>
+#include <shlib-compat.h>
 
 int
 __fesetexceptflag (const fexcept_t *flagp, int excepts)
@@ -26,9 +27,11 @@ __fesetexceptflag (const fexcept_t *flagp, int excepts)
   /* This always fails.  */
   return 1;
 }
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
 strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-symbol_version (__old_fesetexceptflag, fesetexceptflag, GLIBC_2.1);
-default_symbol_version (__fesetexceptflag, fesetexceptflag, GLIBC_2.2);
+compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
+#endif
+versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
 
 stub_warning (fesetexceptflag)
 #include <stub-tag.h>
diff --git a/sysdeps/mach/hurd/mips/init-first.c b/sysdeps/mach/hurd/mips/init-first.c
index 825b063c62..72c7a61cb0 100644
--- a/sysdeps/mach/hurd/mips/init-first.c
+++ b/sysdeps/mach/hurd/mips/init-first.c
@@ -1,5 +1,5 @@
 /* Initialization code run first thing by the ELF startup code.  For Mips/Hurd.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 2000 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,7 +109,7 @@ init1 (int argc, char *arg0, ...)
   /* This is a hack to make the special getopt in GNU libc working.  */
   __getopt_clean_environment (envp);
 
-#ifdef PIC
+#ifdef SHARED
   __libc_global_ctors ();
 #endif
 
@@ -175,7 +175,7 @@ __init (int *data)
   (void) &__init;
 }
 
-#ifdef PIC
+#ifdef SHARED
 /* This function is called to initialize the shared C library.
    It is called just before the user _start code from mips/elf/start.S,
    with the stack set up as that code gets it.  */
@@ -274,7 +274,7 @@ void __libc_init_first (int argc, ...)
 }
 #endif
 
-#ifndef PIC
+#ifndef SHARED
 /* An assembler code wrapping c function __init.  */
 #ifdef __mips64
 asm ("\
diff --git a/sysdeps/mach/mips/thread_state.h b/sysdeps/mach/mips/thread_state.h
index 17334cf810..7aa5598f2b 100644
--- a/sysdeps/mach/mips/thread_state.h
+++ b/sysdeps/mach/mips/thread_state.h
@@ -1,5 +1,5 @@
 /* Mach thread state definitions for machine-independent code.  MIPS version.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000 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
@@ -20,7 +20,7 @@
 #define MACHINE_THREAD_STATE_FLAVOR	MIPS_THREAD_STATE
 #define MACHINE_THREAD_STATE_COUNT	MIPS_THREAD_STATE_COUNT
 
-#ifdef PIC
+#ifdef __PIC__
 #define MACHINE_THREAD_STATE_SET_PC(ts, pc) \
   ((ts)->PC = (ts)->r25 = (unsigned long int) (pc))
 #endif
diff --git a/sysdeps/unix/mips/sysdep.h b/sysdeps/unix/mips/sysdep.h
index 256b0a78cd..2ba1dea897 100644
--- a/sysdeps/unix/mips/sysdep.h
+++ b/sysdeps/unix/mips/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1992,95,97,99,2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -32,7 +32,7 @@
 /* Note that while it's better structurally, going back to call __syscall_error
    can make things confusing if you're debugging---it looks like it's jumping
    backwards into the previous fn.  */
-#ifdef PIC
+#ifdef __PIC__
  #define PSEUDO(name, syscall_name, args) \
   .align 2;								      \
   99: la t9,__syscall_error;						      \
diff --git a/sysdeps/unix/sysv/linux/alpha/glob.c b/sysdeps/unix/sysv/linux/alpha/glob.c
index 0ce8d535be..10b10e4033 100644
--- a/sysdeps/unix/sysv/linux/alpha/glob.c
+++ b/sysdeps/unix/sysv/linux/alpha/glob.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public License as
@@ -20,6 +20,7 @@
 
 #include <sys/types.h>
 #include <glob.h>
+#include <shlib-compat.h>
 
 /* For Linux/Alpha we have to make the glob symbols versioned.  */
 #define glob(pattern, flags, errfunc, pglob) \
@@ -40,8 +41,8 @@ extern void __new_globfree (glob_t *__pglob);
 #undef glob64
 #undef globfree64
 
-default_symbol_version(__new_glob, glob, GLIBC_2.1);
-default_symbol_version(__new_globfree, globfree, GLIBC_2.1);
+versioned_symbol (libc, __new_glob, glob, GLIBC_2_1);
+versioned_symbol (libc, __new_globfree, globfree, GLIBC_2_1);
 
 weak_alias (__new_glob, glob64)
 weak_alias (__new_globfree, globfree64)
diff --git a/sysdeps/unix/sysv/linux/arm/errlist.c b/sysdeps/unix/sysv/linux/arm/errlist.c
index c72ecd86fd..63bf8e916c 100644
--- a/sysdeps/unix/sysv/linux/arm/errlist.c
+++ b/sysdeps/unix/sysv/linux/arm/errlist.c
@@ -39,11 +39,11 @@ const int __old_sys_nerr = OLD_ERRLIST_SIZE;
 
 strong_alias (__old_sys_nerr, _old_sys_nerr);
 weak_alias (__old_sys_nerr, _old_sys_nerr)
-symbol_version (__old_sys_nerr, _sys_nerr, GLIBC_2.0);
-symbol_version (_old_sys_nerr, sys_nerr, GLIBC_2.0);
+compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0);
+compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0);
 weak_alias (__old_sys_errlist, _old_sys_errlist);
-symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0);
-symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0);
+compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0);
+compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0);
 #endif
 
 strong_alias (__new_sys_nerr, _new_sys_nerr)
diff --git a/sysdeps/unix/sysv/linux/errlist.c b/sysdeps/unix/sysv/linux/errlist.c
index 4fbc2cab0b..d985f49394 100644
--- a/sysdeps/unix/sysv/linux/errlist.c
+++ b/sysdeps/unix/sysv/linux/errlist.c
@@ -39,11 +39,11 @@ const int __old_sys_nerr = OLD_ERRLIST_SIZE;
 
 strong_alias (__old_sys_nerr, _old_sys_nerr);
 weak_alias (__old_sys_nerr, _old_sys_nerr)
-symbol_version (__old_sys_nerr, _sys_nerr, GLIBC_2.0);
-symbol_version (_old_sys_nerr, sys_nerr, GLIBC_2.0);
+compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0);
+compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0);
 weak_alias (__old_sys_errlist, _old_sys_errlist);
-symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0);
-symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0);
+compat_symbol (libc, __old_sys_errlist, _sys_errlist, GLIBC_2_0);
+compat_symbol (libc, _old_sys_errlist, sys_errlist, GLIBC_2_0);
 #endif
 
 strong_alias (__new_sys_nerr, _new_sys_nerr)
diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c
index 5adeefb0ab..1dce31495b 100644
--- a/sysdeps/unix/sysv/linux/i386/chown.c
+++ b/sysdeps/unix/sysv/linux/i386/chown.c
@@ -24,7 +24,7 @@
 
 #include <kernel-features.h>
 #include <linux/posix_types.h>
-
+#include <shlib-compat.h>
 
 
 /*
@@ -132,7 +132,7 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group)
 {
   return INLINE_SYSCALL (chown, 3, file, owner, group);
 }
-#elif defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#elif SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
 /* Compiling for compatibiity.  */
 int
 __chown_is_lchown (const char *file, uid_t owner, gid_t group)
@@ -141,20 +141,20 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group)
 }
 #endif
 
-#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
 strong_alias (__chown_is_lchown, _chown_is_lchown)
-symbol_version (__chown_is_lchown, __chown, GLIBC_2.0);
-symbol_version (_chown_is_lchown, chown, GLIBC_2.0);
+compat_symbol (libc, __chown_is_lchown, __chown, GLIBC_2_0);
+compat_symbol (libc, _chown_is_lchown, chown, GLIBC_2_0);
 
 # ifdef __NR_lchown
 strong_alias (__real_chown, _real_chown)
-default_symbol_version (__real_chown, __chown, GLIBC_2.1);
-default_symbol_version (_real_chown, chown, GLIBC_2.1);
+versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1);
+versioned_symbol (libc, _real_chown, chown, GLIBC_2_1);
 # else
 strong_alias (__chown_is_lchown, __chown_is_lchown21)
 strong_alias (__chown_is_lchown, _chown_is_lchown21)
-default_symbol_version (__chown_is_lchown21, __chown, GLIBC_2.1);
-default_symbol_version (_chown_is_lchown21, chown, GLIBC_2.1);
+versioned_symbol (libc, __chown_is_lchown21, __chown, GLIBC_2_1);
+versioned_symbol (libc, _chown_is_lchown21, chown, GLIBC_2_1);
 # endif
 #else
 # ifdef __NR_lchown