diff options
| author | Roland McGrath <roland@gnu.org> | 1996-06-19 06:54:12 +0000 |
|---|---|---|
| committer | Roland McGrath <roland@gnu.org> | 1996-06-19 06:54:12 +0000 |
| commit | a1470b6f839addde3f8ee2c29a237aca21e62565 (patch) | |
| tree | e57a088836e66c6784c7e48cbe01d61621d37f34 | |
| parent | 6990326c21e6d767e3531a00782af1e091eab4fe (diff) | |
| download | glibc-cvs/libc-960619.tar.xz glibc-cvs/libc-960619.zip | |
Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>cvs/libc-960619
* 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).
47 files changed, 328 insertions, 221 deletions
@@ -19,6 +19,109 @@ Wed Jun 19 03:24:58 1996 Ulrich Drepper <drepper@cygnus.com> * locale/setlocale.c (setlocale): Initialize local variables to prevent warnings. +Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * 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). + Tue Jun 18 17:56:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * Version 1.91 test release. @@ -50,6 +50,7 @@ in the future are: *-*-gnu GNU Hurd i[3456]86-*-linux Linux-2.0 on Intel + alpha-*-linux Linux on Alpha Other Linux platforms are also on the way to be supported but I need some success reports first. @@ -214,6 +215,12 @@ incompatibilities: init_module init_module <sys/module.h> syslog ksyslog_ctl <sys/klog.h> +* lpd: Older versions of lpd depend on an routine called _validuser(). + The library does not provide this function, but instead provides + __ivaliduser() which has a slightly different interfaces. Simply + upgrading to a newer lpd should fix this problem (e.g., the BSD 4.4 + lpd is known to be working). + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -1483,7 +1483,7 @@ else ${libc_cv_asm_global_directive} foo foo: .long 0 .weakext foo -.weakext bar, foo +.weakext foo, bar EOF if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then libc_cv_asm_weakext_directive=yes diff --git a/configure.in b/configure.in index eceb4da989..e8e9121efd 100644 --- a/configure.in +++ b/configure.in @@ -455,7 +455,7 @@ cat > conftest.s <<EOF ${libc_cv_asm_global_directive} foo foo: .long 0 .weakext foo -.weakext bar, foo +.weakext foo, bar EOF if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then libc_cv_asm_weakext_directive=yes diff --git a/dirent/dirent.h b/dirent/dirent.h index 19e663bef5..3b708ebc78 100644 --- a/dirent/dirent.h +++ b/dirent/dirent.h @@ -35,12 +35,16 @@ __BEGIN_DECLS member that gives the length of `d_name'. It defines the macro `_DIRENT_HAVE_D_RECLEN' iff there is a `d_reclen' - member that gives the size of the entire directory entry. */ + member that gives the size of the entire directory entry. + + It defines the macro `_DIRENT_HAVE_D_OFF' iff there is a `d_off' + member that gives the file offset of the next directory entry. + */ #include <direntry.h> -#if defined(__USE_BSD) || defined(__USE_MISC) -#define d_ino d_fileno /* Backward compatibility. */ +#if (defined(__USE_BSD) || defined(__USE_MISC)) && !defined(d_fileno) +#define d_ino d_fileno /* Backward compatibility. */ #endif /* These macros extract size information from a `struct dirent *'. @@ -60,10 +60,9 @@ typedef int error_t; invoked. These variables are set up automatically at startup based on the value of ARGV[0] (this works only if you use GNU ld). */ extern char *program_invocation_name, *program_invocation_short_name; -#endif /* Use GNU. */ - -#endif /* errno.h included */ +#endif /* __USE_GNU */ +#endif /* _ERRNO_H */ __END_DECLS -#endif /* errno.h */ +#endif /* errno.h */ diff --git a/features.h b/features.h index 015e230cde..4aee806ba8 100644 --- a/features.h +++ b/features.h @@ -66,7 +66,13 @@ Cambridge, MA 02139, USA. */ #undef __USE_GNU #undef __USE_REENTRANT #undef __FAVOR_BSD +#undef __KERNEL_STRICT_NAMES +/* Suppress kernel-name space pollution unless user expressedly asks + for it: */ +#ifndef _LOOSE_KERNEL_NAMES +# define __KERNEL_STRICT_NAMES +#endif /* Always use ANSI things. */ #define __USE_ANSI 1 diff --git a/libio/cleanup.c b/libio/cleanup.c index 1f316ebb33..4a068083d0 100644 --- a/libio/cleanup.c +++ b/libio/cleanup.c @@ -14,7 +14,7 @@ DEFUN_VOID(_IO_register_cleanup) _IO_cleanup_registration_needed = 0; } -void (*_IO_cleanup_registration_needed)() = _IO_register_cleanup; +void (*_IO_cleanup_registration_needed) __P((void)) = _IO_register_cleanup; #else -void (*_IO_cleanup_registration_needed)() = NULL; +void (*_IO_cleanup_registration_needed) __P((void)) = NULL; #endif /* _G_HAVE_ATEXIT */ diff --git a/libio/iopopen.c b/libio/iopopen.c index b9ee737502..5b9bd4844d 100644 --- a/libio/iopopen.c +++ b/libio/iopopen.c @@ -84,9 +84,9 @@ DEFUN(_IO_proc_open, (fp, command, mode), _IO_FILE* fp AND const char *command AND const char *mode) { #if _IO_HAVE_SYS_WAIT - int read_or_write; + volatile int read_or_write; + volatile int parent_end, child_end; int pipe_fds[2]; - int parent_end, child_end; _IO_pid_t child_pid; if (_IO_file_is_open(fp)) return NULL; diff --git a/libio/stdio.h b/libio/stdio.h index 022d210999..048a11d60c 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -145,6 +145,8 @@ extern int ungetc __P ((int c, FILE* fp)); extern int vfprintf __P ((FILE *fp, char __const *fmt0, _G_va_list)); extern int vprintf __P ((char __const *fmt, _G_va_list)); extern int vsprintf __P ((char* string, __const char* format, _G_va_list)); +extern void __libc_fatal __P ((__const char *__message)) + __attribute__ ((__noreturn__)); #ifndef __STRICT_ANSI__ extern int dprintf __P ((int, __const char *, ...)); diff --git a/locale/programs/ld-numeric.c b/locale/programs/ld-numeric.c index dcee7bdb4e..dd5ced7206 100644 --- a/locale/programs/ld-numeric.c +++ b/locale/programs/ld-numeric.c @@ -21,6 +21,7 @@ Boston, MA 02111-1307, USA. */ # include <config.h> #endif +#include <alloca.h> #include <langinfo.h> #include <string.h> diff --git a/locale/programs/locale.c b/locale/programs/locale.c index 41c7b1d46e..ef5d9ae825 100644 --- a/locale/programs/locale.c +++ b/ |
