OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / memory / po / memory.pot
index c565aa9..1682649 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-07-15 16:08+0900\n"
+"POT-Creation-Date: 2015-02-04 23:32+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,19 +29,19 @@ msgid "2007-05-31"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/alloc_hugepages.2:25 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/mallopt.3:26 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:38 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man2/posix_fadvise.2:28 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30
+#: build/C/man2/alloc_hugepages.2:25 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/mallopt.3:26 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:39 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man2/posix_fadvise.2:28 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30 build/C/man2/memfd_create.2:21
 #, no-wrap
 msgid "Linux"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/alloc_hugepages.2:25 build/C/man3/alloca.3:43 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_hook.3:10 build/C/man3/malloc_info.3:25 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/malloc_usable_size.3:25 build/C/man3/mallopt.3:26 build/C/man3/mcheck.3:25 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:38 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man3/mtrace.3:25 build/C/man2/posix_fadvise.2:28 build/C/man3/posix_fallocate.3:25 build/C/man3/posix_memalign.3:29 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30
+#: build/C/man2/alloc_hugepages.2:25 build/C/man3/alloca.3:43 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:35 build/C/man3/mallinfo.3:26 build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_hook.3:10 build/C/man3/malloc_info.3:25 build/C/man3/malloc_stats.3:26 build/C/man3/malloc_trim.3:26 build/C/man3/malloc_usable_size.3:25 build/C/man3/mallopt.3:26 build/C/man3/mcheck.3:25 build/C/man2/mlock.2:26 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:39 build/C/man2/mremap.2:30 build/C/man2/msync.2:25 build/C/man3/mtrace.3:25 build/C/man2/posix_fadvise.2:28 build/C/man3/posix_fallocate.3:25 build/C/man3/posix_memalign.3:29 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:28 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38 build/C/man2/shmop.2:41 build/C/man2/subpage_prot.2:30 build/C/man2/sync_file_range.2:30 build/C/man2/memfd_create.2:21 build/C/man2/s390_pci_mmio_write.2:25
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:26 build/C/man3/alloca.3:44 build/C/man2/cacheflush.2:26 build/C/man2/fallocate.2:12 build/C/man2/madvise.2:36 build/C/man3/mallinfo.3:27 build/C/man3/malloc_get_state.3:26 build/C/man3/malloc_hook.3:11 build/C/man3/malloc_info.3:26 build/C/man3/malloc_stats.3:27 build/C/man3/malloc_trim.3:27 build/C/man3/malloc_usable_size.3:26 build/C/man3/mallopt.3:27 build/C/man3/mcheck.3:26 build/C/man2/mlock.2:27 build/C/man2/mmap.2:41 build/C/man2/mmap2.2:30 build/C/man2/mprotect.2:39 build/C/man2/mremap.2:31 build/C/man2/msync.2:26 build/C/man3/mtrace.3:26 build/C/man2/posix_fadvise.2:29 build/C/man3/posix_fallocate.3:26 build/C/man3/posix_memalign.3:30 build/C/man2/readahead.2:29 build/C/man2/remap_file_pages.2:29 build/C/man3/shm_open.3:27 build/C/man7/shm_overview.7:28 build/C/man2/shmctl.2:46 build/C/man2/shmget.2:39 build/C/man2/shmop.2:42 build/C/man2/subpage_prot.2:31 build/C/man2/sync_file_range.2:31
+#: build/C/man2/alloc_hugepages.2:26 build/C/man3/alloca.3:44 build/C/man2/cacheflush.2:26 build/C/man2/fallocate.2:12 build/C/man2/madvise.2:36 build/C/man3/mallinfo.3:27 build/C/man3/malloc_get_state.3:26 build/C/man3/malloc_hook.3:11 build/C/man3/malloc_info.3:26 build/C/man3/malloc_stats.3:27 build/C/man3/malloc_trim.3:27 build/C/man3/malloc_usable_size.3:26 build/C/man3/mallopt.3:27 build/C/man3/mcheck.3:26 build/C/man2/mlock.2:27 build/C/man2/mmap.2:41 build/C/man2/mmap2.2:30 build/C/man2/mprotect.2:40 build/C/man2/mremap.2:31 build/C/man2/msync.2:26 build/C/man3/mtrace.3:26 build/C/man2/posix_fadvise.2:29 build/C/man3/posix_fallocate.3:26 build/C/man3/posix_memalign.3:30 build/C/man2/readahead.2:29 build/C/man2/remap_file_pages.2:29 build/C/man3/shm_open.3:27 build/C/man7/shm_overview.7:28 build/C/man2/shmctl.2:46 build/C/man2/shmget.2:39 build/C/man2/shmop.2:42 build/C/man2/subpage_prot.2:31 build/C/man2/sync_file_range.2:31 build/C/man2/memfd_create.2:22 build/C/man2/s390_pci_mmio_write.2:26
 #, no-wrap
 msgid "NAME"
 msgstr ""
@@ -52,7 +52,7 @@ msgid "alloc_hugepages, free_hugepages - allocate or free huge pages"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:28 build/C/man3/alloca.3:46 build/C/man2/cacheflush.2:28 build/C/man2/fallocate.2:14 build/C/man2/madvise.2:38 build/C/man3/mallinfo.3:29 build/C/man3/malloc_get_state.3:28 build/C/man3/malloc_hook.3:15 build/C/man3/malloc_info.3:28 build/C/man3/malloc_stats.3:29 build/C/man3/malloc_trim.3:29 build/C/man3/malloc_usable_size.3:28 build/C/man3/mallopt.3:29 build/C/man3/mcheck.3:28 build/C/man2/mlock.2:29 build/C/man2/mmap.2:43 build/C/man2/mmap2.2:32 build/C/man2/mprotect.2:41 build/C/man2/mremap.2:33 build/C/man2/msync.2:28 build/C/man3/mtrace.3:28 build/C/man2/posix_fadvise.2:31 build/C/man3/posix_fallocate.3:28 build/C/man3/posix_memalign.3:32 build/C/man2/readahead.2:31 build/C/man2/remap_file_pages.2:31 build/C/man3/shm_open.3:29 build/C/man2/shmctl.2:48 build/C/man2/shmget.2:41 build/C/man2/shmop.2:44 build/C/man2/subpage_prot.2:33 build/C/man2/sync_file_range.2:33
+#: build/C/man2/alloc_hugepages.2:28 build/C/man3/alloca.3:46 build/C/man2/cacheflush.2:28 build/C/man2/fallocate.2:14 build/C/man2/madvise.2:38 build/C/man3/mallinfo.3:29 build/C/man3/malloc_get_state.3:28 build/C/man3/malloc_hook.3:15 build/C/man3/malloc_info.3:28 build/C/man3/malloc_stats.3:29 build/C/man3/malloc_trim.3:29 build/C/man3/malloc_usable_size.3:28 build/C/man3/mallopt.3:29 build/C/man3/mcheck.3:28 build/C/man2/mlock.2:29 build/C/man2/mmap.2:43 build/C/man2/mmap2.2:32 build/C/man2/mprotect.2:42 build/C/man2/mremap.2:33 build/C/man2/msync.2:28 build/C/man3/mtrace.3:28 build/C/man2/posix_fadvise.2:31 build/C/man3/posix_fallocate.3:28 build/C/man3/posix_memalign.3:32 build/C/man2/readahead.2:31 build/C/man2/remap_file_pages.2:31 build/C/man3/shm_open.3:29 build/C/man2/shmctl.2:48 build/C/man2/shmget.2:41 build/C/man2/shmop.2:44 build/C/man2/subpage_prot.2:33 build/C/man2/sync_file_range.2:33 build/C/man2/memfd_create.2:24 build/C/man2/s390_pci_mmio_write.2:29
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr ""
@@ -76,7 +76,7 @@ msgid "B<int free_hugepages(void *>I<addr>B<);>\n"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:38 build/C/man3/alloca.3:50 build/C/man2/cacheflush.2:34 build/C/man2/fallocate.2:22 build/C/man2/madvise.2:50 build/C/man3/mallinfo.3:33 build/C/man3/malloc_get_state.3:36 build/C/man3/malloc_hook.3:33 build/C/man3/malloc_info.3:34 build/C/man3/malloc_stats.3:33 build/C/man3/malloc_trim.3:33 build/C/man3/malloc_usable_size.3:32 build/C/man3/mallopt.3:33 build/C/man3/mcheck.3:40 build/C/man2/mlock.2:39 build/C/man2/mmap.2:54 build/C/man2/mmap2.2:39 build/C/man2/mprotect.2:47 build/C/man2/mremap.2:42 build/C/man2/msync.2:32 build/C/man3/mtrace.3:34 build/C/man2/posix_fadvise.2:50 build/C/man3/posix_fallocate.3:46 build/C/man3/posix_memalign.3:84 build/C/man2/readahead.2:38 build/C/man2/remap_file_pages.2:39 build/C/man3/shm_open.3:41 build/C/man7/shm_overview.7:30 build/C/man2/shmctl.2:56 build/C/man2/shmget.2:49 build/C/man2/shmop.2:53 build/C/man2/subpage_prot.2:41 build/C/man2/sync_file_range.2:41
+#: build/C/man2/alloc_hugepages.2:38 build/C/man3/alloca.3:50 build/C/man2/cacheflush.2:34 build/C/man2/fallocate.2:22 build/C/man2/madvise.2:50 build/C/man3/mallinfo.3:33 build/C/man3/malloc_get_state.3:36 build/C/man3/malloc_hook.3:33 build/C/man3/malloc_info.3:34 build/C/man3/malloc_stats.3:33 build/C/man3/malloc_trim.3:33 build/C/man3/malloc_usable_size.3:32 build/C/man3/mallopt.3:33 build/C/man3/mcheck.3:40 build/C/man2/mlock.2:39 build/C/man2/mmap.2:54 build/C/man2/mmap2.2:39 build/C/man2/mprotect.2:48 build/C/man2/mremap.2:42 build/C/man2/msync.2:32 build/C/man3/mtrace.3:34 build/C/man2/posix_fadvise.2:50 build/C/man3/posix_fallocate.3:46 build/C/man3/posix_memalign.3:84 build/C/man2/readahead.2:38 build/C/man2/remap_file_pages.2:39 build/C/man3/shm_open.3:41 build/C/man7/shm_overview.7:30 build/C/man2/shmctl.2:56 build/C/man2/shmget.2:49 build/C/man2/shmop.2:53 build/C/man2/subpage_prot.2:41 build/C/man2/sync_file_range.2:41 build/C/man2/memfd_create.2:28 build/C/man2/s390_pci_mmio_write.2:39
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -86,7 +86,7 @@ msgstr ""
 msgid ""
 "The system calls B<alloc_hugepages>()  and B<free_hugepages>()  were "
 "introduced in Linux 2.5.36 and removed again in 2.5.54.  They existed only "
-"on i386 and ia64 (when built with B<CONFIG_HUGETLB_PAGE>).  In Linux 2.4.20 "
+"on i386 and ia64 (when built with B<CONFIG_HUGETLB_PAGE>).  In Linux 2.4.20, "
 "the syscall numbers exist, but the calls fail with the error B<ENOSYS>."
 msgstr ""
 
@@ -142,7 +142,7 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:60 build/C/man2/cacheflush.2:53 build/C/man2/fallocate.2:112 build/C/man2/madvise.2:268 build/C/man3/malloc_get_state.3:61 build/C/man3/malloc_info.3:48 build/C/man3/malloc_trim.3:51 build/C/man3/malloc_usable_size.3:40 build/C/man3/mallopt.3:379 build/C/man3/mcheck.3:129 build/C/man2/mlock.2:116 build/C/man2/mmap.2:375 build/C/man2/mmap2.2:54 build/C/man2/mprotect.2:78 build/C/man2/mremap.2:127 build/C/man2/msync.2:68 build/C/man2/posix_fadvise.2:87 build/C/man3/posix_fallocate.3:66 build/C/man3/posix_memalign.3:141 build/C/man2/readahead.2:65 build/C/man2/remap_file_pages.2:124 build/C/man3/shm_open.3:171 build/C/man2/shmctl.2:279 build/C/man2/shmget.2:180 build/C/man2/shmop.2:171 build/C/man2/subpage_prot.2:66 build/C/man2/sync_file_range.2:141
+#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:60 build/C/man2/cacheflush.2:53 build/C/man2/fallocate.2:228 build/C/man2/madvise.2:268 build/C/man3/malloc_get_state.3:61 build/C/man3/malloc_info.3:48 build/C/man3/malloc_trim.3:51 build/C/man3/malloc_usable_size.3:40 build/C/man3/mallopt.3:379 build/C/man3/mcheck.3:129 build/C/man2/mlock.2:116 build/C/man2/mmap.2:375 build/C/man2/mmap2.2:54 build/C/man2/mprotect.2:77 build/C/man2/mremap.2:127 build/C/man2/msync.2:68 build/C/man2/posix_fadvise.2:87 build/C/man3/posix_fallocate.3:66 build/C/man3/posix_memalign.3:142 build/C/man2/readahead.2:66 build/C/man2/remap_file_pages.2:132 build/C/man3/shm_open.3:171 build/C/man2/shmctl.2:283 build/C/man2/shmget.2:183 build/C/man2/shmop.2:168 build/C/man2/subpage_prot.2:66 build/C/man2/sync_file_range.2:141 build/C/man2/memfd_create.2:126 build/C/man2/s390_pci_mmio_write.2:68
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr ""
@@ -156,13 +156,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:118 build/C/man2/cacheflush.2:59 build/C/man2/fallocate.2:119 build/C/man2/madvise.2:275 build/C/man3/malloc_info.3:55 build/C/man3/malloc_trim.3:56 build/C/man3/mallopt.3:384 build/C/man2/mlock.2:122 build/C/man2/mmap.2:392 build/C/man2/mmap2.2:61 build/C/man2/mprotect.2:85 build/C/man2/mremap.2:135 build/C/man2/msync.2:73 build/C/man2/posix_fadvise.2:90 build/C/man3/posix_fallocate.3:72 build/C/man3/posix_memalign.3:155 build/C/man2/readahead.2:71 build/C/man2/remap_file_pages.2:131 build/C/man3/shm_open.3:180 build/C/man2/shmctl.2:301 build/C/man2/shmget.2:185 build/C/man2/shmop.2:185 build/C/man2/subpage_prot.2:71 build/C/man2/sync_file_range.2:147
+#: build/C/man2/alloc_hugepages.2:118 build/C/man2/cacheflush.2:59 build/C/man2/fallocate.2:235 build/C/man2/madvise.2:275 build/C/man3/malloc_info.3:55 build/C/man3/malloc_trim.3:56 build/C/man3/mallopt.3:384 build/C/man2/mlock.2:122 build/C/man2/mmap.2:392 build/C/man2/mmap2.2:61 build/C/man2/mprotect.2:84 build/C/man2/mremap.2:135 build/C/man2/msync.2:73 build/C/man2/posix_fadvise.2:90 build/C/man3/posix_fallocate.3:72 build/C/man3/posix_memalign.3:157 build/C/man2/readahead.2:72 build/C/man2/remap_file_pages.2:139 build/C/man3/shm_open.3:180 build/C/man2/shmctl.2:305 build/C/man2/shmget.2:188 build/C/man2/shmop.2:182 build/C/man2/subpage_prot.2:71 build/C/man2/sync_file_range.2:147 build/C/man2/memfd_create.2:133 build/C/man2/s390_pci_mmio_write.2:77
 #, no-wrap
 msgid "ERRORS"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:158
+#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:319
 #, no-wrap
 msgid "B<ENOSYS>"
 msgstr ""
@@ -194,7 +194,7 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:65 build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:199 build/C/man2/madvise.2:325 build/C/man3/mallinfo.3:110 build/C/man3/malloc_get_state.3:86 build/C/man3/malloc_hook.3:80 build/C/man3/malloc_info.3:63 build/C/man3/malloc_stats.3:55 build/C/man3/malloc_trim.3:60 build/C/man3/malloc_usable_size.3:48 build/C/man3/mallopt.3:392 build/C/man3/mcheck.3:145 build/C/man2/mlock.2:186 build/C/man2/mmap.2:497 build/C/man2/mmap2.2:77 build/C/man2/mprotect.2:113 build/C/man2/mremap.2:185 build/C/man2/msync.2:96 build/C/man3/mtrace.3:78 build/C/man2/posix_fadvise.2:112 build/C/man3/posix_fallocate.3:103 build/C/man3/posix_memalign.3:180 build/C/man2/readahead.2:87 build/C/man2/remap_file_pages.2:153 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:373 build/C/man2/shmget.2:232 build/C/man2/shmop.2:231 build/C/man2/subpage_prot.2:96 build/C/man2/sync_file_range.2:180
+#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:70 build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:375 build/C/man2/madvise.2:332 build/C/man3/mallinfo.3:110 build/C/man3/malloc_get_state.3:86 build/C/man3/malloc_hook.3:80 build/C/man3/malloc_info.3:63 build/C/man3/malloc_stats.3:55 build/C/man3/malloc_trim.3:60 build/C/man3/malloc_usable_size.3:53 build/C/man3/mallopt.3:392 build/C/man3/mcheck.3:145 build/C/man2/mlock.2:186 build/C/man2/mmap.2:499 build/C/man2/mmap2.2:77 build/C/man2/mprotect.2:112 build/C/man2/mremap.2:185 build/C/man2/msync.2:96 build/C/man3/mtrace.3:78 build/C/man2/posix_fadvise.2:122 build/C/man3/posix_fallocate.3:108 build/C/man3/posix_memalign.3:182 build/C/man2/readahead.2:88 build/C/man2/remap_file_pages.2:161 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:377 build/C/man2/shmget.2:248 build/C/man2/shmop.2:228 build/C/man2/subpage_prot.2:96 build/C/man2/sync_file_range.2:180 build/C/man2/memfd_create.2:161 build/C/man2/s390_pci_mmio_write.2:100
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr ""
@@ -207,7 +207,7 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:73 build/C/man2/madvise.2:346 build/C/man3/malloc_get_state.3:88 build/C/man3/malloc_hook.3:82 build/C/man3/malloc_info.3:65 build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62 build/C/man3/malloc_usable_size.3:50 build/C/man3/mcheck.3:147 build/C/man2/mlock.2:213 build/C/man2/mmap.2:515 build/C/man2/mmap2.2:79 build/C/man2/mprotect.2:122 build/C/man2/mremap.2:191 build/C/man3/mtrace.3:80 build/C/man2/posix_fadvise.2:121 build/C/man3/posix_memalign.3:219 build/C/man2/readahead.2:92 build/C/man3/shm_open.3:257 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:378 build/C/man2/shmget.2:238 build/C/man2/shmop.2:250 build/C/man2/subpage_prot.2:98 build/C/man2/sync_file_range.2:183
+#: build/C/man2/alloc_hugepages.2:133 build/C/man3/alloca.3:78 build/C/man2/madvise.2:354 build/C/man3/malloc_get_state.3:88 build/C/man3/malloc_hook.3:82 build/C/man3/malloc_info.3:65 build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62 build/C/man3/malloc_usable_size.3:55 build/C/man3/mcheck.3:147 build/C/man2/mlock.2:213 build/C/man2/mmap.2:517 build/C/man2/mmap2.2:79 build/C/man2/mprotect.2:121 build/C/man2/mremap.2:191 build/C/man2/msync.2:120 build/C/man3/mtrace.3:80 build/C/man2/posix_fadvise.2:131 build/C/man3/posix_fallocate.3:133 build/C/man3/posix_memalign.3:221 build/C/man2/readahead.2:93 build/C/man2/remap_file_pages.2:165 build/C/man3/shm_open.3:257 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:382 build/C/man2/shmget.2:256 build/C/man2/shmop.2:243 build/C/man2/subpage_prot.2:98 build/C/man2/sync_file_range.2:183 build/C/man2/memfd_create.2:165 build/C/man2/s390_pci_mmio_write.2:103
 #, no-wrap
 msgid "NOTES"
 msgstr ""
@@ -216,9 +216,9 @@ msgstr ""
 #: build/C/man2/alloc_hugepages.2:141
 msgid ""
 "These system calls are gone; they existed only in Linux 2.5.36 through to "
-"2.5.54.  Now the hugetlbfs file system can be used instead.  Memory backed "
-"by huge pages (if the CPU supports them) is obtained by using B<mmap>(2)  to "
-"map files in this virtual file system."
+"2.5.54.  Now the hugetlbfs filesystem can be used instead.  Memory backed by "
+"huge pages (if the CPU supports them) is obtained by using B<mmap>(2)  to "
+"map files in this virtual filesystem."
 msgstr ""
 
 #. type: Plain text
@@ -229,17 +229,18 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:157 build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:207 build/C/man2/madvise.2:379 build/C/man3/mallinfo.3:279 build/C/man3/malloc_get_state.3:114 build/C/man3/malloc_hook.3:142 build/C/man3/malloc_info.3:262 build/C/man3/malloc_stats.3:67 build/C/man3/malloc_trim.3:82 build/C/man3/malloc_usable_size.3:64 build/C/man3/mallopt.3:580 build/C/man3/mcheck.3:208 build/C/man2/mlock.2:336 build/C/man2/mmap.2:737 build/C/man2/mmap2.2:98 build/C/man2/mprotect.2:229 build/C/man2/mremap.2:214 build/C/man2/msync.2:124 build/C/man3/mtrace.3:172 build/C/man2/posix_fadvise.2:197 build/C/man3/posix_fallocate.3:133 build/C/man3/posix_memalign.3:275 build/C/man2/readahead.2:103 build/C/man2/remap_file_pages.2:164 build/C/man3/shm_open.3:282 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:430 build/C/man2/shmget.2:314 build/C/man2/shmop.2:295 build/C/man2/subpage_prot.2:134 build/C/man2/sync_file_range.2:226
+#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:162 build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:383 build/C/man2/madvise.2:388 build/C/man3/mallinfo.3:279 build/C/man3/malloc_get_state.3:114 build/C/man3/malloc_hook.3:142 build/C/man3/malloc_info.3:262 build/C/man3/malloc_stats.3:67 build/C/man3/malloc_trim.3:82 build/C/man3/malloc_usable_size.3:69 build/C/man3/mallopt.3:568 build/C/man3/mcheck.3:208 build/C/man2/mlock.2:343 build/C/man2/mmap.2:741 build/C/man2/mmap2.2:101 build/C/man2/mprotect.2:228 build/C/man2/mremap.2:214 build/C/man2/msync.2:151 build/C/man3/mtrace.3:172 build/C/man2/posix_fadvise.2:215 build/C/man3/posix_fallocate.3:143 build/C/man3/posix_memalign.3:277 build/C/man2/readahead.2:113 build/C/man2/remap_file_pages.2:183 build/C/man3/shm_open.3:283 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:435 build/C/man2/shmget.2:391 build/C/man2/shmop.2:301 build/C/man2/subpage_prot.2:134 build/C/man2/sync_file_range.2:227 build/C/man2/memfd_create.2:493 build/C/man2/s390_pci_mmio_write.2:109
 #, no-wrap
 msgid "COLOPHON"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alloc_hugepages.2:157 build/C/man3/alloca.3:164 build/C/man2/cacheflush.2:96 build/C/man2/fallocate.2:214 build/C/man2/madvise.2:386 build/C/man3/mallinfo.3:286 build/C/man3/malloc_get_state.3:121 build/C/man3/malloc_hook.3:149 build/C/man3/malloc_info.3:269 build/C/man3/malloc_stats.3:74 build/C/man3/malloc_trim.3:89 build/C/man3/malloc_usable_size.3:71 build/C/man3/mallopt.3:587 build/C/man3/mcheck.3:215 build/C/man2/mlock.2:343 build/C/man2/mmap.2:744 build/C/man2/mmap2.2:105 build/C/man2/mprotect.2:236 build/C/man2/mremap.2:221 build/C/man2/msync.2:131 build/C/man3/mtrace.3:179 build/C/man2/posix_fadvise.2:204 build/C/man3/posix_fallocate.3:140 build/C/man3/posix_memalign.3:282 build/C/man2/readahead.2:110 build/C/man2/remap_file_pages.2:171 build/C/man3/shm_open.3:289 build/C/man7/shm_overview.7:134 build/C/man2/shmctl.2:437 build/C/man2/shmget.2:321 build/C/man2/shmop.2:302 build/C/man2/subpage_prot.2:141 build/C/man2/sync_file_range.2:233
