+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.
#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);
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)
}
}
-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
}
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 */
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)
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
__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>
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
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>
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
__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>
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
__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>
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
__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>
Boston, MA 02111-1307, USA. */
#include <fenv.h>
+#include <shlib-compat.h>
int
__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>
/* 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
/* 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
(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. */
}
#endif
-#ifndef PIC
+#ifndef SHARED
/* An assembler code wrapping c function __init. */
#ifdef __mips64
asm ("\
/* 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
#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
-/* 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).
/* 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; \
-/* 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
#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) \
#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)
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)
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)
#include <kernel-features.h>
#include <linux/posix_types.h>
-
+#include <shlib-compat.h>
/*
{
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)
}
#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