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 --- ChangeLog | 55 +++++ fedora/branch.mk | 4 +- fedora/glibc.spec.in | 8 +- iconvdata/Makefile | 4 +- iconvdata/TESTS | 1 + iconvdata/gconv-modules | 6 + iconvdata/iso_11548-1.c | 73 +++++++ iconvdata/testdata/ISO_11548-1 | Bin 0 -> 256 bytes iconvdata/testdata/ISO_11548-1..UTF8 | 1 + inet/netinet/icmp6.h | 110 +++++++++- inet/netinet/ip6.h | 70 ++++++ io/sys/poll.h | 7 +- io/sys/stat.h | 2 +- localedata/ChangeLog | 6 + localedata/charmaps/ISO_11548-1 | 269 ++++++++++++++++++++++++ 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 +- 28 files changed, 651 insertions(+), 34 deletions(-) create mode 100644 iconvdata/iso_11548-1.c create mode 100644 iconvdata/testdata/ISO_11548-1 create mode 100644 iconvdata/testdata/ISO_11548-1..UTF8 create mode 100644 localedata/charmaps/ISO_11548-1 diff --git a/ChangeLog b/ChangeLog index b3c9124e8e..ceecd415e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,58 @@ +2005-11-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/fchownat.c: Include string.h. + * sysdeps/unix/sysv/linux/futimesat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fchownat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fxstatat.c: Likewise. + * sysdeps/unix/sysv/linux/renameat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Likewise. + * sysdeps/unix/sysv/linux/unlinkat.c: Likewise. + * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise. + +2005-11-16 Ulrich Drepper + + * iconvdata/Makefile (modules): Add ISO_11548-1. + (distribute): Add iso_11548-1.c. + * iconvdata/gconv-modules: Add entries for ISO 11548-1. + * iconvdata/TESTS: Add entry for ISO 11548-1. + + [BZ 1872] + * iconvdata/iso_11548-1.c: New file. + * iconvdata/testdata/ISO_11548-1: New file. + * iconvdata/testdata/ISO_11548-1..UTF8: New file. + Patch by Samuel Thibault . + +2005-11-16 Kaz Kojima + + * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Remove incorrect &. + +2005-11-15 Ulrich Drepper + + [BZ 1865] + * inet/netinet/icmp6.h: More updates for RFC3542. + * inet/netinet/ip6.h: Likewise. + * sysdeps/unix/sysv/linux/bits/in.h: Adjust for current kernel sources. + Patch by David L Stevens . + + * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c (__fxstatat): + Return -1 on failure. + * sysdeps/unix/sysv/linux/fchownat.c (fchownat): Likewise. + * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise.. + * sysdeps/unix/sysv/linux/fxstatat64.c [__ASSUME_STAT64_SYSCALL] + (__fxstatat64): Handle errors. + + * io/sys/poll.h: Add comment explaining poll is a cancellation point. + + * sysdeps/unix/sysv/linux/syscalls.list (epoll_wait): Align with + poll, make cancelable. + * sysdeps/unix/sysv/linux/sys/epoll.h: Add comment explaining + epoll_wait is a cancellation point. + +2005-11-15 Jakub Jelinek + + * io/sys/stat.h (fstatat): Don't use __THROW together with + __REDIRECT_NTH. + 2005-11-14 Ulrich Drepper * elf/dl-open.c [!SHARED]: Remove _dl_tls_static_size definition. diff --git a/fedora/branch.mk b/fedora/branch.mk index 274be40a4f..02a6a5fa8b 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-fc4 -fedora-sync-date := 2005-11-15 08:09 UTC -fedora-sync-tag := fedora-glibc-20051115T0809 +fedora-sync-date := 2005-11-16 08:29 UTC +fedora-sync-tag := fedora-glibc-20051116T0829 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index ebdbf28a3f..08523d3374 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 16 +%define glibcrelease 17 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define xenarches i686 athlon @@ -1095,6 +1095,12 @@ rm -f *.filelist* %endif %changelog +* Wed Nov 16 2005 Jakub Jelinek 2.3.90-17 +- update from CVS + - fix in C++ + - {fstat,fchown,rename,unlink}at fixes + - epoll_wait is now a cancellation point + * Tue Nov 15 2005 Jakub Jelinek 2.3.90-16 - update from CVS - make sure waitid syscall is used on ppc*/s390* diff --git a/iconvdata/Makefile b/iconvdata/Makefile index f6e9c17a0c..39eb1e3863 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -58,7 +58,7 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 \ IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \ IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \ - IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 + IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 modules.so := $(addsuffix .so, $(modules)) @@ -195,7 +195,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \ ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \ ibm12712.c ibm12712.h ibm16804.c ibm16804.h \ ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \ - ibm1390.c ibm1390.h ibm1399.c ibm1399.h + ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) diff --git a/iconvdata/TESTS b/iconvdata/TESTS index 9cd2a75e02..933c447096 100644 --- a/iconvdata/TESTS +++ b/iconvdata/TESTS @@ -164,3 +164,4 @@ IBM1371 IBM1371 N UTF8 IBM1388 IBM1388 N UTF8 IBM1390 IBM1390 N UTF8 IBM1399 IBM1399 N UTF8 +ISO_11548-1 ISO_11548-1 - UTF8 diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index 37b3e5f924..421dc6739a 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -1897,3 +1897,9 @@ alias CP1399// IBM1399// alias CSIBM1399// IBM1399// module IBM1399// INTERNAL IBM1399 1 module INTERNAL IBM1399// IBM1399 1 + +# from to module cost +alias ISO/TR_11548-1/ ISO_11548-1// +alias ISO11548-1// ISO_11548-1// +module ISO_11548-1// INTERNAL ISO_11548-1 1 +module INTERNAL ISO_11548-1// ISO_11548-1 1 diff --git a/iconvdata/iso_11548-1.c b/iconvdata/iso_11548-1.c new file mode 100644 index 0000000000..6543c61f32 --- /dev/null +++ b/iconvdata/iso_11548-1.c @@ -0,0 +1,73 @@ +/* Conversion to and from ISO 11548-1. + Copyright (C) 1997-1999, 2000-2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997, + Samuel Thibault , 2005. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include +#include + +/* Definitions used in the body of the `gconv' function. */ +#define CHARSET_NAME "ISO_11548-1//" +#define FROM_LOOP from_iso11548_1 +#define TO_LOOP to_iso11548_1 +#define DEFINE_INIT 1 +#define DEFINE_FINI 1 +#define MIN_NEEDED_FROM 1 +#define MIN_NEEDED_TO 4 + +#define BRAILLE_UCS_BASE 0x2800 + +/* First define the conversion function from ISO 11548-1 to UCS4. */ +#define MIN_NEEDED_INPUT MIN_NEEDED_FROM +#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO +#define LOOPFCT FROM_LOOP +#define BODY \ + *((uint32_t *) outptr) = BRAILLE_UCS_BASE | (*inptr++); \ + outptr += sizeof (uint32_t); +#define ONEBYTE_BODY \ + { \ + return BRAILLE_UCS_BASE | c; \ + } +#include + + +/* Next, define the other direction. */ +#define MIN_NEEDED_INPUT MIN_NEEDED_TO +#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM +#define LOOPFCT TO_LOOP +#define BODY \ + { \ + uint32_t ch = *((const uint32_t *) inptr); \ + if (__builtin_expect ((ch & 0xffffff00u) != BRAILLE_UCS_BASE, 0)) \ + { \ + UNICODE_TAG_HANDLER (ch, 4); \ + \ + /* We have an illegal character. */ \ + STANDARD_TO_LOOP_ERR_HANDLER (4); \ + } \ + else \ + *outptr++ = (unsigned char) (ch & 0xff); \ + inptr += 4; \ + } +#define LOOP_NEED_FLAGS +#include + + +/* Now define the toplevel functions. */ +#include diff --git a/iconvdata/testdata/ISO_11548-1 b/iconvdata/testdata/ISO_11548-1 new file mode 100644 index 0000000000..c86626638e Binary files /dev/null and b/iconvdata/testdata/ISO_11548-1 differ diff --git a/iconvdata/testdata/ISO_11548-1..UTF8 b/iconvdata/testdata/ISO_11548-1..UTF8 new file mode 100644 index 0000000000..9ac4e2a8b6 --- /dev/null +++ b/iconvdata/testdata/ISO_11548-1..UTF8 @@ -0,0 +1 @@ +⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿ \ No newline at end of file diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h index 4b17d9cd93..c5138a39c9 100644 --- a/inet/netinet/icmp6.h +++ b/inet/netinet/icmp6.h @@ -33,7 +33,7 @@ struct icmp6_filter { - uint32_t data[8]; + uint32_t icmp6_filt[8]; }; struct icmp6_hdr @@ -67,14 +67,14 @@ struct icmp6_hdr #define ICMP6_ECHO_REQUEST 128 #define ICMP6_ECHO_REPLY 129 -#define ICMP6_MEMBERSHIP_QUERY 130 -#define ICMP6_MEMBERSHIP_REPORT 131 -#define ICMP6_MEMBERSHIP_REDUCTION 132 +#define MLD_LISTENER_QUERY 130 +#define MLD_LISTENER_REPORT 131 +#define MLD_LISTENER_REDUCTION 132 #define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ #define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */ /* administratively prohibited */ -#define ICMP6_DST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor */ +#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */ #define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */ #define ICMP6_DST_UNREACH_NOPORT 4 /* bad port */ @@ -86,16 +86,16 @@ struct icmp6_hdr #define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */ #define ICMP6_FILTER_WILLPASS(type, filterp) \ - ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) == 0) + ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) #define ICMP6_FILTER_WILLBLOCK(type, filterp) \ - ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) != 0) + ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0) #define ICMP6_FILTER_SETPASS(type, filterp) \ - ((((filterp)->data[(type) >> 5]) &= ~(1 << ((type) & 31)))) + ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31)))) #define ICMP6_FILTER_SETBLOCK(type, filterp) \ - ((((filterp)->data[(type) >> 5]) |= (1 << ((type) & 31)))) + ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31)))) #define ICMP6_FILTER_SETPASSALL(filterp) \ memset (filterp, 0, sizeof (struct icmp6_filter)); @@ -232,6 +232,98 @@ struct nd_opt_mtu /* MTU option */ uint32_t nd_opt_mtu_mtu; }; +struct mld_hdr + { + struct icmp6_hdr mld_icmp6_hdr; + struct in6_addr mld_addr; /* multicast address */ + }; + +#define mld_type mld_icmp6_hdr.icmp6_type +#define mld_code mld_icmp6_hdr.icmp6_code +#define mld_cksum mld_icmp6_hdr.icmp6_cksum +#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] +#define mld_reserved mld_icmp6_hdr.icmp6_data16[1] + +#define ICMP6_ROUTER_RENUMBERING 138 + +struct icmp6_router_renum /* router renumbering header */ + { + struct icmp6_hdr rr_hdr; + uint8_t rr_segnum; + uint8_t rr_flags; + uint16_t rr_maxdelay; + uint32_t rr_reserved; + }; + +#define rr_type rr_hdr.icmp6_type +#define rr_code rr_hdr.icmp6_code +#define rr_cksum rr_hdr.icmp6_cksum +#define rr_seqnum rr_hdr.icmp6_data32[0] + +/* Router renumbering flags */ +#define ICMP6_RR_FLAGS_TEST 0x80 +#define ICMP6_RR_FLAGS_REQRESULT 0x40 +#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20 +#define ICMP6_RR_FLAGS_SPECSITE 0x10 +#define ICMP6_RR_FLAGS_PREVDONE 0x08 + +struct rr_pco_match /* match prefix part */ + { + uint8_t rpm_code; + uint8_t rpm_len; + uint8_t rpm_ordinal; + uint8_t rpm_matchlen; + uint8_t rpm_minlen; + uint8_t rpm_maxlen; + uint16_t rpm_reserved; + struct in6_addr rpm_prefix; + }; + +/* PCO code values */ +#define RPM_PCO_ADD 1 +#define RPM_PCO_CHANGE 2 +#define RPM_PCO_SETGLOBAL 3 + +struct rr_pco_use /* use prefix part */ + { + uint8_t rpu_uselen; + uint8_t rpu_keeplen; + uint8_t rpu_ramask; + uint8_t rpu_raflags; + uint32_t rpu_vltime; + uint32_t rpu_pltime; + uint32_t rpu_flags; + struct in6_addr rpu_prefix; + }; + +#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20 +#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10 + +#if BYTE_ORDER == BIG_ENDIAN +# define ICMP6_RR_PCOUSE_DECRVLTIME 0x80000000 +# define ICMP6_RR_PCOUSE_DECRPLTIME 0x40000000 +#elif BYTE_ORDER == LITTLE_ENDIAN +# define ICMP6_RR_PCOUSE_DECRVLTIME 0x80 +# define ICMP6_RR_PCOUSE_DECRPLTIME 0x40 +#endif + +struct rr_result /* router renumbering result message */ + { + uint16_t rrr_flags; + uint8_t rrr_ordinal; + uint8_t rrr_matchedlen; + uint32_t rrr_ifid; + struct in6_addr rrr_prefix; + }; + +#if BYTE_ORDER == BIG_ENDIAN +# define ICMP6_RR_RESULT_FLAGS_OOB 0x0002 +# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001 +#elif BYTE_ORDER == LITTLE_ENDIAN +# define ICMP6_RR_RESULT_FLAGS_OOB 0x0200 +# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100 +#endif + /* Mobile IPv6 extension: Advertisement Interval. */ struct nd_opt_adv_interval { diff --git a/inet/netinet/ip6.h b/inet/netinet/ip6.h index 7045836df6..0ad62f8980 100644 --- a/inet/netinet/ip6.h +++ b/inet/netinet/ip6.h @@ -111,8 +111,78 @@ struct ip6_frag #define IP6F_MORE_FRAG 0x0100 /* more-fragments flag */ #endif +/* IPv6 options */ +struct ip6_opt + { + uint8_t ip6o_type; + uint8_t ip6o_len; + }; + +/* The high-order 3 bits of the option type define the behavior + * when processing an unknown option and whether or not the option + * content changes in flight. + */ +#define IP6OPT_TYPE(o) ((o) & 0xc0) +#define IP6OPT_TYPE_SKIP 0x00 +#define IP6OPT_TYPE_DISCARD 0x40 +#define IP6OPT_TYPE_FORCEICMP 0x80 +#define IP6OPT_TYPE_ICMP 0xc0 +#define IP6OPT_TYPE_MUTABLE 0x20 + /* Special option types for padding. */ #define IP6OPT_PAD1 0 #define IP6OPT_PADN 1 +#define IP6OPT_JUMBO 0xc2 +#define IP6OPT_NSAP_ADDR 0xc3 +#define IP6OPT_TUNNEL_LIMIT 0x04 +#define IP6OPT_ROUTER_ALERT 0x05 + +/* Jumbo Payload Option */ +struct ip6_opt_jumbo + { + uint8_t ip6oj_type; + uint8_t ip6oj_len; + uint8_t ip6oj_jumbo_len[4]; + }; +#define IP6OPT_JUMBO_LEN 6 + +/* NSAP Address Option */ +struct ip6_opt_nsap + { + uint8_t ip6on_type; + uint8_t ip6on_len; + uint8_t ip6on_src_nsap_len; + uint8_t ip6on_dst_nsap_len; + /* followed by source NSAP */ + /* followed by destination NSAP */ + }; + +/* Tunnel Limit Option */ +struct ip6_opt_tunnel + { + uint8_t ip6ot_type; + uint8_t ip6ot_len; + uint8_t ip6ot_encap_limit; + }; + +/* Router Alert Option */ +struct ip6_opt_router + { + uint8_t ip6or_type; + uint8_t ip6or_len; + uint8_t ip6or_value[2]; + }; + +/* Router alert values (in network byte order) */ +#if BYTE_ORDER == BIG_ENDIAN +# define IP6_ALERT_MLD 0x0000 +# define IP6_ALERT_RSVP 0x0001 +# define IP6_ALERT_AN 0x0002 +#else /* BYTE_ORDER == LITTLE_ENDING */ +# define IP6_ALERT_MLD 0x0000 +# define IP6_ALERT_RSVP 0x0100 +# define IP6_ALERT_AN 0x0200 +#endif + #endif /* netinet/ip6.h */ diff --git a/io/sys/poll.h b/io/sys/poll.h index 89a27eab2b..9cf1b9f1c0 100644 --- a/io/sys/poll.h +++ b/io/sys/poll.h @@ -1,5 +1,5 @@ /* Compatibility definitions for System V `poll' interface. - Copyright (C) 1994,96,97,98,99,2000,2001,2004 Free Software Foundation, Inc. + Copyright (C) 1994,1996-2001,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 @@ -44,7 +44,10 @@ __BEGIN_DECLS FDS. If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for an event to occur; if TIMEOUT is -1, block until an event occurs. Returns the number of file descriptors with events, zero if timed out, - or -1 for errors. */ + or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout); __END_DECLS diff --git a/io/sys/stat.h b/io/sys/stat.h index 0a82ef39e8..87eca61275 100644 --- a/io/sys/stat.h +++ b/io/sys/stat.h @@ -238,7 +238,7 @@ extern int fstatat (int __fd, const char *__file, struct stat *__buf, # else extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__file, struct stat *__buf, int __flag), - fstatat64) __THROW __nonnull ((2, 3)); + fstatat64) __nonnull ((2, 3)); # endif extern int fstatat64 (int __fd, const char *__file, struct stat64 *__buf, diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 8127bb6933..ebb5f15c3a 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,9 @@ +2005-11-16 Ulrich Drepper + + [BZ 1872] + * charmaps/ISO_11548-1. New file. + Patch by Samuel Thibault . + 2005-11-11 Ulrich Drepper [BZ #1294] diff --git a/localedata/charmaps/ISO_11548-1 b/localedata/charmaps/ISO_11548-1 new file mode 100644 index 0000000000..ee2eb6b5e5 --- /dev/null +++ b/localedata/charmaps/ISO_11548-1 @@ -0,0 +1,269 @@ + ISO_11548-1 + % + / +% version: 1.0 +% source: Samuel Thibault + +% alias ISO/TR_11548-1 +CHARMAP + /x00 BRAILLE PATTERN BLANK + /x01 BRAILLE PATTERN DOTS-1 + /x02 BRAILLE PATTERN DOTS-2 + /x03 BRAILLE PATTERN DOTS-12 + /x04 BRAILLE PATTERN DOTS-3 + /x05 BRAILLE PATTERN DOTS-13 + /x06 BRAILLE PATTERN DOTS-23 + /x07 BRAILLE PATTERN DOTS-123 + /x08 BRAILLE PATTERN DOTS-4 + /x09 BRAILLE PATTERN DOTS-14 + /x0a BRAILLE PATTERN DOTS-24 + /x0b BRAILLE PATTERN DOTS-124 + /x0c BRAILLE PATTERN DOTS-34 + /x0d BRAILLE PATTERN DOTS-134 + /x0e BRAILLE PATTERN DOTS-234 + /x0f BRAILLE PATTERN DOTS-1234 + /x10 BRAILLE PATTERN DOTS-5 + /x11 BRAILLE PATTERN DOTS-15 + /x12 BRAILLE PATTERN DOTS-25 + /x13 BRAILLE PATTERN DOTS-125 + /x14 BRAILLE PATTERN DOTS-35 + /x15 BRAILLE PATTERN DOTS-135 + /x16 BRAILLE PATTERN DOTS-235 + /x17 BRAILLE PATTERN DOTS-1235 + /x18 BRAILLE PATTERN DOTS-45 + /x19 BRAILLE PATTERN DOTS-145 + /x1a BRAILLE PATTERN DOTS-245 + /x1b BRAILLE PATTERN DOTS-1245 + /x1c BRAILLE PATTERN DOTS-345 + /x1d BRAILLE PATTERN DOTS-1345 + /x1e BRAILLE PATTERN DOTS-2345 + /x1f BRAILLE PATTERN DOTS-12345 + /x20 BRAILLE PATTERN DOTS-6 + /x21 BRAILLE PATTERN DOTS-16 + /x22 BRAILLE PATTERN DOTS-26 + /x23 BRAILLE PATTERN DOTS-126 + /x24 BRAILLE PATTERN DOTS-36 + /x25 BRAILLE PATTERN DOTS-136 + /x26 BRAILLE PATTERN DOTS-236 + /x27 BRAILLE PATTERN DOTS-1236 + /x28 BRAILLE PATTERN DOTS-46 + /x29 BRAILLE PATTERN DOTS-146 + /x2a BRAILLE PATTERN DOTS-246 + /x2b BRAILLE PATTERN DOTS-1246 + /x2c BRAILLE PATTERN DOTS-346 + /x2d BRAILLE PATTERN DOTS-1346 + /x2e BRAILLE PATTERN DOTS-2346 + /x2f BRAILLE PATTERN DOTS-12346 + /x30 BRAILLE PATTERN DOTS-56 + /x31 BRAILLE PATTERN DOTS-156 + /x32 BRAILLE PATTERN DOTS-256 + /x33 BRAILLE PATTERN DOTS-1256 + /x34 BRAILLE PATTERN DOTS-356 + /x35 BRAILLE PATTERN DOTS-1356 + /x36 BRAILLE PATTERN DOTS-2356 + /x37 BRAILLE PATTERN DOTS-12356 + /x38 BRAILLE PATTERN DOTS-456 + /x39 BRAILLE PATTERN DOTS-1456 + /x3a BRAILLE PATTERN DOTS-2456 + /x3b BRAILLE PATTERN DOTS-12456 + /x3c BRAILLE PATTERN DOTS-3456 + /x3d BRAILLE PATTERN DOTS-13456 + /x3e BRAILLE PATTERN DOTS-23456 + /x3f BRAILLE PATTERN DOTS-123456 + /x40 BRAILLE PATTERN DOTS-7 + /x41 BRAILLE PATTERN DOTS-17 + /x42 BRAILLE PATTERN DOTS-27 + /x43 BRAILLE PATTERN DOTS-127 + /x44 BRAILLE PATTERN DOTS-37 + /x45 BRAILLE PATTERN DOTS-137 + /x46 BRAILLE PATTERN DOTS-237 + /x47 BRAILLE PATTERN DOTS-1237 + /x48 BRAILLE PATTERN DOTS-47 + /x49 BRAILLE PATTERN DOTS-147 + /x4a BRAILLE PATTERN DOTS-247 + /x4b BRAILLE PATTERN DOTS-1247 + /x4c BRAILLE PATTERN DOTS-347 + /x4d BRAILLE PATTERN DOTS-1347 + /x4e BRAILLE PATTERN DOTS-2347 + /x4f BRAILLE PATTERN DOTS-12347 + /x50 BRAILLE PATTERN DOTS-57 + /x51 BRAILLE PATTERN DOTS-157 + /x52 BRAILLE PATTERN DOTS-257 + /x53 BRAILLE PATTERN DOTS-1257 + /x54 BRAILLE PATTERN DOTS-357 + /x55 BRAILLE PATTERN DOTS-1357 + /x56 BRAILLE PATTERN DOTS-2357 + /x57 BRAILLE PATTERN DOTS-12357 + /x58 BRAILLE PATTERN DOTS-457 + /x59 BRAILLE PATTERN DOTS-1457 + /x5a BRAILLE PATTERN DOTS-2457 + /x5b BRAILLE PATTERN DOTS-12457 + /x5c BRAILLE PATTERN DOTS-3457 + /x5d BRAILLE PATTERN DOTS-13457 + /x5e BRAILLE PATTERN DOTS-23457 + /x5f BRAILLE PATTERN DOTS-123457 + /x60 BRAILLE PATTERN DOTS-67 + /x61 BRAILLE PATTERN DOTS-167 + /x62 BRAILLE PATTERN DOTS-267 + /x63 BRAILLE PATTERN DOTS-1267 + /x64 BRAILLE PATTERN DOTS-367 + /x65 BRAILLE PATTERN DOTS-1367 + /x66 BRAILLE PATTERN DOTS-2367 + /x67 BRAILLE PATTERN DOTS-12367 + /x68 BRAILLE PATTERN DOTS-467 + /x69 BRAILLE PATTERN DOTS-1467 + /x6a BRAILLE PATTERN DOTS-2467 + /x6b BRAILLE PATTERN DOTS-12467 + /x6c BRAILLE PATTERN DOTS-3467 + /x6d BRAILLE PATTERN DOTS-13467 + /x6e BRAILLE PATTERN DOTS-23467 + /x6f BRAILLE PATTERN DOTS-123467 + /x70 BRAILLE PATTERN DOTS-567 + /x71 BRAILLE PATTERN DOTS-1567 + /x72 BRAILLE PATTERN DOTS-2567 + /x73 BRAILLE PATTERN DOTS-12567 + /x74 BRAILLE PATTERN DOTS-3567 + /x75 BRAILLE PATTERN DOTS-13567 + /x76 BRAILLE PATTERN DOTS-23567 + /x77 BRAILLE PATTERN DOTS-123567 + /x78 BRAILLE PATTERN DOTS-4567 + /x79 BRAILLE PATTERN DOTS-14567 + /x7a BRAILLE PATTERN DOTS-24567 + /x7b BRAILLE PATTERN DOTS-124567 + /x7c BRAILLE PATTERN DOTS-34567 + /x7d BRAILLE PATTERN DOTS-134567 + /x7e BRAILLE PATTERN DOTS-234567 + /x7f BRAILLE PATTERN DOTS-1234567 + /x80 BRAILLE PATTERN DOTS-8 + /x81 BRAILLE PATTERN DOTS-18 + /x82 BRAILLE PATTERN DOTS-28 + /x83 BRAILLE PATTERN DOTS-128 + /x84 BRAILLE PATTERN DOTS-38 + /x85 BRAILLE PATTERN DOTS-138 + /x86 BRAILLE PATTERN DOTS-238 + /x87 BRAILLE PATTERN DOTS-1238 + /x88 BRAILLE PATTERN DOTS-48 + /x89 BRAILLE PATTERN DOTS-148 + /x8a BRAILLE PATTERN DOTS-248 + /x8b BRAILLE PATTERN DOTS-1248 + /x8c BRAILLE PATTERN DOTS-348 + /x8d BRAILLE PATTERN DOTS-1348 + /x8e BRAILLE PATTERN DOTS-2348 + /x8f BRAILLE PATTERN DOTS-12348 + /x90 BRAILLE PATTERN DOTS-58 + /x91 BRAILLE PATTERN DOTS-158 + /x92 BRAILLE PATTERN DOTS-258 + /x93 BRAILLE PATTERN DOTS-1258 + /x94 BRAILLE PATTERN DOTS-358 + /x95 BRAILLE PATTERN DOTS-1358 + /x96 BRAILLE PATTERN DOTS-2358 + /x97 BRAILLE PATTERN DOTS-12358 + /x98 BRAILLE PATTERN DOTS-458 + /x99 BRAILLE PATTERN DOTS-1458 + /x9a BRAILLE PATTERN DOTS-2458 + /x9b BRAILLE PATTERN DOTS-12458 + /x9c BRAILLE PATTERN DOTS-3458 + /x9d BRAILLE PATTERN DOTS-13458 + /x9e BRAILLE PATTERN DOTS-23458 + /x9f BRAILLE PATTERN DOTS-123458 + /xa0 BRAILLE PATTERN DOTS-68 + /xa1 BRAILLE PATTERN DOTS-168 + /xa2 BRAILLE PATTERN DOTS-268 + /xa3 BRAILLE PATTERN DOTS-1268 + /xa4 BRAILLE PATTERN DOTS-368 + /xa5 BRAILLE PATTERN DOTS-1368 + /xa6 BRAILLE PATTERN DOTS-2368 + /xa7 BRAILLE PATTERN DOTS-12368 + /xa8 BRAILLE PATTERN DOTS-468 + /xa9 BRAILLE PATTERN DOTS-1468 + /xaa BRAILLE PATTERN DOTS-2468 + /xab BRAILLE PATTERN DOTS-12468 + /xac BRAILLE PATTERN DOTS-3468 + /xad BRAILLE PATTERN DOTS-13468 + /xae BRAILLE PATTERN DOTS-23468 + /xaf BRAILLE PATTERN DOTS-123468 + /xb0 BRAILLE PATTERN DOTS-568 + /xb1 BRAILLE PATTERN DOTS-1568 + /xb2 BRAILLE PATTERN DOTS-2568 + /xb3 BRAILLE PATTERN DOTS-12568 + /xb4 BRAILLE PATTERN DOTS-3568 + /xb5 BRAILLE PATTERN DOTS-13568 + /xb6 BRAILLE PATTERN DOTS-23568 + /xb7 BRAILLE PATTERN DOTS-123568 + /xb8 BRAILLE PATTERN DOTS-4568 + /xb9 BRAILLE PATTERN DOTS-14568 + /xba BRAILLE PATTERN DOTS-24568 + /xbb BRAILLE PATTERN DOTS-124568 + /xbc BRAILLE PATTERN DOTS-34568 + /xbd BRAILLE PATTERN DOTS-134568 + /xbe BRAILLE PATTERN DOTS-234568 + /xbf BRAILLE PATTERN DOTS-1234568 + /xc0 BRAILLE PATTERN DOTS-78 + /xc1 BRAILLE PATTERN DOTS-178 + /xc2 BRAILLE PATTERN DOTS-278 + /xc3 BRAILLE PATTERN DOTS-1278 + /xc4 BRAILLE PATTERN DOTS-378 + /xc5 BRAILLE PATTERN DOTS-1378 + /xc6 BRAILLE PATTERN DOTS-2378 + /xc7 BRAILLE PATTERN DOTS-12378 + /xc8 BRAILLE PATTERN DOTS-478 + /xc9 BRAILLE PATTERN DOTS-1478 + /xca BRAILLE PATTERN DOTS-2478 + /xcb BRAILLE PATTERN DOTS-12478 + /xcc BRAILLE PATTERN DOTS-3478 + /xcd BRAILLE PATTERN DOTS-13478 + /xce BRAILLE PATTERN DOTS-23478 + /xcf BRAILLE PATTERN DOTS-123478 + /xd0 BRAILLE PATTERN DOTS-578 + /xd1 BRAILLE PATTERN DOTS-1578 + /xd2 BRAILLE PATTERN DOTS-2578 + /xd3 BRAILLE PATTERN DOTS-12578 + /xd4 BRAILLE PATTERN DOTS-3578 + /xd5 BRAILLE PATTERN DOTS-13578 + /xd6 BRAILLE PATTERN DOTS-23578 + /xd7 BRAILLE PATTERN DOTS-123578 + /xd8 BRAILLE PATTERN DOTS-4578 + /xd9 BRAILLE PATTERN DOTS-14578 + /xda BRAILLE PATTERN DOTS-24578 + /xdb BRAILLE PATTERN DOTS-124578 + /xdc BRAILLE PATTERN DOTS-34578 + /xdd BRAILLE PATTERN DOTS-134578 + /xde BRAILLE PATTERN DOTS-234578 + /xdf BRAILLE PATTERN DOTS-1234578 + /xe0 BRAILLE PATTERN DOTS-678 + /xe1 BRAILLE PATTERN DOTS-1678 + /xe2 BRAILLE PATTERN DOTS-2678 + /xe3 BRAILLE PATTERN DOTS-12678 + /xe4 BRAILLE PATTERN DOTS-3678 + /xe5 BRAILLE PATTERN DOTS-13678 + /xe6 BRAILLE PATTERN DOTS-23678 + /xe7 BRAILLE PATTERN DOTS-123678 + /xe8 BRAILLE PATTERN DOTS-4678 + /xe9 BRAILLE PATTERN DOTS-14678 + /xea BRAILLE PATTERN DOTS-24678 + /xeb BRAILLE PATTERN DOTS-124678 + /xec BRAILLE PATTERN DOTS-34678 + /xed BRAILLE PATTERN DOTS-134678 + /xee BRAILLE PATTERN DOTS-234678 + /xef BRAILLE PATTERN DOTS-1234678 + /xf0 BRAILLE PATTERN DOTS-5678 + /xf1 BRAILLE PATTERN DOTS-15678 + /xf2 BRAILLE PATTERN DOTS-25678 + /xf3 BRAILLE PATTERN DOTS-125678 + /xf4 BRAILLE PATTERN DOTS-35678 + /xf5 BRAILLE PATTERN DOTS-135678 + /xf6 BRAILLE PATTERN DOTS-235678 + /xf7 BRAILLE PATTERN DOTS-1235678 + /xf8 BRAILLE PATTERN DOTS-45678 + /xf9 BRAILLE PATTERN DOTS-145678 + /xfa BRAILLE PATTERN DOTS-245678 + /xfb BRAILLE PATTERN DOTS-1245678 + /xfc BRAILLE PATTERN DOTS-345678 + /xfd BRAILLE PATTERN DOTS-1345678 + /xfe BRAILLE PATTERN DOTS-2345678 + /xff BRAILLE PATTERN DOTS-12345678 +END CHARMAP + +WIDTH +... 1 +END WIDTH 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 v1.2.3