+#: build/C/man2/alloc_hugepages.2:158 build/C/man3/alloca.3:170 build/C/man2/cacheflush.2:97 build/C/man2/fallocate.2:391 build/C/man2/madvise.2:396 build/C/man3/mallinfo.3:287 build/C/man3/malloc_get_state.3:122 build/C/man3/malloc_hook.3:150 build/C/man3/malloc_info.3:270 build/C/man3/malloc_stats.3:75 build/C/man3/malloc_trim.3:90 build/C/man3/malloc_usable_size.3:77 build/C/man3/mallopt.3:576 build/C/man3/mcheck.3:216 build/C/man2/mlock.2:351 build/C/man2/mmap.2:749 build/C/man2/mmap2.2:109 build/C/man2/mprotect.2:236 build/C/man2/mremap.2:222 build/C/man2/msync.2:159 build/C/man3/mtrace.3:180 build/C/man2/posix_fadvise.2:223 build/C/man3/posix_fallocate.3:151 build/C/man3/posix_memalign.3:285 build/C/man2/readahead.2:121 build/C/man2/remap_file_pages.2:191 build/C/man3/shm_open.3:291 build/C/man7/shm_overview.7:135 build/C/man2/shmctl.2:443 build/C/man2/shmget.2:399 build/C/man2/shmop.2:309 build/C/man2/subpage_prot.2:142 build/C/man2/sync_file_range.2:235 build/C/man2/memfd_create.2:501 build/C/man2/s390_pci_mmio_write.2:117
 msgid ""
-"This page is part of release 3.52 of the Linux I<man-pages> project.  A "
-"description of the project, and information about reporting bugs, can be "
-"found at \\%http://www.kernel.org/doc/man-pages/."
+"This page is part of release 3.79 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at "
+"\\%http://www.kernel.org/doc/man-pages/."
 msgstr ""
 
 #. type: TH
@@ -251,7 +252,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/alloca.3:43
 #, no-wrap
-msgid "2013-05-12"
+msgid "2013-10-07"
 msgstr ""
 
 #. type: TH
@@ -291,13 +292,30 @@ msgid ""
 "is undefined."
 msgstr ""
 
+#. type: SH
+#: build/C/man3/alloca.3:65 build/C/man3/malloc_usable_size.3:48 build/C/man3/posix_fallocate.3:103
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr ""
+
+#. type: SS
+#: build/C/man3/alloca.3:66 build/C/man3/malloc_usable_size.3:49 build/C/man3/posix_fallocate.3:104
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man3/alloca.3:67
+#: build/C/man3/alloca.3:70
+msgid "The B<alloca>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/alloca.3:72
 msgid "This function is not in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:73
+#: build/C/man3/alloca.3:78
 msgid ""
 "There is evidence that the B<alloca>()  function appeared in 32V, PWB, "
 "PWB.2, 3BSD, and 4BSD.  There is a man page for it in 4.3BSD.  Linux uses "
@@ -305,7 +323,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:88
+#: build/C/man3/alloca.3:93
 msgid ""
 "The B<alloca>()  function is machine- and compiler-dependent.  For certain "
 "applications, its use can improve efficiency compared to the use of "
@@ -315,7 +333,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:97
+#: build/C/man3/alloca.3:102
 msgid ""
 "Because the space allocated by B<alloca>()  is allocated within the stack "
 "frame, that space is automatically freed if the function return is jumped "
@@ -323,29 +341,29 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:102
+#: build/C/man3/alloca.3:107
 msgid "Do not attempt to B<free>(3)  space allocated by B<alloca>()!"
 msgstr ""
 
 #. type: SS
-#: build/C/man3/alloca.3:102
+#: build/C/man3/alloca.3:107
 #, no-wrap
 msgid "Notes on the GNU version"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:124
+#: build/C/man3/alloca.3:129
 msgid ""
 "Normally, B<gcc>(1)  translates calls to B<alloca>()  with inlined code.  "
 "This is not done when either the I<-ansi>, I<-std=c89>, I<-std=c99>, or the "
 "I<-std=c11> option is given B<and> the header I<E<lt>alloca.hE<gt>> is not "
-"included.  Otherwise (without an -ansi or -std=c* option) the glibc version "
+"included.  Otherwise, (without an -ansi or -std=c* option) the glibc version "
 "of I<E<lt>stdlib.hE<gt>> includes I<E<lt>alloca.hE<gt>> and that contains "
 "the lines:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:129
+#: build/C/man3/alloca.3:134
 #, no-wrap
 msgid ""
 "    #ifdef  __GNUC__\n"
@@ -354,12 +372,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:132
+#: build/C/man3/alloca.3:137
 msgid "with messy consequences if one has a private version of this function."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:136
+#: build/C/man3/alloca.3:141
 msgid ""
 "The fact that the code is inlined means that it is impossible to take the "
 "address of this function, or to change its behavior by linking with a "
@@ -367,7 +385,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:140
+#: build/C/man3/alloca.3:145
 msgid ""
 "The inlined code often consists of a single instruction adjusting the stack "
 "pointer, and does not check for stack overflow.  Thus, there is no NULL "
@@ -375,13 +393,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man3/alloca.3:140 build/C/man2/cacheflush.2:82 build/C/man3/mallinfo.3:114 build/C/man3/mallopt.3:406 build/C/man2/mlock.2:304 build/C/man2/mmap.2:587 build/C/man3/mtrace.3:102 build/C/man2/posix_fadvise.2:186 build/C/man2/shmget.2:300
+#: build/C/man3/alloca.3:145 build/C/man2/cacheflush.2:82 build/C/man3/mallinfo.3:114 build/C/man3/mallopt.3:406 build/C/man2/mlock.2:311 build/C/man2/mmap.2:590 build/C/man3/mtrace.3:102 build/C/man2/posix_fadvise.2:204 build/C/man2/readahead.2:98 build/C/man2/shmget.2:376
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:145
+#: build/C/man3/alloca.3:150
 msgid ""
 "There is no error indication if the stack frame cannot be extended.  "
 "(However, after a failed allocation, the program is likely to receive a "
@@ -389,7 +407,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:153
+#: build/C/man3/alloca.3:158
 msgid ""
 "On many systems B<alloca>()  cannot be used inside the list of arguments of "
 "a function call, because the stack space reserved by B<alloca>()  would "
@@ -397,13 +415,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man3/alloca.3:153 build/C/man2/fallocate.2:202 build/C/man2/madvise.2:371 build/C/man3/mallinfo.3:270 build/C/man3/malloc_get_state.3:111 build/C/man3/malloc_hook.3:137 build/C/man3/malloc_info.3:256 build/C/man3/malloc_stats.3:61 build/C/man3/malloc_trim.3:78 build/C/man3/malloc_usable_size.3:62 build/C/man3/mallopt.3:566 build/C/man3/mcheck.3:204 build/C/man2/mlock.2:329 build/C/man2/mmap.2:712 build/C/man2/mmap2.2:92 build/C/man2/mprotect.2:226 build/C/man2/mremap.2:199 build/C/man2/msync.2:120 build/C/man3/mtrace.3:167 build/C/man2/posix_fadvise.2:191 build/C/man3/posix_fallocate.3:128 build/C/man3/posix_memalign.3:270 build/C/man2/readahead.2:97 build/C/man2/remap_file_pages.2:157 build/C/man3/shm_open.3:271 build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:423 build/C/man2/shmget.2:306 build/C/man2/shmop.2:287 build/C/man2/subpage_prot.2:128 build/C/man2/sync_file_range.2:221
+#: build/C/man3/alloca.3:158 build/C/man2/fallocate.2:378 build/C/man2/madvise.2:379 build/C/man3/mallinfo.3:270 build/C/man3/malloc_get_state.3:111 build/C/man3/malloc_hook.3:137 build/C/man3/malloc_info.3:256 build/C/man3/malloc_stats.3:61 build/C/man3/malloc_trim.3:78 build/C/man3/malloc_usable_size.3:67 build/C/man3/mallopt.3:554 build/C/man3/mcheck.3:204 build/C/man2/mlock.2:336 build/C/man2/mmap.2:715 build/C/man2/mmap2.2:95 build/C/man2/mprotect.2:225 build/C/man2/mremap.2:199 build/C/man2/msync.2:147 build/C/man3/mtrace.3:167 build/C/man2/posix_fadvise.2:209 build/C/man3/posix_fallocate.3:138 build/C/man3/posix_memalign.3:272 build/C/man2/readahead.2:107 build/C/man2/remap_file_pages.2:176 build/C/man3/shm_open.3:271 build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:428 build/C/man2/shmget.2:382 build/C/man2/shmop.2:293 build/C/man2/subpage_prot.2:128 build/C/man2/sync_file_range.2:222 build/C/man2/memfd_create.2:487 build/C/man2/s390_pci_mmio_write.2:107
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:157
+#: build/C/man3/alloca.3:162
 msgid "B<brk>(2), B<longjmp>(3), B<malloc>(3)"
 msgstr ""
 
@@ -485,7 +503,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:60 build/C/man2/mmap2.2:62 build/C/man2/mremap.2:142 build/C/man2/shmctl.2:310 build/C/man2/subpage_prot.2:72
+#: build/C/man2/cacheflush.2:60 build/C/man2/mmap2.2:62 build/C/man2/mremap.2:142 build/C/man2/shmctl.2:314 build/C/man2/subpage_prot.2:72 build/C/man2/memfd_create.2:134 build/C/man2/s390_pci_mmio_write.2:78 build/C/man2/s390_pci_mmio_write.2:83
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr ""
@@ -498,7 +516,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:67 build/C/man2/fallocate.2:131 build/C/man2/madvise.2:282 build/C/man3/malloc_info.3:56 build/C/man2/mlock.2:157 build/C/man2/mlock.2:164 build/C/man2/mlock.2:176 build/C/man2/mmap.2:423 build/C/man2/mmap.2:431 build/C/man2/mmap.2:436 build/C/man2/mmap2.2:65 build/C/man2/mprotect.2:95 build/C/man2/mremap.2:151 build/C/man2/msync.2:80 build/C/man2/posix_fadvise.2:94 build/C/man3/posix_fallocate.3:81 build/C/man3/posix_memalign.3:156 build/C/man2/readahead.2:76 build/C/man2/remap_file_pages.2:132 build/C/man2/remap_file_pages.2:139 build/C/man3/shm_open.3:213 build/C/man2/shmctl.2:324 build/C/man2/shmget.2:199 build/C/man2/shmop.2:200 build/C/man2/shmop.2:223 build/C/man2/subpage_prot.2:77 build/C/man2/sync_file_range.2:152
+#: build/C/man2/cacheflush.2:67 build/C/man2/fallocate.2:247 build/C/man2/fallocate.2:259 build/C/man2/fallocate.2:269 build/C/man2/fallocate.2:279 build/C/man2/fallocate.2:287 build/C/man2/madvise.2:282 build/C/man3/malloc_info.3:56 build/C/man2/mlock.2:157 build/C/man2/mlock.2:164 build/C/man2/mlock.2:176 build/C/man2/mmap.2:421 build/C/man2/mmap.2:429 build/C/man2/mmap.2:434 build/C/man2/mmap2.2:65 build/C/man2/mprotect.2:94 build/C/man2/mremap.2:151 build/C/man2/msync.2:80 build/C/man2/posix_fadvise.2:94 build/C/man3/posix_fallocate.3:81 build/C/man3/posix_memalign.3:158 build/C/man2/readahead.2:77 build/C/man2/remap_file_pages.2:140 build/C/man2/remap_file_pages.2:147 build/C/man3/shm_open.3:213 build/C/man2/shmctl.2:328 build/C/man2/shmget.2:207 build/C/man2/shmget.2:215 build/C/man2/shmop.2:197 build/C/man2/shmop.2:220 build/C/man2/subpage_prot.2:77 build/C/man2/sync_file_range.2:152 build/C/man2/memfd_create.2:139 build/C/man2/s390_pci_mmio_write.2:87
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr ""
@@ -508,8 +526,8 @@ msgstr ""
 msgid "I<cache> is not one of B<ICACHE>, B<DCACHE>, or B<BCACHE>."
 msgstr ""
 
-#.  FIXME This system call was only on MIPS back in 1.2 days, but
-#.  by now it is on a number of other architectures (but not i386).
+#.  FIXME The cacheflush() system call was only on MIPS back in 1.2 days,
+#.  but by now it is on a number of other architectures (but not i386).
 #.  Investigate the details and update this page.
 #.  Irix 6.5 appears to have a cacheflush() syscall -- mtk
 #. type: Plain text
@@ -533,9 +551,9 @@ msgid "FALLOCATE"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/fallocate.2:11
+#: build/C/man2/fallocate.2:11 build/C/man3/malloc_info.3:25 build/C/man2/mmap.2:40 build/C/man3/posix_fallocate.3:25 build/C/man3/shm_open.3:26 build/C/man2/memfd_create.2:21
 #, no-wrap
-msgid "2013-06-10"
+msgid "2015-01-22"
 msgstr ""
 
 #. type: Plain text
@@ -590,19 +608,20 @@ msgid "Allocating disk space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:61
+#: build/C/man2/fallocate.2:65
 msgid ""
 "The default operation (i.e., I<mode> is zero) of B<fallocate>()  allocates "
-"and initializes to zero the disk space within the range specified by "
-"I<offset> and I<len>.  The file size (as reported by B<stat>(2))  will be "
-"changed if I<offset>+I<len> is greater than the file size.  This default "
-"behavior closely resembles the behavior of the B<posix_fallocate>(3)  "
-"library function, and is intended as a method of optimally implementing that "
-"function."
+"the disk space within the range specified by I<offset> and I<len>.  The file "
+"size (as reported by B<stat>(2))  will be changed if I<offset>+I<len> is "
+"greater than the file size.  Any subregion within the range specified by "
+"I<offset> and I<len> that did not contain data before the call will be "
+"initialized to zero.  This default behavior closely resembles the behavior "
+"of the B<posix_fallocate>(3)  library function, and is intended as a method "
+"of optimally implementing that function."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:67
+#: build/C/man2/fallocate.2:71
 msgid ""
 "After a successful call, subsequent writes into the range specified by "
 "I<offset> and I<len> are guaranteed not to fail because of lack of disk "
@@ -610,7 +629,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:78
+#: build/C/man2/fallocate.2:82
 msgid ""
 "If the B<FALLOC_FL_KEEP_SIZE> flag is specified in I<mode>, the behavior of "
 "the call is similar, but the file size will not be changed even if "
@@ -620,31 +639,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:82
+#: build/C/man2/fallocate.2:86
 msgid ""
 "Because allocation is done in block size chunks, B<fallocate>()  may "
 "allocate a larger range of disk space than was specified."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fallocate.2:82
+#: build/C/man2/fallocate.2:86
 #, no-wrap
 msgid "Deallocating file space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:97
+#: build/C/man2/fallocate.2:101
 msgid ""
 "Specifying the B<FALLOC_FL_PUNCH_HOLE> flag (available since Linux 2.6.38) "
 "in I<mode> deallocates space (i.e., creates a hole)  in the byte range "
 "starting at I<offset> and continuing for I<len> bytes.  Within the specified "
-"range, partial file system blocks are zeroed, and whole file system blocks "
-"are removed from the file.  After a successful call, subsequent reads from "
-"this range will return zeroes."
+"range, partial filesystem blocks are zeroed, and whole filesystem blocks are "
+"removed from the file.  After a successful call, subsequent reads from this "
+"range will return zeroes."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:108
+#: build/C/man2/fallocate.2:112
 msgid ""
 "The B<FALLOC_FL_PUNCH_HOLE> flag must be ORed with B<FALLOC_FL_KEEP_SIZE> in "
 "I<mode>; in other words, even when punching off the end of the file, the "
@@ -652,147 +671,342 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:112
+#: build/C/man2/fallocate.2:117
 msgid ""
-"Not all file systems support B<FALLOC_FL_PUNCH_HOLE>; if a file system "
-"doesn't support the operation, an error is returned."
+"Not all filesystems support B<FALLOC_FL_PUNCH_HOLE>; if a filesystem doesn't "
+"support the operation, an error is returned.  The operation is supported on "
+"at least the following filesystems:"
+msgstr ""
+
+#. type: IP
+#: build/C/man2/fallocate.2:117 build/C/man2/fallocate.2:119 build/C/man2/fallocate.2:122 build/C/man2/fallocate.2:124 build/C/man2/fallocate.2:222 build/C/man2/fallocate.2:225 build/C/man2/madvise.2:286 build/C/man2/madvise.2:292 build/C/man2/madvise.2:295 build/C/man2/madvise.2:298 build/C/man2/madvise.2:301 build/C/man3/mallopt.3:235 build/C/man3/mallopt.3:241 build/C/man2/shmop.2:62 build/C/man2/shmop.2:68 build/C/man2/shmop.2:80 build/C/man2/memfd_create.2:248 build/C/man2/memfd_create.2:258 build/C/man2/memfd_create.2:266
+#, no-wrap
+msgid "*"
 msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fallocate.2:119
+msgid "XFS (since Linux 2.6.38)"
+msgstr ""
+
+#.  commit a4bb6b64e39abc0e41ca077725f2a72c868e7622
+#. type: Plain text
+#: build/C/man2/fallocate.2:122
+msgid "ext4 (since Linux 3.0)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:124
+msgid "Btrfs (since Linux 3.7)"
+msgstr ""
+
+#.  commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe
+#. type: Plain text
+#: build/C/man2/fallocate.2:127
+msgid "tmpfs (since Linux 3.5)"
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fallocate.2:127
+#, no-wrap
+msgid "Collapsing file space"
+msgstr ""
+
+#.  commit 00f5e61998dd17f5375d9dfc01331f104b83f841
+#. type: Plain text
+#: build/C/man2/fallocate.2:147
+msgid ""
+"Specifying the B<FALLOC_FL_COLLAPSE_RANGE> flag (available since Linux 3.15) "
+"in I<mode> removes a byte range from a file, without leaving a hole.  The "
+"byte range to be collapsed starts at I<offset> and continues for I<len> "
+"bytes.  At the completion of the operation, the contents of the file "
+"starting at the location I<offset+len> will be appended at the location "
+"I<offset>, and the file will be I<len> bytes smaller."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:161
+msgid ""
+"A filesystem may place limitations on the granularity of the operation, in "
+"order to ensure efficient implementation.  Typically, I<offset> and I<len> "
+"must be a multiple of the filesystem logical block size, which varies "
+"according to the filesystem type and configuration.  If a filesystem has "
+"such a requirement, B<fallocate>()  will fail with the error B<EINVAL> if "
+"this requirement is violated."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:170
+msgid ""
+"If the region specified by I<offset> plus I<len> reaches or passes the end "
+"of file, an error is returned; instead, use B<ftruncate>(2)  to truncate a "
+"file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:175
+msgid ""
+"No other flags may be specified in I<mode> in conjunction with "
+"B<FALLOC_FL_COLLAPSE_RANGE>."
+msgstr ""
+
+#.  commit 9eb79482a97152930b113b51dff530aba9e28c8e
+#.  commit e1d8fb88a64c1f8094b9f6c3b6d2d9e6719c970d
+#. type: Plain text
+#: build/C/man2/fallocate.2:183
+msgid ""
+"As at Linux 3.15, B<FALLOC_FL_COLLAPSE_RANGE> is supported by ext4 (only for "
+"extent-based files)  and XFS."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/fallocate.2:183
+#, no-wrap
+msgid "Zeroing file space"
+msgstr ""
+
+#.  commit 409332b65d3ed8cfa7a8030f1e9d52f372219642
+#. type: Plain text
+#: build/C/man2/fallocate.2:199
+msgid ""
+"Specifying the B<FALLOC_FL_ZERO_RANGE> flag (available since Linux 3.14)  in "
+"I<mode> zeroes space in the byte range starting at I<offset> and continuing "
+"for I<len> bytes.  Within the specified range, blocks are preallocated for "
+"the regions that span the holes in the file.  After a successful call, "
+"subsequent reads from this range will return zeroes."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:205
+msgid ""
+"Zeroing is done within the filesystem preferably by converting the range "
+"into unwritten extents.  This approach means that the specified range will "
+"not be physically zeroed out on the device (except for partial blocks at the "
+"either end of the range), and I/O is (otherwise) required only to update "
+"metadata."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:217
+msgid ""
+"If the B<FALLOC_FL_KEEP_SIZE> flag is additionally specified in I<mode>, the "
+"behavior of the call is similar, but the file size will not be changed even "
+"if I<offset>+I<len> is greater than the file size.  This behavior is the "
+"same as when preallocating space with B<FALLOC_FL_KEEP_SIZE> specified."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:222
+msgid ""
+"Not all filesystems support B<FALLOC_FL_ZERO_RANGE>; if a filesystem doesn't "
+"support the operation, an error is returned.  The operation is supported on "
+"at least the following filesystems:"
+msgstr ""
+
+#.  commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa
+#. type: Plain text
+#: build/C/man2/fallocate.2:225
+msgid "XFS (since Linux 3.14)"
+msgstr ""
+
+#.  commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0
+#. type: Plain text
+#: build/C/man2/fallocate.2:228
+msgid "ext4, for extent-based files (since Linux 3.14)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:235
 msgid ""
 "On success, B<fallocate>()  returns zero.  On error, -1 is returned and "
 "I<errno> is set to indicate the error."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:120 build/C/man2/madvise.2:279 build/C/man2/mmap.2:417 build/C/man2/posix_fadvise.2:91 build/C/man3/posix_fallocate.3:73 build/C/man2/readahead.2:72 build/C/man2/sync_file_range.2:148
+#: build/C/man2/fallocate.2:236 build/C/man2/madvise.2:279 build/C/man2/mmap.2:415 build/C/man2/posix_fadvise.2:91 build/C/man3/posix_fallocate.3:73 build/C/man2/readahead.2:73 build/C/man2/sync_file_range.2:148
 #, no-wrap
 msgid "B<EBADF>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:124 build/C/man3/posix_fallocate.3:77
+#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77
 msgid "I<fd> is not a valid file descriptor, or is not opened for writing."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:124 build/C/man3/posix_fallocate.3:77
+#: build/C/man2/fallocate.2:240 build/C/man3/posix_fallocate.3:77
 #, no-wrap
 msgid "B<EFBIG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:128
+#: build/C/man2/fallocate.2:244
 msgid "I<offset>+I<len> exceeds the maximum file size."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:128
+#: build/C/man2/fallocate.2:244
 #, no-wrap
 msgid "B<EINTR>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:131
+#: build/C/man2/fallocate.2:247
 msgid "A signal was caught during execution."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:143 build/C/man3/posix_fallocate.3:87
