This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Sync with Linux 3.8


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  <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.

	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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]