From dbbbaf53352501384c57512e2251c9d7169388af Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 29 Dec 1999 17:52:49 +0000 Subject: Update. 1999-12-29 Andreas Jaeger * sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include ; remove K&R compatibility; add missing ints. * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility, add missing ints. * sysdeps/unix/sysv/linux/sys/io.h: Don't include . 1999-12-29 Andreas Jaeger * manual/getopt.texi (Using Getopt): Document ordering of options. 1999-12-29 Andreas Jaeger * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek. Requested by Michael Deutschmann . 1999-12-14 Andreas Jaeger * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux 2.3.32. 1999-12-28 Jakub Jelinek * elf/sprof.c (load_shobj): Fix error message. (generate_call_graph): Cast %*s length argument to int. * locale/programs/localedef.c (construct_output_path): Likewise. * locale/programs/ld-ctype.c (ctype_finish): Use proper format specifier. (ctype_class_new): Likewise. * locale/programs/ld-time.c (time_finish): Likewise. * sunrpc/svc_simple.c (register_rpc): Likewise. * nscd/connections.c (nscd_run, start_threads): Use long instead of int to avoid cast warnings. * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill warning. * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused variable se. * time/strftime.c (my_strftime): Provide wide era string when requested. * sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl): Separate into 32bit and 64bit versions. --- sysdeps/ieee754/ldbl-128/e_atan2l.c | 2 +- sysdeps/ieee754/ldbl-128/s_roundl.c | 2 +- sysdeps/sparc/fpu/bits/mathinline.h | 31 +++++++++++++++-------- sysdeps/unix/sysv/linux/alpha/sys/io.h | 45 ++++++++++++++++------------------ sysdeps/unix/sysv/linux/arm/sys/io.h | 20 +++++++-------- sysdeps/unix/sysv/linux/llseek.c | 6 +++++ sysdeps/unix/sysv/linux/scsi/scsi.h | 4 +++ sysdeps/unix/sysv/linux/sys/io.h | 3 --- 8 files changed, 64 insertions(+), 49 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/ieee754/ldbl-128/e_atan2l.c b/sysdeps/ieee754/ldbl-128/e_atan2l.c index 2e081d3..2bbb3b8 100644 --- a/sysdeps/ieee754/ldbl-128/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-128/e_atan2l.c @@ -73,7 +73,7 @@ pi_lo = 8.67181013012378102479704402604335225e-35L; /* 3f8dcd129024e088a67cc74 if(((ix|((lx|-lx)>>63))>0x7fff000000000000LL)|| ((iy|((ly|-ly)>>63))>0x7fff000000000000LL)) /* x or y is NaN */ return x+y; - if((hx-0x3fff000000000000LL|lx)==0) return __atanl(y); /* x=1.0L */ + if(((hx-0x3fff000000000000LL)|lx)==0) return __atanl(y); /* x=1.0L */ m = ((hy>>63)&1)|((hx>>62)&2); /* 2*sign(x)+sign(y) */ /* when y = 0 */ diff --git a/sysdeps/ieee754/ldbl-128/s_roundl.c b/sysdeps/ieee754/ldbl-128/s_roundl.c index f9fff48..076d46c 100644 --- a/sysdeps/ieee754/ldbl-128/s_roundl.c +++ b/sysdeps/ieee754/ldbl-128/s_roundl.c @@ -31,7 +31,7 @@ long double __roundl (long double x) { int32_t j0; - u_int64_t se, i1, i0; + u_int64_t i1, i0; GET_LDOUBLE_WORDS64 (i0, i1, x); j0 = ((i0 >> 48) & 0x7fff) - 0x3fff; diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h index 69591fe..2c4b282 100644 --- a/sysdeps/sparc/fpu/bits/mathinline.h +++ b/sysdeps/sparc/fpu/bits/mathinline.h @@ -110,6 +110,8 @@ __signbitf (float __x) return __u.__i < 0; } +#if __WORDSIZE == 32 + __MATH_INLINE int __signbit (double __x) { @@ -120,18 +122,27 @@ __signbit (double __x) __MATH_INLINE int __signbitl (long double __x) { - if (sizeof(long double) == 8) - { - __extension__ union { long double __l; int __i[2]; } __u = { __l: __x }; - return __u.__i[0] < 0; - } - else - { - __extension__ union { long double __l; int __i[4]; } __u = { __l: __x }; - return __u.__i[0] < 0; - } + return __signbit ((double)__x); +} + +#else /* sparc64 */ + +__MATH_INLINE int +__signbit (double __x) +{ + __extension__ union { double __d; long __i; } __u = { __d: __x }; + return __u.__i < 0; +} + +__MATH_INLINE int +__signbitl (long double __x) +{ + __extension__ union { long double __l; long __i[2]; } __u = { __l: __x }; + return __u.__i[0] < 0; } +#endif /* sparc64 */ + __MATH_INLINE double sqrt(double __x) { diff --git a/sysdeps/unix/sysv/linux/alpha/sys/io.h b/sysdeps/unix/sysv/linux/alpha/sys/io.h index 208e793..0095714 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/io.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1999 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 @@ -23,9 +23,6 @@ __BEGIN_DECLS -/* Get constants from kernel header files. */ -#include - /* If TURN_ON is TRUE, request for permission to do direct i/o on the port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O permission off for that range. This call requires root privileges. @@ -33,39 +30,39 @@ __BEGIN_DECLS Portability note: not all Linux platforms support this call. Most platforms based on the PC I/O architecture probably will, however. E.g., Linux/Alpha for Alpha PCs supports this. */ -extern int ioperm __P ((unsigned long int __from, unsigned long int __num, - int __turn_on)); +extern int ioperm (unsigned long int __from, unsigned long int __num, + int __turn_on) __THROW; /* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to access any I/O port is granted. This call requires root privileges. */ -extern int iopl __P ((int __level)); +extern int iopl (int __level) __THROW; /* Return the physical address of the DENSE I/O memory or NULL if none is available (e.g. on a jensen). */ -extern unsigned long _bus_base __P ((void)) __attribute__ ((const)); -extern unsigned long bus_base __P ((void)) __attribute__ ((const)); +extern unsigned long int _bus_base (void) __THROW __attribute__ ((const)); +extern unsigned long int bus_base (void) __THROW __attribute__ ((const)); /* Return the physical address of the SPARSE I/O memory. */ -extern unsigned long _bus_base_sparse __P ((void)) __attribute__ ((const)); -extern unsigned long bus_base_sparse __P ((void)) __attribute__ ((const)); +extern unsigned long _bus_base_sparse (void) __THROW __attribute__ ((const)); +extern unsigned long bus_base_sparse (void) __THROW __attribute__ ((const)); /* Return the HAE shift used by the SPARSE I/O memory. */ -extern int _hae_shift __P ((void)) __attribute__ ((const)); -extern int hae_shift __P ((void)) __attribute__ ((const)); +extern int _hae_shift (void) __THROW __attribute__ ((const)); +extern int hae_shift (void) __THROW __attribute__ ((const)); /* Access PCI space protected from machine checks. */ -extern int pciconfig_read __P ((unsigned long int __bus, - unsigned long int __dfn, - unsigned long int __off, - unsigned long int __len, - unsigned char *__buf)); - -extern int pciconfig_write __P ((unsigned long int __bus, - unsigned long int __dfn, - unsigned long int __off, - unsigned long int __len, - unsigned char *__buf)); +extern int pciconfig_read (unsigned long int __bus, + unsigned long int __dfn, + unsigned long int __off, + unsigned long int __len, + unsigned char *__buf) __THROW; + +extern int pciconfig_write (unsigned long int __bus, + unsigned long int __dfn, + unsigned long int __off, + unsigned long int __len, + unsigned char *__buf) __THROW; __END_DECLS diff --git a/sysdeps/unix/sysv/linux/arm/sys/io.h b/sysdeps/unix/sysv/linux/arm/sys/io.h index 9f9eebc..96d54cd 100644 --- a/sysdeps/unix/sysv/linux/arm/sys/io.h +++ b/sysdeps/unix/sysv/linux/arm/sys/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1998, 1999 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 @@ -26,22 +26,22 @@ __BEGIN_DECLS /* If TURN_ON is TRUE, request for permission to do direct i/o on the port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O permission off for that range. This call requires root privileges. */ -extern int ioperm __P ((unsigned long int __from, unsigned long int __num, - int __turn_on)); +extern int ioperm (unsigned long int __from, unsigned long int __num, + int __turn_on) __THROW; /* Set the I/O privilege level to LEVEL. If LEVEL is nonzero, permission to access any I/O port is granted. This call requires root privileges. */ -extern int iopl __P ((int __level)); +extern int iopl (int __level) __THROW; /* The functions that actually perform reads and writes. */ -extern unsigned char inb (unsigned long port); -extern unsigned short inw (unsigned long port); -extern unsigned long inl (unsigned long port); +extern unsigned char inb (unsigned long int port) __THROW; +extern unsigned short int inw (unsigned long int port) __THROW; +extern unsigned long int inl (unsigned long int port) __THROW; -extern void outb (unsigned char value, unsigned long port); -extern void outw (unsigned short value, unsigned long port); -extern void outl (unsigned long value, unsigned long port); +extern void outb (unsigned char value, unsigned long int port) __THROW; +extern void outw (unsigned short value, unsigned long int port) __THROW; +extern void outl (unsigned long value, unsigned long int port) __THROW; __END_DECLS diff --git a/sysdeps/unix/sysv/linux/llseek.c b/sysdeps/unix/sysv/linux/llseek.c index 67b3435..d576226 100644 --- a/sysdeps/unix/sysv/linux/llseek.c +++ b/sysdeps/unix/sysv/linux/llseek.c @@ -40,3 +40,9 @@ weak_alias (__llseek, llseek) strong_alias (__llseek, __libc_lseek64) strong_alias (__llseek, __lseek64) weak_alias (__llseek, lseek64) + +/* llseek doesn't have a prototype. Since the second parameter is a + 64bit type, this results in wrong behaviour if no prototype is + provided. */ +link_warning (llseek, "\ +the `llseek' function should not be used; use `lseek64' instead.") diff --git a/sysdeps/unix/sysv/linux/scsi/scsi.h b/sysdeps/unix/sysv/linux/scsi/scsi.h index 92d46be..aca4bb6 100644 --- a/sysdeps/unix/sysv/linux/scsi/scsi.h +++ b/sysdeps/unix/sysv/linux/scsi/scsi.h @@ -85,7 +85,11 @@ #define LOG_SELECT 0x4c #define LOG_SENSE 0x4d #define MODE_SELECT_10 0x55 +#define RESERVE_10 0x56 +#define RELEASE_10 0x57 #define MODE_SENSE_10 0x5a +#define PERSISTENT_RESERVE_IN 0x5e +#define PERSISTENT_RESERVE_OUT 0x5f #define MOVE_MEDIUM 0xa5 #define READ_12 0xa8 #define WRITE_12 0xaa diff --git a/sysdeps/unix/sysv/linux/sys/io.h b/sysdeps/unix/sysv/linux/sys/io.h index a15e812..c0ecca5 100644 --- a/sysdeps/unix/sysv/linux/sys/io.h +++ b/sysdeps/unix/sysv/linux/sys/io.h @@ -23,9 +23,6 @@ __BEGIN_DECLS -/* Get constants from kernel header files. */ -#include - /* If TURN_ON is TRUE, request for permission to do direct i/o on the port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O permission off for that range. This call requires root privileges. -- cgit v1.1