+#: build/C/man2/fallocate.2:259 build/C/man3/posix_fallocate.3:87
 msgid "I<offset> was less than 0, or I<len> was less than or equal to 0."
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/fallocate.2:269
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE> and the range specified by I<offset> "
+"plus I<len> reaches or passes the end of the file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:279
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE>, but either I<offset> or I<len> is "
+"not a multiple of the filesystem block size."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:287
+msgid ""
+"I<mode> contains both B<FALLOC_FL_COLLAPSE_RANGE> and other flags; no other "
+"flags are permitted with B<FALLOC_FL_COLLAPSE_RANGE>."
+msgstr ""
+
+#.  There was a inconsistency in 3.15-rc1, that should be resolved so that all
+#.  filesystems use this error for this case. (Tytso says ex4 will change.)
+#.  http://thread.gmane.org/gmane.comp.file-systems.xfs.general/60485/focus=5521
+#.  From: Michael Kerrisk (man-pages <mtk.manpages@...>
+#.  Subject: Re: [PATCH v5 10/10] manpage: update FALLOC_FL_COLLAPSE_RANGE flag in fallocate
+#.  Newsgroups: gmane.linux.man, gmane.linux.file-systems
+#.  Date: 2014-04-17 13:40:05 GMT
+#. type: Plain text
+#: build/C/man2/fallocate.2:304
+msgid ""
+"I<mode> is B<FALLOC_FL_COLLAPSE_RANGE> or B<FALLOC_FL_ZERO_RANGE>, but the "
+"file referred to by I<fd> is not a regular file."
+msgstr ""
+
 #. type: TP
-#: build/C/man2/fallocate.2:143 build/C/man2/madvise.2:310 build/C/man2/sync_file_range.2:160
+#: build/C/man2/fallocate.2:304 build/C/man2/madvise.2:310 build/C/man2/sync_file_range.2:160
 #, no-wrap
 msgid "B<EIO>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:146
-msgid "An I/O error occurred while reading from or writing to a file system."
+#: build/C/man2/fallocate.2:307
+msgid "An I/O error occurred while reading from or writing to a filesystem."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:146 build/C/man2/mmap.2:452 build/C/man3/posix_fallocate.3:87
+#: build/C/man2/fallocate.2:307 build/C/man2/mmap.2:450 build/C/man3/posix_fallocate.3:87 build/C/man2/s390_pci_mmio_write.2:92
 #, no-wrap
 msgid "B<ENODEV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:153
+#: build/C/man2/fallocate.2:314
 msgid ""
 "I<fd> does not refer to a regular file or a directory.  (If I<fd> is a pipe "
 "or FIFO, a different error results.)"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:153 build/C/man3/posix_fallocate.3:91 build/C/man2/shmget.2:217 build/C/man2/sync_file_range.2:166
+#: build/C/man2/fallocate.2:314 build/C/man3/posix_fallocate.3:91 build/C/man2/shmget.2:233 build/C/man2/sync_file_range.2:166
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:158 build/C/man3/posix_fallocate.3:96
+#: build/C/man2/fallocate.2:319 build/C/man3/posix_fallocate.3:96
 msgid ""
 "There is not enough space left on the device containing the file referred to "
 "by I<fd>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:162
+#: build/C/man2/fallocate.2:323
 msgid "This kernel does not implement B<fallocate>()."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:162
+#: build/C/man2/fallocate.2:323
 #, no-wrap
 msgid "B<EOPNOTSUPP>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:171
+#: build/C/man2/fallocate.2:332
 msgid ""
-"The file system containing the file referred to by I<fd> does not support "
-"this operation; or the I<mode> is not supported by the file system "
-"containing the file referred to by I<fd>."
+"The filesystem containing the file referred to by I<fd> does not support "
+"this operation; or the I<mode> is not supported by the filesystem containing "
+"the file referred to by I<fd>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:171 build/C/man2/mlock.2:143 build/C/man2/mlock.2:182 build/C/man2/mmap.2:460 build/C/man2/shmctl.2:349 build/C/man2/shmget.2:225
+#: build/C/man2/fallocate.2:332 build/C/man2/fallocate.2:338 build/C/man2/fallocate.2:351 build/C/man2/mlock.2:143 build/C/man2/mlock.2:182 build/C/man2/mmap.2:458 build/C/man2/mmap.2:467 build/C/man2/shmctl.2:353 build/C/man2/shmget.2:241
 #, no-wrap
 msgid "B<EPERM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:187
+#: build/C/man2/fallocate.2:338
+msgid "The file referred to by I<fd> is marked immutable (see B<chattr>(1))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:351
 msgid ""
-"The file referred to by I<fd> is marked immutable (see B<chattr>(1)).  Or: "
-"I<mode> specifies B<FALLOC_FL_PUNCH_HOLE> and the file referred to by I<fd> "
-"is marked append-only (see B<chattr>(1))."
+"I<mode> specifies B<FALLOC_FL_PUNCH_HOLE> or B<FALLOC_FL_COLLAPSE_RANGE> and "
+"the file referred to by I<fd> is marked append-only (see B<chattr>(1))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:355 build/C/man2/mmap.2:471
+msgid "The operation was prevented by a file seal; see B<fcntl>(2)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:187 build/C/man2/posix_fadvise.2:97 build/C/man3/posix_fallocate.3:96 build/C/man2/sync_file_range.2:169
+#: build/C/man2/fallocate.2:355 build/C/man2/posix_fadvise.2:97 build/C/man3/posix_fallocate.3:96 build/C/man2/sync_file_range.2:169
 #, no-wrap
 msgid "B<ESPIPE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:191
+#: build/C/man2/fallocate.2:359
 msgid "I<fd> refers to a pipe or FIFO."
 msgstr ""
 
+#. type: TP
+#: build/C/man2/fallocate.2:359 build/C/man2/mmap.2:471
+#, no-wrap
+msgid "B<ETXTBSY>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/fallocate.2:367
+msgid ""
+"I<mode> specifies B<FALLOC_FL_COLLAPSE_RANGE>, but the file referred to by "
+"I<fd> is currently being executed."
+msgstr ""
+
 #. type: SH
-#: build/C/man2/fallocate.2:191 build/C/man3/malloc_info.3:60 build/C/man3/mcheck.3:134 build/C/man2/mmap2.2:74 build/C/man2/posix_fadvise.2:104 build/C/man3/posix_fallocate.3:100 build/C/man3/posix_memalign.3:165 build/C/man2/readahead.2:82 build/C/man2/remap_file_pages.2:148 build/C/man3/shm_open.3:249 build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:177
+#: build/C/man2/fallocate.2:367 build/C/man2/madvise.2:325 build/C/man3/malloc_info.3:60 build/C/man3/mcheck.3:134 build/C/man2/mmap2.2:74 build/C/man2/posix_fadvise.2:107 build/C/man3/posix_fallocate.3:100 build/C/man3/posix_memalign.3:167 build/C/man2/readahead.2:83 build/C/man2/remap_file_pages.2:156 build/C/man3/shm_open.3:249 build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:177 build/C/man2/memfd_create.2:155 build/C/man2/s390_pci_mmio_write.2:98
 #, no-wrap
 msgid "VERSIONS"
 msgstr ""
 
 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
 #. type: Plain text
-#: build/C/man2/fallocate.2:199
+#: build/C/man2/fallocate.2:375
 msgid ""
 "B<fallocate>()  is available on Linux since kernel 2.6.23.  Support is "
 "provided by glibc since version 2.10.  The B<FALLOC_FL_*> flags are defined "
@@ -800,12 +1014,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:202
+#: build/C/man2/fallocate.2:378
 msgid "B<fallocate>()  is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:207
+#: build/C/man2/fallocate.2:383
 msgid "B<fallocate>(1), B<ftruncate>(2), B<posix_fadvise>(3), B<posix_fallocate>(3)"
 msgstr ""
 
@@ -816,9 +1030,9 @@ msgid "MADVISE"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/madvise.2:35
+#: build/C/man2/madvise.2:35 build/C/man2/posix_fadvise.2:28
 #, no-wrap
-msgid "2012-04-28"
+msgid "2014-12-31"
 msgstr ""
 
 #. type: Plain text
@@ -934,7 +1148,7 @@ msgstr ""
 #. type: TP
 #: build/C/man2/madvise.2:100
 #, no-wrap
-msgid "B<MADV_REMOVE> (Since Linux 2.6.16)"
+msgid "B<MADV_REMOVE> (since Linux 2.6.16)"
 msgstr ""
 
 #.  2.6.18-rc5
@@ -946,14 +1160,14 @@ msgstr ""
 #: build/C/man2/madvise.2:113
 msgid ""
 "Free up a given range of pages and its associated backing store.  Currently, "
-"only shmfs/tmpfs supports this; other file systems return with the error "
+"only shmfs/tmpfs supports this; other filesystems return with the error "
 "B<ENOSYS>."
 msgstr ""
 
 #. type: TP
 #: build/C/man2/madvise.2:113
 #, no-wrap
-msgid "B<MADV_DONTFORK> (Since Linux 2.6.16)"
+msgid "B<MADV_DONTFORK> (since Linux 2.6.16)"
 msgstr ""
 
 #.  See http://lwn.net/Articles/171941/
@@ -991,7 +1205,7 @@ msgstr ""
 #. type: TP
 #: build/C/man2/madvise.2:144
 #, no-wrap
-msgid "B<MADV_DOFORK> (Since Linux 2.6.16)"
+msgid "B<MADV_DOFORK> (since Linux 2.6.16)"
 msgstr ""
 
 #. type: Plain text
@@ -1004,7 +1218,7 @@ msgstr ""
 #. type: TP
 #: build/C/man2/madvise.2:150
 #, no-wrap
-msgid "B<MADV_HWPOISON> (Since Linux 2.6.32)"
+msgid "B<MADV_HWPOISON> (since Linux 2.6.32)"
 msgstr ""
 
 #. type: Plain text
@@ -1021,7 +1235,7 @@ msgstr ""
 #. type: TP
 #: build/C/man2/madvise.2:162
 #, no-wrap
-msgid "B<MADV_SOFT_OFFLINE> (Since Linux 2.6.33)"
+msgid "B<MADV_SOFT_OFFLINE> (since Linux 2.6.33)"
 msgstr ""
 
 #. type: Plain text
@@ -1150,7 +1364,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:154 build/C/man2/mmap.2:413 build/C/man2/mremap.2:136
+#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:154 build/C/man2/mmap.2:411 build/C/man2/mremap.2:136
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr ""
@@ -1170,12 +1384,6 @@ msgstr ""
 msgid "This error can occur for the following reasons:"
 msgstr ""
 
-#. type: IP
-#: build/C/man2/madvise.2:286 build/C/man2/madvise.2:292 build/C/man2/madvise.2:295 build/C/man2/madvise.2:298 build/C/man2/madvise.2:301 build/C/man3/mallopt.3:235 build/C/man3/mallopt.3:241
-#, no-wrap
-msgid "*"
-msgstr ""
-
 #.  .I len
 #.  is zero,
 #. type: Plain text
@@ -1215,7 +1423,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/madvise.2:316 build/C/man2/madvise.2:321 build/C/man2/mlock.2:123 build/C/man2/mlock.2:131 build/C/man2/mlock.2:169 build/C/man2/mmap.2:456 build/C/man2/mprotect.2:100 build/C/man2/mprotect.2:103 build/C/man2/mremap.2:179 build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:162 build/C/man2/shmctl.2:333 build/C/man2/shmget.2:214 build/C/man2/shmop.2:214 build/C/man2/subpage_prot.2:87 build/C/man2/sync_file_range.2:163
+#: build/C/man2/madvise.2:316 build/C/man2/madvise.2:321 build/C/man2/mlock.2:123 build/C/man2/mlock.2:131 build/C/man2/mlock.2:169 build/C/man2/mmap.2:454 build/C/man2/mprotect.2:99 build/C/man2/mprotect.2:102 build/C/man2/mremap.2:179 build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:164 build/C/man2/shmctl.2:337 build/C/man2/shmget.2:230 build/C/man2/shmop.2:211 build/C/man2/subpage_prot.2:87 build/C/man2/sync_file_range.2:163 build/C/man2/memfd_create.2:152 build/C/man2/s390_pci_mmio_write.2:95
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr ""
@@ -1232,30 +1440,39 @@ msgid ""
 "the address space of the process."
 msgstr ""
 
+#.  commit d3ac21cacc24790eb45d735769f35753f5b56ceb
+#. type: Plain text
+#: build/C/man2/madvise.2:332
+msgid ""
+"Since Linux 3.18, support for this system call is optional, depending on the "
+"setting of the B<CONFIG_ADVISE_SYSCALLS> configuration option."
+msgstr ""
+
 #.  FIXME . Write a posix_madvise(3) page.
 #. type: Plain text
-#: build/C/man2/madvise.2:337
+#: build/C/man2/madvise.2:345
 msgid ""
 "POSIX.1b.  POSIX.1-2001 describes B<posix_madvise>(3)  with constants "
-"B<POSIX_MADV_NORMAL>, etc., with a behavior close to that described here.  "
-"There is a similar B<posix_fadvise>(2)  for file access."
+"B<POSIX_MADV_NORMAL>, B<POSIX_MADV_RANDOM>, and so on, with a behavior close "
+"to that described here.  There is a similar B<posix_fadvise>(2)  for file "
+"access."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:346
+#: build/C/man2/madvise.2:354
 msgid ""
 "B<MADV_REMOVE>, B<MADV_DONTFORK>, B<MADV_DOFORK>, B<MADV_HWPOISON>, "
 "B<MADV_MERGEABLE>, and B<MADV_UNMERGEABLE> are Linux-specific."
 msgstr ""
 
 #. type: SS
-#: build/C/man2/madvise.2:347 build/C/man2/mlock.2:267 build/C/man2/shmget.2:294
+#: build/C/man2/madvise.2:355 build/C/man2/mlock.2:274 build/C/man2/shmget.2:370
 #, no-wrap
 msgid "Linux notes"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:355
+#: build/C/man2/madvise.2:363
 msgid ""
 "The current Linux implementation (2.4.0) views this system call more as a "
 "command than as advice and hence may return an error when it cannot do what "
@@ -1268,7 +1485,7 @@ msgstr ""
 #.  .BR madvise ()
 #.  function first appeared in 4.4BSD.
 #. type: Plain text
-#: build/C/man2/madvise.2:371
+#: build/C/man2/madvise.2:379
 msgid ""
 "The Linux implementation requires that the address I<addr> be page-aligned, "
 "and allows I<length> to be zero.  If there are some parts of the specified "
@@ -1278,10 +1495,10 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:379
+#: build/C/man2/madvise.2:388
 msgid ""
 "B<getrlimit>(2), B<mincore>(2), B<mmap>(2), B<mprotect>(2), B<msync>(2), "
-"B<munmap>(2), B<core>(5)"
+"B<munmap>(2), B<prctl>(2), B<core>(5)"
 msgstr ""
 
 #. type: TH
@@ -1472,7 +1689,7 @@ msgid ""
 "function exists on many System V derivatives, and was specified in the SVID."
 msgstr ""
 
-#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=208
+#.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=208
 #.  See the 24 Aug 2011 mail by Paul Pluzhnikov:
 #.      "[patch] Fix mallinfo() to accumulate results for all arenas"
 #.  on libc-alpha@sourceware.org
@@ -1494,7 +1711,7 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man3/mallinfo.3:134 build/C/man3/malloc_hook.3:89 build/C/man3/malloc_info.3:84 build/C/man3/mallopt.3:466 build/C/man3/mcheck.3:159 build/C/man2/mmap.2:630 build/C/man2/mprotect.2:148 build/C/man3/mtrace.3:108
+#: build/C/man3/mallinfo.3:134 build/C/man3/malloc_hook.3:89 build/C/man3/malloc_info.3:84 build/C/man3/mallopt.3:454 build/C/man3/mcheck.3:159 build/C/man2/mmap.2:633 build/C/man2/mprotect.2:147 build/C/man3/mtrace.3:108 build/C/man2/memfd_create.2:293
 #, no-wrap
 msgid "EXAMPLE"
 msgstr ""
@@ -1588,7 +1805,7 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man3/mallinfo.3:203 build/C/man3/malloc_info.3:167 build/C/man3/mallopt.3:532 build/C/man3/mcheck.3:176 build/C/man2/mprotect.2:165
+#: build/C/man3/mallinfo.3:203 build/C/man3/malloc_info.3:167 build/C/man3/mallopt.3:520 build/C/man3/mcheck.3:176 build/C/man2/mmap.2:645 build/C/man2/mprotect.2:164
 #, no-wrap
 msgid "Program source"
 msgstr ""
@@ -1725,7 +1942,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallinfo.3:269 build/C/man3/malloc_info.3:255 build/C/man3/mallopt.3:565 build/C/man3/mcheck.3:203 build/C/man2/mmap.2:711
+#: build/C/man3/mallinfo.3:269 build/C/man3/malloc_info.3:255 build/C/man3/mallopt.3:553 build/C/man3/mcheck.3:203 build/C/man2/mmap.2:714 build/C/man2/memfd_create.2:437 build/C/man2/memfd_create.2:486
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -1746,9 +1963,9 @@ msgid "MALLOC_GET_STATE"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/malloc_get_state.3:25
+#: build/C/man3/malloc_get_state.3:25 build/C/man3/malloc_usable_size.3:25
 #, no-wrap
-msgid "2012-05-04"
+msgid "2014-06-13"
 msgstr ""
 
 #. type: Plain text
@@ -1759,9 +1976,9 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_get_state.3:31 build/C/man3/posix_memalign.3:35
+#: build/C/man3/malloc_get_state.3:31 build/C/man3/malloc_hook.3:18 build/C/man3/malloc_info.3:31 build/C/man3/posix_memalign.3:41
 #, no-wrap
-msgid "B<#include E<lt>stdlib.hE<gt>>\n"
+msgid "B<#include E<lt>malloc.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
@@ -1826,10 +2043,10 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/malloc_get_state.3:94
 msgid ""
-"These functions are especially useful when using this B<malloc>(3)  "
-"implementation as part of a shared library, and the heap contents are "
-"saved/restored via some other method.  This technique is used by the GNU "
-"Emacs to implement its \"dumping\" function."
+"These functions are useful when using this B<malloc>(3)  implementation as "
+"part of a shared library, and the heap contents are saved/restored via some "
+"other method.  This technique is used by GNU Emacs to implement its "
+"\"dumping\" function."
 msgstr ""
 
 #.  i.e., calls __malloc_check_init()
@@ -1871,12 +2088,6 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:18 build/C/man3/malloc_info.3:31 build/C/man3/posix_memalign.3:41
-#, no-wrap
-msgid "B<#include E<lt>malloc.hE<gt>>\n"
-msgstr ""
-
-#. type: Plain text
 #: build/C/man3/malloc_hook.3:20
 #, no-wrap
 msgid "B<void *(*__malloc_hook)(size_t >I<size>B<, const void *>I<caller>B<);>\n"
@@ -2093,12 +2304,6 @@ msgstr ""
 msgid "MALLOC_INFO"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/malloc_info.3:25 build/C/man2/shmget.2:38
-#, no-wrap
-msgid "2013-04-19"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/malloc_info.3:28
 msgid "malloc_info - export malloc state to a stream"
@@ -2107,7 +2312,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man3/malloc_info.3:33
 #, no-wrap
-msgid "B<int malloc_info(int >I<options>B<, FILE *>I<fp>B<);>\n"
+msgid "B<int malloc_info(int >I<options>B<, FILE *>I<stream>B<);>\n"
 msgstr ""
 
 #. type: Plain text
@@ -2115,8 +2320,8 @@ msgstr ""
 msgid ""
 "The B<malloc_info>()  function exports an XML string that describes the "
 "current state of the memory-allocation implementation in the caller.  The "
-"string is printed on the file stream I<fp>.  The exported string includes "
-"information about all arenas (see B<malloc>(3))."
+"string is printed on the file stream I<stream>.  The exported string "
+"includes information about all arenas (see B<malloc>(3))."
 msgstr ""
 
 #. type: Plain text
@@ -2142,7 +2347,7 @@ msgid "B<malloc_info>()  was added to glibc in version 2.10."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_info.3:65 build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62 build/C/man3/malloc_usable_size.3:50
+#: build/C/man3/malloc_info.3:65 build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62 build/C/man3/malloc_usable_size.3:55
 msgid "This function is a GNU extension."
 msgstr ""
 
@@ -2283,7 +2488,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_info.3:181
+#: build/C/man3/malloc_info.3:181 build/C/man2/memfd_create.2:368 build/C/man2/memfd_create.2:450
 #, no-wrap
 msgid ""
 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
@@ -2502,9 +2707,9 @@ msgid "MALLOC_TRIM"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/malloc_trim.3:26 build/C/man3/malloc_usable_size.3:25
+#: build/C/man3/malloc_trim.3:26 build/C/man2/remap_file_pages.2:28
 #, no-wrap
-msgid "2012-03-29"
+msgid "2014-05-28"
 msgstr ""
 
 #. type: Plain text
@@ -2514,7 +2719,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/malloc_trim.3:33
-msgid "B<void malloc_trim(size_t >I<pad>B<);>"
+msgid "B<int malloc_trim(size_t >I<pad>B<);>"
 msgstr ""
 
 #. type: Plain text
@@ -2608,7 +2813,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_usable_size.3:60
+#: build/C/man3/malloc_usable_size.3:53
+msgid "The B<malloc_usable_size>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:65
 msgid ""
 "The value returned by B<malloc_usable_size>()  may be greater than the "
 "requested size of the allocation because of alignment and minimum size "
@@ -2619,12 +2829,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_usable_size.3:62
+#: build/C/man3/malloc_usable_size.3:67
 msgid "The main use of this function is for debugging and introspection."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_usable_size.3:64
+#: build/C/man3/malloc_usable_size.3:69
 msgid "B<malloc>(3)"
 msgstr ""
 
@@ -2635,9 +2845,9 @@ msgid "MALLOPT"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/mallopt.3:26
+#: build/C/man3/mallopt.3:26 build/C/man2/shmop.2:41
 #, no-wrap
-msgid "2012-04-30"
+msgid "2014-07-08"
 msgstr ""
 
 #. type: Plain text
@@ -2892,11 +3102,11 @@ msgid ""
 "I<Note:> Nowadays, glibc uses a dynamic mmap threshold by default.  The "
 "initial value of the threshold is 128*1024, but when blocks larger than the "
 "current threshold and less than or equal to B<DEFAULT_MMAP_THRESHOLD_MAX> "
-"are freed, the threshold is adjusted upwards to the size of the freed "
-"block.  When dynamic mmap thresholding is in effect, the threshold for "
-"trimming the heap is also dynamically adjusted to be twice the dynamic mmap "
-"threshold.  Dynamic adjustment of the mmap threshold is disabled if any of "
-"the B<M_TRIM_THRESHOLD>, B<M_TOP_PAD>, B<M_MMAP_THRESHOLD>, or B<M_MMAP_MAX> "
+"are freed, the threshold is adjusted upward to the size of the freed block.  "
+"When dynamic mmap thresholding is in effect, the threshold for trimming the "
+"heap is also dynamically adjusted to be twice the dynamic mmap threshold.  "
+"Dynamic adjustment of the mmap threshold is disabled if any of the "
+"B<M_TRIM_THRESHOLD>, B<M_TOP_PAD>, B<M_MMAP_THRESHOLD>, or B<M_MMAP_MAX> "
 "parameters is set."
 msgstr ""
 
@@ -3052,7 +3262,7 @@ msgid ""
 "advantage that the source code of the program need not be changed.  To be "
 "effective, these variables must be defined before the first call to a "
 "memory-allocation function.  (If the same parameters are adjusted via "
-"B<mallopt>()  then the B<mallopt>()  settings take precedence.)  For "
+"B<mallopt>(), then the B<mallopt>()  settings take precedence.)  For "
 "security reasons, these variables are ignored in set-user-ID and "
 "set-group-ID programs."
 msgstr ""
