+2003-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
+ * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
+
2003-01-07 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (significand_test): New function.
/* Support for dynamic linking code in static libc.
- Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1996-2002, 2003 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
int _dl_debug_mask;
int _dl_lazy;
-/* XXX I know about at least one case where we depend on the old weak
- behavior (it has to do with librt). Until we get DSO groups implemented
- we have to make this the default. Bummer. --drepper */
-#if 0
int _dl_dynamic_weak;
-#else
-int _dl_dynamic_weak = 1;
-#endif
/* If nonzero print warnings about problematic situations. */
int _dl_verbose;
/* Run time dynamic linker.
- Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995-2002, 2003 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
/* Get architecture specific initializer. */
#include <dl-procinfo.c>
._dl_debug_fd = STDERR_FILENO,
-#ifndef RTLD_CORRECT_DYNAMIC_WEAK
- /* XXX I know about at least one case where we depend on the old
- weak behavior (it has to do with librt). Until we get DSO
- groups implemented we have to make this the default.
- Bummer. --drepper */
- ._dl_dynamic_weak = 1,
-#endif
#ifdef NEED_DL_SYSINFO
._dl_sysinfo = DL_SYSINFO_DEFAULT,
#endif
pow, remainder, remquo, rint, lrint, llrint,
round, lround, llround,
scalb, scalbn, scalbln, signbit, sin, sincos, sinh, sqrt, tan, tanh, tgamma, trunc,
- y0, y1, yn
+ y0, y1, yn, significand
and for the following complex math functions:
cabs, cacos, cacosh, carg, casin, casinh, catan, catanh,
ccos, ccosh, cexp, clog, cpow, cproj, csin, csinh, csqrt, ctan, ctanh.
At the moment the following functions aren't tested:
- drem, significand, nan
+ drem, nan
Parameter handling is primitive in the moment:
--verbose=[0..3] for different levels of output:
+2003-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+ (RTLD_CORRECT_DYNAMIC_WEAK): Remove.
+ (DL_SYSINFO_IMPLEMENTATION): Change into .text section and back.
+ * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
+ (RTLD_CORRECT_DYNAMIC_WEAK): Remove.
+ (DL_SYSINFO_IMPLEMENTATION): Change into .text section and back.
+
2003-01-06 Jakub Jelinek <jakub@redhat.com>
* pthreadP.h (LIBC_CANCEL_HANDLED): Define.
/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 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 RTLD_PRIVATE_ERRNO 0
#endif
-/* This configuration has in libc.so cancellable functions and other
- functions which have to behave differently if the application uses
- threads. It is not necessary that the thread library's definitions
- are used. Therefore we can finally enabled the correct handling
- of weak definitions in ld.so. See rtld.c. */
-
-#define RTLD_CORRECT_DYNAMIC_WEAK 1
-
-
/* Traditionally system calls have been made using int $0x80. A
second method was introduced which, if possible, will use the
sysenter/syscall instructions. To signal the presence and where to
extern void _dl_sysinfo_int80 (void) attribute_hidden;
# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
# define DL_SYSINFO_IMPLEMENTATION \
- asm (".type _dl_sysinfo_int80,@function\n\t" \
+ asm (".text\n\t" \
+ ".type _dl_sysinfo_int80,@function\n\t" \
".hidden _dl_sysinfo_int80\n" \
"_dl_sysinfo_int80:\n\t" \
"int $0x80;\n\t" \
"ret;\n\t" \
- ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80");
+ ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
+ ".previous");
#endif
#endif /* dl-sysdep.h */
/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 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 RTLD_PRIVATE_ERRNO 0
#endif
-/* This configuration has in libc.so cancellable functions and other
- functions which have to behave differently if the application uses
- threads. It is not necessary that the thread library's definitions
- are used. Therefore we can finally enabled the correct handling
- of weak definitions in ld.so. See rtld.c. */
-
-#define RTLD_CORRECT_DYNAMIC_WEAK 1
-
-
/* Traditionally system calls have been made using int $0x80. A
second method was introduced which, if possible, will use the
sysenter/syscall instructions. To signal the presence and where to
extern void _dl_sysinfo_int80 (void) attribute_hidden;
# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
# define DL_SYSINFO_IMPLEMENTATION \
- asm (".type _dl_sysinfo_int80,@function\n\t" \
+ asm (".text\n\t" \
+ ".type _dl_sysinfo_int80,@function\n\t" \
".hidden _dl_sysinfo_int80\n" \
"_dl_sysinfo_int80:\n\t" \
"int $0x80;\n\t" \
"ret;\n\t" \
- ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80");
+ ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
+ ".previous");
#endif
#endif /* dl-sysdep.h */