summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-11-16 08:40:33 +0000
committerJakub Jelinek <jakub@redhat.com>2005-11-16 08:40:33 +0000
commitb9616a4d2d0ff113b95a638127ad27c98e6c713b (patch)
tree44a217d883df77585469066a882b4eb96a1aef19
parent7af1fc8277a5c9f20739e9c0b55ae727c3771e1a (diff)
Updated to fedora-glibc-20051116T0829cvs/fedora-glibc-2_3_90-17
-rw-r--r--ChangeLog55
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in8
-rw-r--r--iconvdata/Makefile4
-rw-r--r--iconvdata/TESTS1
-rw-r--r--iconvdata/gconv-modules6
-rw-r--r--iconvdata/iso_11548-1.c73
-rw-r--r--iconvdata/testdata/ISO_11548-1bin0 -> 256 bytes
-rw-r--r--iconvdata/testdata/ISO_11548-1..UTF81
-rw-r--r--inet/netinet/icmp6.h110
-rw-r--r--inet/netinet/ip6.h70
-rw-r--r--io/sys/poll.h7
-rw-r--r--io/sys/stat.h2
-rw-r--r--localedata/ChangeLog6
-rw-r--r--localedata/charmaps/ISO_11548-1269
-rw-r--r--sysdeps/sh/bits/setjmp.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h27
-rw-r--r--sysdeps/unix/sysv/linux/fchownat.c6
-rw-r--r--sysdeps/unix/sysv/linux/futimesat.c1
-rw-r--r--sysdeps/unix/sysv/linux/fxstatat64.c2
-rw-r--r--sysdeps/unix/sysv/linux/i386/fchownat.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstatat.c8
-rw-r--r--sysdeps/unix/sysv/linux/renameat.c1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c1
-rw-r--r--sysdeps/unix/sysv/linux/sys/epoll.h9
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/unlinkat.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c6
28 files changed, 651 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index b3c9124e8e..ceecd415e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
new file mode 100644
index 0000000000..c86626638e
--- /dev/null
+++ b/iconvdata/testdata/ISO_11548-1
Binary files 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 <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;
}