aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-12-29 17:52:49 +0000
committerUlrich Drepper <drepper@redhat.com>1999-12-29 17:52:49 +0000
commitdbbbaf53352501384c57512e2251c9d7169388af (patch)
treeee82c0b6703dcaa060e93c02e3bf108c2176e78f /sysdeps
parent15a2315cb457be0599d7a662e64aa54e560f96f0 (diff)
downloadglibc-dbbbaf53352501384c57512e2251c9d7169388af.zip
glibc-dbbbaf53352501384c57512e2251c9d7169388af.tar.gz
glibc-dbbbaf53352501384c57512e2251c9d7169388af.tar.bz2
Update.
1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include <asm/io.h>; 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 <asm/io.h>. 1999-12-29 Andreas Jaeger <aj@suse.de> * manual/getopt.texi (Using Getopt): Document ordering of options. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek. Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1999-12-14 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux 2.3.32. 1999-12-28 Jakub Jelinek <jakub@redhat.com> * 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.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ieee754/ldbl-128/e_atan2l.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/s_roundl.c2
-rw-r--r--sysdeps/sparc/fpu/bits/mathinline.h31
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/io.h45
-rw-r--r--sysdeps/unix/sysv/linux/arm/sys/io.h20
-rw-r--r--sysdeps/unix/sysv/linux/llseek.c6
-rw-r--r--sysdeps/unix/sysv/linux/scsi/scsi.h4
-rw-r--r--sysdeps/unix/sysv/linux/sys/io.h3
8 files changed, 64 insertions, 49 deletions
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 <asm/io.h>
-
/* 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 <asm/io.h>
-
/* 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.