diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-09-27 06:18:18 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-09-27 06:18:18 +0000 |
commit | f1750fb9c68854778e6e023ed490ff80e1c90167 (patch) | |
tree | 416f6a0fabb42abbdafde8965810adb5abcf0283 /sysdeps | |
parent | efaf80c5d05102f75864847140bfb8b2bdbd4523 (diff) |
Updated to fedora-glibc-20040927T0611cvs/fedora-glibc-2_3_3-59
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/alpha/alphaev6/memcpy.S | 1 | ||||
-rw-r--r-- | sysdeps/generic/bits/types.h | 6 | ||||
-rw-r--r-- | sysdeps/generic/s_fdim.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/s_fdimf.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/s_fdiml.c | 4 | ||||
-rw-r--r-- | sysdeps/i386/i686/fpu/s_fdim.S | 10 | ||||
-rw-r--r-- | sysdeps/i386/i686/fpu/s_fdimf.S | 10 | ||||
-rw-r--r-- | sysdeps/i386/i686/fpu/s_fdiml.S | 10 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 41 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/s_fdim.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/fpu/s_fdimf.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/alpha/sysdep.h | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/s_fdiml.S | 10 |
13 files changed, 70 insertions, 42 deletions
diff --git a/sysdeps/alpha/alphaev6/memcpy.S b/sysdeps/alpha/alphaev6/memcpy.S index d16bc03a02..7cff521da2 100644 --- a/sysdeps/alpha/alphaev6/memcpy.S +++ b/sysdeps/alpha/alphaev6/memcpy.S @@ -39,6 +39,7 @@ .set noat ENTRY(memcpy) + .prologue 0 mov $16, $0 # E : copy dest to return ble $18, $nomoredata # U : done with the copy? diff --git a/sysdeps/generic/bits/types.h b/sysdeps/generic/bits/types.h index 8abea03f57..ce48964f14 100644 --- a/sysdeps/generic/bits/types.h +++ b/sysdeps/generic/bits/types.h @@ -1,5 +1,5 @@ /* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 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 @@ -106,8 +106,8 @@ typedef struct #define __SLONGWORD_TYPE long int #define __ULONGWORD_TYPE unsigned long int #if __WORDSIZE == 32 -# define __SQUAD_TYPE long long int -# define __UQUAD_TYPE unsigned long long int +# define __SQUAD_TYPE __quad_t +# define __UQUAD_TYPE __u_quad_t # define __SWORD_TYPE int # define __UWORD_TYPE unsigned int # define __SLONG32_TYPE long int diff --git a/sysdeps/generic/s_fdim.c b/sysdeps/generic/s_fdim.c index 201f93692e..5804e631c3 100644 --- a/sysdeps/generic/s_fdim.c +++ b/sysdeps/generic/s_fdim.c @@ -1,5 +1,5 @@ /* Return positive difference between arguments. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -31,7 +31,7 @@ __fdim (double x, double y) /* Raise invalid flag. */ return x - y; - return x < y ? 0 : x - y; + return x <= y ? 0 : x - y; } weak_alias (__fdim, fdim) #ifdef NO_LONG_DOUBLE diff --git a/sysdeps/generic/s_fdimf.c b/sysdeps/generic/s_fdimf.c index 64d54b7fe4..2f3ce303ae 100644 --- a/sysdeps/generic/s_fdimf.c +++ b/sysdeps/generic/s_fdimf.c @@ -1,5 +1,5 @@ /* Return positive difference between arguments. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -31,6 +31,6 @@ __fdimf (float x, float y) /* Raise invalid flag. */ return x - y; - return x < y ? 0 : x - y; + return x <= y ? 0 : x - y; } weak_alias (__fdimf, fdimf) diff --git a/sysdeps/generic/s_fdiml.c b/sysdeps/generic/s_fdiml.c index 83049ae732..70246bafbd 100644 --- a/sysdeps/generic/s_fdiml.c +++ b/sysdeps/generic/s_fdiml.c @@ -1,5 +1,5 @@ /* Return positive difference between arguments. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -31,6 +31,6 @@ __fdiml (long double x, long double y) /* Raise invalid flag. */ return x - y; - return x < y ? 0 : x - y; + return x <= y ? 0 : x - y; } weak_alias (__fdiml, fdiml) diff --git a/sysdeps/i386/i686/fpu/s_fdim.S b/sysdeps/i386/i686/fpu/s_fdim.S index e610973a56..30ecff4e7c 100644 --- a/sysdeps/i386/i686/fpu/s_fdim.S +++ b/sysdeps/i386/i686/fpu/s_fdim.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -28,12 +28,14 @@ ENTRY(__fdim) fucomi %st(1), %st jp 1f - fsubrp %st, %st(1) + jc 3f + fstp %st(1) fldz - fcomi %st(1), %st - fcmovb %st(1), %st jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fucomi %st(0), %st fcmovnu %st(1), %st 2: fstp %st(1) diff --git a/sysdeps/i386/i686/fpu/s_fdimf.S b/sysdeps/i386/i686/fpu/s_fdimf.S index a22cbe9d66..888df14b6f 100644 --- a/sysdeps/i386/i686/fpu/s_fdimf.S +++ b/sysdeps/i386/i686/fpu/s_fdimf.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -28,12 +28,14 @@ ENTRY(__fdimf) fucomi %st(1), %st jp 1f - fsubrp %st, %st(1) + jc 3f + fstp %st(1) fldz - fcomi %st(1), %st - fcmovb %st(1), %st jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fucomi %st(0), %st fcmovnu %st(1), %st 2: fstp %st(1) diff --git a/sysdeps/i386/i686/fpu/s_fdiml.S b/sysdeps/i386/i686/fpu/s_fdiml.S index fa3c51e462..cb0e26e367 100644 --- a/sysdeps/i386/i686/fpu/s_fdiml.S +++ b/sysdeps/i386/i686/fpu/s_fdiml.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -28,12 +28,14 @@ ENTRY(__fdiml) fucomi %st(1), %st jp 1f - fsubrp %st, %st(1) + jc 3f + fstp %st(1) fldz - fcomi %st(1), %st - fcmovb %st(1), %st jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fucomi %st(0), %st fcmovnu %st(1), %st 2: fstp %st(1) diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 225c1a1088..20e60de393 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -445,12 +445,35 @@ gaih_inet (const char *name, const struct gaih_service *service, } else { - st = __alloca (sizeof (struct gaih_servtuple)); - st->next = NULL; - st->socktype = tp->socktype; - st->protocol = ((tp->protoflag & GAI_PROTO_PROTOANY) - ? req->ai_protocol : tp->protocol); - st->port = htons (service->num); + if (req->ai_socktype || req->ai_protocol) + { + st = __alloca (sizeof (struct gaih_servtuple)); + st->next = NULL; + st->socktype = tp->socktype; + st->protocol = ((tp->protoflag & GAI_PROTO_PROTOANY) + ? req->ai_protocol : tp->protocol); + st->port = htons (service->num); + } + else + { + /* Neither socket type nor protocol is set. Return all + socket types we know about. */ + struct gaih_servtuple **lastp = &st; + for (tp = gaih_inet_typeproto + 1; tp->name[0]; ++tp) + if ((tp->protoflag & GAI_PROTO_NOSERVICE) == 0) + { + struct gaih_servtuple *newp; + + newp = __alloca (sizeof (struct gaih_servtuple)); + newp->next = NULL; + newp->socktype = tp->socktype; + newp->protocol = tp->protocol; + newp->port = htons (service->num); + + *lastp = newp; + lastp = &newp->next; + } + } } } else if (req->ai_socktype || req->ai_protocol) @@ -1493,11 +1516,7 @@ getaddrinfo (const char *name, const char *service, gaih_service.num = -1; } - else - /* Can't specify a numerical socket unless a protocol family was - given. */ - if (hints->ai_socktype == 0 && hints->ai_protocol == 0) - return EAI_SERVICE; + pservice = &gaih_service; } else diff --git a/sysdeps/powerpc/fpu/s_fdim.c b/sysdeps/powerpc/fpu/s_fdim.c index 165e2ff5a5..2b767addab 100644 --- a/sysdeps/powerpc/fpu/s_fdim.c +++ b/sysdeps/powerpc/fpu/s_fdim.c @@ -1,5 +1,5 @@ /* Return positive difference between arguments. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2004 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 @@ -22,7 +22,7 @@ double __fdim (double x, double y) { - return x < y ? 0 : x - y; + return x <= y ? 0 : x - y; } weak_alias (__fdim, fdim) #ifdef NO_LONG_DOUBLE diff --git a/sysdeps/powerpc/fpu/s_fdimf.c b/sysdeps/powerpc/fpu/s_fdimf.c index 997ec8983f..a27c1e4039 100644 --- a/sysdeps/powerpc/fpu/s_fdimf.c +++ b/sysdeps/powerpc/fpu/s_fdimf.c @@ -1,5 +1,5 @@ /* Return positive difference between arguments. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2004 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 @@ -22,6 +22,6 @@ float __fdimf (float x, float y) { - return x < y ? 0 : x - y; + return x <= y ? 0 : x - y; } weak_alias (__fdimf, fdimf) diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h index 5378f81602..5259c09a91 100644 --- a/sysdeps/unix/alpha/sysdep.h +++ b/sysdeps/unix/alpha/sysdep.h @@ -43,14 +43,14 @@ #define LEAF(name, framesize) \ .globl name; \ - .align 3; \ + .align 4; \ .ent name, 0; \ __LABEL(name) \ .frame sp, framesize, ra #define ENTRY(name) \ .globl name; \ - .align 3; \ + .align 4; \ .ent name, 0; \ __LABEL(name) \ .frame sp, 0, ra diff --git a/sysdeps/x86_64/fpu/s_fdiml.S b/sysdeps/x86_64/fpu/s_fdiml.S index 3460b0f979..d63ca00ef1 100644 --- a/sysdeps/x86_64/fpu/s_fdiml.S +++ b/sysdeps/x86_64/fpu/s_fdiml.S @@ -1,5 +1,5 @@ /* Compute positive difference. - Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -28,12 +28,14 @@ ENTRY(__fdiml) fucomi %st(1), %st jp 1f - fsubrp %st, %st(1) + jc 3f + fstp %st(1) fldz - fcomi %st(1), %st - fcmovb %st(1), %st jmp 2f +3: fsubrp %st, %st(1) + ret + 1: fucomi %st(0), %st fcmovnu %st(1), %st 2: fstp %st(1) |