@@ -3185,7 +3395,7 @@ msgstr ""
 msgid "Specifying an invalid value for I<param> does not generate an error."
 msgstr ""
 
-#.  FIXME This looks buggy:
+#.  FIXME This looks buggy:
 #.  setting the M_MXFAST limit rounds up:    (s + SIZE_SZ) & ~MALLOC_ALIGN_MASK)
 #.  malloc requests are rounded up:
 #.     (req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK
@@ -3213,20 +3423,9 @@ msgid ""
 "integer."
 msgstr ""
 
-#.  FIXME MALLOC_MMAP_THRESHOLD_ and MALLOC_MMAP_MAX_
-#.  do have an effect for set-user-ID programs (but not
-#.  set-group-ID programs).
-#.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12155
+#.  FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12140
 #. type: Plain text
-#: build/C/man3/mallopt.3:445
-msgid ""
-"The B<MALLOC_MMAP_THRESHOLD_> and B<MALLOC_MMAP_MAX_> variables are I<not> "
-"ignored in set-group-ID programs."
-msgstr ""
-
-#.  FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12140
-#. type: Plain text
-#: build/C/man3/mallopt.3:466
+#: build/C/man3/mallopt.3:454
 msgid ""
 "If B<mallopt>()  is used to set B<M_PERTURB>, then, as expected, the bytes "
 "of allocated memory are initialized to the complement of the byte in "
@@ -3238,7 +3437,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:475
+#: build/C/man3/mallopt.3:463
 msgid ""
 "The program below demonstrates the use of B<M_CHECK_ACTION>.  If the program "
 "is supplied with an (integer) command-line argument, then that argument is "
@@ -3247,14 +3446,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:479
+#: build/C/man3/mallopt.3:467
 msgid ""
 "The following shell session shows what happens when we run this program "
 "under glibc, with the default value for B<M_CHECK_ACTION>:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:499
+#: build/C/man3/mallopt.3:487
 #, no-wrap
 msgid ""
 "$ B<./a.out>\n"
@@ -3278,14 +3477,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:504
+#: build/C/man3/mallopt.3:492
 msgid ""
 "The following runs show the results when employing other values for "
 "B<M_CHECK_ACTION>:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:517
+#: build/C/man3/mallopt.3:505
 #, no-wrap
 msgid ""
 "$ B<./a.out 1>             # Diagnose error and continue\n"
@@ -3302,14 +3501,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:523
+#: build/C/man3/mallopt.3:511
 msgid ""
 "The next run shows how to set the same parameter using the B<MALLOC_CHECK_> "
 "environment variable:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:530
+#: build/C/man3/mallopt.3:518
 #, no-wrap
 msgid ""
 "$ B<MALLOC_CHECK_=1 ./a.out>\n"
@@ -3319,7 +3518,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:538
+#: build/C/man3/mallopt.3:526
 #, no-wrap
 msgid ""
 "#include E<lt>malloc.hE<gt>\n"
@@ -3328,7 +3527,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:543 build/C/man3/mcheck.3:187
+#: build/C/man3/mallopt.3:531 build/C/man3/mcheck.3:187
 #, no-wrap
 msgid ""
 "int\n"
@@ -3338,7 +3537,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:550
+#: build/C/man3/mallopt.3:538
 #, no-wrap
 msgid ""
 "    if (argc E<gt> 1) {\n"
@@ -3350,7 +3549,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:556
+#: build/C/man3/mallopt.3:544
 #, no-wrap
 msgid ""
 "    p = malloc(1000);\n"
@@ -3361,7 +3560,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:559
+#: build/C/man3/mallopt.3:547
 #, no-wrap
 msgid ""
 "    free(p);\n"
@@ -3369,7 +3568,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:562
+#: build/C/man3/mallopt.3:550
 #, no-wrap
 msgid ""
 "    free(p);\n"
@@ -3377,7 +3576,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:580
+#: build/C/man3/mallopt.3:568
 msgid ""
 "B<mmap>(2), B<sbrk>(2), B<mallinfo>(3), B<malloc>(3), B<malloc_hook>(3), "
 "B<malloc_info>(3), B<malloc_stats>(3), B<malloc_trim>(3), B<mcheck>(3), "
@@ -3391,9 +3590,9 @@ msgid "MCHECK"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/mcheck.3:25 build/C/man3/mtrace.3:25
+#: build/C/man3/mcheck.3:25
 #, no-wrap
-msgid "2012-04-18"
+msgid "2014-01-11"
 msgstr ""
 
 #. type: Plain text
@@ -3451,9 +3650,9 @@ msgstr ""
 msgid ""
 "To be effective, the B<mcheck>()  function must be called before the first "
 "call to B<malloc>(3)  or a related function.  In cases where this is "
-"difficult to ensure, linking the program with I<-mcheck> inserts an implicit "
-"call to B<mcheck>()  (with a NULL argument)  before the first call to a "
-"memory-allocation function."
+"difficult to ensure, linking the program with I<-lmcheck> inserts an "
+"implicit call to B<mcheck>()  (with a NULL argument)  before the first call "
+"to a memory-allocation function."
 msgstr ""
 
 #. type: Plain text
@@ -3657,7 +3856,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/mlock.2:26
 #, no-wrap
-msgid "2011-09-14"
+msgid "2014-04-14"
 msgstr ""
 
 #. type: Plain text
@@ -3666,7 +3865,7 @@ msgid "mlock, munlock, mlockall, munlockall - lock and unlock memory"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:32 build/C/man2/mmap.2:46 build/C/man2/mmap2.2:35 build/C/man2/mprotect.2:44 build/C/man2/mremap.2:38
+#: build/C/man2/mlock.2:32 build/C/man2/mmap.2:46 build/C/man2/mmap2.2:35 build/C/man2/mprotect.2:45 build/C/man2/mremap.2:38
 #, no-wrap
 msgid "B<#include E<lt>sys/mman.hE<gt>>\n"
 msgstr ""
@@ -3772,7 +3971,7 @@ msgstr ""
 msgid ""
 "Lock all pages which will become mapped into the address space of the "
 "process in the future.  These could be for instance new pages required by a "
-"growing heap and stack as well as new memory mapped files or shared memory "
+"growing heap and stack as well as new memory-mapped files or shared memory "
 "regions."
 msgstr ""
 
@@ -3887,7 +4086,7 @@ msgid "POSIX.1-2001, SVr4."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:501 build/C/man2/msync.2:105
+#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:503 build/C/man2/msync.2:105
 #, no-wrap
 msgid "AVAILABILITY"
 msgstr ""
@@ -3944,22 +4143,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:250
+#: build/C/man2/mlock.2:257
 msgid ""
 "Memory locks are not inherited by a child created via B<fork>(2)  and are "
 "automatically removed (unlocked) during an B<execve>(2)  or when the process "
-"terminates."
+"terminates.  The B<mlockall>()  B<MCL_FUTURE> setting is not inherited by a "
+"child created via B<fork>(2)  and is cleared during an B<execve>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:254
+#: build/C/man2/mlock.2:261
 msgid ""
 "The memory lock on an address range is automatically removed if the address "
 "range is unmapped via B<munmap>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:267
+#: build/C/man2/mlock.2:274
 msgid ""
 "Memory locks do not stack, that is, pages which have been locked several "
 "times by calls to B<mlock>()  or B<mlockall>()  will be unlocked by a single "
@@ -3970,7 +4170,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:278
+#: build/C/man2/mlock.2:285
 msgid ""
 "Under Linux, B<mlock>()  and B<munlock>()  automatically round I<addr> down "
 "to the nearest page boundary.  However, POSIX.1-2001 allows an "
@@ -3979,7 +4179,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:291
+#: build/C/man2/mlock.2:298
 msgid ""
 "The I<VmLck> field of the Linux-specific I</proc/PID/status> file shows how "
 "many kilobytes of memory the process with ID I<PID> has locked using "
@@ -3987,13 +4187,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mlock.2:291
+#: build/C/man2/mlock.2:298
 #, no-wrap
 msgid "Limits and permissions"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:298
+#: build/C/man2/mlock.2:305
 msgid ""
 "In Linux 2.6.8 and earlier, a process must be privileged (B<CAP_IPC_LOCK>)  "
 "in order to lock memory and the B<RLIMIT_MEMLOCK> soft resource limit "
@@ -4001,7 +4201,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:304
+#: build/C/man2/mlock.2:311
 msgid ""
 "Since Linux 2.6.9, no limits are placed on the amount of memory that a "
 "privileged process can lock and the B<RLIMIT_MEMLOCK> soft resource limit "
@@ -4009,7 +4209,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:312
+#: build/C/man2/mlock.2:319
 msgid ""
 "In the 2.4 series Linux kernels up to and including 2.4.17, a bug caused the "
 "B<mlockall>()  B<MCL_FUTURE> flag to be inherited across a B<fork>(2).  This "
@@ -4021,7 +4221,7 @@ msgstr ""
 #.  "Rationale for RLIMIT_MEMLOCK"
 #.  23 Jan 2006
 #. type: Plain text
-#: build/C/man2/mlock.2:329
+#: build/C/man2/mlock.2:336
 msgid ""
 "Since kernel 2.6.9, if a privileged process calls I<mlockall(MCL_FUTURE)> "
 "and later drops privileges (loses the B<CAP_IPC_LOCK> capability by, for "
@@ -4031,7 +4231,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:336
+#: build/C/man2/mlock.2:343
 msgid ""
 "B<mmap>(2), B<setrlimit>(2), B<shmctl>(2), B<sysconf>(3), B<proc>(5), "
 "B<capabilities>(7)"
@@ -4043,12 +4243,6 @@ msgstr ""
 msgid "MMAP"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/mmap.2:40
-#, no-wrap
-msgid "2013-04-17"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/mmap.2:43
 msgid "mmap, munmap - map or unmap files or devices into memory"
@@ -4109,7 +4303,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:97 build/C/man2/mprotect.2:73
+#: build/C/man2/mmap.2:97 build/C/man2/mprotect.2:74
 #, no-wrap
 msgid "B<PROT_EXEC>"
 msgstr ""
@@ -4120,7 +4314,7 @@ msgid "Pages may be executed."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:100 build/C/man2/mprotect.2:67
+#: build/C/man2/mmap.2:100 build/C/man2/mprotect.2:68
 #, no-wrap
 msgid "B<PROT_READ>"
 msgstr ""
@@ -4131,7 +4325,7 @@ msgid "Pages may be read."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:103 build/C/man2/mprotect.2:70
+#: build/C/man2/mmap.2:103 build/C/man2/mprotect.2:71
 #, no-wrap
 msgid "B<PROT_WRITE>"
 msgstr ""
@@ -4142,7 +4336,7 @@ msgid "Pages may be written."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:106 build/C/man2/mprotect.2:64
+#: build/C/man2/mmap.2:106 build/C/man2/mprotect.2:65
 #, no-wrap
 msgid "B<PROT_NONE>"
 msgstr ""
@@ -4526,72 +4720,72 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:393 build/C/man2/mprotect.2:86 build/C/man3/shm_open.3:187 build/C/man3/shm_open.3:192 build/C/man2/shmctl.2:302 build/C/man2/shmget.2:189 build/C/man2/shmop.2:191
+#: build/C/man2/mmap.2:393 build/C/man2/mprotect.2:85 build/C/man3/shm_open.3:187 build/C/man3/shm_open.3:192 build/C/man2/shmctl.2:306 build/C/man2/shmget.2:192 build/C/man2/shmop.2:188
 #, no-wrap
 msgid "B<EACCES>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:413
+#: build/C/man2/mmap.2:411
 msgid ""
-"A file descriptor refers to a non-regular file.  Or B<MAP_PRIVATE> was "
+"A file descriptor refers to a non-regular file.  Or a file mapping was "
 "requested, but I<fd> is not open for reading.  Or B<MAP_SHARED> was "
 "requested and B<PROT_WRITE> is set, but I<fd> is not open in read/write "
 "(B<O_RDWR>)  mode.  Or B<PROT_WRITE> is set, but the file is append-only."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:417
+#: build/C/man2/mmap.2:415
 msgid ""
 "The file has been locked, or too much memory has been locked (see "
 "B<setrlimit>(2))."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:423
+#: build/C/man2/mmap.2:421
 msgid "I<fd> is not a valid file descriptor (and B<MAP_ANONYMOUS> was not set)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:431
+#: build/C/man2/mmap.2:429
 msgid ""
 "We don't like I<addr>, I<length>, or I<offset> (e.g., they are too large, or "
 "not aligned on a page boundary)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:436
+#: build/C/man2/mmap.2:434
 msgid "(since Linux 2.6.12)  I<length> was 0."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:444
+#: build/C/man2/mmap.2:442
 msgid ""
 "I<flags> contained neither B<MAP_PRIVATE> or B<MAP_SHARED>, or contained "
 "both of these values."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:444 build/C/man3/shm_open.3:229 build/C/man2/shmget.2:205
+#: build/C/man2/mmap.2:442 build/C/man3/shm_open.3:229 build/C/man2/shmget.2:221 build/C/man2/memfd_create.2:149
 #, no-wrap
 msgid "B<ENFILE>"
 msgstr ""
 
 #.  [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp()
 #. type: Plain text
-#: build/C/man2/mmap.2:452 build/C/man2/shmget.2:209
+#: build/C/man2/mmap.2:450 build/C/man2/shmget.2:225
 msgid "The system limit on the total number of open files has been reached."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:456
+#: build/C/man2/mmap.2:454
 msgid ""
-"The underlying file system of the specified file does not support memory "
+"The underlying filesystem of the specified file does not support memory "
 "mapping."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:460
+#: build/C/man2/mmap.2:458
 msgid ""
 "No memory is available, or the process's maximum number of mappings would "
 "have been exceeded."
@@ -4599,33 +4793,27 @@ msgstr ""
 
 #.  (Since 2.4.25 / 2.6.0.)
 #. type: Plain text
-#: build/C/man2/mmap.2:469
+#: build/C/man2/mmap.2:467
 msgid ""
 "The I<prot> argument asks for B<PROT_EXEC> but the mapped area belongs to a "
-"file on a file system that was mounted no-exec."
-msgstr ""
-
-#. type: TP
-#: build/C/man2/mmap.2:469
-#, no-wrap
-msgid "B<ETXTBSY>"
+"file on a filesystem that was mounted no-exec."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:475
+#: build/C/man2/mmap.2:477
 msgid ""
 "B<MAP_DENYWRITE> was set but the object specified by I<fd> is open for "
 "writing."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:475 build/C/man2/shmctl.2:344
+#: build/C/man2/mmap.2:477 build/C/man2/shmctl.2:348
 #, no-wrap
 msgid "B<EOVERFLOW>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:487
+#: build/C/man2/mmap.2:489
 msgid ""
 "On 32-bit architecture together with the large file extension (i.e., using "
 "64-bit I<off_t>): the number of pages used for I<length> plus number of "
@@ -4633,29 +4821,29 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:489
+#: build/C/man2/mmap.2:491
 msgid "Use of a mapped region can result in these signals:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:489
+#: build/C/man2/mmap.2:491
 #, no-wrap
 msgid "B<SIGSEGV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:492
+#: build/C/man2/mmap.2:494
 msgid "Attempted write into a region mapped as read-only."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:492
+#: build/C/man2/mmap.2:494
 #, no-wrap
 msgid "B<SIGBUS>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:497
+#: build/C/man2/mmap.2:499
 msgid ""
 "Attempted access to a portion of the buffer that does not correspond to the "
 "file (for example, beyond the end of the file, including the case where "
@@ -4665,7 +4853,7 @@ msgstr ""
 #.  SVr4 documents additional error codes ENXIO and ENODEV.
 #.  SUSv2 documents additional error codes EMFILE and EOVERFLOW.
 #. type: Plain text
-#: build/C/man2/mmap.2:501
+#: build/C/man2/mmap.2:503
 msgid "SVr4, 4.4BSD, POSIX.1-2001."
 msgstr ""
 
@@ -4673,27 +4861,16 @@ msgstr ""
 #.  -1: unavailable, 0: ask using sysconf().
 #.  glibc defines it to 1.
 #. type: Plain text
-#: build/C/man2/mmap.2:515
+#: build/C/man2/mmap.2:517
 msgid ""
-"On POSIX systems on which B<mmap>(), B<msync>(2)  and B<munmap>()  are "
+"On POSIX systems on which B<mmap>(), B<msync>(2), and B<munmap>()  are "
 "available, B<_POSIX_MAPPED_FILES> is defined in I<E<lt>unistd.hE<gt>> to a "
 "value greater than 0.  (See also B<sysconf>(3).)"
 msgstr ""
 
-#.  Since around glibc 2.1/2.2, depending on the platform.
 #. type: Plain text
 #: build/C/man2/mmap.2:530
 msgid ""
-"This page describes the interface provided by the glibc B<mmap>()  wrapper "
-"function.  Originally, this function invoked a system call of the same "
-"name.  Since kernel 2.4, that system call has been superseded by "
-"B<mmap2>(2), and nowadays the glibc B<mmap>()  wrapper function invokes "
-"B<mmap2>(2)  with a suitably adjusted value for I<offset>."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/mmap.2:543
-msgid ""
 "On some hardware architectures (e.g., i386), B<PROT_WRITE> implies "
 "B<PROT_READ>.  It is architecture dependent whether B<PROT_READ> implies "
 "B<PROT_EXEC> or not.  Portable programs should always set B<PROT_EXEC> if "
@@ -4701,7 +4878,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:558
+#: build/C/man2/mmap.2:545
 msgid ""
 "The portable way to create a mapping is to specify I<addr> as 0 (NULL), and "
 "omit B<MAP_FIXED> from I<flags>.  In this case, the system chooses the "
@@ -4712,20 +4889,37 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:587
+#: build/C/man2/mmap.2:575
 msgid ""
 "Certain I<flags> constants are defined only if either B<_BSD_SOURCE> or "
 "B<_SVID_SOURCE> is defined.  (Requiring B<_GNU_SOURCE> also suffices, and "
 "requiring that macro specifically would have been more logical, since these "
-"flags are all Linux specific.)  The relevant flags are: B<MAP_32BIT>, "
+"flags are all Linux-specific.)  The relevant flags are: B<MAP_32BIT>, "
 "B<MAP_ANONYMOUS> (and the synonym B<MAP_ANON>), B<MAP_DENYWRITE>, "
 "B<MAP_EXECUTABLE>, B<MAP_FILE>, B<MAP_GROWSDOWN>, B<MAP_HUGETLB>, "
 "B<MAP_LOCKED>, B<MAP_NONBLOCK>, B<MAP_NORESERVE>, B<MAP_POPULATE>, and "
 "B<MAP_STACK>."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/mmap.2:575
+#, no-wrap
+msgid "C library/kernel ABI differences"
+msgstr ""
+
+#.  Since around glibc 2.1/2.2, depending on the platform.
+#. type: Plain text
+#: build/C/man2/mmap.2:590
+msgid ""
+"This page describes the interface provided by the glibc B<mmap>()  wrapper "
+"function.  Originally, this function invoked a system call of the same "
+"name.  Since kernel 2.4, that system call has been superseded by "
+"B<mmap2>(2), and nowadays the glibc B<mmap>()  wrapper function invokes "
+"B<mmap2>(2)  with a suitably adjusted value for I<offset>."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/mmap.2:592
+#: build/C/man2/mmap.2:595
 msgid ""
 "On Linux there are no guarantees like those suggested above under "
 "B<MAP_NORESERVE>.  By default, any process can be killed at any moment when "
@@ -4733,14 +4927,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:599
+#: build/C/man2/mmap.2:602
 msgid ""
 "In kernels before 2.6.7, the B<MAP_POPULATE> flag has effect only if I<prot> "
 "is specified as B<PROT_NONE>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:614
+#: build/C/man2/mmap.2:617
 msgid ""
 "SUSv3 specifies that B<mmap>()  should fail if I<length> is 0.  However, in "
 "kernels before 2.6.12, B<mmap>()  succeeded in this case: no mapping was "
@@ -4749,7 +4943,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:630
+#: build/C/man2/mmap.2:633
 msgid ""
 "POSIX specifies that the system shall always zero fill any partial page at "
 "the end of the object and that system will never write any modification of "
@@ -4763,7 +4957,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:642
+#: build/C/man2/mmap.2:645
 msgid ""
 "The following program prints part of the file specified in its first "
 "command-line argument to standard output.  The range of bytes to be printed "
@@ -4774,7 +4968,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:650
+#: build/C/man2/mmap.2:653
 #, no-wrap
 msgid ""
 "#include E<lt>sys/mman.hE<gt>\n"
@@ -4786,7 +4980,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:653 build/C/man2/mprotect.2:178
+#: build/C/man2/mmap.2:656 build/C/man2/mprotect.2:177
 #, no-wrap
 msgid ""
 "#define handle_error(msg) \\e\n"
@@ -4794,7 +4988,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:663
+#: build/C/man2/mmap.2:666
 #, no-wrap
 msgid ""
 "int\n"
@@ -4809,7 +5003,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:668
+#: build/C/man2/mmap.2:671
 #, no-wrap
 msgid ""
 "    if (argc E<lt> 3 || argc E<gt> 4) {\n"
@@ -4819,7 +5013,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:672
+#: build/C/man2/mmap.2:675
 #, no-wrap
 msgid ""
 "    fd = open(argv[1], O_RDONLY);\n"
@@ -4828,7 +5022,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:675
+#: build/C/man2/mmap.2:678
 #, no-wrap
 msgid ""
 "    if (fstat(fd, &sb) == -1)           /* To obtain file size */\n"
@@ -4836,7 +5030,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:679
+#: build/C/man2/mmap.2:682
 #, no-wrap
 msgid ""
 "    offset = atoi(argv[2]);\n"
@@ -4845,7 +5039,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:684
+#: build/C/man2/mmap.2:687
 #, no-wrap
 msgid ""
 "    if (offset E<gt>= sb.st_size) {\n"
@@ -4855,7 +5049,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:690
+#: build/C/man2/mmap.2:693
 #, no-wrap
 msgid ""
 "    if (argc == 4) {\n"
@@ -4866,7 +5060,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:694
+#: build/C/man2/mmap.2:697
 #, no-wrap
 msgid ""
 "    } else {    /* No length arg ==E<gt> display to end of file */\n"
@@ -4875,7 +5069,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:699
+#: build/C/man2/mmap.2:702
 #, no-wrap
 msgid ""
 "    addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n"
@@ -4885,7 +5079,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:704
+#: build/C/man2/mmap.2:707
 #, no-wrap
 msgid ""
 "    s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n"
@@ -4895,7 +5089,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:708
+#: build/C/man2/mmap.2:711
 #, no-wrap
 msgid ""
 "        fprintf(stderr, \"partial write\");\n"
@@ -4904,22 +5098,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:725
+#: build/C/man2/mmap.2:729
 msgid ""
-"B<getpagesize>(2), B<mincore>(2), B<mlock>(2), B<mmap2>(2), B<mprotect>(2), "
-"B<mremap>(2), B<msync>(2), B<remap_file_pages>(2), B<setrlimit>(2), "
-"B<shmat>(2), B<shm_open>(3), B<shm_overview>(7)"
+"B<getpagesize>(2), B<memfd_create>(2), B<mincore>(2), B<mlock>(2), "
+"B<mmap2>(2), B<mprotect>(2), B<mremap>(2), B<msync>(2), "
+"B<remap_file_pages>(2), B<setrlimit>(2), B<shmat>(2), B<shm_open>(3), "
+"B<shm_overview>(7)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:732
+#: build/C/man2/mmap.2:736
 msgid ""
 "The descriptions of the following files in B<proc>(5): I</proc/[pid]/maps>, "
 "I</proc/[pid]/map_files>, and I</proc/[pid]/smaps>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:737 build/C/man2/msync.2:124
