diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-11-16 08:40:33 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-11-16 08:40:33 +0000 |
commit | b9616a4d2d0ff113b95a638127ad27c98e6c713b (patch) | |
tree | 44a217d883df77585469066a882b4eb96a1aef19 | |
parent | 7af1fc8277a5c9f20739e9c0b55ae727c3771e1a (diff) | |
download | glibc-b9616a4d2d0ff113b95a638127ad27c98e6c713b.tar.gz |
Updated to fedora-glibc-20051116T0829cvs/fedora-glibc-2_3_90-17
28 files changed, 651 insertions, 34 deletions
@@ -1,3 +1,58 @@ +2005-11-16 Jakub Jelinek <jakub@redhat.com> + + * 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 <drepper@redhat.com> + + * 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 <samuel.thibault@ens-lyon.org>. + +2005-11-16 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Remove incorrect &. + +2005-11-15 Ulrich Drepper <drepper@redhat.com> + + [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 <dlstevens@us.ibm.com>. + + * 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 <jakub@redhat.com> + + * io/sys/stat.h (fstatat): Don't use __THROW together with + __REDIRECT_NTH. + 2005-11-14 Ulrich Drepper <drepper@redhat.com> * 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 <jakub@redhat.com> 2.3.90-17 +- update from CVS + - fix <sys/stat.h> in C++ + - {fstat,fchown,rename,unlink}at fixes + - epoll_wait is now a cancellation point + * Tue Nov 15 2005 Jakub Jelinek <jakub@redhat.com> 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 <drepper@cygnus.com>, 1997, + Samuel Thibault <samuel.thibault@ens-lyon.org>, 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 <dlfcn.h> +#include <stdint.h> + +/* 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 <iconv/loop.c> + + +/* 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 <iconv/loop.c> + + +/* Now define the toplevel functions. */ +#include <iconv/skeleton.c> diff --git a/iconvdata/testdata/ISO_11548-1 b/iconvdata/testdata/ISO_11548-1 Binary files differnew file mode 100644 index 0000000000..c86626638e --- /dev/null +++ b/iconvdata/testdata/ISO_11548-1 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 <drepper@redhat.com> + + [BZ 1872] + * charmaps/ISO_11548-1. New file. + Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>. + 2005-11-11 Ulrich Drepper <drepper@redhat.com> [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 @@ +<code_set_name> ISO_11548-1 +<comment_char> % +<escape_char> / +% version: 1.0 +% source: Samuel Thibault <samuel.thibault@ens-lyon.org> + +% alias ISO/TR_11548-1 +CHARMAP +<U2800> /x00 BRAILLE PATTERN BLANK +<U2801> /x01 BRAILLE PATTERN DOTS-1 +<U2802> /x02 BRAILLE PATTERN DOTS-2 +<U2803> /x03 BRAILLE PATTERN DOTS-12 +<U2804> /x04 BRAILLE PATTERN DOTS-3 +<U2805> /x05 BRAILLE PATTERN DOTS-13 +<U2806> /x06 BRAILLE PATTERN DOTS-23 +<U2807> /x07 BRAILLE PATTERN DOTS-123 +<U2808> /x08 BRAILLE PATTERN DOTS-4 +<U2809> /x09 BRAILLE PATTERN DOTS-14 +<U280A> /x0a BRAILLE PATTERN DOTS-24 +<U280B> /x0b BRAILLE PATTERN DOTS-124 +<U280C> /x0c BRAILLE PATTERN DOTS-34 +<U280D> /x0d BRAILLE PATTERN DOTS-134 +<U280E> /x0e BRAILLE PATTERN DOTS-234 +<U280F> /x0f BRAILLE PATTERN DOTS-1234 +<U2810> /x10 BRAILLE PATTERN DOTS-5 +<U2811> /x11 BRAILLE PATTERN DOTS-15 +<U2812> /x12 BRAILLE PATTERN DOTS-25 +<U2813> /x13 BRAILLE PATTERN DOTS-125 +<U2814> /x14 BRAILLE PATTERN DOTS-35 +<U2815> /x15 BRAILLE PATTERN DOTS-135 +<U2816> /x16 BRAILLE PATTERN DOTS-235 +<U2817> /x17 BRAILLE PATTERN DOTS-1235 +<U2818> /x18 BRAILLE PATTERN DOTS-45 +<U2819> /x19 BRAILLE PATTERN DOTS-145 +<U281A> /x1a BRAILLE PATTERN DOTS-245 +<U281B> /x1b BRAILLE PATTERN DOTS-1245 +<U281C> /x1c BRAILLE PATTERN DOTS-345 +<U281D> /x1d BRAILLE PATTERN DOTS-1345 +<U281E> /x1e BRAILLE PATTERN DOTS-2345 +<U281F> /x1f BRAILLE PATTERN DOTS-12345 +<U2820> /x20 BRAILLE PATTERN DOTS-6 +<U2821> /x21 BRAILLE PATTERN DOTS-16 +<U2822> /x22 BRAILLE PATTERN DOTS-26 +<U2823> /x23 BRAILLE PATTERN DOTS-126 +<U2824> /x24 BRAILLE PATTERN DOTS-36 +<U2825> /x25 BRAILLE PATTERN DOTS-136 +<U2826> /x26 BRAILLE PATTERN DOTS-236 +<U2827> /x27 BRAILLE PATTERN DOTS-1236 +<U2828> /x28 BRAILLE PATTERN DOTS-46 +<U2829> /x29 BRAILLE PATTERN DOTS-146 +<U282A> /x2a BRAILLE PATTERN DOTS-246 +<U282B> /x2b BRAILLE PATTERN DOTS-1246 +<U282C> /x2c BRAILLE PATTERN DOTS-346 +<U282D> /x2d BRAILLE PATTERN DOTS-1346 +<U282E> /x2e BRAILLE PATTERN DOTS-2346 +<U282F> /x2f BRAILLE PATTERN DOTS-12346 +<U2830> /x30 BRAILLE PATTERN DOTS-56 +<U2831> /x31 BRAILLE PATTERN DOTS-156 +<U2832> /x32 BRAILLE PATTERN DOTS-256 +<U2833> /x33 BRAILLE PATTERN DOTS-1256 +<U2834> /x34 BRAILLE PATTERN DOTS-356 +<U2835> /x35 BRAILLE PATTERN DOTS-1356 +<U2836> /x36 BRAILLE PATTERN DOTS-2356 +<U2837> /x37 BRAILLE PATTERN DOTS-12356 +<U2838> /x38 BRAILLE PATTERN DOTS-456 +<U2839> /x39 BRAILLE PATTERN DOTS-1456 +<U283A> /x3a BRAILLE PATTERN DOTS-2456 +<U283B> /x3b BRAILLE PATTERN DOTS-12456 +<U283C> /x3c BRAILLE PATTERN DOTS-3456 +<U283D> /x3d BRAILLE PATTERN DOTS-13456 +<U283E> /x3e BRAILLE PATTERN DOTS-23456 +<U283F> /x3f BRAILLE PATTERN DOTS-123456 +<U2840> /x40 BRAILLE PATTERN DOTS-7 +<U2841> /x41 BRAILLE PATTERN DOTS-17 +<U2842> /x42 BRAILLE PATTERN DOTS-27 +<U2843> /x43 BRAILLE PATTERN DOTS-127 +<U2844> /x44 BRAILLE PATTERN DOTS-37 +<U2845> /x45 BRAILLE PATTERN DOTS-137 +<U2846> /x46 BRAILLE PATTERN DOTS-237 +<U2847> /x47 BRAILLE PATTERN DOTS-1237 +<U2848> /x48 BRAILLE PATTERN DOTS-47 +<U2849> /x49 BRAILLE PATTERN DOTS-147 +<U284A> /x4a BRAILLE PATTERN DOTS-247 +<U284B> /x4b BRAILLE PATTERN DOTS-1247 +<U284C> /x4c BRAILLE PATTERN DOTS-347 +<U284D> /x4d BRAILLE PATTERN DOTS-1347 +<U284E> /x4e BRAILLE PATTERN DOTS-2347 +<U284F> /x4f BRAILLE PATTERN DOTS-12347 +<U2850> /x50 BRAILLE PATTERN DOTS-57 +<U2851> /x51 BRAILLE PATTERN DOTS-157 +<U2852> /x52 BRAILLE PATTERN DOTS-257 +<U2853> /x53 BRAILLE PATTERN DOTS-1257 +<U2854> /x54 BRAILLE PATTERN DOTS-357 +<U2855> /x55 BRAILLE PATTERN DOTS-1357 +<U2856> /x56 BRAILLE PATTERN DOTS-2357 +<U2857> /x57 BRAILLE PATTERN DOTS-12357 +<U2858> /x58 BRAILLE PATTERN DOTS-457 +<U2859> /x59 BRAILLE PATTERN DOTS-1457 +<U285A> /x5a BRAILLE PATTERN DOTS-2457 +<U285B> /x5b BRAILLE PATTERN DOTS-12457 +<U285C> /x5c BRAILLE PATTERN DOTS-3457 +<U285D> /x5d BRAILLE PATTERN DOTS-13457 +<U285E> /x5e BRAILLE PATTERN DOTS-23457 +<U285F> /x5f BRAILLE PATTERN DOTS-123457 +<U2860> /x60 BRAILLE PATTERN DOTS-67 +<U2861> /x61 BRAILLE PATTERN DOTS-167 +<U2862> /x62 BRAILLE PATTERN DOTS-267 +<U2863> /x63 BRAILLE PATTERN DOTS-1267 +<U2864> /x64 BRAILLE PATTERN DOTS-367 +<U2865> /x65 BRAILLE PATTERN DOTS-1367 +<U2866> /x66 BRAILLE PATTERN DOTS-2367 +<U2867> /x67 BRAILLE PATTERN DOTS-12367 +<U2868> /x68 BRAILLE PATTERN DOTS-467 +<U2869> /x69 BRAILLE PATTERN DOTS-1467 +<U286A> /x6a BRAILLE PATTERN DOTS-2467 +<U286B> /x6b BRAILLE PATTERN DOTS-12467 +<U286C> /x6c BRAILLE PATTERN DOTS-3467 +<U286D> /x6d BRAILLE PATTERN DOTS-13467 +<U286E> /x6e BRAILLE PATTERN DOTS-23467 +<U286F> /x6f BRAILLE PATTERN DOTS-123467 +<U2870> /x70 BRAILLE PATTERN DOTS-567 +<U2871> /x71 BRAILLE PATTERN DOTS-1567 +<U2872> /x72 BRAILLE PATTERN DOTS-2567 +<U2873> /x73 BRAILLE PATTERN DOTS-12567 +<U2874> /x74 BRAILLE PATTERN DOTS-3567 +<U2875> /x75 BRAILLE PATTERN DOTS-13567 +<U2876> /x76 BRAILLE PATTERN DOTS-23567 +<U2877> /x77 BRAILLE PATTERN DOTS-123567 +<U2878> /x78 BRAILLE PATTERN DOTS-4567 +<U2879> /x79 BRAILLE PATTERN DOTS-14567 +<U287A> /x7a BRAILLE PATTERN DOTS-24567 +<U287B> /x7b BRAILLE PATTERN DOTS-124567 +<U287C> /x7c BRAILLE PATTERN DOTS-34567 +<U287D> /x7d BRAILLE PATTERN DOTS-134567 +<U287E> /x7e BRAILLE PATTERN DOTS-234567 +<U287F> /x7f BRAILLE PATTERN DOTS-1234567 +<U2880> /x80 BRAILLE PATTERN DOTS-8 +<U2881> /x81 BRAILLE PATTERN DOTS-18 +<U2882> /x82 BRAILLE PATTERN DOTS-28 +<U2883> /x83 BRAILLE PATTERN DOTS-128 +<U2884> /x84 BRAILLE PATTERN DOTS-38 +<U2885> /x85 BRAILLE PATTERN DOTS-138 +<U2886> /x86 BRAILLE PATTERN DOTS-238 +<U2887> /x87 BRAILLE PATTERN DOTS-1238 +<U2888> /x88 BRAILLE PATTERN DOTS-48 +<U2889> /x89 BRAILLE PATTERN DOTS-148 +<U288A> /x8a BRAILLE PATTERN DOTS-248 +<U288B> /x8b BRAILLE PATTERN DOTS-1248 +<U288C> /x8c BRAILLE PATTERN DOTS-348 +<U288D> /x8d BRAILLE PATTERN DOTS-1348 +<U288E> /x8e BRAILLE PATTERN DOTS-2348 +<U288F> /x8f BRAILLE PATTERN DOTS-12348 +<U2890> /x90 BRAILLE PATTERN DOTS-58 +<U2891> /x91 BRAILLE PATTERN DOTS-158 +<U2892> /x92 BRAILLE PATTERN DOTS-258 +<U2893> /x93 BRAILLE PATTERN DOTS-1258 +<U2894> /x94 BRAILLE PATTERN DOTS-358 +<U2895> /x95 BRAILLE PATTERN DOTS-1358 +<U2896> /x96 BRAILLE PATTERN DOTS-2358 +<U2897> /x97 BRAILLE PATTERN DOTS-12358 +<U2898> /x98 BRAILLE PATTERN DOTS-458 +<U2899> /x99 BRAILLE PATTERN DOTS-1458 +<U289A> /x9a BRAILLE PATTERN DOTS-2458 +<U289B> /x9b BRAILLE PATTERN DOTS-12458 +<U289C> /x9c BRAILLE PATTERN DOTS-3458 +<U289D> /x9d BRAILLE PATTERN DOTS-13458 +<U289E> /x9e BRAILLE PATTERN DOTS-23458 +<U289F> /x9f BRAILLE PATTERN DOTS-123458 +<U28A0> /xa0 BRAILLE PATTERN DOTS-68 +<U28A1> /xa1 BRAILLE PATTERN DOTS-168 +<U28A2> /xa2 BRAILLE PATTERN DOTS-268 +<U28A3> /xa3 BRAILLE PATTERN DOTS-1268 +<U28A4> /xa4 BRAILLE PATTERN DOTS-368 +<U28A5> /xa5 BRAILLE PATTERN DOTS-1368 +<U28A6> /xa6 BRAILLE PATTERN DOTS-2368 +<U28A7> /xa7 BRAILLE PATTERN DOTS-12368 +<U28A8> /xa8 BRAILLE PATTERN DOTS-468 +<U28A9> /xa9 BRAILLE PATTERN DOTS-1468 +<U28AA> /xaa BRAILLE PATTERN DOTS-2468 +<U28AB> /xab BRAILLE PATTERN DOTS-12468 +<U28AC> /xac BRAILLE PATTERN DOTS-3468 +<U28AD> /xad BRAILLE PATTERN DOTS-13468 +<U28AE> /xae BRAILLE PATTERN DOTS-23468 +<U28AF> /xaf BRAILLE PATTERN DOTS-123468 +<U28B0> /xb0 BRAILLE PATTERN DOTS-568 +<U28B1> /xb1 BRAILLE PATTERN DOTS-1568 +<U28B2> /xb2 BRAILLE PATTERN DOTS-2568 +<U28B3> /xb3 BRAILLE PATTERN DOTS-12568 +<U28B4> /xb4 BRAILLE PATTERN DOTS-3568 +<U28B5> /xb5 BRAILLE PATTERN DOTS-13568 +<U28B6> /xb6 BRAILLE PATTERN DOTS-23568 +<U28B7> /xb7 BRAILLE PATTERN DOTS-123568 +<U28B8> /xb8 BRAILLE PATTERN DOTS-4568 +<U28B9> /xb9 BRAILLE PATTERN DOTS-14568 +<U28BA> /xba BRAILLE PATTERN DOTS-24568 +<U28BB> /xbb BRAILLE PATTERN DOTS-124568 +<U28BC> /xbc BRAILLE PATTERN DOTS-34568 +<U28BD> /xbd BRAILLE PATTERN DOTS-134568 +<U28BE> /xbe BRAILLE PATTERN DOTS-234568 +<U28BF> /xbf BRAILLE PATTERN DOTS-1234568 +<U28C0> /xc0 BRAILLE PATTERN DOTS-78 +<U28C1> /xc1 BRAILLE PATTERN DOTS-178 +<U28C2> /xc2 BRAILLE PATTERN DOTS-278 +<U28C3> /xc3 BRAILLE PATTERN DOTS-1278 +<U28C4> /xc4 BRAILLE PATTERN DOTS-378 +<U28C5> /xc5 BRAILLE PATTERN DOTS-1378 +<U28C6> /xc6 BRAILLE PATTERN DOTS-2378 +<U28C7> /xc7 BRAILLE PATTERN DOTS-12378 +<U28C8> /xc8 BRAILLE PATTERN DOTS-478 +<U28C9> /xc9 BRAILLE PATTERN DOTS-1478 +<U28CA> /xca BRAILLE PATTERN DOTS-2478 +<U28CB> /xcb BRAILLE PATTERN DOTS-12478 +<U28CC> /xcc BRAILLE PATTERN DOTS-3478 +<U28CD> /xcd BRAILLE PATTERN DOTS-13478 +<U28CE> /xce BRAILLE PATTERN DOTS-23478 +<U28CF> /xcf BRAILLE PATTERN DOTS-123478 +<U28D0> /xd0 BRAILLE PATTERN DOTS-578 +<U28D1> /xd1 BRAILLE PATTERN DOTS-1578 +<U28D2> /xd2 BRAILLE PATTERN DOTS-2578 +<U28D3> /xd3 BRAILLE PATTERN DOTS-12578 +<U28D4> /xd4 BRAILLE PATTERN DOTS-3578 +<U28D5> /xd5 BRAILLE PATTERN DOTS-13578 +<U28D6> /xd6 BRAILLE PATTERN DOTS-23578 +<U28D7> /xd7 BRAILLE PATTERN DOTS-123578 +<U28D8> /xd8 BRAILLE PATTERN DOTS-4578 +<U28D9> /xd9 BRAILLE PATTERN DOTS-14578 +<U28DA> /xda BRAILLE PATTERN DOTS-24578 +<U28DB> /xdb BRAILLE PATTERN DOTS-124578 +<U28DC> /xdc BRAILLE PATTERN DOTS-34578 +<U28DD> /xdd BRAILLE PATTERN DOTS-134578 +<U28DE> /xde BRAILLE PATTERN DOTS-234578 +<U28DF> /xdf BRAILLE PATTERN DOTS-1234578 +<U28E0> /xe0 BRAILLE PATTERN DOTS-678 +<U28E1> /xe1 BRAILLE PATTERN DOTS-1678 +<U28E2> /xe2 BRAILLE PATTERN DOTS-2678 +<U28E3> /xe3 BRAILLE PATTERN DOTS-12678 +<U28E4> /xe4 BRAILLE PATTERN DOTS-3678 +<U28E5> /xe5 BRAILLE PATTERN DOTS-13678 +<U28E6> /xe6 BRAILLE PATTERN DOTS-23678 +<U28E7> /xe7 BRAILLE PATTERN DOTS-123678 +<U28E8> /xe8 BRAILLE PATTERN DOTS-4678 +<U28E9> /xe9 BRAILLE PATTERN DOTS-14678 +<U28EA> /xea BRAILLE PATTERN DOTS-24678 +<U28EB> /xeb BRAILLE PATTERN DOTS-124678 +<U28EC> /xec BRAILLE PATTERN DOTS-34678 +<U28ED> /xed BRAILLE PATTERN DOTS-134678 +<U28EE> /xee BRAILLE PATTERN DOTS-234678 +<U28EF> /xef BRAILLE PATTERN DOTS-1234678 +<U28F0> /xf0 BRAILLE PATTERN DOTS-5678 +<U28F1> /xf1 BRAILLE PATTERN DOTS-15678 +<U28F2> /xf2 BRAILLE PATTERN DOTS-25678 +<U28F3> /xf3 BRAILLE PATTERN DOTS-125678 +<U28F4> /xf4 BRAILLE PATTERN DOTS-35678 +<U28F5> /xf5 BRAILLE PATTERN DOTS-135678 +<U28F6> /xf6 BRAILLE PATTERN DOTS-235678 +<U28F7> /xf7 BRAILLE PATTERN DOTS-1235678 +<U28F8> /xf8 BRAILLE PATTERN DOTS-45678 +<U28F9> /xf9 BRAILLE PATTERN DOTS-145678 +<U28FA> /xfa BRAILLE PATTERN DOTS-245678 +<U28FB> /xfb BRAILLE PATTERN DOTS-1245678 +<U28FC> /xfc BRAILLE PATTERN DOTS-345678 +<U28FD> /xfd BRAILLE PATTERN DOTS-1345678 +<U28FE> /xfe BRAILLE PATTERN DOTS-2345678 +<U28FF> /xff BRAILLE PATTERN DOTS-12345678 +END CHARMAP + +WIDTH +<U2800>...<U28FF> 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 <fcntl.h> #include <stddef.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include <sys/types.h> @@ -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 <fcntl.h> #include <stddef.h> #include <stdio.h> +#include <string.h> #include <utime.h> #include <sys/time.h> #include <sysdep.h> 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 <errno.h> #include <fcntl.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include <sysdep.h> 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 <fcntl.h> #include <stddef.h> #include <stdio.h> +#include <string.h> #include <sys/stat.h> #include <kernel_stat.h> @@ -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 <errno.h> #include <fcntl.h> #include <stdio.h> +#include <string.h> #include <sysdep.h> 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 <errno.h> #include <fcntl.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include <sysdep.h> 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 <fcntl.h> #include <stddef.h> #include <stdio.h> +#include <string.h> #include <unistd.h> 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 <fcntl.h> #include <stddef.h> #include <stdio.h> +#include <string.h> #include <sys/stat.h> #include <sysdep.h> @@ -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; } |