From b9616a4d2d0ff113b95a638127ad27c98e6c713b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 16 Nov 2005 08:40:33 +0000 Subject: Updated to fedora-glibc-20051116T0829 --- sysdeps/sh/bits/setjmp.h | 4 ++-- sysdeps/unix/sysv/linux/bits/in.h | 27 +++++++++++++++++++------ sysdeps/unix/sysv/linux/fchownat.c | 6 +++++- sysdeps/unix/sysv/linux/futimesat.c | 1 + sysdeps/unix/sysv/linux/fxstatat64.c | 2 +- sysdeps/unix/sysv/linux/i386/fchownat.c | 1 + sysdeps/unix/sysv/linux/i386/fxstatat.c | 8 ++++++-- sysdeps/unix/sysv/linux/renameat.c | 1 + sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c | 1 + sysdeps/unix/sysv/linux/sys/epoll.h | 9 ++++++--- sysdeps/unix/sysv/linux/syscalls.list | 2 +- sysdeps/unix/sysv/linux/unlinkat.c | 1 + sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c | 6 +++++- 13 files changed, 52 insertions(+), 17 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/sh/bits/setjmp.h b/sysdeps/sh/bits/setjmp.h index 22497703af..d92feea214 100644 --- a/sysdeps/sh/bits/setjmp.h +++ b/sysdeps/sh/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2003, 2005 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 @@ -51,6 +51,6 @@ typedef struct /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) < &(jmpbuf)[0].__regs[7]) + ((void *) (address) < (jmpbuf)[0].__regs[7]) #endif /* bits/setjmp.h */ diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h index 9d587897ad..6880a2e636 100644 --- a/sysdeps/unix/sysv/linux/bits/in.h +++ b/sysdeps/unix/sysv/linux/bits/in.h @@ -105,13 +105,13 @@ struct in_pktinfo The first word in the comment at the right is the data type used; "bool" means a boolean value stored in an `int'. */ #define IPV6_ADDRFORM 1 -#define IPV6_PKTINFO 2 -#define IPV6_HOPOPTS 3 -#define IPV6_DSTOPTS 4 -#define IPV6_RTHDR 5 -#define IPV6_PKTOPTIONS 6 +#define IPV6_2292PKTINFO 2 +#define IPV6_2292HOPOPTS 3 +#define IPV6_2292DSTOPTS 4 +#define IPV6_2292RTHDR 5 +#define IPV6_2292PKTOPTIONS 6 #define IPV6_CHECKSUM 7 -#define IPV6_HOPLIMIT 8 +#define IPV6_2292HOPLIMIT 8 #define SCM_SRCRT IPV6_RXSRCRT @@ -133,6 +133,21 @@ struct in_pktinfo #define IPV6_IPSEC_POLICY 34 #define IPV6_XFRM_POLICY 35 +#define IPV6_RECVPKTINFO 49 +#define IPV6_PKTINFO 50 +#define IPV6_RECVHOPLIMIT 51 +#define IPV6_HOPLIMIT 52 +#define IPV6_RECVHOPOPTS 53 +#define IPV6_HOPOPTS 54 +#define IPV6_RTHDRDSTOPTS 55 +#define IPV6_RECVRTHDR 56 +#define IPV6_RTHDR 57 +#define IPV6_RECVDSTOPTS 58 +#define IPV6_DSTOPTS 59 + +#define IPV6_RECVTCLASS 66 +#define IPV6_TCLASS 67 + /* Obsolete synonyms for the above. */ #define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP #define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP diff --git a/sysdeps/unix/sysv/linux/fchownat.c b/sysdeps/unix/sysv/linux/fchownat.c index d3cb992a09..f8bc5e3033 100644 --- a/sysdeps/unix/sysv/linux/fchownat.c +++ b/sysdeps/unix/sysv/linux/fchownat.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -67,7 +68,10 @@ fchownat (fd, file, owner, group, flag) result = INTERNAL_SYSCALL (chown, err, 3, file, owner, group); if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 0)) - __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); + { + __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); + result = -1; + } return result; } diff --git a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futimesat.c index 2fdedb0ff4..7ab0477c5e 100644 --- a/sysdeps/unix/sysv/linux/futimesat.c +++ b/sysdeps/unix/sysv/linux/futimesat.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/sysdeps/unix/sysv/linux/fxstatat64.c b/sysdeps/unix/sysv/linux/fxstatat64.c index 8c41db710c..2360f50d98 100644 --- a/sysdeps/unix/sysv/linux/fxstatat64.c +++ b/sysdeps/unix/sysv/linux/fxstatat64.c @@ -128,8 +128,8 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag) return __xstat64_conv (vers, &kst, st); fail: +#endif __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); return -1; -#endif } diff --git a/sysdeps/unix/sysv/linux/i386/fchownat.c b/sysdeps/unix/sysv/linux/i386/fchownat.c index 331623f73d..eb74fad8e0 100644 --- a/sysdeps/unix/sysv/linux/i386/fchownat.c +++ b/sysdeps/unix/sysv/linux/i386/fchownat.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/sysdeps/unix/sysv/linux/i386/fxstatat.c b/sysdeps/unix/sysv/linux/i386/fxstatat.c index 2fc89e69c4..d5bc6021bc 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstatat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstatat.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -47,7 +48,7 @@ extern int __have_no_stat64; int __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) { - if (flag & ~AT_SYMLINK_NOFOLLOW) + if (__builtin_expect (flag & ~AT_SYMLINK_NOFOLLOW, 0)) { __set_errno (EINVAL); return -1; @@ -138,7 +139,10 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) out: if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 0)) - __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); + { + __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); + result = -1; + } return result; } diff --git a/sysdeps/unix/sysv/linux/renameat.c b/sysdeps/unix/sysv/linux/renameat.c index 31662ea053..9d94d5f86c 100644 --- a/sysdeps/unix/sysv/linux/renameat.c +++ b/sysdeps/unix/sysv/linux/renameat.c @@ -19,6 +19,7 @@ #include #include #include +#include #include diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c b/sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c index b95665cad3..ac6006af81 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c +++ b/sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/sysdeps/unix/sysv/linux/sys/epoll.h b/sysdeps/unix/sysv/linux/sys/epoll.h index 6c310bcff5..68f173a04d 100644 --- a/sysdeps/unix/sysv/linux/sys/epoll.h +++ b/sysdeps/unix/sysv/linux/sys/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 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 @@ -98,9 +98,12 @@ extern int epoll_ctl (int __epfd, int __op, int __fd, "events" parameter is a buffer that will contain triggered events. The "maxevents" is the maximum number of events to be returned ( usually size of "events" ). The "timeout" parameter - specifies the maximum wait time in milliseconds (-1 == infinite). */ + specifies the maximum wait time in milliseconds (-1 == infinite). + + This function is a cancellation point and therefore not marked with + __THROW. */ extern int epoll_wait (int __epfd, struct epoll_event *__events, - int __maxevents, int __timeout) __THROW; + int __maxevents, int __timeout); __END_DECLS diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index d5c3e650bc..88e1f5a294 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -10,7 +10,7 @@ create_module EXTRA create_module 3 create_module delete_module EXTRA delete_module 3 delete_module epoll_create EXTRA epoll_create i:i epoll_create epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl -epoll_wait EXTRA epoll_wait i:ipii epoll_wait +epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait fdatasync - fdatasync i:i fdatasync flock - flock i:ii __flock flock fork - fork i: __libc_fork __fork fork diff --git a/sysdeps/unix/sysv/linux/unlinkat.c b/sysdeps/unix/sysv/linux/unlinkat.c index c590e71ada..36c0215b48 100644 --- a/sysdeps/unix/sysv/linux/unlinkat.c +++ b/sysdeps/unix/sysv/linux/unlinkat.c @@ -20,6 +20,7 @@ #include #include #include +#include #include diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c index 70e73571f7..faa028cf26 100644 --- a/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -70,7 +71,10 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) res = INTERNAL_SYSCALL (stat, err, 2, file, CHECK_1 (st)); if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (res, err), 0)) - __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (res, err), fd, buf); + { + __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (res, err), fd, buf); + res = -1; + } return res; } -- cgit 1.4.1