+#: build/C/man2/mmap.2:741 build/C/man2/msync.2:151
 msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391."
 msgstr ""
 
@@ -4932,7 +5127,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/mmap2.2:29
 #, no-wrap
-msgid "2012-04-16"
+msgid "2014-02-25"
 msgstr ""
 
 #. type: Plain text
@@ -4951,8 +5146,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/mmap2.2:43
 msgid ""
-"This is probably not the system call you are interested; instead, see "
-"B<mmap>(2), which describes the glibc wrapper function that invokes this "
+"This is probably not the system call that you are interested in; instead, "
+"see B<mmap>(2), which describes the glibc wrapper function that invokes this "
 "system call."
 msgstr ""
 
@@ -4969,7 +5164,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/mmap2.2:61
 msgid ""
-"On success, B<mmap2>()  returns a pointer to the mapped area.  On error -1 "
+"On success, B<mmap2>()  returns a pointer to the mapped area.  On error, -1 "
 "is returned and I<errno> is set appropriately."
 msgstr ""
 
@@ -5001,52 +5196,58 @@ msgid "This system call is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:85
+#: build/C/man2/mmap2.2:86
 msgid ""
-"Nowadays, the glibc B<mmap>()  wrapper function invokes this system call "
-"rather than the B<mmap>(2)  system call."
+"On architectures where this system call is present, the glibc B<mmap>()  "
+"wrapper function invokes this system call rather than the B<mmap>(2)  system "
+"call."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mmap2.2:88
+msgid "This system call does not exist on x86-64."
 msgstr ""
 
 #.  ia64 can have page sizes ranging from 4kB to 64kB.
 #.  On cris, it looks like the unit might also be the page size,
 #.  which is 8192 bytes. -- mtk, June 2007
 #. type: Plain text
-#: build/C/man2/mmap2.2:92
+#: build/C/man2/mmap2.2:95
 msgid ""
 "On ia64, the unit for I<offset> is actually the system page size, rather "
 "than 4096 bytes."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:98
+#: build/C/man2/mmap2.2:101
 msgid "B<getpagesize>(2), B<mmap>(2), B<mremap>(2), B<msync>(2), B<shm_open>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mprotect.2:38
+#: build/C/man2/mprotect.2:39
 #, no-wrap
 msgid "MPROTECT"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mprotect.2:38
+#: build/C/man2/mprotect.2:39
 #, no-wrap
-msgid "2012-08-14"
+msgid "2014-01-05"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:41
+#: build/C/man2/mprotect.2:42
 msgid "mprotect - set protection on a region of memory"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:46
+#: build/C/man2/mprotect.2:47
 #, no-wrap
 msgid "B<int mprotect(void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:54
+#: build/C/man2/mprotect.2:55
 msgid ""
 "B<mprotect>()  changes protection for the calling process's memory page(s)  "
 "containing any part of the address range in the interval [I<addr>,\\ "
@@ -5054,50 +5255,48 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:59
+#: build/C/man2/mprotect.2:60
 msgid ""
 "If the calling process tries to access memory in a manner that violates the "
 "protection, then the kernel generates a B<SIGSEGV> signal for the process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:64
+#: build/C/man2/mprotect.2:65
 msgid ""
 "I<prot> is either B<PROT_NONE> or a bitwise-or of the other values in the "
 "following list:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:67
+#: build/C/man2/mprotect.2:68
 msgid "The memory cannot be accessed at all."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:70
+#: build/C/man2/mprotect.2:71
 msgid "The memory can be read."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:73
+#: build/C/man2/mprotect.2:74
 msgid "The memory can be modified."
 msgstr ""
 
-#.  FIXME
-#.  Document PROT_GROWSUP and PROT_GROWSDOWN
 #. type: Plain text
-#: build/C/man2/mprotect.2:78
+#: build/C/man2/mprotect.2:77
 msgid "The memory can be executed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:85
+#: build/C/man2/mprotect.2:84
 msgid ""
 "On success, B<mprotect>()  returns zero.  On error, -1 is returned, and "
 "I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:95
+#: build/C/man2/mprotect.2:94
 msgid ""
 "The memory cannot be given the specified access.  This can happen, for "
 "example, if you B<mmap>(2)  a file to which you have read-only access, then "
@@ -5106,17 +5305,17 @@ msgstr ""
 
 #.  Or: both PROT_GROWSUP and PROT_GROWSDOWN were specified in 'prot'.
 #. type: Plain text
-#: build/C/man2/mprotect.2:100
+#: build/C/man2/mprotect.2:99
 msgid "I<addr> is not a valid pointer, or not a multiple of the system page size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:103
+#: build/C/man2/mprotect.2:102
 msgid "Internal kernel structures could not be allocated."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:113
+#: build/C/man2/mprotect.2:112
 msgid ""
 "Addresses in the range [I<addr>, I<addr>+I<len>-1] are invalid for the "
 "address space of the process, or specify one or more pages that are not "
@@ -5127,7 +5326,7 @@ msgstr ""
 #.  SVr4 defines an additional error
 #.  code EAGAIN. The SVr4 error conditions don't map neatly onto Linux's.
 #. type: Plain text
-#: build/C/man2/mprotect.2:122
+#: build/C/man2/mprotect.2:121
 msgid ""
 "SVr4, POSIX.1-2001.  POSIX says that the behavior of B<mprotect>()  is "
 "unspecified if it is applied to a region of memory that was not obtained via "
@@ -5135,7 +5334,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:129
+#: build/C/man2/mprotect.2:128
 msgid ""
 "On Linux it is always permissible to call B<mprotect>()  on any address in a "
 "process's address space (except for the kernel vsyscall area).  In "
@@ -5143,7 +5342,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:139
+#: build/C/man2/mprotect.2:138
 msgid ""
 "Whether B<PROT_EXEC> has any effect different from B<PROT_READ> is "
 "architecture- and kernel version-dependent.  On some hardware architectures "
@@ -5151,7 +5350,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:148
+#: build/C/man2/mprotect.2:147
 msgid ""
 "POSIX.1-2001 says that an implementation may permit access other than that "
 "specified in I<prot>, but at a minimum can allow write access only if "
@@ -5160,7 +5359,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:154
+#: build/C/man2/mprotect.2:153
 msgid ""
 "The program below allocates four pages of memory, makes the third of these "
 "pages read-only, and then executes a loop that walks upward through the "
@@ -5168,12 +5367,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:157
+#: build/C/man2/mprotect.2:156
 msgid "An example of what we might see when running the program is the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:163
+#: build/C/man2/mprotect.2:162
 #, no-wrap
 msgid ""
 "$B< ./a.out>\n"
@@ -5182,7 +5381,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:175
+#: build/C/man2/mprotect.2:174
 #, no-wrap
 msgid ""
 "#include E<lt>unistd.hE<gt>\n"
@@ -5195,13 +5394,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:180
+#: build/C/man2/mprotect.2:179
 #, no-wrap
-msgid "char *buffer;\n"
+msgid "static char *buffer;\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:188
+#: build/C/man2/mprotect.2:187
 #, no-wrap
 msgid ""
 "static void\n"
@@ -5214,7 +5413,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:195
+#: build/C/man2/mprotect.2:194
 #, no-wrap
 msgid ""
 "int\n"
@@ -5226,7 +5425,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:201
+#: build/C/man2/mprotect.2:200
 #, no-wrap
 msgid ""
 "    sa.sa_flags = SA_SIGINFO;\n"
@@ -5237,7 +5436,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:205
+#: build/C/man2/mprotect.2:204
 #, no-wrap
 msgid ""
 "    pagesize = sysconf(_SC_PAGE_SIZE);\n"
@@ -5246,7 +5445,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:208
+#: build/C/man2/mprotect.2:207
 #, no-wrap
 msgid ""
 "    /* Allocate a buffer aligned on a page boundary;\n"
@@ -5254,7 +5453,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:212
+#: build/C/man2/mprotect.2:211
 #, no-wrap
 msgid ""
 "    buffer = memalign(pagesize, 4 * pagesize);\n"
@@ -5263,13 +5462,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:214
+#: build/C/man2/mprotect.2:213
 #, no-wrap
 msgid "    printf(\"Start of region:        0x%lx\\en\", (long) buffer);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:218
+#: build/C/man2/mprotect.2:217
 #, no-wrap
 msgid ""
 "    if (mprotect(buffer + pagesize * 2, pagesize,\n"
@@ -5278,7 +5477,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:221
+#: build/C/man2/mprotect.2:220
 #, no-wrap
 msgid ""
 "    for (p = buffer ; ; )\n"
@@ -5286,7 +5485,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:225
+#: build/C/man2/mprotect.2:224
 #, no-wrap
 msgid ""
 "    printf(\"Loop completed\\en\");     /* Should never happen */\n"
@@ -5295,7 +5494,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:229
+#: build/C/man2/mprotect.2:228
 msgid "B<mmap>(2), B<sysconf>(3)"
 msgstr ""
 
@@ -5504,9 +5703,9 @@ msgid "MSYNC"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/msync.2:25 build/C/man2/remap_file_pages.2:28
+#: build/C/man2/msync.2:25
 #, no-wrap
-msgid "2008-04-22"
+msgid "2014-04-20"
 msgstr ""
 
 #. type: Plain text
@@ -5523,10 +5722,11 @@ msgstr ""
 #: build/C/man2/msync.2:48
 msgid ""
 "B<msync>()  flushes changes made to the in-core copy of a file that was "
-"mapped into memory using B<mmap>(2)  back to disk.  Without use of this call "
-"there is no guarantee that changes are written back before B<munmap>(2)  is "
-"called.  To be more precise, the part of the file that corresponds to the "
-"memory area starting at I<addr> and having length I<length> is updated."
+"mapped into memory using B<mmap>(2)  back to the filesystem.  Without use of "
+"this call there is no guarantee that changes are written back before "
+"B<munmap>(2)  is called.  To be more precise, the part of the file that "
+"corresponds to the memory area starting at I<addr> and having length "
+"I<length> is updated."
 msgstr ""
 
 #. type: Plain text
@@ -5574,7 +5774,7 @@ msgid "The indicated memory (or part of it) was not mapped."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/msync.2:98 build/C/man3/posix_fallocate.3:105 build/C/man3/shm_open.3:253 build/C/man7/shm_overview.7:103
+#: build/C/man2/msync.2:98 build/C/man3/posix_fallocate.3:110 build/C/man3/shm_open.3:253 build/C/man7/shm_overview.7:103
 msgid "POSIX.1-2001."
 msgstr ""
 
@@ -5582,7 +5782,7 @@ msgstr ""
 #: build/C/man2/msync.2:105
 msgid ""
 "This call was introduced in Linux 1.3.21, and then used B<EFAULT> instead of "
-"B<ENOMEM>.  In Linux 2.4.19 this was changed to the POSIX value B<ENOMEM>."
+"B<ENOMEM>.  In Linux 2.4.19, this was changed to the POSIX value B<ENOMEM>."
 msgstr ""
 
 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
@@ -5596,8 +5796,23 @@ msgid ""
 "I<E<lt>unistd.hE<gt>> to a value greater than 0.  (See also B<sysconf>(3).)"
 msgstr ""
 
+#.  commit 204ec841fbea3e5138168edbc3a76d46747cc987
+#. type: Plain text
+#: build/C/man2/msync.2:147
+msgid ""
+"According to POSIX, either B<MS_SYNC> or B<MS_ASYNC> must be specified in "
+"I<flags>, and indeed failure to include one of these flags will cause "
+"B<msync>()  to fail on some systems.  However, Linux permits a call to "
+"B<msync>()  that specifies neither of these flags, with semantics that are "
+"(currently) equivalent to specifying B<MS_ASYNC>.  (Since Linux 2.6.19, "
+"B<MS_ASYNC> is in fact a no-op, since the kernel properly tracks dirty pages "
+"and flushes them to storage as necessary.)  Notwithstanding the Linux "
+"behavior, portable, future-proof applications should ensure that they "
+"specify either B<MS_SYNC> or B<MS_ASYNC> in I<flags>."
+msgstr ""
+
 #. type: TP
-#: build/C/man2/msync.2:122 build/C/man7/shm_overview.7:46
+#: build/C/man2/msync.2:149 build/C/man7/shm_overview.7:46
 #, no-wrap
 msgid "B<mmap>(2)"
 msgstr ""
@@ -5608,6 +5823,12 @@ msgstr ""
 msgid "MTRACE"
 msgstr ""
 
+#. type: TH
+#: build/C/man3/mtrace.3:25
+#, no-wrap
+msgid "2012-04-18"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man3/mtrace.3:28
 msgid "mtrace, muntrace - malloc tracing"
@@ -5694,8 +5915,8 @@ msgstr ""
 #: build/C/man3/mtrace.3:108
 msgid ""
 "The line-number information produced by B<mtrace>(1)  is not always precise: "
-"the line number references may refer to the previous or following "
-"(non-blank)  line of the source code."
+"the line number references may refer to the previous or following (nonblank)  "
+"line of the source code."
 msgstr ""
 
 #. type: Plain text
@@ -5791,12 +6012,6 @@ msgstr ""
 msgid "POSIX_FADVISE"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/posix_fadvise.2:28 build/C/man2/readahead.2:28 build/C/man2/sync_file_range.2:30
-#, no-wrap
-msgid "2013-04-01"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man2/posix_fadvise.2:31
 msgid "posix_fadvise - predeclare an access pattern for file data"
@@ -5934,31 +6149,42 @@ msgstr ""
 msgid "An invalid value was specified for I<advice>."
 msgstr ""
 
+#.  commit 87ba81dba431232548ce29d5d224115d0c2355ac
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:104
+#: build/C/man2/posix_fadvise.2:107
 msgid ""
-"The specified file descriptor refers to a pipe or FIFO.  (Linux actually "
-"returns B<EINVAL> in this case.)"
+"The specified file descriptor refers to a pipe or FIFO.  (B<ESPIPE> is the "
+"error specified by POSIX, but before kernel version 2.16, Linux returned "
+"B<EINVAL> in this case.)"
 msgstr ""
 
 #.  of fadvise64_64()
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:112
+#: build/C/man2/posix_fadvise.2:115
 msgid ""
 "Kernel support first appeared in Linux 2.5.60; the underlying system call is "
 "called B<fadvise64>().  Library support has been provided since glibc "
 "version 2.2, via the wrapper function B<posix_fadvise>()."
 msgstr ""
 
+#.  commit d3ac21cacc24790eb45d735769f35753f5b56ceb
+#. type: Plain text
+#: build/C/man2/posix_fadvise.2:122
+msgid ""
+"Since Linux 3.18, support for the underlying system call is optional, "
+"depending on the setting of the B<CONFIG_ADVISE_SYSCALLS> configuration "
+"option."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:121
+#: build/C/man2/posix_fadvise.2:131
 msgid ""
 "POSIX.1-2001.  Note that the type of the I<len> argument was changed from "
 "I<size_t> to I<off_t> in POSIX.1-2003 TC1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:127
+#: build/C/man2/posix_fadvise.2:137
 msgid ""
 "Under Linux, B<POSIX_FADV_NORMAL> sets the readahead window to the default "
 "size for the backing device; B<POSIX_FADV_SEQUENTIAL> doubles this size, and "
@@ -5968,7 +6194,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:134
+#: build/C/man2/posix_fadvise.2:144
 msgid ""
 "B<POSIX_FADV_WILLNEED> initiates a nonblocking read of the specified region "
 "into the page cache.  The amount of data read may be decreased by the kernel "
@@ -5977,7 +6203,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:138
+#: build/C/man2/posix_fadvise.2:148
 msgid ""
 "In kernels before 2.6.18, B<POSIX_FADV_NOREUSE> had the same semantics as "
 "B<POSIX_FADV_WILLNEED>.  This was probably a bug; since kernel 2.6.18, this "
@@ -5985,7 +6211,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:146
+#: build/C/man2/posix_fadvise.2:156
 msgid ""
 "B<POSIX_FADV_DONTNEED> attempts to free cached pages associated with the "
 "specified region.  This is useful, for example, while streaming large "
@@ -5995,7 +6221,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:154
+#: build/C/man2/posix_fadvise.2:164
+msgid ""
+"Requests to discard partial pages are ignored.  It is preferable to preserve "
+"needed data than discard unneeded data.  If the application requires that "
+"data be considered for discarding then I<offset> and I<len> must be "
+"page-aligned."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/posix_fadvise.2:172
 msgid ""
 "Pages that have not yet been written out will be unaffected, so if the "
 "application wishes to guarantee that pages will be released, it should call "
@@ -6003,30 +6238,30 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/posix_fadvise.2:154
+#: build/C/man2/posix_fadvise.2:172
 #, no-wrap
 msgid "Architecture-specific variants"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:171
+#: build/C/man2/posix_fadvise.2:189
 msgid ""
 "Some architectures require 64-bit arguments to be aligned in a suitable pair "
 "of registers (see B<syscall>(2)  for further detail).  On such "
 "architectures, the call signature of B<posix_fadvise>()  shown in the "
 "SYNOPSIS would force a register to be wasted as padding between the I<fd> "
-"and I<len> arguments.  Therefore, these architectures define a version of "
+"and I<offset> arguments.  Therefore, these architectures define a version of "
 "the system call that orders the arguments suitably, but otherwise is "
 "otherwise exactly the same as B<posix_fadvise>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:173
+#: build/C/man2/posix_fadvise.2:191
 msgid "For example, since Linux 2.6.14, ARM has the following system call:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:178
+#: build/C/man2/posix_fadvise.2:196
 #, no-wrap
 msgid ""
 "B<long arm_fadvise64_64(int >I<fd>B<, int >I<advice>B<,>\n"
@@ -6034,7 +6269,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:186
+#: build/C/man2/posix_fadvise.2:204
 msgid ""
 "These architecture-specific details are generally hidden from applications "
 "by the glibc B<posix_fadvise>()  wrapper function, which invokes the "
@@ -6042,7 +6277,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:191
+#: build/C/man2/posix_fadvise.2:209
 msgid ""
 "In kernels before 2.6.6, if I<len> was specified as 0, then this was "
 "interpreted literally as \"zero bytes\", rather than as meaning \"all bytes "
@@ -6051,7 +6286,7 @@ msgstr ""
 
 #.  FIXME . Write a posix_fadvise(3) page.
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:197
+#: build/C/man2/posix_fadvise.2:215
 msgid ""
 "B<readahead>(2), B<sync_file_range>(2), B<posix_fallocate>(3), "
 "B<posix_madvise>(3)"
@@ -6063,12 +6298,6 @@ msgstr ""
 msgid "POSIX_FALLOCATE"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/posix_fallocate.3:25 build/C/man2/shmop.2:41
-#, no-wrap
-msgid "2013-02-12"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/posix_fallocate.3:28
 msgid "posix_fallocate - allocate file space"
@@ -6130,7 +6359,12 @@ msgid "B<posix_fallocate>()  is available since glibc 2.1.94."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:128
+#: build/C/man3/posix_fallocate.3:108
+msgid "The B<posix_fallocate>()  function is thread-safe."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/posix_fallocate.3:133
 msgid ""
 "POSIX.1-2008 says that an implementation I<shall> give the B<EINVAL> error "
 "if I<len> was 0, or I<offset> was less than 0.  POSIX.1-2001 says that an "
@@ -6140,7 +6374,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:133
+#: build/C/man3/posix_fallocate.3:138
+msgid ""
+"In the glibc implementation, B<posix_fallocate>()  is implemented using "
+"B<fallocate>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/posix_fallocate.3:143
 msgid "B<fallocate>(1), B<fallocate>(2), B<lseek>(2), B<posix_fadvise>(2)"
 msgstr ""
 
@@ -6153,7 +6394,7 @@ msgstr ""
 #. type: TH
 #: build/C/man3/posix_memalign.3:29
 #, no-wrap
-msgid "2012-03-23"
+msgid "2013-09-02"
 msgstr ""
 
 #. type: Plain text
@@ -6164,6 +6405,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
+#: build/C/man3/posix_memalign.3:35
+#, no-wrap
+msgid "B<#include E<lt>stdlib.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
 #: build/C/man3/posix_memalign.3:39
 #, no-wrap
 msgid ""
@@ -6236,20 +6483,20 @@ msgstr ""
 
 #.  glibc does this:
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:103
+#: build/C/man3/posix_memalign.3:104
 msgid ""
 "The function B<posix_memalign>()  allocates I<size> bytes and places the "
 "address of the allocated memory in I<*memptr>.  The address of the allocated "
 "memory will be a multiple of I<alignment>, which must be a power of two and "
-"a multiple of I<sizeof(void\\ *)>.  If I<size> is 0, then "
-"B<posix_memalign>()  returns either NULL, or a unique pointer value that can "
-"later be successfully passed to B<free>(3)."
+"a multiple of I<sizeof(void\\ *)>.  If I<size> is 0, then the value placed "
+"in I<*memptr> is either NULL, or a unique pointer value that can later be "
+"successfully passed to B<free>(3)."
 msgstr ""
 
 #.  The behavior of memalign() for size==0 is as for posix_memalign()
 #.  but no standards govern this.
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:114
+#: build/C/man3/posix_memalign.3:115
 msgid ""
 "The obsolete function B<memalign>()  allocates I<size> bytes and returns a "
 "pointer to the allocated memory.  The memory address will be a multiple of "
@@ -6257,14 +6504,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:123
+#: build/C/man3/posix_memalign.3:124
 msgid ""
 "The function B<aligned_alloc>()  is the same as B<memalign>(), except for "
 "the added restriction that I<size> should be a multiple of I<alignment>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:132
+#: build/C/man3/posix_memalign.3:133
 msgid ""
 "The obsolete function B<valloc>()  allocates I<size> bytes and returns a "
 "pointer to the allocated memory.  The memory address will be a multiple of "
@@ -6272,62 +6519,63 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:139
+#: build/C/man3/posix_memalign.3:140
 msgid ""
 "The obsolete function B<pvalloc>()  is similar to B<valloc>(), but rounds "
 "the size of the allocation up to the next multiple of the system page size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:141
+#: build/C/man3/posix_memalign.3:142
 msgid "For all of these functions, the memory is not zeroed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:148
+#: build/C/man3/posix_memalign.3:149
 msgid ""
 "B<aligned_alloc>(), B<memalign>(), B<valloc>(), and B<pvalloc>()  return a "
 "pointer to the allocated memory, or NULL if the request fails."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:155
+#: build/C/man3/posix_memalign.3:157
 msgid ""
 "B<posix_memalign>()  returns zero on success, or one of the error values "
-"listed in the next section on failure.  Note that I<errno> is not set."
+"listed in the next section on failure.  The value of I<errno> is "
+"indeterminate after a call to B<posix_memalign>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:162
+#: build/C/man3/posix_memalign.3:164
 msgid ""
 "The I<alignment> argument was not a power of two, or was not a multiple of "
 "I<sizeof(void\\ *)>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:165
+#: build/C/man3/posix_memalign.3:167
 msgid "There was insufficient memory to fulfill the allocation request."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:172
+#: build/C/man3/posix_memalign.3:174
 msgid ""
 "The functions B<memalign>(), B<valloc>(), and B<pvalloc>()  have been "
 "available in all Linux libc libraries."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:176
+#: build/C/man3/posix_memalign.3:178
 msgid "The function B<aligned_alloc>()  was added to glibc in version 2.16."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:180
