aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog96
-rw-r--r--FAQ11
-rw-r--r--Makerules3
-rw-r--r--config.make.in3
-rwxr-xr-xconfigure112
-rw-r--r--configure.in3
-rw-r--r--elf/Makefile2
-rw-r--r--elf/dl-addr.c85
-rw-r--r--elf/dl-runtime.c174
-rw-r--r--elf/dladdr.c64
-rw-r--r--elf/dlfcn.h2
-rw-r--r--elf/link.h4
-rw-r--r--elf/rtld.c2
-rw-r--r--libio/libio.h20
-rw-r--r--libio/libioP.h9
-rw-r--r--locale/C_name.c1
-rw-r--r--locale/findlocale.c5
-rw-r--r--locale/localeinfo.h3
-rw-r--r--locale/setlocale.c30
-rw-r--r--malloc/Makefile21
-rw-r--r--malloc/malloc.c117
-rw-r--r--malloc/malloc.h21
-rw-r--r--malloc/mcheck.c41
-rw-r--r--malloc/mtrace.awk50
-rw-r--r--malloc/mtrace.c83
-rw-r--r--malloc/mtrace.pl192
-rw-r--r--manual/time.texi5
-rw-r--r--math/atest-exp2.c2
-rw-r--r--po/fr.po272
-rw-r--r--string/Makefile2
-rw-r--r--string/bits/string2.h6
-rw-r--r--string/tester.c331
-rw-r--r--sysdeps/alpha/dl-machine.h85
-rw-r--r--sysdeps/i386/dl-machine.h13
-rw-r--r--sysdeps/libm-ieee754/s_exp2f.c6
-rw-r--r--sysdeps/m68k/dl-machine.h13
-rw-r--r--sysdeps/powerpc/dl-machine.h134
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h44
-rw-r--r--sysdeps/sparc/sparc64/dl-machine.h44
-rw-r--r--sysdeps/stub/dl-machine.h17
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list1
41 files changed, 1427 insertions, 702 deletions
diff --git a/ChangeLog b/ChangeLog
index f754101122..7e94c28c7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,99 @@
+1997-09-27 01:14 Ulrich Drepper <drepper@cygnus.com>
+
+ * Makeconfig (extra-objs): Depend in before-compile.
+
+ * configure.in: Locate Perl and substitute with complete path.
+ * config.make.in: Add PERL for substitution.
+ * elf/Makefile (routines): Add dl-addr.
+ * elf/dladdr.c: Move the real code into ...
+ * elf/dl-addr.c: New file.
+ * elf/link.h: Add prototype for _dl_addr.
+
+ * elf/dladdr.c (dladdr): Change address argument to be const.
+ * elf/dlfcn.h: Likewise.
+
+ * locale/C_name.c: Add _nl_POSIX_name.
+ * locale/localeinfo.h: Add declaration of _nl_POSIX_name.
+ * locale/findlocale.c (_nl_find_locale): Use _nl_POSIX_name.
+ (_nl_remove_locale): Free name of data set.
+ * locale/setlocale.c (clever_copy): Remove.
+ (new_composite_name): Use _nl_C_name and _nl_POSIX_name in compare.
+ (setname): Only remove old name when it is for category LC_ALL.
+
+ Change malloc, free, realloc, and memalign hooks for glibc to take
+ another parameter indicating the location of the caller.
+ * malloc/malloc.c: Change hook functions and variables.
+ * malloc/malloc.h: Likewise.
+ * malloc/mcheck.c: Likewise. Make sure later hooked function also
+ get the original caller address.
+ * malloc/mtrace.c: Likewise.
+ (tr_where): If no information in _mtrace_file is given use the
+ information about the caller.
+ * malloc/Makefile (distribute): Replace mtrace.awk by mtrace.pl.
+ Add rules to install mtrace.pl after rewriting.
+ * malloc/mtrace.pl: New file. Based on the old AWK script but
+ with extended functionality.
+ * malloc/mtrace.awk: Removed.
+
+ * po/fr.po: New version.
+
+ * string/Makefile: Do use builtins for tester.c and inl-tester.c.
+ * string/tester.c: Rewrite. Split in many small functions to not
+ exceed gcc's limits.
+
+ * sysdeps/unix/sysv/linux/syscalls.list: Add prctl.
+
+1997-09-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * string/bits/string2.h (__stpcpy_small): Don't use casts as
+ lvalues.
+
+1997-09-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * manual/time.texi (Formatting Date and Time): Clarify
+ explanation of strftime flags a bit.
+ Suggested by Robert Bihlmeyer <robbe@orcus.priv.at>.
+
+1997-09-25 00:13 David S. Miller <davem@tanya.rutgers.edu>
+
+ * sysdeps/libm-ieee754/s_exp2f.c: Protect _GNU_SOURCE definition.
+ Fix typo, it is FLT_MANT_DIG.
+
+1997-09-24 18:52 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * math/atest-exp2.c: Include <stdlib/gmp.h> instead of <gmp.h>.
+
+1997-08-27 08:10 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * libio/libio.h, libio/libioP.h: Support libio in libstdc++.
+
+ * libio/libio.h (_IO_peekc): Defined as _IO_peekc_unlocked if
+ _IO_MTSAFE_IO is undefined.
+
+1997-09-24 23:27 Richard Henderson <rth@cygnus.com>
+
+ * elf/dl-runtime.c (fixup): Don't go through elf_machine_relplt, but
+ lookup the value of the target symbol ourselves and call the new
+ elf_machine_fixup_plt. This kills the ELF_FIXUP_RETURN_VALUE hack.
+ (profile_fixup): Likewise, but don't fix up the plt.
+ * elf/rtld.c (_dl_main): ELF_MACHINE_RELOC_NOPLT renamed _JMP_SLOT.
+ * sysdeps/alpha/dl-machine.h (ELF_MACHINE_RELOC_NOPLT): Renamed.
+ (elf_alpha_fix_plt): Renamed elf_machine_fixup_plt.
+ * sysdeps/i386/dl-machine.h (elf_machine_relplt): Killed.
+ (ELF_MACHINE_JMP_SLOT): Renamed.
+ (elf_machine_fixup_plt): New function.
+ * sysdeps/m68k/dl-machine.h: Likewise.
+ * sysdeps/powerpc/dl-machine.h: Likewise.
+ (elf_machine_rela): Moved JMP_SLOT fixup out to elf_machine_fixup_plt.
+ * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
+ * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
+ * sysdeps/stub/dl-machine.h: Update, sorta.
+
+ * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Do profiling.
+ (TRAMPOLINE_TEMPLATE): From the carcas of _RUNTIME_TRAMPOLINE, do
+ both normal and profile code.
+ (elf_machine_rela): Handle r_addend for .got and .plt too.
+
1997-09-25 00:23 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-profile.c: Correct implementation.
diff --git a/FAQ b/FAQ
index eb35e1cd00..568af9f207 100644
--- a/FAQ
+++ b/FAQ
@@ -87,6 +87,9 @@ please let me know.
[Q24] ``I have set up /etc/nis.conf, and the Linux libc 5 with NYS
works great. But the glibc NIS+ doesn't seem to work.''
+
+[Q25] ``After installing glibc name resolving doesn't work properly.''
+
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
[Q1] ``What systems does the GNU C Library run on?''
@@ -687,6 +690,14 @@ http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html).
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q25] ``After installing glibc name resolving doesn't work properly.''
+
+[A25] {AJ} You probable should read the manual section describing
+``nsswitch.conf'' (just type `info libc "NSS Configuration File"').
+The NSS configuration file is usually the culprit.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Answers were given by:
{UD} Ulrich Drepper, <drepper@cygnus.com>
diff --git a/Makerules b/Makerules
index 85ed6eb13e..abfb8ef85e 100644
--- a/Makerules
+++ b/Makerules
@@ -701,6 +701,9 @@ $(inst_slibdir)/libc.so: $(common-objpfx)libc.so
$(do-install-program)
endif
+ifdef extra-objs
+$(addprefix $(objpfx),$(extra-objs)): $(before-compile)
+endif
ifneq (,$(versioned))
# Produce three sets of rules as above for all the smaller versioned libraries.
diff --git a/config.make.in b/config.make.in
index ba689ececa..ae4d898dd2 100644
--- a/config.make.in
+++ b/config.make.in
@@ -63,7 +63,10 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
LN_S = @LN_S@
MSGFMT = @MSGFMT@
+
+# Script execution tools.
BASH = @BASH@
KSH = @KSH@
+PERL = @PERL@
# More variables may be inserted below by configure.
diff --git a/configure b/configure
index 2ba44100f2..5060a9adc7 100755
--- a/configure
+++ b/configure
@@ -1682,8 +1682,47 @@ else
fi
+for ac_prog in perl
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1691: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PERL" in
+ /*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PERL="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+fi
+PERL="$ac_cv_path_PERL"
+if test -n "$PERL"; then
+ echo "$ac_t""$PERL" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$PERL" && break
+done
+test -n "$PERL" || PERL="no"
+
+
+
echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
-echo "configure:1687: checking for signed size_t type" >&5
+echo "configure:1726: checking for signed size_t type" >&5
if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1707,12 +1746,12 @@ EOF
fi
echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
-echo "configure:1711: checking for libc-friendly stddef.h" >&5
+echo "configure:1750: checking for libc-friendly stddef.h" >&5
if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1716 "configure"
+#line 1755 "configure"
#include "confdefs.h"
#define __need_size_t
#define __need_wchar_t
@@ -1727,7 +1766,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort ();
; return 0; }
EOF
-if { (eval echo configure:1731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_friendly_stddef=yes
else
@@ -1746,7 +1785,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
fi
echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
-echo "configure:1750: checking whether we need to use -P to assemble .S files" >&5
+echo "configure:1789: checking whether we need to use -P to assemble .S files" >&5
if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1769,7 +1808,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
-echo "configure:1773: checking for assembler global-symbol directive" >&5
+echo "configure:1812: checking for assembler global-symbol directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1799,7 +1838,7 @@ EOF
fi
echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
-echo "configure:1803: checking for .set assembler directive" >&5
+echo "configure:1842: checking for .set assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1833,7 +1872,7 @@ EOF
fi
echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
-echo "configure:1837: checking for .symver assembler directive" >&5
+echo "configure:1876: checking for .symver assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1852,7 +1891,7 @@ fi
echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
-echo "configure:1856: checking for ld --version-script" >&5
+echo "configure:1895: checking for ld --version-script" >&5
if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1871,7 +1910,7 @@ EOF
if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
-nostartfiles -nostdlib
-Wl,--version-script,conftest.map
- 1>&5'; { (eval echo configure:1875: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+ 1>&5'; { (eval echo configure:1914: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
then
libc_cv_ld_version_script_option=yes
else
@@ -1902,7 +1941,7 @@ fi
if test $elf = yes; then
echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
-echo "configure:1906: checking for .previous assembler directive" >&5
+echo "configure:1945: checking for .previous assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1910,7 +1949,7 @@ else
.section foo_section
.previous
EOF
- if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1914: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_previous_directive=yes
else
libc_cv_asm_previous_directive=no
@@ -1926,7 +1965,7 @@ EOF
else
echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
-echo "configure:1930: checking for .popsection assembler directive" >&5
+echo "configure:1969: checking for .popsection assembler directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1934,7 +1973,7 @@ else
.pushsection foo_section
.popsection
EOF
- if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1938: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:1977: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_popsection_directive=yes
else
libc_cv_asm_popsection_directive=no
@@ -1954,12 +1993,12 @@ fi
if test $elf != yes; then
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:1958: checking for .init and .fini sections" >&5
+echo "configure:1997: checking for .init and .fini sections" >&5
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1963 "configure"
+#line 2002 "configure"
#include "confdefs.h"
int main() {
@@ -1968,7 +2007,7 @@ asm (".section .init");
asm (".text");
; return 0; }
EOF
-if { (eval echo configure:1972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_have_initfini=yes
else
@@ -1996,19 +2035,19 @@ if test $elf = yes; then
else
if test $ac_cv_prog_cc_works = yes; then
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2000: checking for _ prefix on C symbol names" >&5
+echo "configure:2039: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2005 "configure"
+#line 2044 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() {
glibc_foobar ();
; return 0; }
EOF
-if { (eval echo configure:2012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
libc_cv_asm_underscores=yes
else
@@ -2023,17 +2062,17 @@ fi
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
else
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2027: checking for _ prefix on C symbol names" >&5
+echo "configure:2066: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2032 "configure"
+#line 2071 "configure"
#include "confdefs.h"
void underscore_test(void) {
return; }
EOF
-if { (eval echo configure:2037: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if grep _underscore_test conftest* >/dev/null; then
rm -f conftest*
libc_cv_asm_underscores=yes
@@ -2066,7 +2105,7 @@ if test $elf = yes; then
libc_cv_asm_weakext_directive=no
else
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:2070: checking for assembler .weak directive" >&5
+echo "configure:2109: checking for assembler .weak