aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2013-03-06 16:35:19 +0100
committerAndreas Jaeger <aj@suse.de>2013-03-06 16:35:19 +0100
commit67525cb83217602994d2b75c4a07c9d92705079f (patch)
treedafb888df124aadc9bca3634f75ca5b2cf38ca35
parent5c56e933683b20ce48512ca1c17c3d7a967998fb (diff)
downloadglibc-67525cb83217602994d2b75c4a07c9d92705079f.tar
glibc-67525cb83217602994d2b75c4a07c9d92705079f.tar.gz
glibc-67525cb83217602994d2b75c4a07c9d92705079f.tar.bz2
glibc-67525cb83217602994d2b75c4a07c9d92705079f.zip
Sync with Linux 3.8
-rw-r--r--ChangeLog38
-rw-r--r--ports/ChangeLog.alpha6
-rw-r--r--ports/ChangeLog.hppa6
-rw-r--r--ports/ChangeLog.ia645
-rw-r--r--ports/ChangeLog.mips4
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h3
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/generic/bits/msq.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h3
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h6
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/bits/msq.h1
-rw-r--r--sysdeps/unix/sysv/linux/bits/mman-linux.h3
-rw-r--r--sysdeps/unix/sysv/linux/bits/msq.h1
-rw-r--r--sysdeps/unix/sysv/linux/internal_statvfs.c6
-rw-r--r--sysdeps/unix/sysv/linux/linux_fsinfo.h7
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/msq.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h3
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/msq.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/sys/ptrace.h3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/msq.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/ptrace.h3
-rw-r--r--sysdeps/unix/sysv/linux/sys/ptrace.h3
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/msq.h1
25 files changed, 108 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index cfda9f4523..4d018e8ca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2013-03-06 Andreas Jaeger <aj@suse.de>
+
+ * 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.
+
2013-03-06 Paul Pluzhnikov <ppluzhnikov@google.com>
* stdio-common/vfprintf.c: Replace __builtin_expect with
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index 2814559a09..9a77d276ab 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,9 @@
+2013-03-06 Andreas Jaeger <aj@suse.de>
+
+ * 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.
+
2013-02-19 Richard Henderson <rth@redhat.com>
[BZ #14920]
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index 6314f1269a..0610c177d9 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,3 +1,9 @@
+2013-03-06 Andreas Jaeger <aj@suse.de>
+
+ * 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.
+
2013-02-14 Carlos O'Donell <carlos@redhat.com>
* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.c
diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64
index d9fda457fc..e1835604e2 100644
--- a/ports/ChangeLog.ia64
+++ b/ports/ChangeLog.ia64
@@ -1,3 +1,8 @@
+2013-03-06 Andreas Jaeger <aj@suse.de>
+
+ * sysdeps/unix/sysv/linux/ia64/bits/msq.h (MSG_COPY): Define.
+ (MSG_EXCEPT): Make conditional on __USE_GNU.
+
2013-02-18 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist: Add
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 251806572d..fe95254604 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,7 @@
+2013-03-06 Andreas Jaeger <aj@suse.de>
+
+ * sysdeps/unix/sysv/linux/mips/bits/msq.h (MSG_COPY): Define.
+
2013-02-27 Chung-Lin Tang <cltang@codesourcery.com>
Maciej W. Rozycki <macro@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h
index 2238c2c72b..c51b05d37f 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 1b07465d45..8bb057b4ee 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 87f37b4d65..49cbf0611d 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 c216ddb1fc..2835b0ff07 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 e56286b283..ac35f510b5 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 68d3ed7929..8519390c48 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 8439069cd7..e814bc722f 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 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. */