+#: build/C/man3/posix_memalign.3:182
 msgid "The function B<posix_memalign>()  is available since glibc 2.1.91."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:187
+#: build/C/man3/posix_memalign.3:189
 msgid ""
 "The function B<valloc>()  appeared in 3.0BSD.  It is documented as being "
 "obsolete in 4.3BSD, and as legacy in SUSv2.  It does not appear in "
@@ -6335,47 +6583,47 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:191
+#: build/C/man3/posix_memalign.3:193
 msgid "The function B<pvalloc>()  is a GNU extension."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:195
+#: build/C/man3/posix_memalign.3:197
 msgid "The function B<memalign>()  appears in SunOS 4.1.3 but not in 4.4BSD."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:199
+#: build/C/man3/posix_memalign.3:201
 msgid "The function B<posix_memalign>()  comes from POSIX.1d."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:204
+#: build/C/man3/posix_memalign.3:206
 msgid "The function B<aligned_alloc>()  is specified in the C11 standard."
 msgstr ""
 
 #. type: SS
-#: build/C/man3/posix_memalign.3:204
+#: build/C/man3/posix_memalign.3:206
 #, no-wrap
 msgid "Headers"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:208
+#: build/C/man3/posix_memalign.3:210
 msgid ""
 "Everybody agrees that B<posix_memalign>()  is declared in "
 "I<E<lt>stdlib.hE<gt>>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:212
+#: build/C/man3/posix_memalign.3:214
 msgid ""
 "On some systems B<memalign>()  is declared in I<E<lt>stdlib.hE<gt>> instead "
 "of I<E<lt>malloc.hE<gt>>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:219
+#: build/C/man3/posix_memalign.3:221
 msgid ""
 "According to SUSv2, B<valloc>()  is declared in I<E<lt>stdlib.hE<gt>>.  "
 "Libc4,5 and glibc declare it in I<E<lt>malloc.hE<gt>>, and also in "
@@ -6384,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:228
+#: build/C/man3/posix_memalign.3:230
 msgid ""
 "On many systems there are alignment restrictions, for example, on buffers "
 "used for direct block device I/O.  POSIX specifies the "
@@ -6393,7 +6641,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:237
+#: build/C/man3/posix_memalign.3:239
 msgid ""
 "B<posix_memalign>()  verifies that I<alignment> matches the requirements "
 "detailed above.  B<memalign>()  may not check that the I<alignment> argument "
@@ -6407,7 +6655,7 @@ msgstr ""
 #.  but not to
 #.  .IR realloc (3).
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:265
+#: build/C/man3/posix_memalign.3:267
 msgid ""
 "POSIX requires that memory obtained from B<posix_memalign>()  can be freed "
 "using B<free>(3).  Some systems provide no way to reclaim memory allocated "
@@ -6419,14 +6667,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:270
+#: build/C/man3/posix_memalign.3:272
 msgid ""
 "The glibc B<malloc>(3)  always returns 8-byte aligned memory addresses, so "
 "these functions are needed only if you require larger alignment values."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:275
+#: build/C/man3/posix_memalign.3:277
 msgid "B<brk>(2), B<getpagesize>(2), B<free>(3), B<malloc>(3)"
 msgstr ""
 
@@ -6436,10 +6684,16 @@ msgstr ""
 msgid "READAHEAD"
 msgstr ""
 
-#. type: Plain text
-#: build/C/man2/readahead.2:31
-msgid "readahead - perform file readahead into page cache"
-msgstr ""
+#. type: TH
+#: build/C/man2/readahead.2:28
+#, no-wrap
+msgid "2014-03-15"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readahead.2:31
+msgid "readahead - initiate file readahead into page cache"
+msgstr ""
 
 #. type: Plain text
 #: build/C/man2/readahead.2:37
@@ -6450,61 +6704,77 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:65
+#: build/C/man2/readahead.2:44
 msgid ""
-"B<readahead>()  populates the page cache with data from a file so that "
-"subsequent reads from that file will not block on disk I/O.  The I<fd> "
-"argument is a file descriptor identifying the file which is to be read.  The "
-"I<offset> argument specifies the starting point from which data is to be "
-"read and I<count> specifies the number of bytes to be read.  I/O is "
+"B<readahead>()  initiates readahead on a file so that subsequent reads from "
+"that file will be satisfied from the cache, and not block on disk I/O "
+"(assuming the readahead was initiated early enough and that other activity "
+"on the system did not in the meantime flush pages from the cache)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readahead.2:66
+msgid ""
+"The I<fd> argument is a file descriptor identifying the file which is to be "
+"read.  The I<offset> argument specifies the starting point from which data "
+"is to be read and I<count> specifies the number of bytes to be read.  I/O is "
 "performed in whole pages, so that I<offset> is effectively rounded down to a "
 "page boundary and bytes are read up to the next page boundary greater than "
 "or equal to I<(offset+count)>.  B<readahead>()  does not read beyond the end "
-"of the file.  B<readahead>()  blocks until the specified data has been "
-"read.  The current file offset of the open file referred to by I<fd> is left "
-"unchanged."
+"of the file.  The current file offset of the open file referred to by I<fd> "
+"is left unchanged."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:71
+#: build/C/man2/readahead.2:72
 msgid ""
 "On success, B<readahead>()  returns 0; on failure, -1 is returned, with "
 "I<errno> set to indicate the cause of the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:76
+#: build/C/man2/readahead.2:77
 msgid "I<fd> is not a valid file descriptor or is not open for reading."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:82
+#: build/C/man2/readahead.2:83
 msgid "I<fd> does not refer to a file type to which B<readahead>()  can be applied."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:87
+#: build/C/man2/readahead.2:88
 msgid ""
 "The B<readahead>()  system call appeared in Linux 2.4.13; glibc support has "
 "been provided since version 2.3."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:92
+#: build/C/man2/readahead.2:93
 msgid ""
 "The B<readahead>()  system call is Linux-specific, and its use should be "
 "avoided in portable applications."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:97
+#: build/C/man2/readahead.2:98
 msgid ""
 "On some 32-bit architectures, the calling signature for this system call "
 "differs, for the reasons described in B<syscall>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/readahead.2:103
+#: build/C/man2/readahead.2:107
+msgid ""
+"B<readahead>()  attempts to schedule the reads in the background and return "
+"immediately.  However, it may block while it reads the filesystem metadata "
+"needed to locate the requested blocks.  This occurs frequently with ext[234] "
+"on large files using indirect blocks instead of extents, giving the "
+"appearance that the call blocks until the requested data has been read."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readahead.2:113
 msgid "B<lseek>(2), B<madvise>(2), B<mmap>(2), B<posix_fadvise>(2), B<read>(2)"
 msgstr ""
 
@@ -6533,11 +6803,22 @@ msgstr ""
 msgid ""
 "B<int remap_file_pages(void *>I<addr>B<, size_t >I<size>B<, int "
 ">I<prot>B<,>\n"
-"B<                     ssize_t >I<pgoff>B<, int >I<flags>B<);>\n"
+"B<                     size_t >I<pgoff>B<, int >I<flags>B<);>\n"
 msgstr ""
 
+#.  commit 33041a0d76d3c3e0aff28ac95a2ffdedf1282dbc
+#.  http://lwn.net/Articles/597632/
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:51
+#: build/C/man2/remap_file_pages.2:47
+msgid ""
+"B<Note>: this system call is (since Linux 3.16) deprecated and will "
+"eventually be replaced by a slower in-kernel emulation.  Those few "
+"applications that use this system call should consider migrating to "
+"alternatives."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/remap_file_pages.2:59
 msgid ""
 "The B<remap_file_pages>()  system call is used to create a nonlinear "
 "mapping, that is, a mapping in which the pages of the file are mapped into a "
@@ -6548,31 +6829,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:53
+#: build/C/man2/remap_file_pages.2:61
 msgid "To create a nonlinear mapping we perform the following steps:"
 msgstr ""
 
-#. type: TP
-#: build/C/man2/remap_file_pages.2:53
+#. type: IP
+#: build/C/man2/remap_file_pages.2:61 build/C/man2/memfd_create.2:219
 #, no-wrap
 msgid "1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:61
+#: build/C/man2/remap_file_pages.2:69
 msgid ""
 "Use B<mmap>(2)  to create a mapping (which is initially linear).  This "
 "mapping must be created with the B<MAP_SHARED> flag."
 msgstr ""
 
-#. type: TP
-#: build/C/man2/remap_file_pages.2:61
+#. type: IP
+#: build/C/man2/remap_file_pages.2:69 build/C/man2/memfd_create.2:225
 #, no-wrap
 msgid "2."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:69
+#: build/C/man2/remap_file_pages.2:77
 msgid ""
 "Use one or more calls to B<remap_file_pages>()  to rearrange the "
 "correspondence between the pages of the mapping and the pages of the file.  "
@@ -6581,7 +6862,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:80
+#: build/C/man2/remap_file_pages.2:88
 msgid ""
 "The I<pgoff> and I<size> arguments specify the region of the file that is to "
 "be relocated within the mapping: I<pgoff> is a file offset in units of the "
@@ -6589,7 +6870,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:98
+#: build/C/man2/remap_file_pages.2:106
 msgid ""
 "The I<addr> argument serves two purposes.  First, it identifies the mapping "
 "whose pages we want to rearrange.  Thus, I<addr> must be an address that "
@@ -6602,7 +6883,7 @@ msgstr ""
 #.  the analogous arguments for munmap()/mprotect() and for mlock().
 #.  MTK, 14 Sep 2005
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:112
+#: build/C/man2/remap_file_pages.2:120
 msgid ""
 "The values specified in I<addr> and I<size> should be multiples of the "
 "system page size.  If they are not, then the kernel rounds I<both> values "
@@ -6610,26 +6891,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:116
+#: build/C/man2/remap_file_pages.2:124
 msgid "The I<prot> argument must be specified as 0."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:124
+#: build/C/man2/remap_file_pages.2:132
 msgid ""
 "The I<flags> argument has the same meaning as for B<mmap>(2), but all flags "
 "other than B<MAP_NONBLOCK> are ignored."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:131
+#: build/C/man2/remap_file_pages.2:139
 msgid ""
 "On success, B<remap_file_pages>()  returns 0.  On error, -1 is returned, and "
 "I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:139
+#: build/C/man2/remap_file_pages.2:147
 msgid ""
 "I<addr> does not refer to a valid mapping created with the B<MAP_SHARED> "
 "flag."
@@ -6637,24 +6918,35 @@ msgstr ""
 
 #.  And possibly others from vma->vm_ops->populate()
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:148
+#: build/C/man2/remap_file_pages.2:156
 msgid "I<addr>, I<size>, I<prot>, or I<pgoff> is invalid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:153
+#: build/C/man2/remap_file_pages.2:161
 msgid ""
 "The B<remap_file_pages>()  system call appeared in Linux 2.5.46; glibc "
 "support was added in version 2.3.3."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:157
+#: build/C/man2/remap_file_pages.2:165
 msgid "The B<remap_file_pages>()  system call is Linux-specific."
 msgstr ""
 
+#.  commit 3ee6dafc677a68e461a7ddafc94a580ebab80735
+#. type: Plain text
+#: build/C/man2/remap_file_pages.2:176
+msgid ""
+"Since Linux 2.6.23, B<remap_file_pages>()  creates non-linear mappings only "
+"on in-memory file systems such as tmpfs, hugetlbfs or ramfs.  On filesystems "
+"with a backing store, B<remap_file_pages>()  is not much more efficient than "
+"using B<mmap>(2)  to adjust which parts of the file are mapped to which "
+"addresses."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:164
+#: build/C/man2/remap_file_pages.2:183
 msgid ""
 "B<getpagesize>(2), B<mmap>(2), B<mmap2>(2), B<mprotect>(2), B<mremap>(2), "
 "B<msync>(2)"
@@ -6666,12 +6958,6 @@ msgstr ""
 msgid "SHM_OPEN"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/shm_open.3:26
-#, no-wrap
-msgid "2009-02-25"
-msgstr ""
-
 #. type: Plain text
 #: build/C/man3/shm_open.3:29
 msgid "shm_open, shm_unlink - create/open or unlink POSIX shared memory objects"
@@ -6767,7 +7053,7 @@ msgstr ""
 msgid "B<O_CREAT>"
 msgstr ""
 
-#.  In truth it is actually the file system IDs on Linux, but these
+#.  In truth it is actually the filesystem IDs on Linux, but these
 #.  are nearly always the same as the effective IDs.  (MTK, Jul 05)
 #. type: Plain text
 #: build/C/man3/shm_open.3:112
@@ -6880,7 +7166,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/shm_open.3:202 build/C/man2/shmget.2:195
+#: build/C/man3/shm_open.3:202 build/C/man2/shmget.2:198
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr ""
@@ -6898,7 +7184,7 @@ msgid "The I<name> argument to B<shm_open>()  was invalid."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/shm_open.3:220
+#: build/C/man3/shm_open.3:220 build/C/man2/memfd_create.2:146
 #, no-wrap
 msgid "B<EMFILE>"
 msgstr ""
@@ -6925,7 +7211,7 @@ msgid "The limit on the total number of files open on the system has been reache
 msgstr ""
 
 #. type: TP
-#: build/C/man3/shm_open.3:233 build/C/man3/shm_open.3:242 build/C/man2/shmget.2:209
+#: build/C/man3/shm_open.3:233 build/C/man3/shm_open.3:242 build/C/man2/shmget.2:225
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr ""
@@ -6967,14 +7253,15 @@ msgstr ""
 #: build/C/man3/shm_open.3:271
 msgid ""
 "The POSIX shared memory object implementation on Linux 2.4 makes use of a "
-"dedicated file system, which is normally mounted under I</dev/shm>."
+"dedicated filesystem, which is normally mounted under I</dev/shm>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/shm_open.3:282
+#: build/C/man3/shm_open.3:283
 msgid ""
 "B<close>(2), B<fchmod>(2), B<fchown>(2), B<fcntl>(2), B<fstat>(2), "
-"B<ftruncate>(2), B<mmap>(2), B<open>(2), B<umask>(2), B<shm_overview>(7)"
+"B<ftruncate>(2), B<memfd_create>(2), B<mmap>(2), B<open>(2), B<umask>(2), "
+"B<shm_overview>(7)"
 msgstr ""
 
 #. type: TH
@@ -7154,16 +7441,16 @@ msgstr ""
 #. type: SS
 #: build/C/man7/shm_overview.7:94
 #, no-wrap
-msgid "Accessing shared memory objects via the file system"
+msgid "Accessing shared memory objects via the filesystem"
 msgstr ""
 
 #. type: Plain text
 #: build/C/man7/shm_overview.7:101
 msgid ""
-"On Linux, shared memory objects are created in a (I<tmpfs>)  virtual file "
-"system, normally mounted under I</dev/shm>.  Since kernel 2.6.19, Linux "
+"On Linux, shared memory objects are created in a (I<tmpfs>)  virtual "
+"filesystem, normally mounted under I</dev/shm>.  Since kernel 2.6.19, Linux "
 "supports the use of access control lists (ACLs)  to control the permissions "
-"of objects in the virtual file system."
+"of objects in the virtual filesystem."
 msgstr ""
 
 #. type: Plain text
@@ -7199,7 +7486,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/shmctl.2:45
 #, no-wrap
-msgid "2013-03-18"
+msgid "2014-02-07"
 msgstr ""
 
 #. type: Plain text
@@ -7226,7 +7513,7 @@ msgstr ""
 #: build/C/man2/shmctl.2:62
 msgid ""
 "B<shmctl>()  performs the control operation specified by I<cmd> on the "
-"System V shared memory segment whose identifier is given in I<shmid>."
+"System\\ V shared memory segment whose identifier is given in I<shmid>."
 msgstr ""
 
 #. type: Plain text
@@ -7320,51 +7607,57 @@ msgid "B<IPC_RMID>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:153
+#: build/C/man2/shmctl.2:149
 msgid ""
-"Mark the segment to be destroyed.  The segment will only actually be "
-"destroyed after the last process detaches it (i.e., when the I<shm_nattch> "
-"member of the associated structure I<shmid_ds> is zero).  The caller must be "
-"the owner or creator, or be privileged.  If a segment has been marked for "
-"destruction, then the (nonstandard)  B<SHM_DEST> flag of the "
-"I<shm_perm.mode> field in the associated data structure retrieved by "
-"B<IPC_STAT> will be set."
+"Mark the segment to be destroyed.  The segment will actually be destroyed "
+"only after the last process detaches it (i.e., when the I<shm_nattch> member "
+"of the associated structure I<shmid_ds> is zero).  The caller must be the "
+"owner or creator of the segment, or be privileged.  The I<buf> argument is "
+"ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmctl.2:157
+msgid ""
+"If a segment has been marked for destruction, then the (nonstandard)  "
+"B<SHM_DEST> flag of the I<shm_perm.mode> field in the associated data "
+"structure retrieved by B<IPC_STAT> will be set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:156
+#: build/C/man2/shmctl.2:160
 msgid ""
 "The caller I<must> ensure that a segment is eventually destroyed; otherwise "
 "its pages that were faulted in will remain in memory or swap."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:161
+#: build/C/man2/shmctl.2:165
 msgid ""
 "See also the description of I</proc/sys/kernel/shm_rmid_forced> in "
 "B<proc>(5)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:161
+#: build/C/man2/shmctl.2:165
 #, no-wrap
 msgid "B<IPC_INFO> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:174
+#: build/C/man2/shmctl.2:178
 msgid ""
-"Returns information about system-wide shared memory limits and parameters in "
+"Return information about system-wide shared memory limits and parameters in "
 "the structure pointed to by I<buf>.  This structure is of type I<shminfo> "
 "(thus, a cast is required), defined in I<E<lt>sys/shm.hE<gt>> if the "
 "B<_GNU_SOURCE> feature test macro is defined:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:188
+#: build/C/man2/shmctl.2:192
 #, no-wrap
 msgid ""
-"struct  shminfo {\n"
+"struct shminfo {\n"
 "    unsigned long shmmax; /* Maximum segment size */\n"
 "    unsigned long shmmin; /* Minimum segment size;\n"
 "                             always 1 */\n"
@@ -7378,28 +7671,28 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:201
+#: build/C/man2/shmctl.2:205
 msgid ""
 "The I<shmmni>, I<shmmax>, and I<shmall> settings can be changed via I</proc> "
 "files of the same name; see B<proc>(5)  for details."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:201
+#: build/C/man2/shmctl.2:205
 #, no-wrap
 msgid "B<SHM_INFO> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:212
+#: build/C/man2/shmctl.2:216
 msgid ""
-"Returns a I<shm_info> structure whose fields contain information about "
-"system resources consumed by shared memory.  This structure is defined in "
+"Return a I<shm_info> structure whose fields contain information about system "
+"resources consumed by shared memory.  This structure is defined in "
 "I<E<lt>sys/shm.hE<gt>> if the B<_GNU_SOURCE> feature test macro is defined:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:229
+#: build/C/man2/shmctl.2:233
 #, no-wrap
 msgid ""
 "struct shm_info {\n"
@@ -7419,35 +7712,35 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:231
+#: build/C/man2/shmctl.2:235
 #, no-wrap
 msgid "B<SHM_STAT> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:242
+#: build/C/man2/shmctl.2:246
 msgid ""
-"Returns a I<shmid_ds> structure as for B<IPC_STAT>.  However, the I<shmid> "
+"Return a I<shmid_ds> structure as for B<IPC_STAT>.  However, the I<shmid> "
 "argument is not a segment identifier, but instead an index into the kernel's "
 "internal array that maintains information about all shared memory segments "
 "on the system."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:245
+#: build/C/man2/shmctl.2:249
 msgid ""
 "The caller can prevent or allow swapping of a shared memory segment with the "
 "following I<cmd> values:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:246
+#: build/C/man2/shmctl.2:250
 #, no-wrap
 msgid "B<SHM_LOCK> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:258
+#: build/C/man2/shmctl.2:262
 msgid ""
 "Prevent swapping of the shared memory segment.  The caller must fault in any "
 "pages that are required to be present after locking is enabled.  If a "
@@ -7457,13 +7750,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:258
+#: build/C/man2/shmctl.2:262
 #, no-wrap
 msgid "B<SHM_UNLOCK> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:261
+#: build/C/man2/shmctl.2:265
 msgid "Unlock the segment, allowing it to be swapped out."
 msgstr ""
 
@@ -7472,7 +7765,7 @@ msgstr ""
 #.  This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed
 #.  in 2.6.10.  MTK, May 2005
 #. type: Plain text
-#: build/C/man2/shmctl.2:279
+#: build/C/man2/shmctl.2:283
 msgid ""
 "In kernels before 2.6.10, only a privileged process could employ B<SHM_LOCK> "
 "and B<SHM_UNLOCK>.  Since kernel 2.6.10, an unprivileged process can employ "
@@ -7482,7 +7775,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:297
+#: build/C/man2/shmctl.2:301
 msgid ""
 "A successful B<IPC_INFO> or B<SHM_INFO> operation returns the index of the "
 "highest used entry in the kernel's internal array recording information "
@@ -7494,12 +7787,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:301
+#: build/C/man2/shmctl.2:305
 msgid "On error, -1 is returned, and I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:310
+#: build/C/man2/shmctl.2:314
 msgid ""
 "B<IPC_STAT> or B<SHM_STAT> is requested and I<shm_perm.mode> does not allow "
 "read access for I<shmid>, and the calling process does not have the "
@@ -7507,25 +7800,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:321
+#: build/C/man2/shmctl.2:325
 msgid ""
 "The argument I<cmd> has value B<IPC_SET> or B<IPC_STAT> but the address "
 "pointed to by I<buf> isn't accessible."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:321 build/C/man2/shmop.2:197
+#: build/C/man2/shmctl.2:325 build/C/man2/shmop.2:194
 #, no-wrap
 msgid "B<EIDRM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:324 build/C/man2/shmop.2:200
+#: build/C/man2/shmctl.2:328 build/C/man2/shmop.2:197
 msgid "I<shmid> points to a removed identifier."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:333
+#: build/C/man2/shmctl.2:337
 msgid ""
 "I<shmid> is not a valid identifier, or I<cmd> is not a valid command.  Or: "
 "for a B<SHM_STAT> operation, the index value specified in I<shmid> referred "
@@ -7533,7 +7826,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:344
+#: build/C/man2/shmctl.2:348
 msgid ""
 "(In kernels since 2.6.9), B<SHM_LOCK> was specified and the size of the "
 "to-be-locked segment would mean that the total bytes in locked shared memory "
@@ -7543,14 +7836,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:349
+#: build/C/man2/shmctl.2:353
 msgid ""
 "B<IPC_STAT> is attempted, and the GID or UID value is too large to be stored "
 "in the structure pointed to by I<buf>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:361
+#: build/C/man2/shmctl.2:365
 msgid ""
 "B<IPC_SET> or B<IPC_RMID> is attempted, and the effective user ID of the "
 "calling process is not that of the creator (found in I<shm_perm.cuid>), or "
@@ -7559,7 +7852,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:373
+#: build/C/man2/shmctl.2:377
 msgid ""
 "Or (in kernels before 2.6.9), B<SHM_LOCK> or B<SHM_UNLOCK> was specified, "
 "but the process was not privileged (Linux: did not have the B<CAP_IPC_LOCK> "
@@ -7569,14 +7862,14 @@ msgstr ""
 
 #.  SVr4 documents an additional error condition EMFILE.
 #. type: Plain text
