diff --git a/ChangeLog b/ChangeLog index 04b9340950..5ccc19d550 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,34 @@ +2001-03-18 Ulrich Drepper + + * Makerules (build-shlib): Remove unnecessary slashes introduced in + last change. + + * configure.in: Test for -Bgroup option of linker. + * config.make.in: Define have-Bgroup. + + * conform/data/unistd.h-data: Require gethostname. + * posix/unistd.h: Make gethostname prototype available for + __USE_XOPEN2K. + + * crypt/Makefile: When generating DSO link with libc_nonshared.a. + * debug/Makefile: Likewise. + * dlfcn/Makefile: Likewise. + * hesiod/Makefile: Likewise. + * iconvdata/extra-module.mk: Likewise. + * locale/Makefile: Likewise. + * login/Makefile: Likewise. + * math/Makefile: Likewise. + * nis/Makefile: Likewise. + * nss/Makefile: Likewise. + * resolv/Makefile: Likewise. + * rt/Makefile: Likewise. + 2001-03-17 Ulrich Drepper * inet/Makefile (tests): Remove left-over comment. - * posix/unistd.h: Change type of second parameter back to size_t - as per upcoming XPG6. + * posix/unistd.h (gethostname): Change type of second parameter + back to size_t as per upcoming XPG6. * sysdeps/unix/sysv/aix/gethostname.c: Change type of second parameter back to size_t as per upcoming XPG6. * sysdeps/unix/sysv/sysv4/gethostname.c: Likewise. diff --git a/Makerules b/Makerules index 78089e6b4a..218cde1a2f 100644 --- a/Makerules +++ b/Makerules @@ -427,14 +427,14 @@ ifeq (yes,$(elf)) # not for shared objects define build-shlib $(build-shlib-helper) \ - -o $@.new $(csu-objpfx)/abi-note.o -Wl,--verbose \ + -o $@.new $(csu-objpfx)abi-note.o -Wl,--verbose \ $(LDLIBS-$(@F:lib%.so=%).so) 2>&1 | \ sed -e '/^=========/,/^=========/!d;/^=========/d' \ -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ > $@.lds; \ rm -f $@.new; \ $(build-shlib-helper) -o $@ -T $@.lds \ - -Wl,--whole-archive $(csu-objpfx)/abi-note.o \ + -Wl,--whole-archive $(csu-objpfx)abi-note.o \ $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \ $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so); \ rm -f $@.lds diff --git a/config.make.in b/config.make.in index e0fa613293..900efb525e 100644 --- a/config.make.in +++ b/config.make.in @@ -41,6 +41,7 @@ have-z-nodelete = @libc_cv_z_nodelete@ have-z-nodlopen = @libc_cv_z_nodlopen@ have-z-initfirst = @libc_cv_z_initfirst@ have-initfini = @libc_cv_have_initfini@ +have-Bgroup = @libc_cv_Bgroup@ need-nopic-initfini = @nopic_initfini@ with-cvs = @with_cvs@ old-glibc-headers = @old_glibc_headers@ diff --git a/configure b/configure index 20a218debd..92d1b050c0 100755 --- a/configure +++ b/configure @@ -2795,16 +2795,36 @@ fi echo "$ac_t""$libc_cv_z_initfirst" 1>&6 + + echo $ac_n "checking for -Bgroup option""... $ac_c" 1>&6 +echo "configure:2801: checking for -Bgroup option" >&5 +if eval "test \"`echo '$''{'libc_cv_Bgroup'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + then + libc_cv_Bgroup=yes + else + libc_cv_Bgroup=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_Bgroup" 1>&6 + fi if test $elf != yes; then echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6 -echo "configure:2803: checking for .init and .fini sections" >&5 +echo "configure:2823: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -2836,7 +2856,7 @@ fi if test $elf = yes -a $gnu_ld = yes; then echo $ac_n "checking whether cc puts quotes around section names""... $ac_c" 1>&6 -echo "configure:2840: checking whether cc puts quotes around section names" >&5 +echo "configure:2860: checking whether cc puts quotes around section names" >&5 if eval "test \"`echo '$''{'libc_cv_have_section_quotes'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2873,19 +2893,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:2877: checking for _ prefix on C symbol names" >&5 +echo "configure:2897: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -2900,17 +2920,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:2904: checking for _ prefix on C symbol names" >&5 +echo "configure:2924: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2934: \"$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 @@ -2942,7 +2962,7 @@ if test $elf = yes; then fi echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6 -echo "configure:2946: checking for assembler .weak directive" >&5 +echo "configure:2966: checking for assembler .weak directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2965,7 +2985,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6 if test $libc_cv_asm_weak_directive = no; then echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6 -echo "configure:2969: checking for assembler .weakext directive" >&5 +echo "configure:2989: checking for assembler .weakext directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3005,14 +3025,14 @@ fi case "${host_cpu}-${host_os}" in hppa*linux*) echo $ac_n "checking for assembler line separator""... $ac_c" 1>&6 -echo "configure:3009: checking for assembler line separator" >&5 +echo "configure:3029: checking for assembler line separator" >&5 if eval "test \"`echo '$''{'libc_cv_asm_line_sep'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_line_sep='!' else if test -z "$enable_hacker_mode"; then @@ -3034,7 +3054,7 @@ EOF esac echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6 -echo "configure:3038: checking for ld --no-whole-archive" >&5 +echo "configure:3058: checking for ld --no-whole-archive" >&5 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3045,7 +3065,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c 1>&5'; { (eval echo configure:3049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:3069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -3059,7 +3079,7 @@ if test $libc_cv_ld_no_whole_archive = yes; then fi echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6 -echo "configure:3063: checking for gcc -fexceptions" >&5 +echo "configure:3083: checking for gcc -fexceptions" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3070,7 +3090,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fexceptions - -o conftest conftest.c 1>&5'; { (eval echo configure:3074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:3094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_exceptions=yes else libc_cv_gcc_exceptions=no @@ -3085,14 +3105,14 @@ fi if test "$base_machine" = alpha ; then echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6 -echo "configure:3089: checking for function ..ng prefix" >&5 +echo "configure:3109: checking for function ..ng prefix" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <<\EOF foo () { } EOF -if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3096: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; +if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_alpha_ng_prefix=yes else @@ -3119,19 +3139,19 @@ if test "$host_cpu" = powerpc ; then # Check for a bug present in at least versions 2.8.x of GCC # and versions 1.0.x of EGCS. echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6 -echo "configure:3123: checking whether clobbering cr0 causes problems" >&5 +echo "configure:3143: checking whether clobbering cr0 causes problems" >&5 if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_c_asmcr0_bug='no' else @@ -3153,12 +3173,12 @@ fi fi echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6 -echo "configure:3157: checking for DWARF2 unwind info support" >&5 +echo "configure:3177: checking for DWARF2 unwind info support" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_dwarf2_unwind_info=static else libc_cv_gcc_dwarf2_unwind_info=no @@ -3193,7 +3213,7 @@ fi if test $libc_cv_gcc_dwarf2_unwind_info = no; then if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3197: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_dwarf2_unwind_info=yes else libc_cv_gcc_dwarf2_unwind_info=no @@ -3223,12 +3243,12 @@ EOF esac echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6 -echo "configure:3227: checking for __builtin_expect" >&5 +echo "configure:3247: checking for __builtin_expect" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3260: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_builtin_expect=yes else libc_cv_gcc_builtin_expect=no @@ -3253,12 +3273,12 @@ EOF fi echo $ac_n "checking for local label subtraction""... $ac_c" 1>&6 -echo "configure:3257: checking for local label subtraction" >&5 +echo "configure:3277: checking for local label subtraction" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_subtract_local_labels'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3295: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_subtract_local_labels=yes else libc_cv_gcc_subtract_local_labels=no @@ -3288,7 +3308,7 @@ EOF fi echo $ac_n "checking for libgd""... $ac_c" 1>&6 -echo "configure:3292: checking for libgd" >&5 +echo "configure:3312: checking for libgd" >&5 if test "$with_gd" != "no"; then old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $libgd_include" @@ -3297,14 +3317,14 @@ if test "$with_gd" != "no"; then old_LIBS="$LIBS" LIBS="$LIBS -lgd -lpng -lz -lm" cat > conftest.$ac_ext < int main() { gdImagePng (0, 0) ; return 0; } EOF -if { (eval echo configure:3308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBGD=yes else @@ -3324,7 +3344,7 @@ echo "$ac_t""$LIBGD" 1>&6 echo $ac_n "checking size of long double""... $ac_c" 1>&6 -echo "configure:3328: checking size of long double" >&5 +echo "configure:3348: checking size of long double" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3332,7 +3352,7 @@ else ac_cv_sizeof_long_double=0 else cat > conftest.$ac_ext < main() @@ -3343,7 +3363,7 @@ main() exit(0); } EOF -if { (eval echo configure:3347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_double=`cat conftestval` else @@ -3411,7 +3431,7 @@ if test "$uname" = "sysdeps/generic"; then fi echo $ac_n "checking OS release for uname""... $ac_c" 1>&6 -echo "configure:3415: checking OS release for uname" >&5 +echo "configure:3435: checking OS release for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3433,7 +3453,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6 uname_release="$libc_cv_uname_release" echo $ac_n "checking OS version for uname""... $ac_c" 1>&6 -echo "configure:3437: checking OS version for uname" >&5 +echo "configure:3457: checking OS version for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3455,7 +3475,7 @@ else fi echo $ac_n "checking stdio selection""... $ac_c" 1>&6 -echo "configure:3459: checking stdio selection" >&5 +echo "configure:3479: checking stdio selection" >&5 case $stdio in libio) cat >> confdefs.h <<\EOF @@ -3469,7 +3489,7 @@ echo "$ac_t""$stdio" 1>&6 # Test for old glibc 2.0.x headers so that they can be removed properly # Search only in includedir. echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6 -echo "configure:3473: checking for old glibc 2.0.x headers" >&5 +echo "configure:3493: checking for old glibc 2.0.x headers" >&5 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h" then old_glibc_headers=yes @@ -3524,7 +3544,7 @@ if test $shared = default; then fi echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6 -echo "configure:3528: checking whether -fPIC is default" >&5 +echo "configure:3548: checking whether -fPIC is default" >&5 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3751,6 +3771,7 @@ s%@libc_cv_asm_protected_directive@%$libc_cv_asm_protected_directive%g s%@libc_cv_z_nodelete@%$libc_cv_z_nodelete%g s%@libc_cv_z_nodlopen@%$libc_cv_z_nodlopen%g s%@libc_cv_z_initfirst@%$libc_cv_z_initfirst%g +s%@libc_cv_Bgroup@%$libc_cv_Bgroup%g s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g s%@no_whole_archive@%$no_whole_archive%g s%@exceptions@%$exceptions%g diff --git a/configure.in b/configure.in index 8a478573a5..7696009327 100644 --- a/configure.in +++ b/configure.in @@ -992,6 +992,20 @@ EOF fi rm -f conftest*]) AC_SUBST(libc_cv_z_initfirst) + + AC_CACHE_CHECK(for -Bgroup option, + libc_cv_Bgroup, [dnl + cat > conftest.c <&AC_FD_CC]) + then + libc_cv_Bgroup=yes + else + libc_cv_Bgroup=no + fi + rm -f conftest*]) + AC_SUBST(libc_cv_Bgroup) fi if test $elf != yes; then diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data index 9211402831..c7e9f9920a 100644 --- a/conform/data/unistd.h-data +++ b/conform/data/unistd.h-data @@ -313,6 +313,7 @@ function uid_t geteuid (void) function gid_t getgid (void) function int getgroups (int, gid_t[]) function long gethostid (void) +function int gethostname (char*, size_t) function {char*} getlogin (void) function int getlogin_r (char*, size_t) function int getopt (int, char*const[], const char*) diff --git a/crypt/Makefile b/crypt/Makefile index 91a712109c..58d7422d60 100644 --- a/crypt/Makefile +++ b/crypt/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996, 2000 Free Software Foundation, Inc. +# Copyright (C) 1996, 2000, 2001 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 @@ -57,4 +57,4 @@ endif # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libcrypt.so: $(common-objpfx)libc.so +$(objpfx)libcrypt.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a diff --git a/debug/Makefile b/debug/Makefile index 85cec71b95..8431d3a617 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1998, 1999, 2000, 2001 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 @@ -71,5 +71,9 @@ $(objpfx)xtrace: xtrace.sh # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libSegFault.so: $(common-objpfx)libc.so $(common-objpfx)elf/ld.so -$(objpfx)libpcprofile.so: $(common-objpfx)libc.so $(common-objpfx)elf/ld.so +$(objpfx)libSegFault.so: $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a \ + $(common-objpfx)elf/ld.so +$(objpfx)libpcprofile.so: $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a \ + $(common-objpfx)elf/ld.so diff --git a/dlfcn/Makefile b/dlfcn/Makefile index 65694165e6..7bd7468993 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -79,3 +79,8 @@ $(objpfx)tstcxaatexit: $(libdl) $(objpfx)tstcxaatexit.out: $(objpfx)tstcxaatexit $(objpfx)modcxaatexit.so $(objpfx)modatexit.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a diff --git a/hesiod/Makefile b/hesiod/Makefile index 32b4be4753..8b0445c784 100644 --- a/hesiod/Makefile +++ b/hesiod/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 2000, 2001 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 @@ -43,4 +43,5 @@ include ../Rules # the file service. $(objpfx)libnss_hesiod.so: $(common-objpfx)resolv/libresolv.so \ $(common-objpfx)nss/libnss_files.so \ - $(common-objpfx)libc.so + $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a diff --git a/iconvdata/extra-module.mk b/iconvdata/extra-module.mk index 4662c77f17..e00eb5e8d2 100644 --- a/iconvdata/extra-module.mk +++ b/iconvdata/extra-module.mk @@ -9,7 +9,7 @@ $(objpfx)$(mod).so: $(addprefix $(objpfx),$(addsuffix .os,$($(mod)-routines))) # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)$(mod).so: $(common-objpfx)libc.so +$(objpfx)$(mod).so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a ifneq (,$(extra-modules-left)) include extra-module.mk diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 5fe8ced1de..f4e37b4649 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,7 @@ +2001-03-18 Ulrich Drepper + + * Makefile: When generating DSO link with libc_nonshared.a. + 2001-02-26 Jakub Jelinek * signals.c (pthread_sighandler): Use CALL_SIGHANDLER. diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index a3bd5d16ae..d88af80f5a 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -76,7 +76,8 @@ CFLAGS-unload.c += -DPREFIX=\"$(objpfx)\" # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libpthread.so: $(common-objpfx)libc.so +$(objpfx)libpthread.so: $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a # Make sure we link with the thread library. ifeq ($(build-shared),yes) diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog index 1d4f469fc3..ebc6392028 100644 --- a/linuxthreads_db/ChangeLog +++ b/linuxthreads_db/ChangeLog @@ -1,3 +1,7 @@ +2001-03-18 Ulrich Drepper + + * Makefile: When generating DSO link with libc_nonshared.a. + 2000-08-01 Andreas Jaeger * Makefile (distribute): Add missing files. diff --git a/linuxthreads_db/Makefile b/linuxthreads_db/Makefile index bf28bb4e36..489eb9e53d 100644 --- a/linuxthreads_db/Makefile +++ b/linuxthreads_db/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001 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 @@ -49,4 +49,5 @@ include ../Rules # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libthread_db.so: $(common-objpfx)libc.so +$(objpfx)libthread_db.so: $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a diff --git a/locale/Makefile b/locale/Makefile index a62b647ac4..2bec43618c 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -100,4 +100,5 @@ CFLAGS-charmap-dir.c = -Wno-write-strings # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libBrokenLocale.so: $(common-objpfx)libc.so +$(objpfx)libBrokenLocale.so: $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a diff --git a/login/Makefile b/login/Makefile index b79c21a9e0..746f38e626 100644 --- a/login/Makefile +++ b/login/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 2000, 2001 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 @@ -60,4 +60,4 @@ $(inst_libexecdir)/pt_chown: $(objpfx)pt_chown $(+force) # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libutil.so: $(common-objpfx)libc.so +$(objpfx)libutil.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a diff --git a/math/Makefile b/math/Makefile index 08592ca8bd..cbc2f4c42d 100644 --- a/math/Makefile +++ b/math/Makefile @@ -191,4 +191,4 @@ $(objpfx)atest-exp2: $(gmp-objs) # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libm.so: $(common-objpfx)libc.so +$(objpfx)libm.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a diff --git a/nis/Makefile b/nis/Makefile index 78fdd072ec..74f07dc041 100644 --- a/nis/Makefile +++ b/nis/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 2001 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 @@ -75,7 +75,8 @@ $(objpfx)libnss_nisplus.so: $(objpfx)libnsl.so$(libnsl.so-version) # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(common-objpfx)libc.so +$(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(common-objpfx)libc.so\ + $(common-objpfx)libc_nonshared.a ifeq ($(build-shared),yes) diff --git a/nss/Makefile b/nss/Makefile index ec04f839bf..7e9e08b816 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -80,4 +80,5 @@ endif # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so +$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a diff --git a/posix/unistd.h b/posix/unistd.h index 1148cb74fc..612d872d31 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -727,13 +727,15 @@ extern int setlogin (__const char *__name) __THROW; #endif -#if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_UNIX98) - +#if defined __USE_BSD || defined __USE_XOPEN2K /* Put the name of the current host in no more than LEN bytes of NAME. The result is null-terminated if LEN is large enough for the full name and the terminator. */ extern int gethostname (char *__name, size_t __len) __THROW; +#endif + +#if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_UNIX98) /* Set the name of the current host to NAME, which is LEN bytes long. This call is restricted to the super-user. */ extern int sethostname (__const char *__name, size_t __len) __THROW; @@ -784,7 +786,6 @@ extern void setusershell (void) __THROW; /* Rewind and re-read the file. */ terminal. If NOCHDIR is zero, do `chdir ("/")'. If NOCLOSE is zero, redirects stdin, stdout, and stderr to /dev/null. */ extern int daemon (int __nochdir, int __noclose) __THROW; - #endif /* Use BSD || X/Open. */ diff --git a/resolv/Makefile b/resolv/Makefile index a37277ac53..9e97f4dda2 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -76,12 +76,14 @@ CPPFLAGS += -Dgethostbyname=res_gethostbyname \ # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)libresolv.so: $(common-objpfx)libc.so +$(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a # The DNS NSS modules needs the resolver. -$(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so +$(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so \ + $(common-objpfx)libc_nonshared.a # The asynchronous name lookup code needs the thread library. -$(objpfx)libanl.so: $(common-objpfx)libc.so $(shared-thread-library) +$(objpfx)libanl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \ + $(shared-thread-library) $(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library) diff --git a/rt/Makefile b/rt/Makefile index e7014f256d..c1e84c5270 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999, 2000, 2001 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 @@ -53,7 +53,8 @@ include ../Rules # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(objpfx)librt.so: $(common-objpfx)libc.so $(shared-thread-library) +$(objpfx)librt.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \ + $(shared-thread-library) ifeq (yes,$(build-shared)) $(addprefix $(objpfx),$(tests)): $(objpfx)librt.so $(shared-thread-library)