From 67525cb83217602994d2b75c4a07c9d92705079f Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 6 Mar 2013 16:35:19 +0100 Subject: Sync with Linux 3.8 --- sysdeps/unix/sysv/linux/bits/mman-linux.h | 3 +++ sysdeps/unix/sysv/linux/bits/msq.h | 1 + sysdeps/unix/sysv/linux/internal_statvfs.c | 6 ++++++ sysdeps/unix/sysv/linux/linux_fsinfo.h | 7 +++++++ sysdeps/unix/sysv/linux/pathconf.c | 6 ++++++ sysdeps/unix/sysv/linux/powerpc/bits/msq.h | 1 + sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 3 ++- sysdeps/unix/sysv/linux/s390/bits/msq.h | 1 + sysdeps/unix/sysv/linux/s390/sys/ptrace.h | 3 ++- sysdeps/unix/sysv/linux/sparc/bits/msq.h | 1 + sysdeps/unix/sysv/linux/sparc/sys/ptrace.h | 3 ++- sysdeps/unix/sysv/linux/sys/ptrace.h | 3 ++- sysdeps/unix/sysv/linux/x86/bits/msq.h | 1 + 13 files changed, 35 insertions(+), 4 deletions(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h index 6c06069cdc..27d2dc41c4 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 bd005fb10e..8f6eb8a7d0 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 4cd4f042c9..45a66b83d5 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 1bcd9e2b27..2312b4702a 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 e86925f7d6..edc691e966 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 b9811c6567..59147c268c 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 dfda1c889d..e6e916b0f2 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 5a1f6b29e1..a5eaf89ddf 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 b9062dc1ae..ca2ebb9590 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 84c4b858b7..0a0192732c 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 bd6fd536d7..7ba8f5f254 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 d04fab599d..08709bf64c 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 ef5cc38681..9355e465d5 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. */ -- cgit v1.2.3