-#: build/C/man2/shmctl.2:378 build/C/man2/shmget.2:235 build/C/man2/shmop.2:234
+#: build/C/man2/shmctl.2:382 build/C/man2/shmget.2:251 build/C/man2/shmop.2:231
 msgid "SVr4, POSIX.1-2001."
 msgstr ""
 
 #.  Like Linux, the FreeBSD man pages still document
 #.  the inclusion of these header files.
 #. type: Plain text
-#: build/C/man2/shmctl.2:391 build/C/man2/shmget.2:251
+#: build/C/man2/shmctl.2:395 build/C/man2/shmget.2:269
 msgid ""
 "The inclusion of I<E<lt>sys/types.hE<gt>> and I<E<lt>sys/ipc.hE<gt>> isn't "
 "required on Linux or by any version of POSIX.  However, some old "
@@ -7586,15 +7879,15 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:402
+#: build/C/man2/shmctl.2:407
 msgid ""
 "The B<IPC_INFO>, B<SHM_STAT> and B<SHM_INFO> operations are used by the "
 "B<ipcs>(1)  program to provide information on allocated resources.  In the "
-"future these may modified or moved to a /proc file system interface."
+"future, these may modified or moved to a I</proc> filesystem interface."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:410
+#: build/C/man2/shmctl.2:415
 msgid ""
 "Linux permits a process to attach (B<shmat>(2))  a shared memory segment "
 "that has already been marked for deletion using I<shmctl(IPC_RMID)>.  This "
@@ -7603,7 +7896,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:423
+#: build/C/man2/shmctl.2:428
 msgid ""
 "Various fields in a I<struct shmid_ds> were typed as I<short> under Linux "
 "2.2 and have become I<long> under Linux 2.4.  To take advantage of this, a "
@@ -7612,7 +7905,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:430
+#: build/C/man2/shmctl.2:435
 msgid ""
 "B<mlock>(2), B<setrlimit>(2), B<shmget>(2), B<shmop>(2), B<capabilities>(7), "
 "B<svipc>(7)"
@@ -7624,6 +7917,12 @@ msgstr ""
 msgid "SHMGET"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/shmget.2:38
+#, no-wrap
+msgid "2015-01-10"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/shmget.2:41
 msgid "shmget - allocates a System V shared memory segment"
@@ -7637,7 +7936,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/shmget.2:72
 msgid ""
-"B<shmget>()  returns the identifier of the System V shared memory segment "
+"B<shmget>()  returns the identifier of the System\\ V shared memory segment "
 "associated with the value of the argument I<key>.  A new shared memory "
 "segment, with size equal to the value of I<size> rounded up to a multiple of "
 "B<PAGE_SIZE>, is created if I<key> has the value B<IPC_PRIVATE> or I<key> "
@@ -7668,8 +7967,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/shmget.2:102
 msgid ""
-"to create a new segment.  If this flag is not used, then B<shmget>()  will "
-"find the segment associated with I<key> and check to see if the user has "
+"Create a new segment.  If this flag is not used, then B<shmget>()  will find "
+"the segment associated with I<key> and check to see if the user has "
 "permission to access the segment."
 msgstr ""
 
@@ -7680,40 +7979,27 @@ msgid "B<IPC_EXCL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:105
-msgid "used with B<IPC_CREAT> to ensure failure if the segment already exists."
-msgstr ""
-
-#. type: TP
-#: build/C/man2/shmget.2:105
-#, no-wrap
-msgid "I<mode_flags>"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/shmget.2:115
+#: build/C/man2/shmget.2:108
 msgid ""
-"(least significant 9 bits)  specifying the permissions granted to the owner, "
-"group, and world.  These bits have the same format, and the same meaning, as "
-"the I<mode> argument of B<open>(2).  Presently, the execute permissions are "
-"not used by the system."
+"This flag is used with B<IPC_CREAT> to ensure that this call creates the "
+"segment.  If the segment already exists, the call fails."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:115
+#: build/C/man2/shmget.2:108
 #, no-wrap
 msgid "B<SHM_HUGETLB> (since Linux 2.6)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:121
+#: build/C/man2/shmget.2:114
 msgid ""
 "Allocate the segment using \"huge pages.\" See the Linux kernel source file "
 "I<Documentation/vm/hugetlbpage.txt> for further information."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:121
+#: build/C/man2/shmget.2:114
 #, no-wrap
 msgid "B<SHM_NORESERVE> (since Linux 2.6.15)"
 msgstr ""
@@ -7721,7 +8007,7 @@ msgstr ""
 #.  As at 2.6.17-rc2, this flag has no effect if SHM_HUGETLB was also
 #.  specified.
 #. type: Plain text
-#: build/C/man2/shmget.2:140
+#: build/C/man2/shmget.2:133
 msgid ""
 "This flag serves the same purpose as the B<mmap>(2)  B<MAP_NORESERVE> flag.  "
 "Do not reserve swap space for this segment.  When swap space is reserved, "
@@ -7732,7 +8018,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:148
+#: build/C/man2/shmget.2:143
+msgid ""
+"In addition to the above flags, the least significant 9 bits of I<shmflg> "
+"specify the permissions granted to the owner, group, and others.  These bits "
+"have the same format, and the same meaning, as the I<mode> argument of "
+"B<open>(2).  Presently, execute permissions are not used by the system."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:151
 msgid ""
 "When a new shared memory segment is created, its contents are initialized to "
 "zero values, and its associated data structure, I<shmid_ds> (see "
@@ -7740,92 +8035,100 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:153
+#: build/C/man2/shmget.2:156
 msgid ""
 "I<shm_perm.cuid> and I<shm_perm.uid> are set to the effective user ID of the "
 "calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:158
+#: build/C/man2/shmget.2:161
 msgid ""
 "I<shm_perm.cgid> and I<shm_perm.gid> are set to the effective group ID of "
 "the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:163
+#: build/C/man2/shmget.2:166
 msgid ""
 "The least significant 9 bits of I<shm_perm.mode> are set to the least "
 "significant 9 bit of I<shmflg>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:167
+#: build/C/man2/shmget.2:170
 msgid "I<shm_segsz> is set to the value of I<size>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:174
-msgid "I<shm_lpid>, I<shm_nattch>, I<shm_atime> and I<shm_dtime> are set to 0."
+#: build/C/man2/shmget.2:177
+msgid "I<shm_lpid>, I<shm_nattch>, I<shm_atime>, and I<shm_dtime> are set to 0."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:177
+#: build/C/man2/shmget.2:180
 msgid "I<shm_ctime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:180
+#: build/C/man2/shmget.2:183
 msgid ""
 "If the shared memory segment already exists, the permissions are verified, "
 "and a check is made to see if it is marked for destruction."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:185
+#: build/C/man2/shmget.2:188
 msgid ""
-"On success, a valid shared memory identifier is returned.  On errir, -1 is "
+"On success, a valid shared memory identifier is returned.  On error, -1 is "
 "returned, and I<errno> is set to indicate the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:189
+#: build/C/man2/shmget.2:192
 msgid "On failure, I<errno> is set to one of the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:195
+#: build/C/man2/shmget.2:198
 msgid ""
 "The user does not have permission to access the shared memory segment, and "
 "does not have the B<CAP_IPC_OWNER> capability."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:199
-msgid "B<IPC_CREAT | IPC_EXCL> was specified and the segment exists."
+#: build/C/man2/shmget.2:207
+msgid ""
+"B<IPC_CREAT> and B<IPC_EXCL> were specified in I<shmflg>, but a shared "
+"memory segment already exists for I<key>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:215
+msgid ""
+"A new segment was to be created and I<size> is less than B<SHMMIN> or "
+"greater than B<SHMMAX>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:205
+#: build/C/man2/shmget.2:221
 msgid ""
-"A new segment was to be created and I<size> E<lt> B<SHMMIN> or I<size> E<gt> "
-"B<SHMMAX>, or no new segment was to be created, a segment with given key "
-"existed, but I<size> is greater than the size of that segment."
+"A segment for the given I<key> exists, but I<size> is greater than the size "
+"of that segment."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:214
+#: build/C/man2/shmget.2:230
 msgid "No segment exists for the given I<key>, and B<IPC_CREAT> was not specified."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:217
+#: build/C/man2/shmget.2:233
 msgid "No memory could be allocated for segment overhead."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:225
+#: build/C/man2/shmget.2:241
 msgid ""
 "All possible shared memory IDs have been taken (B<SHMMNI>), or allocating a "
 "segment of the requested I<size> would cause the system to exceed the "
@@ -7833,115 +8136,204 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:232
+#: build/C/man2/shmget.2:248
 msgid ""
 "The B<SHM_HUGETLB> flag was specified, but the caller was not privileged "
 "(did not have the B<CAP_IPC_LOCK> capability)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:238
-msgid "B<SHM_HUGETLB> is a nonportable Linux extension."
+#: build/C/man2/shmget.2:256
+msgid "B<SHM_HUGETLB> and B<SHM_NORESERVE> are Linux extensions."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:261
+#: build/C/man2/shmget.2:280
 msgid ""
 "B<IPC_PRIVATE> isn't a flag field but a I<key_t> type.  If this special "
-"value is used for I<key>, the system call ignores everything but the least "
-"significant 9 bits of I<shmflg> and creates a new shared memory segment (on "
-"success)."
+"value is used for I<key>, the system call ignores all but the least "
+"significant 9 bits of I<shmflg> and creates a new shared memory segment."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/shmget.2:280
+#, no-wrap
+msgid "Shared memory limits"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:265
+#: build/C/man2/shmget.2:284
 msgid ""
 "The following limits on shared memory segment resources affect the "
 "B<shmget>()  call:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:265
+#: build/C/man2/shmget.2:284
 #, no-wrap
 msgid "B<SHMALL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:270
+#: build/C/man2/shmget.2:288
+msgid ""
+"System-wide limit on the total amount of shared memory, measured in units of "
+"the system page size."
+msgstr ""
+
+#.  commit 060028bac94bf60a65415d1d55a359c3a17d5c31
+#. type: Plain text
+#: build/C/man2/shmget.2:294
+msgid ""
+"On Linux, this limit can be read and modified via "
+"I</proc/sys/kernel/shmall>.  Since Linux 3.16, the default value for this "
+"limit is:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:296 build/C/man2/shmget.2:331
+#, no-wrap
+msgid "    ULONG_MAX - 2^24\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:307
+msgid ""
+"The effect of this value (which is suitable for both 32-bit and 64-bit "
+"systems)  is to impose no limitation on allocations.  This value, rather "
+"than B<ULONG_MAX>, was chosen as the default to prevent some cases where "
+"historical applications simply raised the existing limit without first "
+"checking its current value.  Such applications would cause the value to "
+"overflow if the limit was set at B<ULONG_MAX>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:310
+msgid "From Linux 2.4 up to Linux 3.15, the default value for this limit was:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:312
+#, no-wrap
+msgid "    SHMMAX / PAGE_SIZE * (SHMMNI / 16)\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:320
 msgid ""
-"System wide maximum of shared memory pages (on Linux, this limit can be read "
-"and modified via I</proc/sys/kernel/shmall>)."
+"If B<SHMMAX> and B<SHMMNI> were not modified, then multiplying the result of "
+"this formula by the page size (to get a value in bytes) yielded a value of 8 "
+"GB as the limit on the total memory used by all shared memory segments."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:270
+#: build/C/man2/shmget.2:320
 #, no-wrap
 msgid "B<SHMMAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:275
+#: build/C/man2/shmget.2:323
+msgid "Maximum size in bytes for a shared memory segment."
+msgstr ""
+
+#.  commit 060028bac94bf60a65415d1d55a359c3a17d5c31
+#. type: Plain text
+#: build/C/man2/shmget.2:329
+msgid ""
+"On Linux, this limit can be read and modified via "
+"I</proc/sys/kernel/shmmax>.  Since Linux 3.16, the default value for this "
+"limit is:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:340
+msgid ""
+"The effect of this value (which is suitable for both 32-bit and 64-bit "
+"systems)  is to impose no limitation on allocations.  See the description of "
+"B<SHMALL> for a discussion of why this default value (rather than "
+"B<ULONG_MAX>)  is used."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:343
+msgid ""
+"From Linux 2.2 up to Linux 3.15, the default value of this limit was "
+"0x2000000 (32MB)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmget.2:349
 msgid ""
-"Maximum size in bytes for a shared memory segment: policy dependent (on "
-"Linux, this limit can be read and modified via I</proc/sys/kernel/shmmax>)."
+"Because it is not possible to map just part of a shared memory segment, the "
+"amount of virtual memory places another limit on the maximum size of a "
+"usable segment: for example, on i386 the largest segments that can be mapped "
+"have a size of around 2.8 GB, and on x86_64 the limit is around 127 TB."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:275
+#: build/C/man2/shmget.2:349
 #, no-wrap
 msgid "B<SHMMIN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:281
+#: build/C/man2/shmget.2:355
 msgid ""
 "Minimum size in bytes for a shared memory segment: implementation dependent "
 "(currently 1 byte, though B<PAGE_SIZE> is the effective minimum size)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:281
+#: build/C/man2/shmget.2:355
 #, no-wrap
 msgid "B<SHMMNI>"
 msgstr ""
 
+#. type: Plain text
+#: build/C/man2/shmget.2:360
+msgid ""
+"System-wide limit on the number of shared memory segments.  In Linux 2.2, "
+"the default value for this limit was 128; since Linux 2.4, the default value "
+"is 4096."
+msgstr ""
+
 #.  Kernels between 2.4.x and 2.6.8 had an off-by-one error that meant
 #.  that we could create one more segment than SHMMNI -- MTK
 #.  This /proc file is not available in Linux 2.2 and earlier -- MTK
 #. type: Plain text
-#: build/C/man2/shmget.2:290
+#: build/C/man2/shmget.2:366
 msgid ""
-"System wide maximum number of shared memory segments: implementation "
-"dependent (currently 4096, was 128 before Linux 2.3.99; on Linux, this limit "
-"can be read and modified via I</proc/sys/kernel/shmmni>)."
+"On Linux, this limit can be read and modified via "
+"I</proc/sys/kernel/shmmni>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:294
+#: build/C/man2/shmget.2:370
 msgid ""
 "The implementation has no specific limits for the per-process maximum number "
 "of shared memory segments (B<SHMSEG>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:300
+#: build/C/man2/shmget.2:376
 msgid ""
-"Until version 2.3.30 Linux would return B<EIDRM> for a B<shmget>()  on a "
+"Until version 2.3.30, Linux would return B<EIDRM> for a B<shmget>()  on a "
 "shared memory segment scheduled for deletion."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:306
+#: build/C/man2/shmget.2:382
 msgid ""
 "The name choice B<IPC_PRIVATE> was perhaps unfortunate, B<IPC_NEW> would "
 "more clearly show its function."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:314
+#: build/C/man2/shmget.2:391
 msgid ""
-"B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<ftok>(3), B<capabilities>(7), "
-"B<shm_overview>(7), B<svipc>(7)"
+"B<memfd_create>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<ftok>(3), "
+"B<capabilities>(7), B<shm_overview>(7), B<svipc>(7)"
 msgstr ""
 
 #. type: TH
@@ -7977,52 +8369,96 @@ msgstr ""
 msgid "B<int shmdt(const void *>I<shmaddr>B<);>\n"
 msgstr ""
 
+#. type: SS
+#: build/C/man2/shmop.2:54
+#, no-wrap
+msgid "shmat()"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/shmop.2:61
+#: build/C/man2/shmop.2:62
 msgid ""
-"B<shmat>()  attaches the System V shared memory segment identified by "
+"B<shmat>()  attaches the System\\ V shared memory segment identified by "
 "I<shmid> to the address space of the calling process.  The attaching address "
 "is specified by I<shmaddr> with one of the following criteria:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:67
+#: build/C/man2/shmop.2:68
 msgid ""
 "If I<shmaddr> is NULL, the system chooses a suitable (unused) address at "
 "which to attach the segment."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:82
+#: build/C/man2/shmop.2:80
 msgid ""
 "If I<shmaddr> isn't NULL and B<SHM_RND> is specified in I<shmflg>, the "
 "attach occurs at the address equal to I<shmaddr> rounded down to the nearest "
-"multiple of B<SHMLBA>.  Otherwise I<shmaddr> must be a page-aligned address "
-"at which the attach occurs."
+"multiple of B<SHMLBA>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:84
+msgid ""
+"Otherwise, I<shmaddr> must be a page-aligned address at which the attach "
+"occurs."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:90
+msgid ""
+"In addition to B<SHM_RND>, the following flags may be specified in the "
+"I<shmflg> bit-mask argument:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/shmop.2:90
+#, no-wrap
+msgid "B<SHM_EXEC> (Linux-specific; since Linux 2.6.9)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:94
+msgid ""
+"Allow the contents of the segment to be executed.  The caller must have "
+"execute permission on the segment."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/shmop.2:94
+#, no-wrap
+msgid "B<SHM_RDONLY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:92
+#: build/C/man2/shmop.2:102
 msgid ""
-"If B<SHM_RDONLY> is specified in I<shmflg>, the segment is attached for "
-"reading and the process must have read permission for the segment.  "
-"Otherwise the segment is attached for read and write and the process must "
-"have read and write permission for the segment.  There is no notion of a "
-"write-only shared memory segment."
+"Attach the segment for read-only access.  The process must have read "
+"permission for the segment.  If this flag is not specified, the segment is "
+"attached for read and write access, and the process must have read and write "
+"permission for the segment.  There is no notion of a write-only shared "
+"memory segment."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/shmop.2:102
+#, no-wrap
+msgid "B<SHM_REMAP> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:107
+#: build/C/man2/shmop.2:115
 msgid ""
-"The (Linux-specific)  B<SHM_REMAP> flag may be specified in I<shmflg> to "
-"indicate that the mapping of the segment should replace any existing mapping "
-"in the range starting at I<shmaddr> and continuing for the size of the "
-"segment.  (Normally an B<EINVAL> error would result if a mapping already "
-"exists in this address range.)  In this case, I<shmaddr> must not be NULL."
+"This flag specifies that the mapping of the segment should replace any "
+"existing mapping in the range starting at I<shmaddr> and continuing for the "
+"size of the segment.  (Normally, an B<EINVAL> error would result if a "
+"mapping already exists in this address range.)  In this case, I<shmaddr> "
+"must not be NULL."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:114
+#: build/C/man2/shmop.2:122
 msgid ""
 "The B<brk>(2)  value of the calling process is not altered by the attach.  "
 "The segment will automatically be detached at process exit.  The same "
@@ -8031,7 +8467,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:122
+#: build/C/man2/shmop.2:130
 msgid ""
 "A successful B<shmat>()  call updates the members of the I<shmid_ds> "
 "structure (see B<shmctl>(2))  associated with the shared memory segment as "
@@ -8039,22 +8475,28 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:125
+#: build/C/man2/shmop.2:133
 msgid "I<shm_atime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:128 build/C/man2/shmop.2:154
+#: build/C/man2/shmop.2:136 build/C/man2/shmop.2:163
 msgid "I<shm_lpid> is set to the process-ID of the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:131
+#: build/C/man2/shmop.2:140
 msgid "I<shm_nattch> is incremented by one."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/shmop.2:140
+#, no-wrap
+msgid "shmdt()"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/shmop.2:142
+#: build/C/man2/shmop.2:151
 msgid ""
 "B<shmdt>()  detaches the shared memory segment located at the address "
 "specified by I<shmaddr> from the address space of the calling process.  The "
@@ -8063,72 +8505,53 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:148
+#: build/C/man2/shmop.2:157
 msgid ""
-"On a successful B<shmdt>()  call the system updates the members of the "
+"On a successful B<shmdt>()  call, the system updates the members of the "
 "I<shmid_ds> structure associated with the shared memory segment as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:151
+#: build/C/man2/shmop.2:160
 msgid "I<shm_dtime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:159
+#: build/C/man2/shmop.2:168
 msgid ""
 "I<shm_nattch> is decremented by one.  If it becomes 0 and the segment is "
 "marked for deletion, the segment is deleted."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:163
-msgid "After a B<fork>(2)  the child inherits the attached shared memory segments."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/shmop.2:167
-msgid ""
-"After an B<execve>(2)  all attached shared memory segments are detached from "
-"the process."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/shmop.2:171
-msgid ""
-"Upon B<_exit>(2)  all attached shared memory segments are detached from the "
-"process."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man2/shmop.2:179
+#: build/C/man2/shmop.2:176
 msgid ""
-"On success B<shmat>()  returns the address of the attached shared memory "
-"segment; on error I<(void\\ *)\\ -1> is returned, and I<errno> is set to "
+"On success, B<shmat>()  returns the address of the attached shared memory "
+"segment; on error, I<(void\\ *)\\ -1> is returned, and I<errno> is set to "
 "indicate the cause of the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:185
+#: build/C/man2/shmop.2:182
 msgid ""
-"On success B<shmdt>()  returns 0; on error -1 is returned, and I<errno> is "
+"On success, B<shmdt>()  returns 0; on error -1 is returned, and I<errno> is "
 "set to indicate the cause of the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:191
+#: build/C/man2/shmop.2:188
 msgid "When B<shmat>()  fails, I<errno> is set to one of the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:197
+#: build/C/man2/shmop.2:194
 msgid ""
 "The calling process does not have the required permissions for the requested "
 "attach type, and does not have the B<CAP_IPC_OWNER> capability."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:214
+#: build/C/man2/shmop.2:211
 msgid ""
 "Invalid I<shmid> value, unaligned (i.e., not page-aligned and B<SHM_RND> was "
 "not specified) or invalid I<shmaddr> value, or can't attach segment at "
@@ -8136,34 +8559,52 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:217
+#: build/C/man2/shmop.2:214
 msgid "Could not allocate memory for the descriptor or for the page tables."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:223
+#: build/C/man2/shmop.2:220
 msgid "When B<shmdt>()  fails, I<errno> is set as follows:"
 msgstr ""
 
 #.  The following since 2.6.17-rc1:
 #. type: Plain text
-#: build/C/man2/shmop.2:231
+#: build/C/man2/shmop.2:228
 msgid ""
 "There is no shared memory segment attached at I<shmaddr>; or, I<shmaddr> is "
 "not aligned on a page boundary."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:250
+#: build/C/man2/shmop.2:243
 msgid ""
-"In SVID 3 (or perhaps earlier)  the type of the I<shmaddr> argument was "
+"In SVID 3 (or perhaps earlier), the type of the I<shmaddr> argument was "
 "changed from I<char\\ *> into I<const void\\ *>, and the returned type of "
-"B<shmat>()  from I<char\\ *> into I<void\\ *>.  (Linux libc4 and libc5 have "
-"the I<char\\ *> prototypes; glibc2 has I<void\\ *>.)"
+"B<shmat>()  from I<char\\ *> into I<void\\ *>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:248
+msgid "After a B<fork>(2), the child inherits the attached shared memory segments."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:252
+msgid ""
+"After an B<execve>(2), all attached shared memory segments are detached from "
+"the process."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/shmop.2:256
+msgid ""
+"Upon B<_exit>(2), all attached shared memory segments are detached from the "
+"process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:262
+#: build/C/man2/shmop.2:268
 msgid ""
 "Using B<shmat>()  with I<shmaddr> equal to NULL is the preferred, portable "
 "way of attaching a shared memory segment.  Be aware that the shared memory "
@@ -8174,7 +8615,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:267
+#: build/C/man2/shmop.2:273
 msgid ""
 "On Linux, it is possible to attach a shared memory segment even if it is "
 "already marked to be deleted.  However, POSIX.1-2001 does not specify this "
@@ -8182,37 +8623,37 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:270
+#: build/C/man2/shmop.2:276
 msgid "The following system parameter affects B<shmat>():"
 msgstr ""
 
-#.  FIXME A good explanation of the rationale for the existence
-#.  of SHMLBA would be useful here
 #. type: TP
