From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14977 invoked by alias); 5 Mar 2013 20:51:03 -0000 Received: (qmail 14957 invoked by uid 22791); 5 Mar 2013 20:51:01 -0000 X-SWARE-Spam-Status: No, hits=-5.8 required=5.0 tests=AWL,BAYES_00,FRT_OFFER2,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,TW_TM,TW_TV X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 05 Mar 2013 20:50:29 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id AA1A7A51FD; Tue, 5 Mar 2013 21:50:27 +0100 (CET) Message-ID: <51365A8B.10507@suse.com> Date: Tue, 05 Mar 2013 20:51:00 -0000 From: Andreas Jaeger User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: libc-alpha , "libc-ports@sourceware.org" Subject: Sync with Linux 3.8 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2013-03/txt/msg00042.txt.bz2 These are the changes I noticed when reviewing the diff from Linux 3.7 to Linux 3.8. Tested on Linux/x86-64. Ok to commit? Btw. a review of the Linux 3.8 uapi headers with glibc would be a worth while task, Andreas 2013-03-05 Andreas Jaeger * sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_HUGE_SHIFT): Define. (MAP_HUGE_MASK): Define. * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (PTRACE_O_EXIT_KILL): Define. (PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL. * sysdeps/unix/sysv/linux/s390/sys/ptrace.h (PTRACE_O_EXIT_KILL): Define. (PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL. * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_O_EXIT_KILL): Define. (PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL. * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_O_EXITKILL): Define. (PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL. * sysdeps/unix/sysv/linux/x86/bits/msq.h (MSG_COPY): Likewise. * sysdeps/unix/sysv/linux/generic/bits/msq.h (MSG_COPY): Define. * sysdeps/unix/sysv/linux/powerpc/bits/msq.h (MSG_COPY): Likewise. * sysdeps/unix/sysv/linux/bits/msq.h (MSG_COPY): Likewise. * sysdeps/unix/sysv/linux/s390/bits/msq.h (MSG_COPY): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/msq.h (MSG_COPY): Define. * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max): Handle f2fs. * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): Handle f2fs and efivarfs. * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Handle f2fs. * sysdeps/unix/sysv/linux/linux_fsinfo.h (F2FS_SUPER_MAGIC): Add. (EFIVARFS_MAGIC): Add. (F2FS_LINK_MAX): Add. ChangeLog.mips: * sysdeps/unix/sysv/linux/mips/bits/msq.h (MSG_COPY): Define. ChangeLog.ia64: * sysdeps/unix/sysv/linux/ia64/bits/msq.h (MSG_COPY): Define. (MSG_EXCEPT): Make conditional on __USE_GNU. Changelog.alpha: * sysdeps/unix/sysv/linux/alpha/bits/mman.h (MAP_HUGE_MASK) (MAP_HUGE_SHIFT): Define. * sysdeps/unix/sysv/linux/alpha/bits/msq.h (MSG_COPY): Define. ChangeLog.hppa: * sysdeps/unix/sysv/linux/hppa/bits/msq.h (MSG_COPY): Define. * ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h (MAP_HUGE_MASK) (MAP_HUGE_SHIFT): Define. diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h index 2238c2c..c51b05d 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h +++ b/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h @@ -51,6 +51,9 @@ # define MAP_FILE 0 # define MAP_ANONYMOUS 0x10 /* Don't use a file. */ # define MAP_ANON MAP_ANONYMOUS +/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ +# define MAP_HUGE_SHIFT 26 +# define MAP_HUGE_MASK 0x3f #endif /* Not used by Linux, but here to make sure we don't clash with diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h index 1b07465..8bb057b 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h +++ b/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h @@ -25,6 +25,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/ports/sysdeps/unix/sysv/linux/generic/bits/msq.h b/ports/sysdeps/unix/sysv/linux/generic/bits/msq.h index 87f37b4d..49cbf06 100644 --- a/ports/sysdeps/unix/sysv/linux/generic/bits/msq.h +++ b/ports/sysdeps/unix/sysv/linux/generic/bits/msq.h @@ -27,6 +27,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h b/ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h index c216ddb..2835b0f 100644 --- a/ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h +++ b/ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h @@ -44,6 +44,9 @@ # define MAP_ANONYMOUS 0x10 /* Don't use a file */ # define MAP_ANON MAP_ANONYMOUS # define MAP_VARIABLE 0 +/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ +# define MAP_HUGE_SHIFT 26 +# define MAP_HUGE_MASK 0x3f #endif /* These are Linux-specific. */ diff --git a/ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h b/ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h index e56286b..ac35f51 100644 --- a/ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h +++ b/ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h @@ -26,6 +26,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h b/ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h index 68d3ed7..8519390 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h +++ b/ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h @@ -24,8 +24,10 @@ /* Define options for message queue functions. */ #define MSG_NOERROR 010000 /* no error if message is too big */ -#define MSG_EXCEPT 020000 /* recv any msg except of specified type */ - +#ifdef __USE_GNU +# define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ +#endif /* Structure of record for one message inside the kernel. The type `struct __msg' is opaque. */ diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/msq.h b/ports/sysdeps/unix/sysv/linux/mips/bits/msq.h index 8439069..e814bc7 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/bits/msq.h +++ b/ports/sysdeps/unix/sysv/linux/mips/bits/msq.h @@ -25,6 +25,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h index 6c06069..27d2dc4 100644 --- a/sysdeps/unix/sysv/linux/bits/mman-linux.h +++ b/sysdeps/unix/sysv/linux/bits/mman-linux.h @@ -51,6 +51,9 @@ # define MAP_FILE 0 # define MAP_ANONYMOUS 0x20 /* Don't use a file. */ # define MAP_ANON MAP_ANONYMOUS +/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ +# define MAP_HUGE_SHIFT 26 +# define MAP_HUGE_MASK 0x3f #endif /* Flags to `msync'. */ diff --git a/sysdeps/unix/sysv/linux/bits/msq.h b/sysdeps/unix/sysv/linux/bits/msq.h index bd005fb..8f6eb8a 100644 --- a/sysdeps/unix/sysv/linux/bits/msq.h +++ b/sysdeps/unix/sysv/linux/bits/msq.h @@ -25,6 +25,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/sysdeps/unix/sysv/linux/internal_statvfs.c b/sysdeps/unix/sysv/linux/internal_statvfs.c index 4cd4f04..45a66b8 100644 --- a/sysdeps/unix/sysv/linux/internal_statvfs.c +++ b/sysdeps/unix/sysv/linux/internal_statvfs.c @@ -117,6 +117,12 @@ __statvfs_getflags (const char *name, int fstype, struct stat64 *st) case LUSTRE_SUPER_MAGIC: fsname = "lustre"; break; + case F2FS_SUPER_MAGIC: + fsname = "f2fs"; + break; + case EFIVARFS_MAGIC: + fsname = "efivarfs"; + break; } FILE *mtab = __setmntent ("/proc/mounts", "r"); diff --git a/sysdeps/unix/sysv/linux/linux_fsinfo.h b/sysdeps/unix/sysv/linux/linux_fsinfo.h index 1bcd9e2..2312b47 100644 --- a/sysdeps/unix/sysv/linux/linux_fsinfo.h +++ b/sysdeps/unix/sysv/linux/linux_fsinfo.h @@ -61,9 +61,15 @@ #define EFS_SUPER_MAGIC 0x414a53 #define EFS_MAGIC 0x072959 +/* Constants that identifies the `evivar' filesystem. */ +#define EFIVARFS_MAGIC 0xde5e81e4 + /* Constant that identifies the `ext2' and `ext3' filesystems. */ #define EXT2_SUPER_MAGIC 0xef53 +/* Constant that identifies the `f2fs' filesystem. */ +#define F2FS_SUPER_MAGIC 0xf2f52010 + /* Constant that identifies the `hpfs' filesystem. */ #define HPFS_SUPER_MAGIC 0xf995e849 @@ -153,6 +159,7 @@ #define COH_LINK_MAX 10000 #define EXT2_LINK_MAX 32000 #define EXT4_LINK_MAX 65000 +#define F2FS_LINK_MAX 32000 #define LUSTRE_LINK_MAX EXT4_LINK_MAX #define MINIX2_LINK_MAX 65530 #define MINIX_LINK_MAX 250 diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c index e86925f..edc691e 100644 --- a/sysdeps/unix/sysv/linux/pathconf.c +++ b/sysdeps/unix/sysv/linux/pathconf.c @@ -168,6 +168,9 @@ __statfs_link_max (int result, const struct statfs *fsbuf, const char *file, the hard way. */ return distinguish_extX (fsbuf, file, fd); + case F2FS_SUPER_MAGIC: + return F2FS_LINK_MAX; + case MINIX_SUPER_MAGIC: case MINIX_SUPER_MAGIC2: return MINIX_LINK_MAX; @@ -221,6 +224,9 @@ __statfs_filesize_max (int result, const struct statfs *fsbuf) switch (fsbuf->f_type) { + case F2FS_SUPER_MAGIC: + return 256; + case BTRFS_SUPER_MAGIC: return 255; diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/msq.h b/sysdeps/unix/sysv/linux/powerpc/bits/msq.h index b9811c6..59147c2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/msq.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/msq.h @@ -25,6 +25,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h index dfda1c8..e6e916b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h @@ -136,7 +136,8 @@ enum __ptrace_setoptions PTRACE_O_TRACEVFORKDONE = 0x00000020, PTRACE_O_TRACEEXIT = 0x00000040, PTRACE_O_TRACESECCOMP = 0x00000080, - PTRACE_O_MASK = 0x000000ff + PTRACE_O_EXITKILL = 0x00100000, + PTRACE_O_MASK = 0x001000ff }; /* Wait extended result codes for the above trace options. */ diff --git a/sysdeps/unix/sysv/linux/s390/bits/msq.h b/sysdeps/unix/sysv/linux/s390/bits/msq.h index 5a1f6b2..a5eaf89 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/msq.h +++ b/sysdeps/unix/sysv/linux/s390/bits/msq.h @@ -26,6 +26,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h index b9062dc..ca2ebb9 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h @@ -175,7 +175,8 @@ enum __ptrace_setoptions PTRACE_O_TRACEVFORKDONE = 0x00000020, PTRACE_O_TRACEEXIT = 0x00000040, PTRACE_O_TRACESECCOMP = 0x00000080, - PTRACE_O_MASK = 0x000000ff + PTRACE_O_EXITKILL = 0x00100000, + PTRACE_O_MASK = 0x001000ff }; /* Wait extended result codes for the above trace options. */ diff --git a/sysdeps/unix/sysv/linux/sparc/bits/msq.h b/sysdeps/unix/sysv/linux/sparc/bits/msq.h index 84c4b85..0a01927 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/msq.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/msq.h @@ -26,6 +26,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h index bd6fd53..7ba8f5f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h @@ -219,7 +219,8 @@ enum __ptrace_setoptions PTRACE_O_TRACEVFORKDONE = 0x00000020, PTRACE_O_TRACEEXIT = 0x00000040, PTRACE_O_TRACESECCOMP = 0x00000080, - PTRACE_O_MASK = 0x000000ff + PTRACE_O_EXITKILL = 0x00100000, + PTRACE_O_MASK = 0x001000ff }; /* Wait extended result codes for the above trace options. */ diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h index d04fab5..08709bf 100644 --- a/sysdeps/unix/sysv/linux/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/sys/ptrace.h @@ -166,7 +166,8 @@ enum __ptrace_setoptions PTRACE_O_TRACEVFORKDONE = 0x00000020, PTRACE_O_TRACEEXIT = 0x00000040, PTRACE_O_TRACESECCOMP = 0x00000080, - PTRACE_O_MASK = 0x000000ff + PTRACE_O_EXITKILL = 0x00100000, + PTRACE_O_MASK = 0x001000ff }; /* Wait extended result codes for the above trace options. */ diff --git a/sysdeps/unix/sysv/linux/x86/bits/msq.h b/sysdeps/unix/sysv/linux/x86/bits/msq.h index ef5cc38..9355e46 100644 --- a/sysdeps/unix/sysv/linux/x86/bits/msq.h +++ b/sysdeps/unix/sysv/linux/x86/bits/msq.h @@ -25,6 +25,7 @@ #define MSG_NOERROR 010000 /* no error if message is too big */ #ifdef __USE_GNU # define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ #endif /* Types used in the structure definition. */ -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126