diff options
| author | Roland McGrath <roland@gnu.org> | 1996-03-19 21:10:11 +0000 |
|---|---|---|
| committer | Roland McGrath <roland@gnu.org> | 1996-03-19 21:10:11 +0000 |
| commit | c224a18a9045610c4ec1e4d959f6a5dd6b117dd9 (patch) | |
| tree | 3ec6bbc9ad25817511f08d4a10035d351d88f6bf | |
| parent | b20e47cb14ec8edccab7c722743a731e67280702 (diff) | |
| download | glibc-c224a18a9045610c4ec1e4d959f6a5dd6b117dd9.tar.xz glibc-c224a18a9045610c4ec1e4d959f6a5dd6b117dd9.zip | |
* config.make.in (weak-symbols): Variable removed.
* configure.in (--with-weak-symbols): Option removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New tests.
* config.h.in (HAVE_WEAK_SYMBOLS): #undef removed.
(NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
New #undefs.
* libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS.
* inet/inet_lnaof.c: Use u_int32_t instead of u_long.
* inet/inet_mkadr.c: Likewise.
* inet/inet_net.c: Likewise.
* inet/inet_netof.c: Likewise.
* inet/rcmd.c: Likewise.
* inet/arpa/inet.h: Likewise.
* inet/netinet/in.h: Likewise.
* inet/netinet/tcp.h: Likewise.
* inet/protocols/rwhod.h: Likewise.
* inet/protocols/talkd.h: Likewise.
* resolv/inet_addr.c: Likewise.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
| -rw-r--r-- | ChangeLog | 27 | ||||
| -rw-r--r-- | config.h.in | 22 | ||||
| -rw-r--r-- | config.make.in | 1 | ||||
| -rwxr-xr-x | configure | 147 | ||||
| -rw-r--r-- | configure.in | 73 | ||||
| -rw-r--r-- | inet/arpa/inet.h | 11 | ||||
| -rw-r--r-- | inet/inet_lnaof.c | 4 | ||||
| -rw-r--r-- | inet/inet_mkadr.c | 4 | ||||
| -rw-r--r-- | inet/inet_net.c | 6 | ||||
| -rw-r--r-- | inet/inet_netof.c | 4 | ||||
| -rw-r--r-- | inet/netinet/in.h | 18 | ||||
| -rw-r--r-- | inet/netinet/tcp.h | 2 | ||||
| -rw-r--r-- | inet/protocols/rwhod.h | 4 | ||||
| -rw-r--r-- | inet/protocols/talkd.h | 8 | ||||
| -rw-r--r-- | inet/rcmd.c | 20 | ||||
| -rw-r--r-- | libc-symbols.h | 52 | ||||
| -rw-r--r-- | resolv/inet_addr.c | 4 | ||||
| -rw-r--r-- | sunrpc/rpc/auth.h | 8 | ||||
| -rw-r--r-- | sunrpc/svc_authux.c | 2 | ||||
| -rw-r--r-- | sunrpc/xdr_rec.c | 174 |
20 files changed, 385 insertions, 206 deletions
@@ -1,9 +1,30 @@ Tue Mar 19 14:18:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> + * config.make.in (weak-symbols): Variable removed. + * configure.in (--with-weak-symbols): Option removed. + (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE): + New tests. + * config.h.in (HAVE_WEAK_SYMBOLS): #undef removed. + (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE): + New #undefs. + * libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS. + * sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c. Mon Mar 4 20:17:28 1996 David Mosberger-Tang <davidm@azstarnet.com> + * inet/inet_lnaof.c: Use u_int32_t instead of u_long. + * inet/inet_mkadr.c: Likewise. + * inet/inet_net.c: Likewise. + * inet/inet_netof.c: Likewise. + * inet/rcmd.c: Likewise. + * inet/arpa/inet.h: Likewise. + * inet/netinet/in.h: Likewise. + * inet/netinet/tcp.h: Likewise. + * inet/protocols/rwhod.h: Likewise. + * inet/protocols/talkd.h: Likewise. + * resolv/inet_addr.c: Likewise. + * sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX. * sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents. @@ -190,13 +211,13 @@ Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com> * sunrpc/svc.c (maskp): changed from u_long* to u_int32*. + * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to + u_int32_t (instead of u_long). + * sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment "buf" pointer by casting it to a char* first since a long* may be 8 bytes or more and oa->oa_length may be any multiple of 4. - * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to - u_int32_t (instead of u_long). - * sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4 since it really is testing for 32 bits. Fixed casts to use u_int32 instead of u_long. diff --git a/config.h.in b/config.h.in index 52332beda2..35d865b24c 100644 --- a/config.h.in +++ b/config.h.in @@ -4,12 +4,19 @@ #undef HAVE_GNU_LD /* Define if using ELF, which supports weak symbols. - This implies HAVE_WEAK_SYMBOLS; set by --with-elf. */ + This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by + --with-elf. */ #undef HAVE_ELF -/* Define if weak symbols are available in the assembler and - linker being used. Set by --with-weak-symbols. */ -#undef HAVE_WEAK_SYMBOLS +/* Define if C symbols are asm symbols. Don't define if C symbols + have a `_' prepended to make the asm symbol. */ +#undef NO_UNDERSCORES + +/* Define if weak symbols are available via the `.weak' directive. */ +#undef HAVE_ASM_WEAK_DIRECTIVE + +/* Define if weak symbols are available via the `.weakext' directive. */ +#undef HAVE_ASM_WEAKEXT_DIRECTIVE /* Define if not using ELF, but `.init' and `.fini' sections are available. */ #undef HAVE_INITFINI @@ -24,13 +31,6 @@ declaring a symbol global (default `.globl'). */ #undef ASM_GLOBAL_DIRECTIVE -/* ELF has weak symbols, and with GNU ld a.out does too. */ -#ifndef HAVE_WEAK_SYMBOLS -#if defined (HAVE_ELF) || defined (HAVE_GNU_LD) -#define HAVE_WEAK_SYMBOLS -#endif -#endif - /* Define to use GNU libio instead of GNU stdio. This is defined by configure under --enable-libio. */ #undef USE_IN_LIBIO diff --git a/config.make.in b/config.make.in index 2af925da48..50571745d0 100644 --- a/config.make.in +++ b/config.make.in @@ -15,7 +15,6 @@ config-sysdirs = @sysnames@ config-defines = @DEFS@ elf = @elf@ -weak-symbols = @weak@ have-initfini = @libc_cv_have_initfini@ # Configuration options. @@ -2,8 +2,8 @@ # From configure.in CVSid # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.7 -# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# Generated automatically using autoconf version 2.9 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. @@ -27,8 +27,6 @@ ac_help="$ac_help ac_help="$ac_help --with-elf if using the ELF object format" ac_help="$ac_help - --with-weak-symbols if weak symbols are available in as and ld" -ac_help="$ac_help --enable-libio build in GNU libio instead of GNU stdio" ac_help="$ac_help --enable-shared build shared library [default=yes if GNU ld & ELF]" @@ -355,7 +353,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.7" + echo "configure generated by autoconf version 2.9" exit 0 ;; -with-* | --with-*) @@ -620,14 +618,6 @@ else elf=no fi -# Check whether --with-weak-symbols or --without-weak-symbols was given. -if test "${with_weak_symbols+set}" = set; then - withval="$with_weak_symbols" - weak=$withval -else - weak=no -fi - # Check whether --enable-libio or --disable-libio was given. if test "${enable_libio+set}" = set; then @@ -1147,13 +1137,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1151 "configure" +#line 1141 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1162,13 +1152,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1166 "configure" +#line 1156 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1217,7 +1207,7 @@ if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1221 "configure" +#line 1211 "configure" #include "confdefs.h" #define __need_size_t #define __need_wchar_t @@ -1233,7 +1223,7 @@ size_t size; wchar_t wchar; if (&size == NULL || &wchar == NULL) abort (); ; return 0; } EOF -if { (eval echo configure:1237: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1340,7 +1330,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&4 else cat > conftest.$ac_ext <<EOF -#line 1344 "configure" +#line 1334 "configure" #include "confdefs.h" int main() { return 0; } @@ -1349,7 +1339,7 @@ asm (".section .init"); asm (".section .fini"); ; return 0; } EOF -if { (eval echo configure:1353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -1369,6 +1359,108 @@ EOF fi fi +if test $elf = yes; then + libc_cv_asm_underscores=no +else + echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext <<EOF +#line 1371 "configure" +#include "confdefs.h" +asm ("_glibc_foobar:"); +int main() { return 0; } +int t() { +glibc_foobar (); +; return 0; } +EOF +if { (eval echo configure:1379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + libc_cv_asm_underscores=yes +else + rm -rf conftest* + libc_cv_asm_underscores=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$libc_cv_asm_underscores" 1>&4 +fi +if test $libc_cv_asm_underscores = no; then + cat >> confdefs.h <<\EOF +#define NO_UNDERSCORES 1 +EOF + +fi + +if test $elf = yes; then + libc_cv_weak_symbols=yes + libc_cv_asm_weak_directive=yes + libc_cv_asm_weakext_directive=no +else + echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weak foo +.weak bar; bar = foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weak_directive=yes + else + libc_cv_asm_weak_directive=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_asm_weak_directive" 1>&4 + +if $libc_cv_asm_weak_directive = no; then + echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&4 +if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weakext foo +.weak bar, foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weakext_directive=yes + else + libc_cv_asm_weakext_directive=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_asm_weakext_directive" 1>&4 + + fi # no .weak +fi # not ELF + +if test $libc_cv_asm_weak_directive; then + cat >> confdefs.h <<\EOF +#define HAVE_ASM_WEAK_DIRECTIVE 1 +EOF + +elif test $libc_cv_asm_weakext_directive; then + cat >> confdefs.h <<\EOF +#define HAVE_ASM_WEAKEXT_DIRECTIVE 1 +EOF + +fi + +### End of automated tests. +### Now run sysdeps configure fragments. + # sysdeps configure fragments may set these with files to be linked below. libc_link_dests= libc_link_sources= @@ -1456,7 +1548,7 @@ default) stdio=stdio ;; esac echo "$ac_t""$stdio" 1>&4 - + if test $gnu_ld = yes; then cat >> confdefs.h <<\EOF #define HAVE_GNU_LD 1 @@ -1475,12 +1567,6 @@ if test $elf = yes; then EOF fi -if test $weak = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_WEAK_SYMBOLS 1 -EOF - -fi if test $shared = default; then @@ -1573,7 +1659,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.7" + echo "$CONFIG_STATUS generated by autoconf version 2.9" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -1639,7 +1725,6 @@ s%@stdio@%$stdio%g s%@gnu_ld@%$gnu_ld%g s%@gnu_as@%$gnu_as%g s%@elf@%$elf%g -s%@weak@%$weak%g s%@shared@%$shared%g s%@profile@%$profile%g s%@omitfp@%$omitfp%g @@ -1747,7 +1832,7 @@ rm -f conftest.vals cat > conftest.hdr <<\EOF s/[\\&%]/\\&/g s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp s%ac_d%ac_u%gp s%ac_u%ac_e%gp EOF diff --git a/configure.in b/configure.in index 4c9d881100..d124e49964 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ Dnl Process this file with autoconf to produce a configure script. AC_REVISION([$CVSid$]) -AC_PREREQ(2.4.2)dnl dnl Minimum Autoconf version required. +AC_PREREQ(2.9)dnl dnl Minimum Autoconf version required. AC_INIT(features.h) AC_CONFIG_HEADER(config.h) @@ -49,9 +49,6 @@ test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes AC_ARG_WITH(elf, dnl --with-elf if using the ELF object format, elf=$withval, elf=no) -AC_ARG_WITH(weak-symbols, dnl - --with-weak-symbols if weak symbols are available in as and ld, - weak=$withval, weak=no) AC_ARG_ENABLE(libio, dnl [ --enable-libio build in GNU libio instead of GNU stdio], @@ -406,6 +403,69 @@ if test $elf != yes; then fi fi +if test $elf = yes; then + libc_cv_asm_underscores=no +else + AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores, + [AC_TRY_COMPILE([asm ("_glibc_foobar:");], [glibc_foobar ();], + libc_cv_asm_underscores=yes, + libc_cv_asm_underscores=no)]) +fi +if test $libc_cv_asm_underscores = no; then + AC_DEFINE(NO_UNDERSCORES) +fi + +if test $elf = yes; then + libc_cv_weak_symbols=yes + libc_cv_asm_weak_directive=yes + libc_cv_asm_weakext_directive=no +else + AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive, + [dnl +cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weak foo +.weak bar; bar = foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weak_directive=yes + else + libc_cv_asm_weak_directive=no + fi + rm -f conftest*]) + +if $libc_cv_asm_weak_directive = no; then + AC_CACHE_CHECK(for assembler .weakext directive, + libc_cv_asm_weakext_directive, + [dnl +cat > conftest.s <<EOF +.text +${libc_cv_asm_global_directive} foo +foo: .long 0 +.weakext foo +.weak bar, foo +EOF + if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then + libc_cv_asm_weakext_directive=yes + else + libc_cv_asm_weakext_directive=no + fi + rm -f conftest*]) + + fi # no .weak +fi # not ELF + +if test $libc_cv_asm_weak_directive; then + AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE) +elif test $libc_cv_asm_weakext_directive; then + AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE) +fi + +### End of automated tests. +### Now run sysdeps configure fragments. + # sysdeps configure fragments may set these with files to be linked below. libc_link_dests= libc_link_sources= @@ -498,7 +558,7 @@ default) stdio=stdio ;; esac AC_MSG_RESULT($stdio) -AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(weak) +AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) if test $gnu_ld = yes; then AC_DEFINE(HAVE_GNU_LD) fi @@ -508,9 +568,6 @@ fi if test $elf = yes; then AC_DEFINE(HAVE_ELF) fi -if test $weak = yes; then - AC_DEFINE(HAVE_WEAK_SYMBOLS) -fi AC_SUBST(shared) if test $shared = default; then diff --git a/inet/arpa/inet.h b/inet/arpa/inet.h index a231484642..2413dcf76e 100644 --- a/inet/arpa/inet.h +++ b/inet/arpa/inet.h @@ -39,14 +39,15 @@ /* External definitions for functions in inet(3) */ #include <sys/cdefs.h> +#include <sys/types.h> __BEGIN_DECLS -unsigned long inet_addr __P((const char *)); +u_int32_t inet_addr __P((const char *)); int inet_aton __P((const char *, struct in_addr *)); -unsigned long inet_lnaof __P((struct in_addr)); -struct in_addr inet_makeaddr __P((u_long , u_long)); -unsigned long inet_netof __P((struct in_addr)); -unsigned long inet_network __P((const char *)); +u_int32_t inet_lnaof __P((struct in_addr)); +struct in_addr inet_makeaddr __P((u_int32_t , u_int32_t)); +u_int32_t inet_netof __P((struct in_addr)); +u_int32_t inet_network __P((const char *)); char *inet_ntoa __P((struct in_addr)); __END_DECLS diff --git a/inet/inet_lnaof.c b/inet/inet_lnaof.c index 406be30034..cd5ef29c5d 100644 --- a/inet/inet_lnaof.c +++ b/inet/inet_lnaof.c @@ -44,11 +44,11 @@ static char sccsid[] = "@(#)inet_lnaof.c 8.1 (Berkeley) 6/4/93"; * internet address; handles class a/b/c network * number formats. */ -u_long +u_int32_t inet_lnaof(in) struct in_addr in; { - register u_long i = ntohl(in.s_addr); + register u_int32_t i = ntohl(in.s_addr); if (IN_CLASSA(i)) return ((i)&IN_CLASSA_HOST); diff --git a/inet/inet_mkadr.c b/inet/inet_mkadr.c index 7976188ea5..7f260744e9 100644 --- a/inet/inet_mkadr.c +++ b/inet/inet_mkadr.c @@ -45,9 +45,9 @@ static char sccsid[] = "@(#)inet_makeaddr.c 8.1 (Berkeley) 6/4/93"; */ struct in_addr inet_makeaddr(net, host) - u_long net, host; + u_int32_t net, host; { - u_long addr; + u_int32_t addr; if (net < 128) addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST); diff --git a/inet/inet_net.c b/inet/inet_net.c index fda53b6ecc..cfaadd7949 100644 --- a/inet/inet_net.c +++ b/inet/inet_net.c @@ -45,13 +45,13 @@ static char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93"; * The library routines call this routine to interpret * network numbers. */ -u_long +u_int32_t inet_network(cp) register const char *cp; { - register u_long val, base, n; + register u_int32_t val, base, n; register char c; - u_long parts[4], *pp = parts; + u_int32_t parts[4], *pp = parts; register int i; again: diff --git a/inet/inet_netof.c b/inet/inet_netof.c index d6de694243..40cbc0ea97 100644 --- a/inet/inet_netof.c +++ b/inet/inet_netof.c |