-#: build/C/man2/shmop.2:270
+#: build/C/man2/shmop.2:276
 #, no-wrap
 msgid "B<SHMLBA>"
 msgstr ""
 
-#.  FIXME That last sentence isn't true for all Linux
-#.  architectures (i.e., SHMLBA != PAGE_SIZE for some architectures)
-#.  -- MTK, Nov 04
 #. type: Plain text
-#: build/C/man2/shmop.2:283
+#: build/C/man2/shmop.2:289
 msgid ""
-"Segment low boundary address multiple.  Must be page aligned.  For the "
-"current implementation the B<SHMLBA> value is B<PAGE_SIZE>."
+"Segment low boundary address multiple.  When explicitly specifying an attach "
+"address in a call to B<shmat>(), the caller should ensure that the address "
+"is a multiple of this value.  This is necessary on some architectures, in "
+"order either to ensure good CPU cache performance or to ensure that "
+"different attaches of the same segment have consistent views within the CPU "
+"cache.  B<SHMLBA> is normally some multiple of the system page size (on many "
+"Linux architectures, it is the same as the system page size)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:287
+#: build/C/man2/shmop.2:293
 msgid ""
-"The implementation places no intrinsic limit on the per-process maximum "
-"number of shared memory segments (B<SHMSEG>)."
+"The implementation places no intrinsic per-process limit on the number of "
+"shared memory segments (B<SHMSEG>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:295
+#: build/C/man2/shmop.2:301
 msgid ""
 "B<brk>(2), B<mmap>(2), B<shmctl>(2), B<shmget>(2), B<capabilities>(7), "
 "B<shm_overview>(7), B<svipc>(7)"
@@ -8370,6 +8811,12 @@ msgstr ""
 msgid "SYNC_FILE_RANGE"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/sync_file_range.2:30
+#, no-wrap
+msgid "2014-08-19"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/sync_file_range.2:33
 msgid "sync_file_range - sync a file segment with disk"
@@ -8473,12 +8920,12 @@ msgid ""
 "Therefore, unless the application is strictly performing overwrites of "
 "already-instantiated disk blocks, there are no guarantees that the data will "
 "be available after a crash.  There is no user interface to know if a write "
-"is purely an overwrite.  On file systems using copy-on-write semantics "
-"(e.g., I<btrfs>)  an overwrite of existing allocated blocks is impossible.  "
-"When writing into preallocated space, many file systems also require calls "
-"into the block allocator, which this system call does not sync out to disk.  "
-"This system call does not flush disk write caches and thus does not provide "
-"any data integrity on systems with volatile disk write caches."
+"is purely an overwrite.  On filesystems using copy-on-write semantics (e.g., "
+"I<btrfs>)  an overwrite of existing allocated blocks is impossible.  When "
+"writing into preallocated space, many filesystems also require calls into "
+"the block allocator, which this system call does not sync out to disk.  This "
+"system call does not flush disk write caches and thus does not provide any "
+"data integrity on systems with volatile disk write caches."
 msgstr ""
 
 #. type: SS
@@ -8601,9 +9048,15 @@ msgid ""
 "programs."
 msgstr ""
 
+#. type: SS
+#: build/C/man2/sync_file_range.2:184
+#, no-wrap
+msgid "sync_file_range2()"
+msgstr ""
+
 #.  See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622
 #. type: Plain text
-#: build/C/man2/sync_file_range.2:200
+#: build/C/man2/sync_file_range.2:201
 msgid ""
 "Some architectures (e.g., PowerPC, ARM)  need 64-bit arguments to be aligned "
 "in a suitable pair of registers.  On such architectures, the call signature "
@@ -8614,7 +9067,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sync_file_range.2:205
+#: build/C/man2/sync_file_range.2:206
 #, no-wrap
 msgid ""
 "B<int sync_file_range2(int >I<fd>B<, unsigned int >I<flags>B<,>\n"
@@ -8622,14 +9075,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sync_file_range.2:210
+#: build/C/man2/sync_file_range.2:211
 msgid ""
 "The behavior of this system call is otherwise exactly the same as "
 "B<sync_file_range>()."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sync_file_range.2:221
+#: build/C/man2/sync_file_range.2:222
 msgid ""
 "A system call with this signature first appeared on the ARM architecture in "
 "Linux 2.6.20, with the name B<arm_sync_file_range>().  It was renamed in "
@@ -8639,6 +9092,754 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/sync_file_range.2:226
+#: build/C/man2/sync_file_range.2:227
 msgid "B<fdatasync>(2), B<fsync>(2), B<msync>(2), B<sync>(2)"
 msgstr ""
+
+#. type: TH
+#: build/C/man2/memfd_create.2:21
+#, no-wrap
+msgid "MEMFD_CREATE"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:24
+msgid "memfd_create - create an anonymous file"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:26
+msgid "B<#include E<lt>sys/memfd.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:28
+msgid "B<int memfd_create(const char *>I<name>B<, unsigned int >I<flags>B<);>"
+msgstr ""
+
+#.  David Herrmann:
+#.      memfd uses VM_NORESERVE so each page is accounted on first access.
+#.      This means, the overcommit-limits (see __vm_enough_memory()) and the
+#.      memory-cgroup limits (mem_cgroup_try_charge()) are applied. Note that
+#.      those are accounted on "current" and "current->mm", that is, the
+#.      process doing the first page access.
+#. type: Plain text
+#: build/C/man2/memfd_create.2:51
+msgid ""
+"B<memfd_create>()  creates an anonymous file and returns a file descriptor "
+"that refers to it.  The file behaves like a regular file, and so can be "
+"modified, truncated, memory-mapped, and so on.  However, unlike a regular "
+"file, it lives in RAM and has a volatile backing storage.  Once all "
+"references to the file are dropped, it is automatically released.  Anonymous "
+"memory is used for all backing pages of the file.  Therefore, files created "
+"by B<memfd_create>()  have the same semantics as other anonymous memory "
+"allocations such as those allocated using B<mmap>(2)  with the "
+"B<MAP_ANONYMOUS> flag."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:58
+msgid ""
+"The initial size of the file is set to 0.  Following the call, the file size "
+"should be set using B<ftruncate>(2).  (Alternatively, the file may be "
+"populated by calls to B<write>(2)  or similar.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:69
+msgid ""
+"The name supplied in I<name> is used as a filename and will be displayed as "
+"the target of the corresponding symbolic link in the directory "
+"I</proc/self/fd/>.  The displayed name is always prefixed with I<memfd:> and "
+"serves only for debugging purposes.  Names do not affect the behavior of the "
+"file descriptor, and as such multiple files can have the same name without "
+"any side effects."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:74
+msgid ""
+"The following values may be bitwise ORed in I<flags> to change the behaviour "
+"of B<memfd_create>():"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/memfd_create.2:74
+#, no-wrap
+msgid "B<MFD_CLOEXEC>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:84
+msgid ""
+"Set the close-on-exec (B<FD_CLOEXEC>)  flag on the new file descriptor.  See "
+"the description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
+"may be useful."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/memfd_create.2:84
+#, no-wrap
+msgid "B<MFD_ALLOW_SEALING>"
+msgstr ""
+
+#.  FIXME Why is the MFD_ALLOW_SEALING behavior not simply the default?
+#.        Is it worth adding some text explaining this?
+#. type: Plain text
+#: build/C/man2/memfd_create.2:100
+msgid ""
+"Allow sealing operations on this file.  See the discussion of the "
+"B<F_ADD_SEALS> and B<F_GET_SEALS> operations in B<fcntl>(2), and also NOTES, "
+"below.  The initial set of seals is empty.  If this flag is not set, the "
+"initial set of seals will be B<F_SEAL_SEAL>, meaning that no other seals can "
+"be set on the file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:104
+msgid "Unused bits in I<flags> must be 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:113
+msgid ""
+"As its return value, B<memfd_create>()  returns a new file descriptor that "
+"can be used to refer to the file.  This file descriptor is opened for both "
+"reading and writing (B<O_RDWR>)  and B<O_LARGEFILE> is set for the "
+"descriptor."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:126
+msgid ""
+"With respect to B<fork>(2)  and B<execve>(2), the usual semantics apply for "
+"the file descriptor created by B<memfd_create>().  A copy of the file "
+"descriptor is inherited by the child produced by B<fork>(2)  and refers to "
+"the same file.  The file descriptor is preserved across B<execve>(2), unless "
+"the close-on-exec flag has been set."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:133
+msgid ""
+"On success, B<memfd_create>()  returns a new file descriptor.  On error, -1 "
+"is returned and I<errno> is set to indicate the error."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:139
+msgid "The address in I<name> points to invalid memory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:146
+msgid ""
+"An unsupported value was specified in one of the arguments: I<flags> "
+"included unknown bits, or I<name> was too long."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:149
+msgid "The per-process limit on open file descriptors has been reached."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:152
+msgid "The system-wide limit on the total number of open files has been reached."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:155
+msgid "There was insufficient memory to create a new anonymous file."
+msgstr ""
+
+#.  FIXME . When glibc support appears, update the following sentence:
+#. type: Plain text
+#: build/C/man2/memfd_create.2:161
+msgid ""
+"The B<memfd_create>()  system call first appeared in Linux 3.17.  Support in "
+"the GNU C library is pending."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:165
+msgid "The B<memfd_create>()  system call is Linux-specific."
+msgstr ""
+
+#.  See also http://lwn.net/Articles/593918/
+#.  and http://lwn.net/Articles/594919/ and http://lwn.net/Articles/591108/
+#. type: Plain text
+#: build/C/man2/memfd_create.2:178
+msgid ""
+"The B<memfd_create>()  system call provides a simple alternative to manually "
+"mounting a I<tmpfs> filesystem and creating and opening a file in that "
+"filesystem.  The primary purpose of B<memfd_create>()  is to create files "
+"and associated file descriptors that are used with the file-sealing APIs "
+"provided by B<fcntl>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:192
+msgid ""
+"The B<memfd_create>()  system call also has uses without file sealing (which "
+"is why file-sealing is disabled, unless explicitly requested with the "
+"B<MFD_ALLOW_SEALING> flag).  In particular, it can be used as an alternative "
+"to creating files in I<tmp> or as an alternative to using the B<open>(2)  "
+"B<O_TMPFILE> in cases where there is no intention to actually link the "
+"resulting file into the filesystem."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/memfd_create.2:192
+#, no-wrap
+msgid "File sealing"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:210
+msgid ""
+"In the absence of file sealing, processes that communicate via shared memory "
+"must either trust each other, or take measures to deal with the possibility "
+"that an untrusted peer may manipulate the shared memory region in "
+"problematic ways.  For example, an untrusted peer might modify the contents "
+"of the shared memory at any time, or shrink the shared memory region.  The "
+"former possibility leaves the local process vulnerable to "
+"time-of-check-to-time-of-use race conditions (typically dealt with by "
+"copying data from the shared memory region before checking and using it).  "
+"The latter possibility leaves the local process vulnerable to B<SIGBUS> "
+"signals when an attempt is made to access a now-nonexistent location in the "
+"shared memory region.  (Dealing with this possibility necessitates the use "
+"of a handler for the B<SIGBUS> signal.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:216
+msgid ""
+"Dealing with untrusted peers imposes extra complexity on code that employs "
+"shared memory.  Memory sealing enables that extra complexity to be "
+"eliminated, by allowing a process to operate secure in the knowledge that "
+"its peer can't modify the shared memory in an undesired fashion."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:218
+msgid "An example of the usage of the sealing mechanism is as follows:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:225
+msgid ""
+"The first process creates a I<tmpfs> file using B<memfd_create>().  The call "
+"yields a file descriptor used in subsequent steps."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:232
+msgid ""
+"The first process sizes the file created in the previous step using "
+"B<ftruncate>(2), maps it using B<mmap>(2), and populates the shared memory "
+"with the desired data."
+msgstr ""
+
+#. type: IP
+#: build/C/man2/memfd_create.2:232
+#, no-wrap
+msgid "3."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:242
+msgid ""
+"The first process uses the B<fcntl>(2)  B<F_ADD_SEALS> operation to place "
+"one or more seals on the file, in order to restrict further modifications on "
+"the file.  (If placing the seal B<F_SEAL_WRITE>, then it will be necessary "
+"to first unmap the shared writable mapping created in the previous step.)"
+msgstr ""
+
+#. type: IP
+#: build/C/man2/memfd_create.2:242
+#, no-wrap
+msgid "4."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:247
+msgid ""
+"A second process obtains a file descriptor for the I<tmpfs> file and maps "
+"it.  Among the possible ways in which this could happen are the following:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:258
+msgid ""
+"The process that called B<memfd_create>()  could transfer the resulting file "
+"descriptor to the second process via a UNIX domain socket (see B<unix>(7)  "
+"and B<cmsg>(3)).  The second process then maps the file using B<mmap>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:266
+msgid ""
+"The second process is created via B<fork>(2)  and thus automatically "
+"inherits the file descriptor and mapping.  (Note that in this case and the "
+"next, there is a natural trust relationship between the two processes, since "
+"they are running under the same user ID.  Therefore, file sealing would not "
+"normally be necessary.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:280
+msgid ""
+"The second process opens the file I</proc/E<lt>pdE<gt>/fd/E<lt>fdE<gt>>, "
+"where I<E<lt>pidE<gt>> is the PID of the first process (the one that called "
+"B<memfd_create>()), and I<E<lt>fdE<gt>> is the number of the file descriptor "
+"returned by the call to B<memfd_create>()  in that process.  The second "
+"process then maps the file using B<mmap>(2)."
+msgstr ""
+
+#. type: IP
+#: build/C/man2/memfd_create.2:281
+#, no-wrap
+msgid "5."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:293
+msgid ""
+"The second process uses the B<fcntl>(2)  B<F_GET_SEALS> operation to "
+"retrieve the bit mask of seals that has been applied to the file.  This bit "
+"mask can be inspected in order to determine what kinds of restrictions have "
+"been placed on file modifications.  If desired, the second process can apply "
+"further seals to impose additional restrictions (so long as the "
+"B<F_SEAL_SEAL> seal has not yet been applied)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:297
+msgid ""
+"Below are shown two example programs that demonstrate the use of "
+"B<memfd_create>()  and the file sealing API."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:312
+msgid ""
+"The first program, I<t_memfd_create.c>, creates a I<tmpfs> file using "
+"B<memfd_create>(), sets a size for the file, maps it into memory, and "
+"optionally places some seals on the file.  The program accepts up to three "
+"command-line arguments, of which the first two are required.  The first "
+"argument is the name to associate with the file, the second argument is the "
+"size to be set for the file, and the optional third is a string of "
+"characters that specify seals to be set on file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:318
+msgid ""
+"The second program, I<t_get_seals.c>, can be used to open an existing file "
+"that was created via B<memfd_create>()  and inspect the set of seals that "
+"have been applied to that file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:323
+msgid ""
+"The following shell session demonstrates the use of these programs.  First "
+"we create a I<tmpfs> file and set some seals on it:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:329
+#, no-wrap
+msgid ""
+"$ B<./t_memfd_create my_memfd_file 4096 sw &>\n"
+"[1] 11775\n"
+"PID: 11775; fd: 3; /proc/11775/fd/3\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:347
+msgid ""
+"At this point, the I<t_memfd_create> program continues to run in the "
+"background.  From another program, we can obtain a file descriptor for the "
+"file created by B<memfd_create>()  by opening the I</proc/PID/fd> file that "
+"corresponds to the descriptor opened by B<memfd_create>().  Using that "
+"pathname, we inspect the content of the I</proc/PID/fd> symbolic link, and "
+"use our I<t_get_seals> program to view the seals that have been placed on "
+"the file:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:354
+#, no-wrap
+msgid ""
+"$ B<readlink /proc/11775/fd/3>\n"
+"/memfd:my_memfd_file (deleted)\n"
+"$ B<./t_get_seals /proc/11775/fd/3>\n"
+"Existing seals: WRITE SHRINK\n"
+msgstr ""
+
+#. type: SS
+#: build/C/man2/memfd_create.2:356
+#, no-wrap
+msgid "Program source: t_memfd_create.c"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:365
+#, no-wrap
+msgid ""
+"#include E<lt>sys/memfd.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:377
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int fd;\n"
+"    unsigned int seals;\n"
+"    char *addr;\n"
+"    char *name, *seals_arg;\n"
+"    ssize_t len;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:388
+#, no-wrap
+msgid ""
+"    if (argc E<lt> 3) {\n"
+"        fprintf(stderr, \"%s name size [seals]\\en\", argv[0]);\n"
+"        fprintf(stderr, \"\\et\\(aqseals\\(aq can contain any of the \"\n"
+"                \"following characters:\\en\");\n"
+"        fprintf(stderr, \"\\et\\etg - F_SEAL_GROW\\en\");\n"
+"        fprintf(stderr, \"\\et\\ets - F_SEAL_SHRINK\\en\");\n"
+"        fprintf(stderr, \"\\et\\etw - F_SEAL_WRITE\\en\");\n"
+"        fprintf(stderr, \"\\et\\etS - F_SEAL_SEAL\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:392
+#, no-wrap
+msgid ""
+"    name = argv[1];\n"
+"    len = atoi(argv[2]);\n"
+"    seals_arg = argv[3];\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:395
+#, no-wrap
+msgid ""
+"    /* Create an anonymous file in tmpfs; allow seals to be\n"
+"       placed on the file */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:399
+#, no-wrap
+msgid ""
+"    fd = memfd_create(name, MFD_ALLOW_SEALING);\n"
+"    if (fd == -1)\n"
+"        errExit(\"memfd_create\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:401
+#, no-wrap
+msgid "    /* Size the file as specified on the command line */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:404
+#, no-wrap
+msgid ""
+"    if (ftruncate(fd, len) == -1)\n"
+"        errExit(\"truncate\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:407
+#, no-wrap
+msgid ""
+"    printf(\"PID: %ld; fd: %d; /proc/%ld/fd/%d\\en\",\n"
+"            (long) getpid(), fd, (long) getpid(), fd);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:410
+#, no-wrap
+msgid ""
+"    /* Code to map the file and populate the mapping with data\n"
+"       omitted */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:413
+#, no-wrap
+msgid ""
+"    /* If a \\(aqseals\\(aq command-line argument was supplied, set some\n"
+"       seals on the file */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:416
+#, no-wrap
+msgid ""
+"    if (seals_arg != NULL) {\n"
+"        seals = 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:425
+#, no-wrap
+msgid ""
+"        if (strchr(seals_arg, \\(aqg\\(aq) != NULL)\n"
+"            seals |= F_SEAL_GROW;\n"
+"        if (strchr(seals_arg, \\(aqs\\(aq) != NULL)\n"
+"            seals |= F_SEAL_SHRINK;\n"
+"        if (strchr(seals_arg, \\(aqw\\(aq) != NULL)\n"
+"            seals |= F_SEAL_WRITE;\n"
+"        if (strchr(seals_arg, \\(aqS\\(aq) != NULL)\n"
+"            seals |= F_SEAL_SEAL;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:429
+#, no-wrap
+msgid ""
+"        if (fcntl(fd, F_ADD_SEALS, seals) == -1)\n"
+"            errExit(\"fcntl\");\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:432
+#, no-wrap
+msgid ""
+"    /* Keep running, so that the file created by memfd_create()\n"
+"       continues to exist */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:434
+#, no-wrap
+msgid "    pause();\n"
+msgstr ""
+
+#. type: SS
+#: build/C/man2/memfd_create.2:438
+#, no-wrap
+msgid "Program source: t_get_seals.c"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:447
+#, no-wrap
+msgid ""
+"#include E<lt>sys/memfd.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:456
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int fd;\n"
+"    unsigned int seals;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:461
+#, no-wrap
+msgid ""
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"%s /proc/PID/fd/FD\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:465
+#, no-wrap
+msgid ""
+"    fd = open(argv[1], O_RDWR);\n"
+"    if (fd == -1)\n"
+"        errExit(\"open\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:469
+#, no-wrap
+msgid ""
+"    seals = fcntl(fd, F_GET_SEALS);\n"
+"    if (seals == -1)\n"
+"        errExit(\"fcntl\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:480
+#, no-wrap
+msgid ""
+"    printf(\"Existing seals:\");\n"
+"    if (seals & F_SEAL_SEAL)\n"
+"        printf(\" SEAL\");\n"
+"    if (seals & F_SEAL_GROW)\n"
+"        printf(\" GROW\");\n"
+"    if (seals & F_SEAL_WRITE)\n"
+"        printf(\" WRITE\");\n"
+"    if (seals & F_SEAL_SHRINK)\n"
+"        printf(\" SHRINK\");\n"
+"    printf(\"\\en\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:483
+#, no-wrap
+msgid ""
+"    /* Code to map the file and access the contents of the\n"
+"       resulting mapping omitted */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/memfd_create.2:493
+msgid "B<fcntl>(2), B<ftruncate>(2), B<mmap>(2), B<shmget>(2), B<shm_open>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man2/s390_pci_mmio_write.2:25
+#, no-wrap
+msgid "S390_PCI_MMIO_WRITE"
+msgstr ""
+
+#. type: TH
+#: build/C/man2/s390_pci_mmio_write.2:25
+#, no-wrap
+msgid "2015-01-15"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:29
+msgid ""
+"s390_pci_mmio_write, s390_pci_mmio_read - transfer data to/from PCI MMIO "
+"memory page"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:32
+#, no-wrap
+msgid "B<#include E<lt>asm/unistd.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:35
+#, no-wrap
+msgid ""
+"B<int s390_pci_mmio_write(unsigned long >I<mmio_addr>B<,>\n"
+"B<                        void *>I<user_buffer>B<, size_t >I<length>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:38
+#, no-wrap
+msgid ""
+"B<int s390_pci_mmio_read(unsigned long >I<mmio_addr>B<,>\n"
+"B<                        void *>I<user_buffer>B<, size_t >I<length>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:57
+msgid ""
+"The B<s390_pci_mmio_write>()  system call writes I<length> bytes of data "
+"from the user-space buffer I<user_buffer> to the PCI MMIO memory location "
+"specified by I<mmio_addr>.  The B<s390_pci_mmio_read>()  system call reads "
+"I<length> bytes of data from the PCI MMIO memory location specified by "
+"I<mmio_addr> to the user-space buffer I<user_buffer>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:68
+msgid ""
+"These system calls must be used instead of the simple assignment or "
+"data-transfer operations that are used to access the PCI MMIO memory areas "
+"mapped to user space on the Linux System z platform.  The address specified "
+"by I<mmio_addr> must belong to a PCI MMIO memory page mapping in the "
+"caller's address space, and the data being written or read must not cross a "
+"page boundary.  The I<length> value cannot be greater than the system page "
+"size."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:77
+msgid ""
+"On success, B<s390_pci_mmio_write>()  and B<s390_pci_mmio_read>()  return "
+"0.  On error, -1 is returned and I<errno> is set to one of the error codes "
+"listed below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:83
+msgid "The address in I<mmio_addr> is invalid."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:87
+msgid ""
+"I<user_buffer> does not point to a valid location in the caller's address "
+"space."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:92
+msgid "Invalid I<length> argument."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:95
+msgid "PCI support is not enabled."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:98
+msgid "Insufficient memory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:100
+msgid "These system calls are available since Linux 3.19."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:103
+msgid ""
+"This Linux-specific system call is available only on the s390 architecture.  "
+"The required PCI support is available beginning with System z EC12."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:107
+msgid ""
+"Glibc does not provide a wrapper for this system call, use B<syscall>(2)  to "
+"call it."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/s390_pci_mmio_write.2:109
+msgid "B<syscall>(2)"
+msgstr ""