diff options
41 files changed, 1427 insertions, 702 deletions
@@ -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. @@ -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> @@ -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. @@ -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 |
