aboutsummaryrefslogtreecommitdiff
path: root/sunrpc/xdr.c
AgeCommit message (Collapse)Author
1996-07-20Sat Jul 20 07:15:33 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* crypt/Makefile, crypt/nocrypt.c: Removed. It is illegal to export from the USA any software that even makes it easy to drop in an encryption module of foreign origin. * Makerules (cryptobjdir): Variable removed. ($(libdir)/libc.so): Remove dep on libcrypt.so$(libcrypt.so-version). * Makefile (subdirs): Remove crypt. Fri Jul 19 15:10:37 1996 David Mosberger-Tang <davidm@azstarnet.com> * sunrpc/xdr_mem.c (xdrmem_putlong): Don't cast LP to int32 (the old code would have failed on a big-endian 64-bit architecture). * sunrpc/xdr_stdio.c (xdrstdio_putlong): Ditto. * sunrpc/xdr.c (xdr_int): Handle XDR_FREE case. (xdr_u_long): Use switch instead of chain of if-statements. Remove gratitous parentheses around return expressions. (xdr_enum): Open code case where INT_MAX<LONG_MAX. * sunrpc/svc.c (svc_getreqset): Increment SOCK by 32, not NFDBITS. * sunrpc/portmap.c (reg_service): Declare ANS and PORT as long, not int. Fri Jul 19 16:56:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * dlfcn.h, db.h: New wrapper headers. * posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA] for `struct stat;' forward decl. Fri Jul 19 22:25:19 1996 Ulrich Drepper <drepper@cygnus.com> * locale/iso-4217.def: Add some more standardized currency symbols.
1996-07-02* nss/nss_files/files-network.c: Pass empty for new DB_LOOKUP args.Roland McGrath
(DATABASE): Define this instead of DATAFILE. * nss/nss_files/files-hosts.c: Likewise. (hostbyname): Use LOOKUP_NAME macro. * nss/nss_db/db-XXX.c: New file. * nss/Makefile (services): Add db. (libnss_db-inhibit-o): New variable. (libnss_db-routines): New variable. (distribute): Append db-XXX.c. (libnss_db.so): Depend on libdb.so and libnss_files.so. ($(libnss_db-routines:%=$(objpfx)%.c)): New static pattern rule. * nss/nss_files/files-XXX.c (DB_LOOKUP): Add KEYSIZE and KEYPATTERN args, ignored. (DATAFILE): New macro. * nss/nss_files/files-parse.c (GENERIC): If undefined, define to "files-XXX.c". * nss/nss_files/files-rpc.c: Include GENERIC instead of "files-XXX.c". Pass db key args to DB_LOOKUP. (DATAFILE): Macro removed. (DATABASE): New macro replaces it, lacks "/etc/" prefix. * nss/nss_files/files-service.c: Likewise. * nss/nss_files/files-pwd.c: Likewise. * nss/nss_files/files-proto.c: Likewise. * nss/nss_files/files-grp.c: Likewise. * nss/nss_files/files-ethers.c: Likewise. * elf/linux-compat.c: File removed. * elf/Makefile (distribute): Remove linux-compat.c. (ld-linux.so.1): Remove target and associated variables. * sunrpc/xdr.c: Remove malloc decl. * sunrpc/portmap.c: Likewise. * sunrpc/svc_tcp.c (abort): Don't declare. Instead define as macro casting abort to fn returning bool_t. * nss/nss_files/files-parse.c [EXTERN_PARSER]: Do an extern decl of the parser function. [EXTERN_PARSER] (LINE_PARSER): Define to empty. * nss/nss_files/files-pwd.c (EXTERN_PARSER): Define it. * nss/nss_files/files-grp.c: Likewise. * Makeconfig (BUILD_CC): If undefined, define to $(CC). * sunrpc/rpc/types.h: Include stdlib.h instead of declaring malloc. * Makeconfig (built-program-cmd): Use $(rtld-installed-name) in place of ld.so so lookups for that soname find it. * nss/Makefile (libnss_dns.so): Depend on libresolv.so. (resobjdir, LDLIBS-nss_dns.so): Variables removed.
1996-07-01Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* nss/Makefile (databases): Change host to hosts. * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
1996-06-28Fri Jun 28 02:41:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960628Roland McGrath
* nss/Makefile (databases): New variable. (routines, libnss_files-routines): Use it. (subdir-dirs): Compute from $(services). * sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module, init_module, klogctl): Use EXTRA in the "caller" column so these get added to unix-extra-syscalls and thus compiled in misc. * string/Makefile (routines): Add strndup. * string/strndup.c: New file. * string/string.h: Declare strndup. (strndupa): New macro. * string/string.h: Declare __strdup. * string/strdup.c: Deansideclized. Define __ name and weak alias. * string/string.h: Don't define memccpy as macro for [__OPTIMIZE__]. Thu Jun 27 23:43:22 1996 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's address-of operation and plt format conspire to require all dynamic relocs to be resolved to actual symbols not plt entries. Thu Jun 27 02:49:28 1996 Ulrich Drepper <drepper@cygnus.com> * catgets/gencat.c: Add casts to avoid signed<->unsigned warnings. * grp/initgroups.c (initgroups): De-ansi-fy. Move declaration of NGROUPS and GROUPS outside #if so that the code compiles for NGROUPS_MAX != 0. * inet/Makefile (headers): Add netinet/ether.h and netinet/if_ether.h. (routines): Add ether_aton, ether_aton_r, ether_hton, ether_line, ether_ntoa, ether_ntoa_r, and ether_ntoh. * inet/ether_aton.c, inet/ether_aton_r.c, inet/ether_hton.c, inet/ether_line.c, inet/ether_ntoa.c, inet/ether_ntoa_r.c, inet/ether_ntoh.c: New files. Implementation of functions to handle Ethernet address to host mapping. * inet/netinet/ether.h: New file. Declare ether_* functions. * netinet/ether.h: Wrapper around inet/netinet/ether.h for glibc compilation. * nss/ethers-lookup.c: New file. Lookup function for ethers database. * nss/Makefile (routines): Add ethers-lookup. (libnss_files-routines): Add files-ethers. * nss/getXXent_r.c: Don't define set*ent and end*ent function with _r suffix. * nss/nss_files/files-XXX.c (internal_endent): Don't reset KEEP_STREAM every time called. (_nss_files_end): Reset KEEP_STREAM here instead. (internal_getent): If STREAM == NULL try to open instead of signalling error. Use cast to prevent warning. Terminate read line in case the buffer is too small. * nss/nss_files/files-ethers.c: New file. Implementation of Ethernet adress<->hostname lookup through files interface. * stdlib/mbstowcs.c: Define based on mbsrtowcs(). * stdlib/mbtowc.c: Define based on mbrtowc(). * stdlib/wcstombs.c: Define based on wcsrtombs(). * stdlib/wctomb.c: Define based on wcrtomb(). * sunrpc/xdr.c (xdr_u_int): Avoid bogus call to unexpected_sizes_in_xdr_u_int. * sysdeps/generic/netinet/if_ether.h: New file. Generic declaration of `struct ether_addr'. * sysdeps/unix/sysv/linux/netinet/if_ether.h: New file. Linux specific declaration of `struct ether_addr'. * wcsmbs/mbrtowc.c: Handle case where argument PS is NULL. * wcsmbs/mbsrtowcs.c: Ditto. * wcsmbs/wcrtomb.c: Ditto. * wcsmbs/wcsrtombs.c: Ditto. * wcsmbs/mbsinit.c: Prepare for PS being NULL.
1996-06-26Wed Jun 26 01:58:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960626Roland McGrath
* sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code.
1996-06-19Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>cvs/libc-960619Roland McGrath
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns. * locale/programs/locale.c: Include string.h. * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and sizeof(int)<sizeof(long), we need to go through a temporary variable. * locale/programs/ld-numeric.c: Include <alloca.h> * libio/stdio.h (__libc_fatal): Add prototype. * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is in efect. * libio/iopopen.c (read_or_write, parent_end, child_end): Declare volatile to avoid "might get clobbered by longjmp" warning. * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove. * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed. * sysdeps/unix/sysv/linux/alpha/start.S: Ditto. * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man to be Linux FSSTND compliant. Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO. * sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id to SYS_get?id so that syscall stubs in sysdeps/unix define these syscalls in terms of getxpid/getxuid/getxgid. * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S, sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h (PSEUDO_END): Rename END() to PSEUDO_END(). * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. (PSEUDO_END): New macro. * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S, sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. * sysdeps/unix/alpha/sysdep.S: Renamed from sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1 as well. * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return address register in the .frame directive. * sysdeps/alpha/copysign.c: Remove. * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. * errno.h: Move __END_DECLS to correct place to make file compilable under c++. * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define d_ino only if <direntry.h> hasn't defined d_fileno. * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of arguments to weakext to make .weakext detection work on ECOFF systems. * FAQ: Add Linux/Alpha to list of supported platforms. Mention that _validuser() has been replaced by __ivaliduser(). Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-03-19Tue Mar 19 14:18:42 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath
* 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> * sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX. * sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents. * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount, umount. * sysdeps/alpha/__math.h (atan, cabs): New functions. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall expects set-value, not pointer to it). Sun Feb 25 22:36:10 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file. * gmon/gmon.c (__bb_head): new variable. (write_hist, write_call_graph, write_bb_counts): new functions. (_mcleanup): modified to call above functions instead of directly writing out gmon.out. * gmon/sys/gmon.h (struct __bb): New type. (struct gmonhdr): Type removed. (struct gmonparam): New member `log_hashfraction'. (GMONVERSION): Macro removed. * gmon/sys/gmon_out.h, gmon/bb_exit_func.c, sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new files. * gmon/Makefile (headers): Add sys/gmon_out.h. (routines): Add bb_init_func, bb_exit_func. * gmon/mcount.c: Avoid integer division. Wed Feb 21 23:56:41 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/alpha/setjmp.S: switched order in which sp and fp are passed to match what __sigsetjmp_aux() expects. Tue Feb 20 11:33:46 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind, connect, getpeername, getsockname, listen, recv, recvfrom, recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair): added to override same-name assembly file in the parent directory. * stdlib/stdlib.h: add include of sys/types.h in front of random etc declarations to ensure int32_t is declared. * stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t where 32 bit integers are required. Also change LONG_MAX into 0x7fffffff since the intent is to turn off the sign bit in a 32 bit integer. * time/offtime.c (__offtime): Use Paul Eggert's code to deal with very large values for "days" (e.g., 64 bit values). Mon Feb 19 22:22:12 1996 David Mosberger-Tang <davidm@azstarnet.com> * stdlib/stdlib.h (__random, __random_r, random_r, struct random_data): use int32_t instead of `long int'. Sat Feb 17 11:29:29 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c: new file. * sysdeps/alpha/ffs.S: new file. * sysdeps/alpha/fabs.c: File removed. * time/tzfile.c (__tzfile_read): counter variable is i, *not* num_transitions! * time/offtime.c: make capable of dealing with very large (64 bit) time_t values. Use old algorithm until a year is reached that is an integer multiple of 400, then use DAYS_PER_400_YEARS to do the remainder in a single division. * sysdeps/generic/ffs.c (ffs): fix variable declarations to be unsigned int, not unsigned long. * string/test-ffs.c (main): add test case with all upper bits set. * stdlib/tst-strtol.c: add tests cases for machines where sizeof(long)==8. * stdlib/testrand.c (main): disallow rand() to return negative integers. * stdlib/testmb.c (main): fix format to use %lx instead of %x. * stdlib/stdlib.h: on 64 bit machines, declare struct random_data, __random(), __random_r, and random_r to return "int" instead of "long int". * stdlib/random_r.c: 64 bit machines use "int" instead of "long int". Similarly, use INT_MAX instead of LONG_MAX. * stdlib/random.c: on 64 bit machines, randtbl[] and __random[] need to operate on "int" instead of "long int". * locale/locfile-hash.c (compute_hashval): make shifted constant a long to avoid loosing bits on 64 bit machines. * dirent/tst-seekdir.c (main): fix confusing comment; print a line to mark point where directory is rewound. Fri Feb 16 15:01:49 1996 David Mosberger-Tang <davidm@azstarnet.com> * time/strftime.c (strftime): any hour > 11 is PM (not > 12!). Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/Makefile, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/fpu_control.c, sysdeps/unix/sysv/linux/alpha/fpu_control.h, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/pipe.S, sysdeps/unix/sysv/linux/alpha/setfpucw.c, sysdeps/unix/sysv/linux/alpha/sigprocmask.c, sysdeps/unix/sysv/linux/alpha/speed.c, sysdeps/unix/sysv/linux/alpha/start.S, sysdeps/unix/sysv/linux/alpha/syscall.S, sysdeps/unix/sysv/linux/alpha/syscalls.list, sysdeps/unix/sysv/linux/alpha/alpha/regdef.h, sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/sysdep.h: New files. * sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return address register before returning (gcc 2.7.1 doesn't do it, presumably because $26 is declared as a global variable). * sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags" argument. * sysdeps/unix/alarm.c (alarm): do roundup using test & increment instead of multiplication. * sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of currently blocked signals instead of the empty mask to ensure that execution of alarm handler occurs with none of the currently blocked signals enabled. * sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version). * sysdeps/unix/bsd/osf/alpha/sysdep.h: include sysdeps/unix/alpha/sysdep.h and removed definitions now in that file. * sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h, sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s, sysdeps/alpha/strlen.S: New files. * sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4, sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S, sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c: Removed. * sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not int. * sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop to end of function to avoid a jump across NOPs. * sysdeps/alpha/Makefile (sysdep_routines): Removed all rules pertaining to integer division/remainder routines since new code doesn't require them. * sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long) where 32 bit quantities are consumed/stored. Various other minor 64-bit cleanups (casting). * sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine whether xdr_long or xdr_short should be used to encode an int. Notice that an xdr_long is 4 bytes independent of the architecture (otherwise no Alpha could interoperate with existing NFS servers, for example). Ditto for enums. * sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long) to 16 since it really wants 16 bytes. * sunrpc/svc.c (maskp): changed from u_long* to u_int32*. * 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. * sunrpc/xdr_rec.c: Likewise. * sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32. * sunrpc/rpc/auth.h: Likewise. * limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values for Alpha. Tue Mar 19 13:27:49 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/i386/fpu/__math.h: New file. Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>. Sun Mar 17 00:28:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/posix/clock.c: Don't multiply the return value by CLOCKS_PER_SEC or CLK_TCK. * sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory scan finds no match. * posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD. * misc/bsd-compat.c (setpgrp): New function, two arg version. * sysdeps/stub/setpgid.c: Remove setpgrp alias. * sysdeps/mach/hurd/setpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise. * sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias. * sysdeps/unix/sysv/irix4/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed. * posix/setpgrp.c (setpgrp): New file. * posix/Makefile (routines): Add setpgrp. Tue Feb 6 12:46:29 1996 David Mosberger-Tang <davidm@azstarnet.com> * libc-symbols.h (weak_alias, weak_symbol): added definitions for ECOFF (HAVE_ECOFF).
1995-02-18initial importRoland McGrath