OSDN Git Service

(split) LDP: Force update POT and ja.po
[linuxjm/LDP_man-pages.git] / po4a / memory / po / memory.pot
index bb36116..fff764f 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-23 07:53+0900\n"
+"POT-Creation-Date: 2013-03-26 16:48+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:24 build/C/man2/fallocate.2:8 build/C/man2/madvise.2:35 build/C/man3/mallopt.3:24 build/C/man2/mlock.2:27 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:32 build/C/man2/mremap.2:31 build/C/man2/msync.2:25 build/C/man2/posix_fadvise.2:27 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:26 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:43 build/C/man2/shmget.2:36 build/C/man2/shmop.2:39 build/C/man2/subpage_prot.2:28 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: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
 #, no-wrap
 msgid "Linux"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/alloc_hugepages.2:25 build/C/man3/alloca.3:41 build/C/man2/cacheflush.2:24 build/C/man2/fallocate.2:8 build/C/man2/madvise.2:35 build/C/man3/malloc_hook.3:6 build/C/man3/mallopt.3:24 build/C/man2/mlock.2:27 build/C/man2/mmap.2:40 build/C/man2/mmap2.2:29 build/C/man2/mprotect.2:32 build/C/man2/mremap.2:31 build/C/man2/msync.2:25 build/C/man3/mtrace.3:23 build/C/man2/posix_fadvise.2:27 build/C/man3/posix_fallocate.3:23 build/C/man3/posix_memalign.3:28 build/C/man2/readahead.2:28 build/C/man2/remap_file_pages.2:26 build/C/man3/shm_open.3:26 build/C/man7/shm_overview.7:27 build/C/man2/shmctl.2:43 build/C/man2/shmget.2:36 build/C/man2/shmop.2:39 build/C/man2/subpage_prot.2:28 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: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
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:26 build/C/man3/alloca.3:42 build/C/man2/cacheflush.2:25 build/C/man2/fallocate.2:9 build/C/man2/madvise.2:36 build/C/man3/malloc_hook.3:7 build/C/man3/mallopt.3:25 build/C/man2/mlock.2:28 build/C/man2/mmap.2:41 build/C/man2/mmap2.2:30 build/C/man2/mprotect.2:33 build/C/man2/mremap.2:32 build/C/man2/msync.2:26 build/C/man3/mtrace.3:24 build/C/man2/posix_fadvise.2:28 build/C/man3/posix_fallocate.3:24 build/C/man3/posix_memalign.3:29 build/C/man2/readahead.2:29 build/C/man2/remap_file_pages.2:27 build/C/man3/shm_open.3:27 build/C/man7/shm_overview.7:28 build/C/man2/shmctl.2:44 build/C/man2/shmget.2:37 build/C/man2/shmop.2:40 build/C/man2/subpage_prot.2:29 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: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
 #, 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:44 build/C/man2/cacheflush.2:27 build/C/man2/fallocate.2:11 build/C/man2/madvise.2:38 build/C/man3/malloc_hook.3:11 build/C/man3/mallopt.3:27 build/C/man2/mlock.2:30 build/C/man2/mmap.2:43 build/C/man2/mmap2.2:32 build/C/man2/mprotect.2:35 build/C/man2/mremap.2:34 build/C/man2/msync.2:28 build/C/man3/mtrace.3:26 build/C/man2/posix_fadvise.2:30 build/C/man3/posix_fallocate.3:26 build/C/man3/posix_memalign.3:31 build/C/man2/readahead.2:31 build/C/man2/remap_file_pages.2:29 build/C/man3/shm_open.3:29 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: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: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
 #, 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:48 build/C/man2/cacheflush.2:33 build/C/man2/fallocate.2:19 build/C/man2/madvise.2:50 build/C/man3/malloc_hook.3:29 build/C/man3/mallopt.3:31 build/C/man2/mlock.2:40 build/C/man2/mmap.2:52 build/C/man2/mmap2.2:39 build/C/man2/mprotect.2:41 build/C/man2/mremap.2:43 build/C/man2/msync.2:32 build/C/man3/mtrace.3:32 build/C/man2/posix_fadvise.2:49 build/C/man3/posix_fallocate.3:44 build/C/man3/posix_memalign.3:83 build/C/man2/readahead.2:38 build/C/man2/remap_file_pages.2:37 build/C/man3/shm_open.3:41 build/C/man7/shm_overview.7:30 build/C/man2/shmctl.2:54 build/C/man2/shmget.2:47 build/C/man2/shmop.2:51 build/C/man2/subpage_prot.2:36 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: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
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -142,7 +142,7 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:109 build/C/man3/alloca.3:58 build/C/man2/cacheflush.2:52 build/C/man2/fallocate.2:109 build/C/man2/madvise.2:250 build/C/man3/mallopt.3:377 build/C/man2/mlock.2:117 build/C/man2/mmap.2:373 build/C/man2/mmap2.2:50 build/C/man2/mprotect.2:72 build/C/man2/mremap.2:128 build/C/man2/msync.2:68 build/C/man2/posix_fadvise.2:86 build/C/man3/posix_fallocate.3:64 build/C/man3/posix_memalign.3:141 build/C/man2/readahead.2:65 build/C/man2/remap_file_pages.2:122 build/C/man3/shm_open.3:169 build/C/man2/shmctl.2:272 build/C/man2/shmget.2:178 build/C/man2/shmop.2:169 build/C/man2/subpage_prot.2:61 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: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:169 build/C/man2/shmctl.2:274 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
 #, 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:58 build/C/man2/fallocate.2:112 build/C/man2/madvise.2:257 build/C/man3/mallopt.3:382 build/C/man2/mlock.2:123 build/C/man2/mmap.2:390 build/C/man2/mmap2.2:57 build/C/man2/mprotect.2:79 build/C/man2/mremap.2:136 build/C/man2/msync.2:73 build/C/man2/posix_fadvise.2:89 build/C/man3/posix_fallocate.3:70 build/C/man3/posix_memalign.3:155 build/C/man2/readahead.2:71 build/C/man2/remap_file_pages.2:129 build/C/man3/shm_open.3:178 build/C/man2/shmctl.2:294 build/C/man2/shmget.2:182 build/C/man2/shmop.2:183 build/C/man2/subpage_prot.2:66 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:115 build/C/man2/madvise.2:275 build/C/man3/malloc_info.3:53 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:178 build/C/man2/shmctl.2:296 build/C/man2/shmget.2:184 build/C/man2/shmop.2:185 build/C/man2/subpage_prot.2:71 build/C/man2/sync_file_range.2:147
 #, no-wrap
 msgid "ERRORS"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:151
+#: build/C/man2/alloc_hugepages.2:119 build/C/man2/fallocate.2:154
 #, 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:63 build/C/man2/cacheflush.2:74 build/C/man2/fallocate.2:186 build/C/man2/madvise.2:307 build/C/man3/malloc_hook.3:76 build/C/man3/mallopt.3:390 build/C/man2/mlock.2:187 build/C/man2/mmap.2:483 build/C/man2/mmap2.2:73 build/C/man2/mprotect.2:107 build/C/man2/mremap.2:186 build/C/man2/msync.2:96 build/C/man3/mtrace.3:76 build/C/man2/posix_fadvise.2:111 build/C/man3/posix_fallocate.3:101 build/C/man3/posix_memalign.3:180 build/C/man2/readahead.2:87 build/C/man2/remap_file_pages.2:151 build/C/man3/shm_open.3:249 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:366 build/C/man2/shmget.2:229 build/C/man2/shmop.2:226 build/C/man2/subpage_prot.2:91 build/C/man2/sync_file_range.2:180
+#: build/C/man2/alloc_hugepages.2:130 build/C/man3/alloca.3:65 build/C/man2/cacheflush.2:75 build/C/man2/fallocate.2:195 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:61 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:249 build/C/man7/shm_overview.7:101 build/C/man2/shmctl.2:368 build/C/man2/shmget.2:231 build/C/man2/shmop.2:231 build/C/man2/subpage_prot.2:96 build/C/man2/sync_file_range.2:180
 #, 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:71 build/C/man2/madvise.2:328 build/C/man3/malloc_hook.3:78 build/C/man2/mlock.2:214 build/C/man2/mmap.2:501 build/C/man2/mmap2.2:75 build/C/man2/mprotect.2:116 build/C/man2/mremap.2:192 build/C/man3/mtrace.3:78 build/C/man2/posix_fadvise.2:120 build/C/man3/posix_memalign.3:219 build/C/man3/shm_open.3:255 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:371 build/C/man2/shmget.2:235 build/C/man2/shmop.2:245 build/C/man2/subpage_prot.2:93 build/C/man2/sync_file_range.2:183
+#: 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:63 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/man3/shm_open.3:255 build/C/man7/shm_overview.7:103 build/C/man2/shmctl.2:373 build/C/man2/shmget.2:237 build/C/man2/shmop.2:250 build/C/man2/subpage_prot.2:98 build/C/man2/sync_file_range.2:183
 #, no-wrap
 msgid "NOTES"
 msgstr ""
@@ -229,54 +229,54 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:153 build/C/man2/cacheflush.2:88 build/C/man2/fallocate.2:193 build/C/man2/madvise.2:360 build/C/man3/malloc_hook.3:138 build/C/man3/mallopt.3:578 build/C/man2/mlock.2:337 build/C/man2/mmap.2:667 build/C/man2/mmap2.2:94 build/C/man2/mprotect.2:223 build/C/man2/mremap.2:214 build/C/man2/msync.2:122 build/C/man3/mtrace.3:169 build/C/man2/posix_fadvise.2:188 build/C/man3/posix_fallocate.3:130 build/C/man3/posix_memalign.3:275 build/C/man2/readahead.2:98 build/C/man2/remap_file_pages.2:162 build/C/man3/shm_open.3:280 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:410 build/C/man2/shmget.2:298 build/C/man2/shmop.2:290 build/C/man2/subpage_prot.2:126 build/C/man2/sync_file_range.2:222
+#: build/C/man2/alloc_hugepages.2:150 build/C/man3/alloca.3:155 build/C/man2/cacheflush.2:89 build/C/man2/fallocate.2:203 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:260 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:730 build/C/man2/mmap2.2:98 build/C/man2/mprotect.2:229 build/C/man2/mremap.2:214 build/C/man2/msync.2:122 build/C/man3/mtrace.3:172 build/C/man2/posix_fadvise.2:189 build/C/man3/posix_fallocate.3:133 build/C/man3/posix_memalign.3:275 build/C/man2/readahead.2:98 build/C/man2/remap_file_pages.2:164 build/C/man3/shm_open.3:280 build/C/man7/shm_overview.7:127 build/C/man2/shmctl.2:425 build/C/man2/shmget.2:313 build/C/man2/shmop.2:295 build/C/man2/subpage_prot.2:134 build/C/man2/sync_file_range.2:222
 #, no-wrap
 msgid "COLOPHON"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/alloc_hugepages.2:157 build/C/man3/alloca.3:160 build/C/man2/cacheflush.2:95 build/C/man2/fallocate.2:200 build/C/man2/madvise.2:367 build/C/man3/malloc_hook.3:145 build/C/man3/mallopt.3:585 build/C/man2/mlock.2:344 build/C/man2/mmap.2:674 build/C/man2/mmap2.2:101 build/C/man2/mprotect.2:230 build/C/man2/mremap.2:221 build/C/man2/msync.2:129 build/C/man3/mtrace.3:176 build/C/man2/posix_fadvise.2:195 build/C/man3/posix_fallocate.3:137 build/C/man3/posix_memalign.3:282 build/C/man2/readahead.2:105 build/C/man2/remap_file_pages.2:169 build/C/man3/shm_open.3:287 build/C/man7/shm_overview.7:134 build/C/man2/shmctl.2:417 build/C/man2/shmget.2:305 build/C/man2/shmop.2:297 build/C/man2/subpage_prot.2:133 build/C/man2/sync_file_range.2:229
+#: build/C/man2/alloc_hugepages.2:157 build/C/man3/alloca.3:162 build/C/man2/cacheflush.2:96 build/C/man2/fallocate.2:210 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:267 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:737 build/C/man2/mmap2.2:105 build/C/man2/mprotect.2:236 build/C/man2/mremap.2:221 build/C/man2/msync.2:129 build/C/man3/mtrace.3:179 build/C/man2/posix_fadvise.2:196 build/C/man3/posix_fallocate.3:140 build/C/man3/posix_memalign.3:282 build/C/man2/readahead.2:105 build/C/man2/remap_file_pages.2:171 build/C/man3/shm_open.3:287 build/C/man7/shm_overview.7:134 build/C/man2/shmctl.2:432 build/C/man2/shmget.2:320 build/C/man2/shmop.2:302 build/C/man2/subpage_prot.2:141 build/C/man2/sync_file_range.2:229
 msgid ""
-"This page is part of release 3.38 of the Linux I<man-pages> project.  A "
+"This page is part of release 3.50 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/."
 msgstr ""
 
 #. type: TH
-#: build/C/man3/alloca.3:41
+#: build/C/man3/alloca.3:43
 #, no-wrap
 msgid "ALLOCA"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/alloca.3:41
+#: build/C/man3/alloca.3:43
 #, no-wrap
 msgid "2008-01-24"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/alloca.3:41 build/C/man3/malloc_hook.3:6 build/C/man3/mtrace.3:23 build/C/man3/posix_fallocate.3:23 build/C/man3/posix_memalign.3:28
+#: build/C/man3/alloca.3:43 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_usable_size.3:25 build/C/man3/mcheck.3:25 build/C/man3/mtrace.3:25 build/C/man3/posix_fallocate.3:25 build/C/man3/posix_memalign.3:29
 #, no-wrap
 msgid "GNU"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:44
+#: build/C/man3/alloca.3:46
 msgid "alloca - allocate memory that is automatically freed"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:46
+#: build/C/man3/alloca.3:48
 msgid "B<#include E<lt>alloca.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:48
+#: build/C/man3/alloca.3:50
 msgid "B<void *alloca(size_t >I<size>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:58
+#: build/C/man3/alloca.3:60
 msgid ""
 "The B<alloca>()  function allocates I<size> bytes of space in the stack "
 "frame of the caller.  This temporary space is automatically freed when the "
@@ -284,7 +284,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:63
+#: build/C/man3/alloca.3:65
 msgid ""
 "The B<alloca>()  function returns a pointer to the beginning of the "
 "allocated space.  If the allocation causes stack overflow, program behavior "
@@ -292,12 +292,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:65
+#: build/C/man3/alloca.3:67
 msgid "This function is not in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:71
+#: build/C/man3/alloca.3:73
 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 +305,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:86
+#: build/C/man3/alloca.3:88
 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 +315,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:95
+#: build/C/man3/alloca.3:97
 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,18 +323,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:100
+#: build/C/man3/alloca.3:102
 msgid "Do not attempt to B<free>(3)  space allocated by B<alloca>()!"
 msgstr ""
 
 #. type: SS
-#: build/C/man3/alloca.3:100
+#: build/C/man3/alloca.3:102
 #, no-wrap
-msgid "Notes on the GNU Version"
+msgid "Notes on the GNU version"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:122
+#: build/C/man3/alloca.3:124
 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 "
@@ -345,18 +345,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:125
+#: build/C/man3/alloca.3:127
 #, no-wrap
 msgid "    #define alloca(size)   __builtin_alloca (size)\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:128
+#: build/C/man3/alloca.3:130
 msgid "with messy consequences if one has a private version of this function."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:132
+#: build/C/man3/alloca.3:134
 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 "
@@ -364,7 +364,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:136
+#: build/C/man3/alloca.3:138
 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 "
@@ -372,13 +372,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man3/alloca.3:136 build/C/man2/cacheflush.2:81 build/C/man3/mallopt.3:404 build/C/man2/mlock.2:305 build/C/man2/mmap.2:540 build/C/man3/mtrace.3:100 build/C/man2/posix_fadvise.2:177 build/C/man2/shmget.2:284
+#: build/C/man3/alloca.3:138 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:178 build/C/man2/shmget.2:299
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:141
+#: build/C/man3/alloca.3:143
 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 "
@@ -386,7 +386,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:149
+#: build/C/man3/alloca.3:151
 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 "
@@ -394,47 +394,47 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: build/C/man3/alloca.3:149 build/C/man2/fallocate.2:189 build/C/man2/madvise.2:353 build/C/man3/malloc_hook.3:133 build/C/man3/mallopt.3:568 build/C/man2/mlock.2:330 build/C/man2/mmap.2:649 build/C/man2/mmap2.2:88 build/C/man2/mprotect.2:220 build/C/man2/mremap.2:200 build/C/man2/msync.2:118 build/C/man3/mtrace.3:165 build/C/man2/posix_fadvise.2:182 build/C/man3/posix_fallocate.3:126 build/C/man3/posix_memalign.3:270 build/C/man2/readahead.2:92 build/C/man2/remap_file_pages.2:155 build/C/man3/shm_open.3:269 build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:403 build/C/man2/shmget.2:290 build/C/man2/shmop.2:282 build/C/man2/subpage_prot.2:120 build/C/man2/sync_file_range.2:217
+#: build/C/man3/alloca.3:151 build/C/man2/fallocate.2:198 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:254 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:118 build/C/man3/mtrace.3:167 build/C/man2/posix_fadvise.2:183 build/C/man3/posix_fallocate.3:128 build/C/man3/posix_memalign.3:270 build/C/man2/readahead.2:92 build/C/man2/remap_file_pages.2:157 build/C/man3/shm_open.3:269 build/C/man7/shm_overview.7:114 build/C/man2/shmctl.2:418 build/C/man2/shmget.2:305 build/C/man2/shmop.2:287 build/C/man2/subpage_prot.2:128 build/C/man2/sync_file_range.2:217
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/alloca.3:153
+#: build/C/man3/alloca.3:155
 msgid "B<brk>(2), B<longjmp>(3), B<malloc>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/cacheflush.2:24
+#: build/C/man2/cacheflush.2:25
 #, no-wrap
 msgid "CACHEFLUSH"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/cacheflush.2:24
+#: build/C/man2/cacheflush.2:25
 #, no-wrap
 msgid "2007-05-26"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:27
+#: build/C/man2/cacheflush.2:28
 msgid "cacheflush - flush contents of instruction and/or data cache"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:30
+#: build/C/man2/cacheflush.2:31
 #, no-wrap
 msgid "B<#include E<lt>asm/cachectl.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:32
+#: build/C/man2/cacheflush.2:33
 #, no-wrap
 msgid "B<int cacheflush(char *>I<addr>B<, int >I<nbytes>B<, int >I<cache>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:42
+#: build/C/man2/cacheflush.2:43
 msgid ""
 "B<cacheflush>()  flushes the contents of the indicated cache(s) for the user "
 "addresses in the range I<addr> to I<(addr+nbytes-1)>.  I<cache> may be one "
@@ -442,66 +442,66 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:42
+#: build/C/man2/cacheflush.2:43
 #, no-wrap
 msgid "B<ICACHE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:45
+#: build/C/man2/cacheflush.2:46
 msgid "Flush the instruction cache."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:45
+#: build/C/man2/cacheflush.2:46
 #, no-wrap
 msgid "B<DCACHE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:48
+#: build/C/man2/cacheflush.2:49
 msgid "Write back to memory and invalidate the affected valid cache lines."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:48
+#: build/C/man2/cacheflush.2:49
 #, no-wrap
 msgid "B<BCACHE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:52
+#: build/C/man2/cacheflush.2:53
 msgid "Same as B<(ICACHE|DCACHE)>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:58
+#: build/C/man2/cacheflush.2:59
 msgid ""
 "B<cacheflush>()  returns 0 on success or -1 on error.  If errors are "
 "detected, I<errno> will indicate the error."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:59 build/C/man2/mmap2.2:58 build/C/man2/mremap.2:143 build/C/man2/shmctl.2:303 build/C/man2/subpage_prot.2:67
+#: build/C/man2/cacheflush.2:60 build/C/man2/mmap2.2:62 build/C/man2/mremap.2:142 build/C/man2/shmctl.2:305 build/C/man2/subpage_prot.2:72
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:66
+#: build/C/man2/cacheflush.2:67
 msgid ""
 "Some or all of the address range I<addr> to I<(addr+nbytes-1)> is not "
 "accessible."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/cacheflush.2:66 build/C/man2/fallocate.2:124 build/C/man2/madvise.2:264 build/C/man2/mlock.2:158 build/C/man2/mlock.2:165 build/C/man2/mlock.2:177 build/C/man2/mmap.2:421 build/C/man2/mmap.2:429 build/C/man2/mmap.2:434 build/C/man2/mmap2.2:61 build/C/man2/mprotect.2:89 build/C/man2/mremap.2:152 build/C/man2/msync.2:80 build/C/man2/posix_fadvise.2:93 build/C/man3/posix_fallocate.3:79 build/C/man3/posix_memalign.3:156 build/C/man2/readahead.2:76 build/C/man2/remap_file_pages.2:130 build/C/man2/remap_file_pages.2:137 build/C/man3/shm_open.3:211 build/C/man2/shmctl.2:317 build/C/man2/shmget.2:196 build/C/man2/shmop.2:195 build/C/man2/shmop.2:218 build/C/man2/subpage_prot.2:72 build/C/man2/sync_file_range.2:152
+#: build/C/man2/cacheflush.2:67 build/C/man2/fallocate.2:127 build/C/man2/madvise.2:282 build/C/man3/malloc_info.3:54 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:211 build/C/man2/shmctl.2:319 build/C/man2/shmget.2:198 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
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:74
+#: build/C/man2/cacheflush.2:75
 msgid "I<cache> is not one of B<ICACHE>, B<DCACHE>, or B<BCACHE>."
 msgstr ""
 
@@ -510,38 +510,38 @@ msgstr ""
 #.  Investigate the details and update this page.
 #.  Irix 6.5 appears to have a cacheflush() syscall -- mtk
 #. type: Plain text
-#: build/C/man2/cacheflush.2:81
+#: build/C/man2/cacheflush.2:82
 msgid ""
 "This Linux-specific system call is only available on MIPS-based systems.  It "
 "should not be used in programs intended to be portable."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/cacheflush.2:88
+#: build/C/man2/cacheflush.2:89
 msgid ""
 "The current implementation ignores the I<addr> and I<nbytes> arguments.  "
 "Therefore, the whole cache is always flushed."
 msgstr ""
 
 #. type: TH
-#: build/C/man2/fallocate.2:8
+#: build/C/man2/fallocate.2:11
 #, no-wrap
 msgid "FALLOCATE"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/fallocate.2:8
+#: build/C/man2/fallocate.2:11 build/C/man3/posix_fallocate.3:25 build/C/man2/shmop.2:41
 #, no-wrap
-msgid "2012-02-27"
+msgid "2013-02-12"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:11
+#: build/C/man2/fallocate.2:14
 msgid "fallocate - manipulate file space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:15 build/C/man2/readahead.2:35
+#: build/C/man2/fallocate.2:18 build/C/man2/readahead.2:35
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
@@ -549,7 +549,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:18
+#: build/C/man2/fallocate.2:21
 #, no-wrap
 msgid ""
 "B<int fallocate(int >I<fd>B<, int >I<mode>B<, off_t >I<offset>B<, off_t "
@@ -557,7 +557,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:24
+#: build/C/man2/fallocate.2:27
 msgid ""
 "This is a nonportable, Linux-specific system call.  For the portable, "
 "POSIX.1-specified method of ensuring that space is allocated for a file, see "
@@ -565,7 +565,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:34
+#: build/C/man2/fallocate.2:37
 msgid ""
 "B<fallocate>()  allows the caller to directly manipulate the allocated disk "
 "space for the file referred to by I<fd> for the byte range starting at "
@@ -573,7 +573,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:39
+#: build/C/man2/fallocate.2:42
 msgid ""
 "The I<mode> argument determines the operation to be performed on the given "
 "range.  Details of the supported operations are given in the subsections "
@@ -581,13 +581,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/fallocate.2:39
+#: build/C/man2/fallocate.2:42
 #, no-wrap
 msgid "Allocating disk space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:58
+#: build/C/man2/fallocate.2:61
 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 "
@@ -599,7 +599,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:64
+#: build/C/man2/fallocate.2:67
 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 "
@@ -607,7 +607,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:75
+#: build/C/man2/fallocate.2:78
 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 "
@@ -617,20 +617,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:79
+#: build/C/man2/fallocate.2:82
 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:79
+#: build/C/man2/fallocate.2:82
 #, no-wrap
 msgid "Deallocating file space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:94
+#: build/C/man2/fallocate.2:97
 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 "
@@ -641,7 +641,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:105
+#: build/C/man2/fallocate.2:108
 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 "
@@ -649,120 +649,119 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:109
+#: build/C/man2/fallocate.2:112
 msgid ""
 "Not all file systems support B<FALLOC_FL_PUNCH_HOLE>; if a file system "
 "doesn't support the operation, an error is returned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:112
+#: build/C/man2/fallocate.2:115
 msgid "B<fallocate>()  returns zero on success, and -1 on failure."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:113 build/C/man2/madvise.2:261 build/C/man2/mmap.2:415 build/C/man2/posix_fadvise.2:90 build/C/man3/posix_fallocate.3:71 build/C/man2/readahead.2:72 build/C/man2/sync_file_range.2:148
+#: build/C/man2/fallocate.2:116 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
 #, no-wrap
 msgid "B<EBADF>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:117 build/C/man3/posix_fallocate.3:75
+#: build/C/man2/fallocate.2:120 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:117 build/C/man3/posix_fallocate.3:75
+#: build/C/man2/fallocate.2:120 build/C/man3/posix_fallocate.3:77
 #, no-wrap
 msgid "B<EFBIG>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:121
+#: build/C/man2/fallocate.2:124
 msgid "I<offset>+I<len> exceeds the maximum file size."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:121
+#: build/C/man2/fallocate.2:124
 #, no-wrap
 msgid "B<EINTR>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:124
+#: build/C/man2/fallocate.2:127
 msgid "A signal was caught during execution."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:136 build/C/man3/posix_fallocate.3:85
+#: build/C/man2/fallocate.2:139 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: TP
-#: build/C/man2/fallocate.2:136 build/C/man2/madvise.2:292 build/C/man2/sync_file_range.2:160
+#: build/C/man2/fallocate.2:139 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:139
+#: build/C/man2/fallocate.2:142
 msgid "An I/O error occurred while reading from or writing to a file system."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:139 build/C/man2/mmap.2:450 build/C/man3/posix_fallocate.3:85
+#: build/C/man2/fallocate.2:142 build/C/man2/mmap.2:452 build/C/man3/posix_fallocate.3:87
 #, no-wrap
 msgid "B<ENODEV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:146
+#: build/C/man2/fallocate.2:149
 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:146 build/C/man3/posix_fallocate.3:89 build/C/man2/shmget.2:214 build/C/man2/sync_file_range.2:166
+#: build/C/man2/fallocate.2:149 build/C/man3/posix_fallocate.3:91 build/C/man2/shmget.2:216 build/C/man2/sync_file_range.2:166
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:151 build/C/man3/posix_fallocate.3:94
+#: build/C/man2/fallocate.2:154 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:156
-msgid ""
-"The file system containing the file referred to by I<fd> does not support "
-"this operation."
+#: build/C/man2/fallocate.2:158
+msgid "This kernel does not implement B<fallocate>()."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:156
+#: build/C/man2/fallocate.2:158
 #, no-wrap
 msgid "B<EOPNOTSUPP>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:162
+#: build/C/man2/fallocate.2:167
 msgid ""
-"The I<mode> is not supported by the file system containing the file referred "
-"to by I<fd>."
+"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>."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:162 build/C/man2/mlock.2:144 build/C/man2/mlock.2:183 build/C/man2/mmap.2:458 build/C/man2/shmctl.2:342 build/C/man2/shmget.2:222
+#: build/C/man2/fallocate.2:167 build/C/man2/mlock.2:143 build/C/man2/mlock.2:182 build/C/man2/mmap.2:460 build/C/man2/shmctl.2:344 build/C/man2/shmget.2:224
 #, no-wrap
 msgid "B<EPERM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:178
+#: build/C/man2/fallocate.2:183
 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> "
@@ -770,37 +769,39 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/fallocate.2:178 build/C/man2/posix_fadvise.2:96 build/C/man3/posix_fallocate.3:94 build/C/man2/sync_file_range.2:169
+#: build/C/man2/fallocate.2:183 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:182
+#: build/C/man2/fallocate.2:187
 msgid "I<fd> refers to a pipe or FIFO."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/fallocate.2:182 build/C/man2/mmap2.2:70 build/C/man2/posix_fadvise.2:103 build/C/man3/posix_fallocate.3:98 build/C/man3/posix_memalign.3:165 build/C/man2/readahead.2:82 build/C/man2/remap_file_pages.2:146 build/C/man3/shm_open.3:247 build/C/man2/subpage_prot.2:85 build/C/man2/sync_file_range.2:177
+#: build/C/man2/fallocate.2:187 build/C/man3/malloc_info.3:58 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:247 build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:177
 #, no-wrap
 msgid "VERSIONS"
 msgstr ""
 
+#.  See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
 #. type: Plain text
-#: build/C/man2/fallocate.2:186
+#: build/C/man2/fallocate.2:195
 msgid ""
 "B<fallocate>()  is available on Linux since kernel 2.6.23.  Support is "
-"provided by glibc since version 2.10."
+"provided by glibc since version 2.10.  The B<FALLOC_FL_*> flags are defined "
+"in glibc headers only since version 2.18."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:189
+#: build/C/man2/fallocate.2:198
 msgid "B<fallocate>()  is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/fallocate.2:193
-msgid "B<ftruncate>(2), B<posix_fadvise>(3), B<posix_fallocate>(3)"
+#: build/C/man2/fallocate.2:203
+msgid "B<fallocate>(1), B<ftruncate>(2), B<posix_fadvise>(3), B<posix_fallocate>(3)"
 msgstr ""
 
 #. type: TH
@@ -810,9 +811,9 @@ msgid "MADVISE"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/madvise.2:35
+#: build/C/man2/madvise.2:35 build/C/man3/malloc_info.3:25
 #, no-wrap
-msgid "2011-09-18"
+msgid "2012-04-28"
 msgstr ""
 
 #. type: Plain text
@@ -831,7 +832,7 @@ msgid "B<int madvise(void *>I<addr>B<, size_t >I<length>B<, int >I<advice>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:46 build/C/man2/posix_fadvise.2:42 build/C/man3/posix_fallocate.3:37 build/C/man3/posix_memalign.3:48
+#: build/C/man2/madvise.2:46 build/C/man2/posix_fadvise.2:43 build/C/man3/posix_fallocate.3:39 build/C/man3/posix_memalign.3:49
 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
 msgstr ""
 
@@ -1049,7 +1050,7 @@ msgid ""
 "page).  KSM only merges private anonymous pages (see B<mmap>(2)).  The KSM "
 "feature is intended for applications that generate many instances of the "
 "same data (e.g., virtualization systems such as KVM).  It can consume a lot "
-"of processing power; use with care.  See the kernel source file "
+"of processing power; use with care.  See the Linux kernel source file "
 "I<Documentation/vm/ksm.txt> for more details.  The B<MADV_MERGEABLE> and "
 "B<MADV_UNMERGEABLE> operations are only available if the kernel was "
 "configured with B<CONFIG_KSM>."
@@ -1087,13 +1088,13 @@ msgid ""
 "The kernel will also allocate huge pages directly when the region is "
 "naturally aligned to the huge page size (see B<posix_memalign>(2)).  This "
 "feature is primarily aimed at applications that use large mappings of data "
-"and access large regions of that memory at a time (e.g. virtualization "
-"systems such as QEMU).  It can very easily waste memory (e.g. a 2MB mapping "
+"and access large regions of that memory at a time (e.g., virtualization "
+"systems such as QEMU).  It can very easily waste memory (e.g., a 2MB mapping "
 "that only ever accesses 1 byte will result in 2MB of wired memory instead of "
-"one 4KB page).  See the kernel source file I<Documentation/vm/transhuge.txt> "
-"for more details.  The B<MADV_HUGEPAGE> and B<MADV_NOHUGEPAGE> operations "
-"are only available if the kernel was configured with "
-"B<CONFIG_TRANSPARENT_HUGEPAGE>."
+"one 4KB page).  See the Linux kernel source file "
+"I<Documentation/vm/transhuge.txt> for more details.  The B<MADV_HUGEPAGE> "
+"and B<MADV_NOHUGEPAGE> operations are only available if the kernel was "
+"configured with B<CONFIG_TRANSPARENT_HUGEPAGE>."
 msgstr ""
 
 #. type: TP
@@ -1109,36 +1110,63 @@ msgid ""
 "will not be collapsed into huge pages."
 msgstr ""
 
+#. type: TP
+#: build/C/man2/madvise.2:250
+#, no-wrap
+msgid "B<MADV_DONTDUMP> (since Linux 3.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/madvise.2:264
+msgid ""
+"Exclude from a core dump those pages in the range specified by I<addr> and "
+"I<length>.  This is useful in applications that have large areas of memory "
+"that are known not to be useful in a core dump.  The effect of "
+"B<MADV_DONTDUMP> takes precedence over the bit mask that is set via the "
+"I</proc/PID/coredump_filter> file (see B<core>(5))."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/madvise.2:264
+#, no-wrap
+msgid "B<MADV_DODUMP> (since Linux 3.4)"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/madvise.2:257
+#: build/C/man2/madvise.2:268
+msgid "Undo the effect of an earlier B<MADV_DONTDUMP>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/madvise.2:275
 msgid ""
 "On success B<madvise>()  returns zero.  On error, it returns -1 and I<errno> "
 "is set appropriately."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/madvise.2:258 build/C/man2/mlock.2:155 build/C/man2/mmap.2:411 build/C/man2/mremap.2:137
+#: build/C/man2/madvise.2:276 build/C/man2/mlock.2:154 build/C/man2/mmap.2:413 build/C/man2/mremap.2:136
 #, no-wrap
 msgid "B<EAGAIN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:261
+#: build/C/man2/madvise.2:279
 msgid "A kernel resource was temporarily unavailable."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:264
+#: build/C/man2/madvise.2:282
 msgid "The map exists, but the area maps something that isn't a file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:267
+#: build/C/man2/madvise.2:285
 msgid "This error can occur for the following reasons:"
 msgstr ""
 
 #. type: IP
-#: build/C/man2/madvise.2:268 build/C/man2/madvise.2:274 build/C/man2/madvise.2:277 build/C/man2/madvise.2:280 build/C/man2/madvise.2:283 build/C/man3/mallopt.3:233 build/C/man3/mallopt.3:239
+#: 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 ""
@@ -1146,62 +1174,62 @@ msgstr ""
 #.  .I len
 #.  is zero,
 #. type: Plain text
-#: build/C/man2/madvise.2:274
+#: build/C/man2/madvise.2:292
 msgid "The value I<len> is negative."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:277
+#: build/C/man2/madvise.2:295
 msgid "I<addr> is not page-aligned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:280
+#: build/C/man2/madvise.2:298
 msgid "I<advice> is not a valid value"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:283
+#: build/C/man2/madvise.2:301
 msgid ""
 "The application is attempting to release locked or shared pages (with "
 "B<MADV_DONTNEED>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:291
+#: build/C/man2/madvise.2:309
 msgid ""
 "B<MADV_MERGEABLE> or B<MADV_UNMERGEABLE> was specified in I<advice>, but the "
 "kernel was not configured with B<CONFIG_KSM>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:298
+#: build/C/man2/madvise.2:316
 msgid ""
 "(for B<MADV_WILLNEED>)  Paging in this area would exceed the process's "
 "maximum resident set size."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/madvise.2:298 build/C/man2/madvise.2:303 build/C/man2/mlock.2:124 build/C/man2/mlock.2:132 build/C/man2/mlock.2:170 build/C/man2/mmap.2:454 build/C/man2/mprotect.2:94 build/C/man2/mprotect.2:97 build/C/man2/mremap.2:180 build/C/man2/msync.2:93 build/C/man3/posix_memalign.3:162 build/C/man2/shmctl.2:326 build/C/man2/shmget.2:211 build/C/man2/shmop.2:209 build/C/man2/subpage_prot.2:82 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: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:328 build/C/man2/shmget.2:213 build/C/man2/shmop.2:214 build/C/man2/subpage_prot.2:87 build/C/man2/sync_file_range.2:163
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:303
+#: build/C/man2/madvise.2:321
 msgid "(for B<MADV_WILLNEED>)  Not enough memory: paging in failed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:307
+#: build/C/man2/madvise.2:325
 msgid ""
 "Addresses in the specified range are not currently mapped, or are outside "
 "the address space of the process."
 msgstr ""
 
-#.  FIXME . Write a posix_fadvise(3) page.
+#.  FIXME . Write a posix_madvise(3) page.
 #. type: Plain text
-#: build/C/man2/madvise.2:319
+#: build/C/man2/madvise.2:337
 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.  "
@@ -1209,20 +1237,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:328
+#: build/C/man2/madvise.2:346
 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:329 build/C/man2/mlock.2:268 build/C/man2/shmget.2:278
+#: build/C/man2/madvise.2:347 build/C/man2/mlock.2:267 build/C/man2/shmget.2:293
 #, no-wrap
-msgid "Linux Notes"
+msgid "Linux notes"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:337
+#: build/C/man2/madvise.2:355
 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 "
@@ -1235,7 +1263,7 @@ msgstr ""
 #.  .BR madvise ()
 #.  function first appeared in 4.4BSD.
 #. type: Plain text
-#: build/C/man2/madvise.2:353
+#: build/C/man2/madvise.2:371
 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 "
@@ -1245,455 +1273,1539 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/madvise.2:360
+#: build/C/man2/madvise.2:379
 msgid ""
 "B<getrlimit>(2), B<mincore>(2), B<mmap>(2), B<mprotect>(2), B<msync>(2), "
-"B<munmap>(2)"
+"B<munmap>(2), B<core>(5)"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/malloc_hook.3:6
+#: build/C/man3/mallinfo.3:26
 #, no-wrap
-msgid "MALLOC_HOOK"
+msgid "MALLINFO"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/malloc_hook.3:6
+#: build/C/man3/mallinfo.3:26 build/C/man3/malloc_stats.3:26
 #, no-wrap
-msgid "2010-10-13"
+msgid "2012-05-06"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallinfo.3:29
+msgid "mallinfo - obtain memory allocation information"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallinfo.3:31 build/C/man3/malloc_stats.3:31 build/C/man3/malloc_trim.3:31 build/C/man3/malloc_usable_size.3:30 build/C/man3/mallopt.3:31
+msgid "B<#include E<lt>malloc.hE<gt>>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallinfo.3:33
+msgid "B<struct mallinfo mallinfo(void);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:11
+#: build/C/man3/mallinfo.3:41
 msgid ""
-"__malloc_hook, __malloc_initialize_hook, __memalign_hook, __free_hook, "
-"__realloc_hook, __after_morecore_hook - malloc debugging variables"
+"The B<mallinfo>()  function returns a copy of a structure containing "
+"information about memory allocations performed by B<malloc>(3)  and related "
+"functions.  This structure is defined as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:14 build/C/man3/posix_memalign.3:40
+#: build/C/man3/mallinfo.3:56
 #, no-wrap
-msgid "B<#include E<lt>malloc.hE<gt>>\n"
+msgid ""
+"struct mallinfo {\n"
+"    int arena;     /* Non-mmapped space allocated (bytes) */\n"
+"    int ordblks;   /* Number of free chunks */\n"
+"    int smblks;    /* Number of free fastbin blocks */\n"
+"    int hblks;     /* Number of mmapped regions */\n"
+"    int hblkhd;    /* Space allocated in mmapped regions (bytes) */\n"
+"    int usmblks;   /* Maximum total allocated space (bytes) */\n"
+"    int fsmblks;   /* Space in freed fastbin blocks (bytes) */\n"
+"    int uordblks;  /* Total allocated space (bytes) */\n"
+"    int fordblks;  /* Total free space (bytes) */\n"
+"    int keepcost;  /* Top-most, releasable space (bytes) */\n"
+"};\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:16
+#: build/C/man3/mallinfo.3:62
+msgid "The fields of the I<mallinfo> structure contain the following information:"
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:62
 #, no-wrap
-msgid "B<void *(*__malloc_hook)(size_t >I<size>B<, const void *>I<caller>B<);>\n"
+msgid "I<arena>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:19
-#, no-wrap
+#: build/C/man3/mallinfo.3:68
 msgid ""
-"B<void *(*__realloc_hook)(void *>I<ptr>B<, size_t >I<size>B<, const void "
-"*>I<caller>B<);>\n"
+"The total amount of memory allocated by means other than B<mmap>(2)  (i.e., "
+"memory allocated on the heap).  This figure includes both in-use blocks and "
+"blocks on the free list."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:68
+#, no-wrap
+msgid "I<ordblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:22
+#: build/C/man3/mallinfo.3:71
+msgid "The number of ordinary (i.e., non-fastbin) free blocks."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:71
 #, no-wrap
-msgid ""
-"B<void *(*__memalign_hook)(size_t >I<alignment>B<, size_t >I<size>B<,>\n"
-"B<                         const void *>I<caller>B<);>\n"
+msgid "I<smblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:24
+#: build/C/man3/mallinfo.3:75
+msgid "The number of fastbin free blocks (see B<mallopt>(3))."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:75
 #, no-wrap
-msgid "B<void (*__free_hook)(void *>I<ptr>B<, const void *>I<caller>B<);>\n"
+msgid "I<hblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:26
+#: build/C/man3/mallinfo.3:83
+msgid ""
+"The number of blocks currently allocated using B<mmap>(2).  (See the "
+"discussion of B<M_MMAP_THRESHOLD> in B<mallopt>(3).)"
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:83
 #, no-wrap
-msgid "B<void (*__malloc_initialize_hook)(void);>\n"
+msgid "I<hblkhd>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:28
+#: build/C/man3/mallinfo.3:87
+msgid "The number of bytes in blocks currently allocated using B<mmap>(2)."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:87
 #, no-wrap
-msgid "B<void (*__after_morecore_hook)(void);>\n"
+msgid "I<usmblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:39
+#: build/C/man3/mallinfo.3:92
 msgid ""
-"The GNU C library lets you modify the behavior of B<malloc>(3), "
-"B<realloc>(3), and B<free>(3)  by specifying appropriate hook functions.  "
-"You can use these hooks to help you debug programs that use dynamic memory "
-"allocation, for example."
+"The \"highwater mark\" for allocated space\\(emthat is, the maximum amount "
+"of space that was ever allocated.  This field is maintained only in "
+"nonthreading environments."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:92
+#, no-wrap
+msgid "I<fsmblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:46
-msgid ""
-"The variable B<__malloc_initialize_hook> points at a function that is called "
-"once when the malloc implementation is initialized.  This is a weak "
-"variable, so it can be overridden in the application with a definition like "
-"the following:"
+#: build/C/man3/mallinfo.3:95
+msgid "The total number of bytes in fastbin free blocks."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:95
+#, no-wrap
+msgid "I<uordblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:49
+#: build/C/man3/mallinfo.3:98
+msgid "The total number of bytes used by in-use allocations."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallinfo.3:98
 #, no-wrap
-msgid "    void (*__malloc_initialize_hook)(void) = my_init_hook;\n"
+msgid "I<fordblks>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:54
-msgid "Now the function I<my_init_hook>()  can do the initialization of all hooks."
+#: build/C/man3/mallinfo.3:101
+msgid "The total number of bytes in free blocks."
 msgstr ""
 
+#. type: TP
+#: build/C/man3/mallinfo.3:101
+#, no-wrap
+msgid "I<keepcost>"
+msgstr ""
+
+#.  .SH VERSIONS
+#.  Available already in glibc 2.0, possibly earlier
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:70
+#: build/C/man3/mallinfo.3:110
 msgid ""
-"The four functions pointed to by B<__malloc_hook>, B<__realloc_hook>, "
-"B<__memalign_hook>, B<__free_hook> have a prototype like the functions "
-"B<malloc>(3), B<realloc>(3), B<memalign>(3), B<free>(3), respectively, "
-"except that they have a final argument I<caller> that gives the address of "
-"the caller of B<malloc>(3), etc."
+"The total amount of releasable free space at the top of the heap.  This is "
+"the maximum number of bytes that could ideally (i.e., ignoring page "
+"alignment restrictions, and so on) be released by B<malloc_trim>(3)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:76
+#: build/C/man3/mallinfo.3:114
 msgid ""
-"The variable B<__after_morecore_hook> points at a function that is called "
-"each time after B<sbrk>(2)  was asked for more memory."
+"This function is not specified by POSIX or the C standards.  A similar "
+"function exists on many System V derivatives, and was specified in the SVID."
 msgstr ""
 
+#.  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
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:78 build/C/man3/mtrace.3:78
-msgid "These functions are GNU extensions."
+#: build/C/man3/mallinfo.3:126
+msgid ""
+"B<Information is returned for only the main memory allocation area.> "
+"Allocations in other arenas are excluded.  See B<malloc_stats>(3)  and "
+"B<malloc_info>(3)  for alternatives that include information about other "
+"arenas."
 msgstr ""
 
-#.  https://bugzilla.redhat.com/show_bug.cgi?id=450187
-#.  http://sourceware.org/bugzilla/show_bug.cgi?id=9957
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:85
+#: build/C/man3/mallinfo.3:134
 msgid ""
-"The use of these hook functions is not safe in multithreaded programs, and "
-"they are now deprecated.  Programmers should instead preempt calls to the "
-"relevant functions by defining and exporting functions such as \"malloc\" "
-"and \"free\"."
+"The fields of the I<mallinfo> structure are typed as I<int>.  However, "
+"because some internal bookkeeping values may be of type I<long>, the "
+"reported values may wrap around zero and thus be inaccurate."
 msgstr ""
 
 #. type: SH
-#: build/C/man3/malloc_hook.3:85 build/C/man3/mallopt.3:464 build/C/man2/mmap.2:567 build/C/man2/mprotect.2:142 build/C/man3/mtrace.3:106
+#: build/C/man3/mallinfo.3:134 build/C/man3/malloc_hook.3:89 build/C/man3/malloc_info.3:82 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
 #, no-wrap
 msgid "EXAMPLE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:87
-msgid "Here is a short example of how to use these variables."
+#: build/C/man3/mallinfo.3:140
+msgid ""
+"The program below employs B<mallinfo>()  to retrieve memory allocation "
+"statistics before and after allocating and freeing some blocks of memory.  "
+"The statistics are displayed on standard output."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:91
-#, no-wrap
+#: build/C/man3/mallinfo.3:144
 msgid ""
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>malloc.hE<gt>\n"
+"The first two command-line arguments specify the number and size of blocks "
+"to be allocated with B<malloc>(3)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:95
+#: build/C/man3/mallinfo.3:158
+msgid ""
+"The remaining three arguments specify which of the allocated blocks should "
+"be freed with B<free>(3).  These three arguments are optional, and specify "
+"(in order): the step size to be used in the loop that frees blocks (the "
+"default is 1, meaning free all blocks in the range); the ordinal position of "
+"the first block to be freed (default 0, meaning the first allocated block); "
+"and a number one greater than the ordinal position of the last block to be "
+"freed (default is one greater than the maximum block number).  If these "
+"three arguments are omitted, then the defaults cause all allocated blocks to "
+"be freed."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallinfo.3:162
+msgid ""
+"In the following example run of the program, 1000 allocations of 100 bytes "
+"are performed, and then every second allocated block is freed:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallinfo.3:177
 #, no-wrap
 msgid ""
-"/* Prototypes for our hooks.  */\n"
-"static void my_init_hook(void);\n"
-"static void *my_malloc_hook(size_t, const void *);\n"
+"$ B<./a.out 1000 100 2>\n"
+"============== Before allocating blocks ==============\n"
+"Total non-mmapped bytes (arena):       0\n"
+"# of free chunks (ordblks):            1\n"
+"# of free fastbin blocks (smblks):     0\n"
+"# of mapped regions (hblks):           0\n"
+"Bytes in mapped regions (hblkhd):      0\n"
+"Max. total allocated space (usmblks):  0\n"
+"Free bytes held in fastbins (fsmblks): 0\n"
+"Total allocated space (uordblks):      0\n"
+"Total free space (fordblks):           0\n"
+"Topmost releasable block (keepcost):   0\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:98
+#: build/C/man3/mallinfo.3:189
 #, no-wrap
 msgid ""
-"/* Variables to save original hooks. */\n"
-"static void *(*old_malloc_hook)(size_t, const void *);\n"
+"============== After allocating blocks ==============\n"
+"Total non-mmapped bytes (arena):       135168\n"
+"# of free chunks (ordblks):            1\n"
+"# of free fastbin blocks (smblks):     0\n"
+"# of mapped regions (hblks):           0\n"
+"Bytes in mapped regions (hblkhd):      0\n"
+"Max. total allocated space (usmblks):  0\n"
+"Free bytes held in fastbins (fsmblks): 0\n"
+"Total allocated space (uordblks):      104000\n"
+"Total free space (fordblks):           31168\n"
+"Topmost releasable block (keepcost):   31168\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:101
+#: build/C/man3/mallinfo.3:201
 #, no-wrap
 msgid ""
-"/* Override initializing hook from the C library. */\n"
-"void (*__malloc_initialize_hook) (void) = my_init_hook;\n"
+"============== After freeing blocks ==============\n"
+"Total non-mmapped bytes (arena):       135168\n"
+"# of free chunks (ordblks):            501\n"
+"# of free fastbin blocks (smblks):     0\n"
+"# of mapped regions (hblks):           0\n"
+"Bytes in mapped regions (hblkhd):      0\n"
+"Max. total allocated space (usmblks):  0\n"
+"Free bytes held in fastbins (fsmblks): 0\n"
+"Total allocated space (uordblks):      52000\n"
+"Total free space (fordblks):           83168\n"
+"Topmost releasable block (keepcost):   31168\n"
+msgstr ""
+
+#. type: SS
+#: build/C/man3/mallinfo.3:203 build/C/man3/malloc_info.3:165 build/C/man3/mallopt.3:532 build/C/man3/mcheck.3:176 build/C/man2/mprotect.2:165
+#, no-wrap
+msgid "Program source"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:108
+#: build/C/man3/mallinfo.3:208
 #, no-wrap
 msgid ""
-"static void\n"
-"my_init_hook(void)\n"
-"{\n"
-"    old_malloc_hook = __malloc_hook;\n"
-"    __malloc_hook = my_malloc_hook;\n"
-"}\n"
+"#include E<lt>malloc.hE<gt>\n"
+"#include \"tlpi_hdr.h\"\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:113
+#: build/C/man3/mallinfo.3:213
 #, no-wrap
 msgid ""
-"static void *\n"
-"my_malloc_hook(size_t size, const void *caller)\n"
+"static void\n"
+"display_mallinfo(void)\n"
 "{\n"
-"    void *result;\n"
+"    struct mallinfo mi;\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:116
+#: build/C/man3/mallinfo.3:215
 #, no-wrap
-msgid ""
-"    /* Restore all old hooks */\n"
-"    __malloc_hook = old_malloc_hook;\n"
+msgid "    mi = mallinfo();\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:119
+#: build/C/man3/mallinfo.3:227
 #, no-wrap
 msgid ""
-"    /* Call recursively */\n"
-"    result = malloc(size);\n"
+"    printf(\"Total non-mmapped bytes (arena):       %d\\en\", mi.arena);\n"
+"    printf(\"# of free chunks (ordblks):            %d\\en\", mi.ordblks);\n"
+"    printf(\"# of free fastbin blocks (smblks):     %d\\en\", mi.smblks);\n"
+"    printf(\"# of mapped regions (hblks):           %d\\en\", mi.hblks);\n"
+"    printf(\"Bytes in mapped regions (hblkhd):      %d\\en\", mi.hblkhd);\n"
+"    printf(\"Max. total allocated space (usmblks):  %d\\en\", mi.usmblks);\n"
+"    printf(\"Free bytes held in fastbins (fsmblks): %d\\en\", mi.fsmblks);\n"
+"    printf(\"Total allocated space (uordblks):      %d\\en\", "
+"mi.uordblks);\n"
+"    printf(\"Total free space (fordblks):           %d\\en\", "
+"mi.fordblks);\n"
+"    printf(\"Topmost releasable block (keepcost):   %d\\en\", "
+"mi.keepcost);\n"
+"}\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:122
+#: build/C/man3/mallinfo.3:235
 #, no-wrap
 msgid ""
-"    /* Save underlying hooks */\n"
-"    old_malloc_hook = __malloc_hook;\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"#define MAX_ALLOCS 2000000\n"
+"    char *alloc[MAX_ALLOCS];\n"
+"    int numBlocks, j, freeBegin, freeEnd, freeStep;\n"
+"    size_t blockSize;\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:126
+#: build/C/man3/mallinfo.3:239
 #, no-wrap
 msgid ""
-"    /* printf() might call malloc(), so protect it too. */\n"
-"    printf(\"malloc(%u) called from %p returns %p\\en\",\n"
-"            (unsigned int) size, caller, result);\n"
+"    if (argc E<lt> 3 || strcmp(argv[1], \"--help\") == 0)\n"
+"        usageErr(\"%s num-blocks block-size [free-step [start-free \"\n"
+"                \"[end-free]]]\\en\", argv[0]);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:129
+#: build/C/man3/mallinfo.3:245
 #, no-wrap
 msgid ""
-"    /* Restore our own hooks */\n"
-"    __malloc_hook = my_malloc_hook;\n"
+"    numBlocks = atoi(argv[1]);\n"
+"    blockSize = atoi(argv[2]);\n"
+"    freeStep = (argc E<gt> 3) ? atoi(argv[3]) : 1;\n"
+"    freeBegin = (argc E<gt> 4) ? atoi(argv[4]) : 0;\n"
+"    freeEnd = (argc E<gt> 5) ? atoi(argv[5]) : numBlocks;\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:132
+#: build/C/man3/mallinfo.3:248
 #, no-wrap
 msgid ""
-"    return result;\n"
-"}\n"
+"    printf(\"============== Before allocating blocks "
+"==============\\en\");\n"
+"    display_mallinfo();\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/malloc_hook.3:138
-msgid "B<mallinfo>(3), B<malloc>(3), B<mcheck>(3), B<mtrace>(3)"
+#: build/C/man3/mallinfo.3:252
+#, no-wrap
+msgid ""
+"    for (j = 0; j E<lt> numBlocks; j++) {\n"
+"        if (numBlocks E<gt>= MAX_ALLOCS)\n"
+"            fatal(\"Too many allocations\");\n"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/mallopt.3:24
+#. type: Plain text
+#: build/C/man3/mallinfo.3:257
 #, no-wrap
-msgid "MALLOPT"
+msgid ""
+"        alloc[j] = malloc(blockSize);\n"
+"        if (alloc[j] == NULL)\n"
+"            errExit(\"malloc\");\n"
+"    }\n"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/mallopt.3:24 build/C/man3/mtrace.3:23
+#. type: Plain text
+#: build/C/man3/mallinfo.3:260
 #, no-wrap
-msgid "2012-03-22"
+msgid ""
+"    printf(\"\\en============== After allocating blocks "
+"==============\\en\");\n"
+"    display_mallinfo();\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:27
-msgid "mallopt - set memory allocation parameters"
+#: build/C/man3/mallinfo.3:263
+#, no-wrap
+msgid ""
+"    for (j = freeBegin; j E<lt> freeEnd; j += freeStep)\n"
+"        free(alloc[j]);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:29
-msgid "B<#include E<lt>malloc.hE<gt>>"
+#: build/C/man3/mallinfo.3:266
+#, no-wrap
+msgid ""
+"    printf(\"\\en============== After freeing blocks "
+"==============\\en\");\n"
+"    display_mallinfo();\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:31
-msgid "B<int mallopt(int >I<param>B<, int >I<value>B<);>"
+#: build/C/man3/mallinfo.3:269 build/C/man3/malloc_info.3:253 build/C/man3/mallopt.3:565 build/C/man3/mcheck.3:203 build/C/man2/mmap.2:711
+#, no-wrap
+msgid ""
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:42
+#: build/C/man3/mallinfo.3:279
 msgid ""
-"The B<mallopt>()  function adjusts parameters that control the behavior of "
-"the memory-allocation functions (see B<malloc>(3)).  The I<param> argument "
-"specifies the parameter to be modified, and I<value> specifies the new value "
-"for that parameter."
+"B<mmap>(2), B<malloc>(3), B<malloc_info>(3), B<malloc_stats>(3), "
+"B<malloc_trim>(3), B<mallopt>(3)"
 msgstr ""
 
-#. type: Plain text
-#: build/C/man3/mallopt.3:45
-msgid "The following values can be specified for I<param>:"
+#. type: TH
+#: build/C/man3/malloc_get_state.3:25
+#, no-wrap
+msgid "MALLOC_GET_STATE"
 msgstr ""
 
-#. type: TP
-#: build/C/man3/mallopt.3:45
+#. type: TH
+#: build/C/man3/malloc_get_state.3:25
 #, no-wrap
-msgid "B<M_CHECK_ACTION>"
+msgid "2012-05-04"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:51
+#: build/C/man3/malloc_get_state.3:28
 msgid ""
-"Setting this parameter controls how glibc responds when various kinds of "
-"programming errors are detected (e.g., freeing the same pointer twice).  The "
-"3 least significant bits (2, 1, and 0) of the value assigned to this "
-"parameter determine the glibc behavior, as follows:"
+"malloc_get_state, malloc_set_state - record and restore state of malloc "
+"implementation"
 msgstr ""
 
-#. type: TP
-#: build/C/man3/mallopt.3:52
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:31 build/C/man3/posix_memalign.3:35
 #, no-wrap
-msgid "Bit 0"
+msgid "B<#include E<lt>stdlib.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:62
-msgid ""
-"If this bit is set, then print a one-line message on I<stderr> that provides "
-"details about the error.  The message starts with the string \"***\\ glibc "
-"detected\\ ***\", followed by the program name, the name of the "
-"memory-allocation function in which the error was detected, a brief "
-"description of the error, and the memory address where the error was "
-"detected."
+#: build/C/man3/malloc_get_state.3:33
+#, no-wrap
+msgid "B<void* malloc_get_state(void);>\n"
 msgstr ""
 
-#. type: TP
-#: build/C/man3/mallopt.3:62
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:35
 #, no-wrap
-msgid "Bit 1"
+msgid "B<int malloc_set_state(void *>I<state>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:77
+#: build/C/man3/malloc_get_state.3:53
 msgid ""
-"If this bit is set, then, after printing any error message specified by bit "
-"0, the program is terminated by calling B<abort>(3).  In glibc versions "
-"since 2.4, if bit 0 is also set, then, between printing the error message "
-"and aborting, the program also prints a stack trace in the manner of "
-"B<backtrace>(3), and prints the process's memory mapping in the style of "
-"I</proc/[pid]/maps> (see B<proc>(5))."
+"The B<malloc_get_state>()  function records the current state of all "
+"B<malloc>(3)  internal bookkeeping variables (but not the actual contents of "
+"the heap or the state of B<malloc_hook>(3)  functions pointers).  The state "
+"is recorded in a system-dependent opaque data structure dynamically "
+"allocated via B<malloc>(3), and a pointer to that data structure is returned "
+"as the function result.  (It is the caller's responsibility to B<free>(3)  "
+"this memory.)"
 msgstr ""
 
-#. type: TP
-#: build/C/man3/mallopt.3:77
-#, no-wrap
-msgid "Bit 2 (since glibc 2.4)"
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:61
+msgid ""
+"The B<malloc_set_state>()  function restores the state of all B<malloc>(3)  "
+"internal bookkeeping variables to the values recorded in the opaque data "
+"structure pointed to by I<state>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:84
+#: build/C/man3/malloc_get_state.3:68
 msgid ""
-"This bit has an effect only if bit 0 is also set.  If this bit is set, then "
+"On success, B<malloc_get_state>()  returns a pointer to a newly allocated "
+"opaque data structure.  On error (for example, memory could not be allocated "
+"for the data structure), B<malloc_get_state>()  returns NULL."
+msgstr ""
+
+#.  if(ms->magic != MALLOC_STATE_MAGIC) return -1;
+#.  /* Must fail if the major version is too high. */
+#.  if((ms->version & ~0xffl) > (MALLOC_STATE_VERSION & ~0xffl)) return -2;
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:86
+msgid ""
+"On success, B<malloc_set_state>()  returns 0.  If the implementation detects "
+"that I<state> does not point to a correctly formed data structure, "
+"B<malloc_set_state>()  returns -1.  If the implementation detects that the "
+"version of the data structure referred to by I<state> is a more recent "
+"version than this implementation knows about, B<malloc_set_state>()  returns "
+"-2."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:88 build/C/man3/malloc_hook.3:82 build/C/man3/mcheck.3:147 build/C/man3/mtrace.3:80
+msgid "These functions are GNU extensions."
+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."
+msgstr ""
+
+#.  i.e., calls __malloc_check_init()
+#.  i.e., malloc checking is not already in use
+#.  and the caller requested malloc checking
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:111
+msgid ""
+"Hook function pointers are never saved or restored by these functions, with "
+"two exceptions: if malloc checking (see B<mallopt>(3))  was in use when "
+"B<malloc_get_state>()  was called, then B<malloc_set_state>()  resets malloc "
+"checking hooks if possible; if malloc checking was not in use in the "
+"recorded state, but the caller has requested malloc checking, then the hooks "
+"are reset to 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_get_state.3:114
+msgid "B<malloc>(3), B<mallopt>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_hook.3:10
+#, no-wrap
+msgid "MALLOC_HOOK"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_hook.3:10
+#, no-wrap
+msgid "2010-10-13"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:15
+msgid ""
+"__malloc_hook, __malloc_initialize_hook, __memalign_hook, __free_hook, "
+"__realloc_hook, __after_morecore_hook - malloc debugging variables"
+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"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:23
+#, no-wrap
+msgid ""
+"B<void *(*__realloc_hook)(void *>I<ptr>B<, size_t >I<size>B<, const void "
+"*>I<caller>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:26
+#, no-wrap
+msgid ""
+"B<void *(*__memalign_hook)(size_t >I<alignment>B<, size_t >I<size>B<,>\n"
+"B<                         const void *>I<caller>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:28
+#, no-wrap
+msgid "B<void (*__free_hook)(void *>I<ptr>B<, const void *>I<caller>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:30
+#, no-wrap
+msgid "B<void (*__malloc_initialize_hook)(void);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:32
+#, no-wrap
+msgid "B<void (*__after_morecore_hook)(void);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:43
+msgid ""
+"The GNU C library lets you modify the behavior of B<malloc>(3), "
+"B<realloc>(3), and B<free>(3)  by specifying appropriate hook functions.  "
+"You can use these hooks to help you debug programs that use dynamic memory "
+"allocation, for example."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:50
+msgid ""
+"The variable B<__malloc_initialize_hook> points at a function that is called "
+"once when the malloc implementation is initialized.  This is a weak "
+"variable, so it can be overridden in the application with a definition like "
+"the following:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:53
+#, no-wrap
+msgid "    void (*__malloc_initialize_hook)(void) = my_init_hook;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:58
+msgid "Now the function I<my_init_hook>()  can do the initialization of all hooks."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:74
+msgid ""
+"The four functions pointed to by B<__malloc_hook>, B<__realloc_hook>, "
+"B<__memalign_hook>, B<__free_hook> have a prototype like the functions "
+"B<malloc>(3), B<realloc>(3), B<memalign>(3), B<free>(3), respectively, "
+"except that they have a final argument I<caller> that gives the address of "
+"the caller of B<malloc>(3), etc."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:80
+msgid ""
+"The variable B<__after_morecore_hook> points at a function that is called "
+"each time after B<sbrk>(2)  was asked for more memory."
+msgstr ""
+
+#.  https://bugzilla.redhat.com/show_bug.cgi?id=450187
+#.  http://sourceware.org/bugzilla/show_bug.cgi?id=9957
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:89
+msgid ""
+"The use of these hook functions is not safe in multithreaded programs, and "
+"they are now deprecated.  Programmers should instead preempt calls to the "
+"relevant functions by defining and exporting functions such as \"malloc\" "
+"and \"free\"."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:91
+msgid "Here is a short example of how to use these variables."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:95
+#, no-wrap
+msgid ""
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>malloc.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:99
+#, no-wrap
+msgid ""
+"/* Prototypes for our hooks.  */\n"
+"static void my_init_hook(void);\n"
+"static void *my_malloc_hook(size_t, const void *);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:102
+#, no-wrap
+msgid ""
+"/* Variables to save original hooks. */\n"
+"static void *(*old_malloc_hook)(size_t, const void *);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:105
+#, no-wrap
+msgid ""
+"/* Override initializing hook from the C library. */\n"
+"void (*__malloc_initialize_hook) (void) = my_init_hook;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:112
+#, no-wrap
+msgid ""
+"static void\n"
+"my_init_hook(void)\n"
+"{\n"
+"    old_malloc_hook = __malloc_hook;\n"
+"    __malloc_hook = my_malloc_hook;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:117
+#, no-wrap
+msgid ""
+"static void *\n"
+"my_malloc_hook(size_t size, const void *caller)\n"
+"{\n"
+"    void *result;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:120
+#, no-wrap
+msgid ""
+"    /* Restore all old hooks */\n"
+"    __malloc_hook = old_malloc_hook;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:123
+#, no-wrap
+msgid ""
+"    /* Call recursively */\n"
+"    result = malloc(size);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:126
+#, no-wrap
+msgid ""
+"    /* Save underlying hooks */\n"
+"    old_malloc_hook = __malloc_hook;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:130
+#, no-wrap
+msgid ""
+"    /* printf() might call malloc(), so protect it too. */\n"
+"    printf(\"malloc(%u) called from %p returns %p\\en\",\n"
+"            (unsigned int) size, caller, result);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:133
+#, no-wrap
+msgid ""
+"    /* Restore our own hooks */\n"
+"    __malloc_hook = my_malloc_hook;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:136
+#, no-wrap
+msgid ""
+"    return result;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_hook.3:142
+msgid "B<mallinfo>(3), B<malloc>(3), B<mcheck>(3), B<mtrace>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_info.3:25
+#, no-wrap
+msgid "MALLOC_INFO"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:28
+msgid "malloc_info - export malloc state to a stream"
+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"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:44
+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))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:48
+msgid "As currently implemented, I<options> must be zero."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:53
+msgid "On success, B<malloc_info>()  returns 0; on error, it returns -1."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:58
+msgid "I<options> was nonzero."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:61
+msgid "B<malloc_info>()  was added to glibc in version 2.10."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:63 build/C/man3/malloc_stats.3:57 build/C/man3/malloc_trim.3:62 build/C/man3/malloc_usable_size.3:50
+msgid "This function is a GNU extension."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:69
+msgid ""
+"The memory-allocation information is provided as an XML string (rather than "
+"a C structure)  because the information may change over time (according to "
+"changes in the underlying implementation).  The output XML string includes a "
+"version field."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:75
+msgid ""
+"The B<open_memstream>(3)  function can be used to send the output of "
+"B<malloc_info>()  directly into a buffer in memory, rather than to a file."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:82
+msgid ""
+"The B<malloc_info>()  function is designed to address deficiencies in "
+"B<malloc_stats>(3)  and B<mallinfo>(3)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:93
+msgid ""
+"The program below takes up to four command-line arguments, of which the "
+"first three are mandatory.  The first argument specifies the number of "
+"threads that the program should create.  All of the threads, including the "
+"main thread, allocate the number of blocks of memory specified by the second "
+"argument.  The third argument controls the size of the blocks to be "
+"allocated.  The main thread creates blocks of this size, the second thread "
+"created by the program allocates blocks of twice this size, the third thread "
+"allocates blocks of three times this size, and so on."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:100
+msgid ""
+"The program calls B<malloc_info>()  twice to display the memory-allocation "
+"state.  The first call takes place before any threads are created or memory "
+"allocated.  The second call is performed after all threads have allocated "
+"memory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:108
+msgid ""
+"In the following example, the command-line arguments specify the creation of "
+"one additional thread, and both the main thread and the additional thread "
+"allocate 10000 blocks of memory.  After the blocks of memory have been "
+"allocated, B<malloc_info>()  shows the state of two allocation arenas."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:133
+#, no-wrap
+msgid ""
+"$ B<getconf GNU_LIBC_VERSION>\n"
+"glibc 2.13\n"
+"$ B<./a.out 1 10000 100>\n"
+"============ Before allocating blocks ============\n"
+"E<lt>malloc version=\"1\"E<gt>\n"
+"E<lt>heap nr=\"0\"E<gt>\n"
+"E<lt>sizesE<gt>\n"
+"E<lt>/sizesE<gt>\n"
+"E<lt>total type=\"fast\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>total type=\"rest\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>system type=\"current\" size=\"135168\"/E<gt>\n"
+"E<lt>system type=\"max\" size=\"135168\"/E<gt>\n"
+"E<lt>aspace type=\"total\" size=\"135168\"/E<gt>\n"
+"E<lt>aspace type=\"mprotect\" size=\"135168\"/E<gt>\n"
+"E<lt>/heapE<gt>\n"
+"E<lt>total type=\"fast\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>total type=\"rest\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>system type=\"current\" size=\"135168\"/E<gt>\n"
+"E<lt>system type=\"max\" size=\"135168\"/E<gt>\n"
+"E<lt>aspace type=\"total\" size=\"135168\"/E<gt>\n"
+"E<lt>aspace type=\"mprotect\" size=\"135168\"/E<gt>\n"
+"E<lt>/mallocE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:163
+#, no-wrap
+msgid ""
+"============ After allocating blocks ============\n"
+"E<lt>malloc version=\"1\"E<gt>\n"
+"E<lt>heap nr=\"0\"E<gt>\n"
+"E<lt>sizesE<gt>\n"
+"E<lt>/sizesE<gt>\n"
+"E<lt>total type=\"fast\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>total type=\"rest\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>system type=\"current\" size=\"1081344\"/E<gt>\n"
+"E<lt>system type=\"max\" size=\"1081344\"/E<gt>\n"
+"E<lt>aspace type=\"total\" size=\"1081344\"/E<gt>\n"
+"E<lt>aspace type=\"mprotect\" size=\"1081344\"/E<gt>\n"
+"E<lt>/heapE<gt>\n"
+"E<lt>heap nr=\"1\"E<gt>\n"
+"E<lt>sizesE<gt>\n"
+"E<lt>/sizesE<gt>\n"
+"E<lt>total type=\"fast\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>total type=\"rest\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>system type=\"current\" size=\"1032192\"/E<gt>\n"
+"E<lt>system type=\"max\" size=\"1032192\"/E<gt>\n"
+"E<lt>aspace type=\"total\" size=\"1032192\"/E<gt>\n"
+"E<lt>aspace type=\"mprotect\" size=\"1032192\"/E<gt>\n"
+"E<lt>/heapE<gt>\n"
+"E<lt>total type=\"fast\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>total type=\"rest\" count=\"0\" size=\"0\"/E<gt>\n"
+"E<lt>system type=\"current\" size=\"2113536\"/E<gt>\n"
+"E<lt>system type=\"max\" size=\"2113536\"/E<gt>\n"
+"E<lt>aspace type=\"total\" size=\"2113536\"/E<gt>\n"
+"E<lt>aspace type=\"mprotect\" size=\"2113536\"/E<gt>\n"
+"E<lt>/mallocE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:173
+#, no-wrap
+msgid ""
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>pthread.hE<gt>\n"
+"#include E<lt>malloc.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:176
+#, no-wrap
+msgid ""
+"static size_t blockSize;\n"
+"static int numThreads, numBlocks;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:179
+#, no-wrap
+msgid ""
+"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"                        } while (0)\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:185
+#, no-wrap
+msgid ""
+"static void *\n"
+"thread_func(void *arg)\n"
+"{\n"
+"    int j;\n"
+"    int tn = (int) arg;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:188
+#, no-wrap
+msgid ""
+"    /* The multiplier \\(aq(2 + tn)\\(aq ensures that each thread "
+"(including\n"
+"       the main thread) allocates a different amount of memory */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:192
+#, no-wrap
+msgid ""
+"    for (j = 0; j E<lt> numBlocks; j++)\n"
+"        if (malloc(blockSize * (2 + tn)) == NULL)\n"
+"            errExit(\"malloc-thread\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:196
+#, no-wrap
+msgid ""
+"    sleep(100);         /* Sleep until main thread terminates */\n"
+"    return NULL;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:202
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int j, tn, sleepTime;\n"
+"    pthread_t *thr;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:209
+#, no-wrap
+msgid ""
+"    if (argc E<lt> 4) {\n"
+"        fprintf(stderr,\n"
+"                \"%s num-threads num-blocks block-size [sleep-time]\\en\",\n"
+"                argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:214
+#, no-wrap
+msgid ""
+"    numThreads = atoi(argv[1]);\n"
+"    numBlocks = atoi(argv[2]);\n"
+"    blockSize = atoi(argv[3]);\n"
+"    sleepTime = (argc E<gt> 4) ? atoi(argv[4]) : 0;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:218
+#, no-wrap
+msgid ""
+"    thr = calloc(numThreads, sizeof(pthread_t));\n"
+"    if (thr == NULL)\n"
+"        errExit(\"calloc\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:221
+#, no-wrap
+msgid ""
+"    printf(\"============ Before allocating blocks ============\\en\");\n"
+"    malloc_info(0, stdout);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:223
+#, no-wrap
+msgid "    /* Create threads that allocate different amounts of memory */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:229
+#, no-wrap
+msgid ""
+"    for (tn = 0; tn E<lt> numThreads; tn++) {\n"
+"        errno = pthread_create(&thr[tn], NULL, thread_func,\n"
+"                               (void *) tn);\n"
+"        if (errno != 0)\n"
+"            errExit(\"pthread_create\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:234
+#, no-wrap
+msgid ""
+"        /* If we add a sleep interval after the start-up of each\n"
+"           thread, the threads likely won\\(aqt contend for malloc\n"
+"           mutexes, and therefore additional arenas won\\(aqt be\n"
+"           allocated (see malloc(3)). */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:238
+#, no-wrap
+msgid ""
+"        if (sleepTime E<gt> 0)\n"
+"            sleep(sleepTime);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:240
+#, no-wrap
+msgid "    /* The main thread also allocates some memory */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:244
+#, no-wrap
+msgid ""
+"    for (j = 0; j E<lt> numBlocks; j++)\n"
+"        if (malloc(blockSize) == NULL)\n"
+"            errExit(\"malloc\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:247
+#, no-wrap
+msgid ""
+"    sleep(2);           /* Give all threads a chance to\n"
+"                           complete allocations */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:250
+#, no-wrap
+msgid ""
+"    printf(\"\\en============ After allocating blocks ============\\en\");\n"
+"    malloc_info(0, stdout);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_info.3:260
+msgid ""
+"B<mallinfo>(3), B<malloc>(3), B<malloc_stats>(3), B<mallopt>(3), "
+"B<open_memstream>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_stats.3:26
+#, no-wrap
+msgid "MALLOC_STATS"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_stats.3:29
+msgid "malloc_stats - print memory allocation statistics"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_stats.3:33
+msgid "B<void malloc_stats(void);>"
+msgstr ""
+
+#.  .SH VERSIONS
+#.  Available already in glibc 2.0, possibly earlier
+#. type: Plain text
+#: build/C/man3/malloc_stats.3:55
+msgid ""
+"The B<malloc_stats>()  function prints (on standard error) statistics about "
+"memory allocated by B<malloc>(3)  and related functions.  For each arena "
+"(allocation area), this function prints the total amount of memory allocated "
+"and the total number of bytes consumed by in-use allocations.  (These two "
+"values correspond to the I<arena> and I<uordblks> fields retrieved by "
+"B<mallinfo>(3).)  In addition, the function prints the sum of these two "
+"statistics for all arenas, and the maximum number of blocks and bytes that "
+"were ever simultaneously allocated using B<mmap>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_stats.3:61
+msgid ""
+"More detailed information about memory allocations in the main arena can be "
+"obtained using B<mallinfo>(3)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_stats.3:67
+msgid "B<mmap>(2), B<mallinfo>(3), B<malloc>(3), B<malloc_info>(3), B<mallopt>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_trim.3:26
+#, no-wrap
+msgid "MALLOC_TRIM"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_trim.3:26 build/C/man3/malloc_usable_size.3:25
+#, no-wrap
+msgid "2012-03-29"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:29
+msgid "malloc_trim - release free memory from the top of the heap"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:33
+msgid "B<void malloc_trim(size_t >I<pad>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:40
+msgid ""
+"The B<malloc_trim>()  function attempts to release free memory at the top of "
+"the heap (by calling B<sbrk>(2)  with a suitable argument)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:51
+msgid ""
+"The I<pad> argument specifies the amount of free space to leave untrimmed at "
+"the top of the heap.  If this argument is 0, only the minimum amount of "
+"memory is maintained at the top of the heap (i.e., one page or less).  A "
+"nonzero argument can be used to maintain some trailing space at the top of "
+"the heap in order to allow future allocations to be made without having to "
+"extend the heap with B<sbrk>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:56
+msgid ""
+"The B<malloc_trim>()  function returns 1 if memory was actually released "
+"back to the system, or 0 if it was not possible to release any memory."
+msgstr ""
+
+#.  .SH VERSIONS
+#.  Available already in glibc 2.0, possibly earlier
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:60
+msgid "No errors are defined."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:71
+msgid ""
+"This function is automatically called by B<free>(3)  in certain "
+"circumstances; see the discussion of B<M_TOP_PAD> and B<M_TRIM_THRESHOLD> in "
+"B<mallopt>(3)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:74
+msgid ""
+"This function cannot release free memory located at places other than the "
+"top of the heap."
+msgstr ""
+
+#.  malloc/malloc.c::mTRIm():
+#.      return result | (av == &main_arena ? sYSTRIm (pad, av) : 0);
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:78
+msgid "This function releases only memory in the main arena."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_trim.3:82
+msgid "B<sbrk>(2), B<malloc>(3), B<mallopt>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/malloc_usable_size.3:25
+#, no-wrap
+msgid "MALLOC_USABLE_SIZE"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:28
+msgid "malloc_usable_size - obtain size of block of memory allocated from heap"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:32
+msgid "B<size_t malloc_usable_size (void *>I<ptr>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:40
+msgid ""
+"The B<malloc_usable_size>()  function returns the number of usable bytes in "
+"the block pointed to by I<ptr>, a pointer to a block of memory allocated by "
+"B<malloc>(3)  or a related function."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:48
+msgid ""
+"B<malloc_usable_size>()  returns the number of usable bytes in the block of "
+"allocated memory pointed to by I<ptr>.  If I<ptr> is NULL, 0 is returned."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:60
+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 "
+"constraints.  Although the excess bytes can be overwritten by the "
+"application without ill effects, this is not good programming practice: the "
+"number of excess bytes in an allocation depends on the underlying "
+"implementation."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:62
+msgid "The main use of this function is for debugging and introspection."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/malloc_usable_size.3:64
+msgid "B<malloc>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/mallopt.3:26
+#, no-wrap
+msgid "MALLOPT"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/mallopt.3:26
+#, no-wrap
+msgid "2012-04-30"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:29
+msgid "mallopt - set memory allocation parameters"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:33
+msgid "B<int mallopt(int >I<param>B<, int >I<value>B<);>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:44
+msgid ""
+"The B<mallopt>()  function adjusts parameters that control the behavior of "
+"the memory-allocation functions (see B<malloc>(3)).  The I<param> argument "
+"specifies the parameter to be modified, and I<value> specifies the new value "
+"for that parameter."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:47
+msgid "The following values can be specified for I<param>:"
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallopt.3:47
+#, no-wrap
+msgid "B<M_CHECK_ACTION>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:53
+msgid ""
+"Setting this parameter controls how glibc responds when various kinds of "
+"programming errors are detected (e.g., freeing the same pointer twice).  The "
+"3 least significant bits (2, 1, and 0) of the value assigned to this "
+"parameter determine the glibc behavior, as follows:"
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallopt.3:54
+#, no-wrap
+msgid "Bit 0"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:64
+msgid ""
+"If this bit is set, then print a one-line message on I<stderr> that provides "
+"details about the error.  The message starts with the string \"***\\ glibc "
+"detected\\ ***\", followed by the program name, the name of the "
+"memory-allocation function in which the error was detected, a brief "
+"description of the error, and the memory address where the error was "
+"detected."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallopt.3:64
+#, no-wrap
+msgid "Bit 1"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:79
+msgid ""
+"If this bit is set, then, after printing any error message specified by bit "
+"0, the program is terminated by calling B<abort>(3).  In glibc versions "
+"since 2.4, if bit 0 is also set, then, between printing the error message "
+"and aborting, the program also prints a stack trace in the manner of "
+"B<backtrace>(3), and prints the process's memory mapping in the style of "
+"I</proc/[pid]/maps> (see B<proc>(5))."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mallopt.3:79
+#, no-wrap
+msgid "Bit 2 (since glibc 2.4)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:86
+msgid ""
+"This bit has an effect only if bit 0 is also set.  If this bit is set, then "
 "the one-line message describing the error is simplified to contain just the "
 "name of the function where the error was detected and the brief description "
 "of the error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:89
+#: build/C/man3/mallopt.3:91
 msgid "The remaining bits in I<value> are ignored."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:93
+#: build/C/man3/mallopt.3:95
 msgid ""
 "Combining the above details, the following numeric values are meaningful for "
 "B<M_CHECK_ACTION>:"
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:94
+#: build/C/man3/mallopt.3:96
 #, no-wrap
 msgid "0"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:96
+#: build/C/man3/mallopt.3:98
 msgid "Ignore error conditions; continue execution (with undefined results)."
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:96
+#: build/C/man3/mallopt.3:98
 #, no-wrap
 msgid "1"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:98
+#: build/C/man3/mallopt.3:100
 msgid "Print a detailed error message and continue execution."
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:98
+#: build/C/man3/mallopt.3:100
 #, no-wrap
 msgid "2"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:100
+#: build/C/man3/mallopt.3:102
 msgid "Abort the program."
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:100
+#: build/C/man3/mallopt.3:102
 #, no-wrap
 msgid "3"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:103
+#: build/C/man3/mallopt.3:105
 msgid ""
 "Print detailed error message, stack trace, and memory mappings, and abort "
 "the program."
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:103
+#: build/C/man3/mallopt.3:105
 #, no-wrap
 msgid "5"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:105
+#: build/C/man3/mallopt.3:107
 msgid "Print a simple error message and continue execution."
 msgstr ""
 
 #. type: IP
-#: build/C/man3/mallopt.3:105
+#: build/C/man3/mallopt.3:107
 #, no-wrap
 msgid "7"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:108
+#: build/C/man3/mallopt.3:110
 msgid ""
 "Print simple error message, stack trace, and memory mappings, and abort the "
 "program."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:114
+#: build/C/man3/mallopt.3:116
 msgid ""
 "Since glibc 2.3.4, the default value for the B<M_CHECK_ACTION> parameter is "
 "3.  In glibc version 2.3.3 and earlier, the default value is 1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:119
+#: build/C/man3/mallopt.3:121
 msgid ""
 "Using a nonzero B<M_CHECK_ACTION> value can be useful because otherwise a "
 "crash may happen much later, and the true cause of the problem is then very "
@@ -1701,14 +2813,14 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:119
+#: build/C/man3/mallopt.3:121
 #, no-wrap
 msgid "B<M_MMAP_MAX>"
 msgstr ""
 
 #.  The following text adapted from comments in the glibc source:
 #. type: Plain text
-#: build/C/man3/mallopt.3:129
+#: build/C/man3/mallopt.3:131
 msgid ""
 "This parameter specifies the maximum number of allocation requests that may "
 "be simultaneously serviced using B<mmap>(2).  This parameter exists because "
@@ -1717,7 +2829,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:136
+#: build/C/man3/mallopt.3:138
 msgid ""
 "The default value is 65,536, a value which has no special significance and "
 "which servers only as a safeguard.  Setting this parameter to 0 disables the "
@@ -1725,13 +2837,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:136
+#: build/C/man3/mallopt.3:138
 #, no-wrap
 msgid "B<M_MMAP_THRESHOLD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:145
+#: build/C/man3/mallopt.3:147
 msgid ""
 "For allocations greater than or equal to the limit specified (in bytes) by "
 "B<M_MMAP_THRESHOLD> that can't be satisfied from the free list, the "
@@ -1740,7 +2852,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:165
+#: build/C/man3/mallopt.3:167
 msgid ""
 "Allocating memory using B<mmap>(2)  has the significant advantage that the "
 "allocated memory blocks can always be independently released back to the "
@@ -1754,7 +2866,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:172
+#: build/C/man3/mallopt.3:174
 msgid ""
 "The lower limit for this parameter is 0.  The upper limit is "
 "B<DEFAULT_MMAP_THRESHOLD_MAX>: 512*1024 on 32-bit systems or "
@@ -1762,7 +2874,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:190
+#: build/C/man3/mallopt.3:192
 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 "
@@ -1776,14 +2888,14 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:190
+#: build/C/man3/mallopt.3:192
 #, no-wrap
 msgid "B<M_MXFAST> (since glibc 2.3)"
 msgstr ""
 
 #.  The following text adapted from comments in the glibc sources:
 #. type: Plain text
-#: build/C/man3/mallopt.3:210
+#: build/C/man3/mallopt.3:212
 msgid ""
 "Set the upper limit for memory allocation requests that are satisfied using "
 "\"fastbins\".  (The measurement unit for this parameter is bytes.)  Fastbins "
@@ -1798,31 +2910,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:210
+#: build/C/man3/mallopt.3:212
 #, no-wrap
 msgid "B<M_PERTURB> (since glibc 2.4)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:225
+#: build/C/man3/mallopt.3:227
 msgid ""
 "If this parameter is set to a nonzero value, then bytes of allocated memory "
 "(other than allocations via B<calloc>(3))  are initialized to the complement "
 "of the value in the least significant byte of I<value>, and when allocated "
-"memory is released using B<free>(3), the freed bytes are ANded with the "
-"value in the least significant byte of I<value>.  This can be useful for "
-"detecting errors where programs incorrectly rely on allocated memory being "
-"initialized to zero, or reuse values in memory that has already been freed."
+"memory is released using B<free>(3), the freed bytes are set to the least "
+"significant byte of I<value>.  This can be useful for detecting errors where "
+"programs incorrectly rely on allocated memory being initialized to zero, or "
+"reuse values in memory that has already been freed."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:225
+#: build/C/man3/mallopt.3:227
 #, no-wrap
 msgid "B<M_TOP_PAD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:232
+#: build/C/man3/mallopt.3:234
 msgid ""
 "This parameter defines the amount of padding to employ when calling "
 "B<sbrk>(2)  to modify the program break.  (The measurement unit for this "
@@ -1831,14 +2943,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:239
+#: build/C/man3/mallopt.3:241
 msgid ""
 "When the program break is increased, then B<M_TOP_PAD> bytes are added to "
 "the B<sbrk>(2)  request."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:245
+#: build/C/man3/mallopt.3:247
 msgid ""
 "When the heap is trimmed as a consequence of calling B<free>(3)  (see the "
 "discussion of B<M_TRIM_THRESHOLD>)  this much free space is preserved at the "
@@ -1846,14 +2958,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:249
+#: build/C/man3/mallopt.3:251
 msgid ""
 "In either case, the amount of padding is always rounded to a system page "
 "boundary."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:256
+#: build/C/man3/mallopt.3:258
 msgid ""
 "Modifying B<M_TOP_PAD> is a trade-off between increasing the number of "
 "system calls (when the parameter is set low)  and wasting unused memory at "
@@ -1862,18 +2974,18 @@ msgstr ""
 
 #.  DEFAULT_TOP_PAD in glibc source
 #. type: Plain text
-#: build/C/man3/mallopt.3:259
+#: build/C/man3/mallopt.3:261
 msgid "The default value for this parameter is 128*1024."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:259
+#: build/C/man3/mallopt.3:261
 #, no-wrap
 msgid "B<M_TRIM_THRESHOLD>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:275
+#: build/C/man3/mallopt.3:277
 msgid ""
 "When the amount of contiguous free memory at the top of the heap grows "
 "sufficiently large, B<free>(3)  employs B<sbrk>(2)  to release this memory "
@@ -1884,7 +2996,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:280
+#: build/C/man3/mallopt.3:282
 msgid ""
 "The default value for this parameter is 128*1024.  Setting "
 "B<M_TRIM_THRESHOLD> to -1 disables trimming completely."
@@ -1906,7 +3018,7 @@ msgstr ""
 #.  These macros aren't enabled in production releases until 2.15?
 #.  (see glibc malloc/Makefile)
 #. type: Plain text
-#: build/C/man3/mallopt.3:303
+#: build/C/man3/mallopt.3:305
 msgid ""
 "Modifying B<M_TRIM_THRESHOLD> is a trade-off between increasing the number "
 "of system calls (when the parameter is set low)  and wasting unused memory "
@@ -1914,13 +3026,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man3/mallopt.3:303
+#: build/C/man3/mallopt.3:305
 #, no-wrap
-msgid "Environment Variables"
+msgid "Environment variables"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:318
+#: build/C/man3/mallopt.3:320
 msgid ""
 "A number of environment variables can be defined to modify some of the same "
 "parameters as are controlled by B<mallopt>().  Using these variables has the "
@@ -1933,14 +3045,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:321
+#: build/C/man3/mallopt.3:323
 msgid ""
 "The environment variables are as follows (note the trailing underscore at "
 "the end of the name of each variable):"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:321
+#: build/C/man3/mallopt.3:323
 #, no-wrap
 msgid "B<MALLOC_CHECK_>"
 msgstr ""
@@ -1948,7 +3060,7 @@ msgstr ""
 #.  On glibc 2.12/x86, a simple malloc()+free() loop is about 70% slower
 #.  when MALLOC_CHECK_ was set.
 #. type: Plain text
-#: build/C/man3/mallopt.3:338
+#: build/C/man3/mallopt.3:340
 msgid ""
 "This environment variable controls the same parameter as B<mallopt>()  "
 "B<M_CHECK_ACTION>.  If this variable is set to a nonzero value, then a "
@@ -1960,7 +3072,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:343
+#: build/C/man3/mallopt.3:345
 msgid ""
 "The value assigned to this environment variable should be a single digit, "
 "whose meaning is as described for B<M_CHECK_ACTION>.  Any characters beyond "
@@ -1968,7 +3080,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:352
+#: build/C/man3/mallopt.3:354
 msgid ""
 "For security reasons, the effect of B<MALLOC_CHECK_> is disabled by default "
 "for set-user-ID and set-group-ID programs.  However, if the file "
@@ -1978,75 +3090,75 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:352
+#: build/C/man3/mallopt.3:354
 #, no-wrap
 msgid "B<MALLOC_MMAP_MAX_>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:357
+#: build/C/man3/mallopt.3:359
 msgid "Controls the same parameter as B<mallopt>()  B<M_MMAP_MAX>."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:357
+#: build/C/man3/mallopt.3:359
 #, no-wrap
 msgid "B<MALLOC_MMAP_THRESHOLD_>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:362
+#: build/C/man3/mallopt.3:364
 msgid "Controls the same parameter as B<mallopt>()  B<M_MMAP_THRESHOLD>."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:362
+#: build/C/man3/mallopt.3:364
 #, no-wrap
 msgid "B<MALLOC_PERTURB_>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:367
+#: build/C/man3/mallopt.3:369
 msgid "Controls the same parameter as B<mallopt>()  B<M_PERTURB>."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:367
+#: build/C/man3/mallopt.3:369
 #, no-wrap
 msgid "B<MALLOC_TRIM_THRESHOLD_>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:372
+#: build/C/man3/mallopt.3:374
 msgid "Controls the same parameter as B<mallopt>()  B<M_TRIM_THRESHOLD>."
 msgstr ""
 
 #. type: TP
-#: build/C/man3/mallopt.3:372
+#: build/C/man3/mallopt.3:374
 #, no-wrap
 msgid "B<MALLOC_TOP_PAD_>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:377
+#: build/C/man3/mallopt.3:379
 msgid "Controls the same parameter as B<mallopt>()  B<M_TOP_PAD>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:382
+#: build/C/man3/mallopt.3:384
 msgid "On success, B<mallopt>()  returns 1.  On error, it returns 0."
 msgstr ""
 
 #.  .SH VERSIONS
 #.  Available already in glibc 2.0, possibly earlier
 #. type: Plain text
-#: build/C/man3/mallopt.3:390
+#: build/C/man3/mallopt.3:392
 msgid "On error, I<errno> is I<not> set."
 msgstr ""
 
 #.  .SH NOTES
 #. type: Plain text
-#: build/C/man3/mallopt.3:404
+#: build/C/man3/mallopt.3:406
 msgid ""
 "This function is not specified by POSIX or the C standards.  A similar "
 "function exists on many System V derivatives, but the range of values for "
@@ -2056,7 +3168,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:408
+#: build/C/man3/mallopt.3:410
 msgid "Specifying an invalid value for I<param> does not generate an error."
 msgstr ""
 
@@ -2066,247 +3178,488 @@ msgstr ""
 #.     (req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK
 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12129
 #. type: Plain text
-#: build/C/man3/mallopt.3:416
+#: build/C/man3/mallopt.3:418
 msgid ""
 "A calculation error within the glibc implementation means that a call of the "
 "form:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:419
+#: build/C/man3/mallopt.3:421
+#, no-wrap
+msgid "    mallopt(M_MXFAST, n)\n"
+msgstr ""
+
+#.  Bins are multiples of 2 * sizeof(size_t) + sizeof(size_t)
+#. type: Plain text
+#: build/C/man3/mallopt.3:433
+msgid ""
+"does not result in fastbins being employed for all allocations of size up to "
+"I<n>.  To ensure desired results, I<n> should be rounded up to the next "
+"multiple greater than or equal to I<(2k+1)*sizeof(size_t)>, where I<k> is an "
+"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
+#. 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
+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 "
+"I<value>, and when that memory is freed, the bytes of the region are "
+"initialized to the byte specified in I<value>.  However, there is an "
+"off-by-I<sizeof(size_t)> error in the implementation: instead of "
+"initializing precisely the block of memory being freed by the call "
+"I<free(p)>, the block starting at I<p+sizeof(size_t)> is initialized."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:475
+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 "
+"used to set the B<M_CHECK_ACTION> parameter.  The program then allocates a "
+"block of memory, and frees it twice (an error)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:479
+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
+#, no-wrap
+msgid ""
+"$ B<./a.out>\n"
+"main(): returned from first free() call\n"
+"*** glibc detected *** ./a.out: double free or corruption (top): 0x09d30008 "
+"***\n"
+"======= Backtrace: =========\n"
+"/lib/libc.so.6(+0x6c501)[0x523501]\n"
+"/lib/libc.so.6(+0x6dd70)[0x524d70]\n"
+"/lib/libc.so.6(cfree+0x6d)[0x527e5d]\n"
+"\\&./a.out[0x80485db]\n"
+"/lib/libc.so.6(__libc_start_main+0xe7)[0x4cdce7]\n"
+"\\&./a.out[0x8048471]\n"
+"======= Memory map: ========\n"
+"001e4000-001fe000 r-xp 00000000 08:06 1083555    /lib/libgcc_s.so.1\n"
+"001fe000-001ff000 r--p 00019000 08:06 1083555    /lib/libgcc_s.so.1\n"
+"[some lines omitted]\n"
+"b7814000-b7817000 rw-p 00000000 00:00 0\n"
+"bff53000-bff74000 rw-p 00000000 00:00 0          [stack]\n"
+"Aborted (core dumped)\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:504
+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
+#, no-wrap
+msgid ""
+"$ B<./a.out 1>             # Diagnose error and continue\n"
+"main(): returned from first free() call\n"
+"*** glibc detected *** ./a.out: double free or corruption (top): 0x09cbe008 "
+"***\n"
+"main(): returned from second free() call\n"
+"$ B<./a.out 2>             # Abort without error message\n"
+"main(): returned from first free() call\n"
+"Aborted (core dumped)\n"
+"$ B<./a.out 0>             # Ignore error and continue\n"
+"main(): returned from first free() call\n"
+"main(): returned from second free() call\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:523
+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
+#, no-wrap
+msgid ""
+"$ B<MALLOC_CHECK_=1 ./a.out>\n"
+"main(): returned from first free() call\n"
+"*** glibc detected *** ./a.out: free(): invalid pointer: 0x092c2008 ***\n"
+"main(): returned from second free() call\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:538
+#, no-wrap
+msgid ""
+"#include E<lt>malloc.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:543 build/C/man3/mcheck.3:187
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    char *p;\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:550
+#, no-wrap
+msgid ""
+"    if (argc E<gt> 1) {\n"
+"        if (mallopt(M_CHECK_ACTION, atoi(argv[1])) != 1) {\n"
+"            fprintf(stderr, \"mallopt() failed\");\n"
+"            exit(EXIT_FAILURE);\n"
+"        }\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:556
+#, no-wrap
+msgid ""
+"    p = malloc(1000);\n"
+"    if (p == NULL) {\n"
+"        fprintf(stderr, \"malloc() failed\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:559
+#, no-wrap
+msgid ""
+"    free(p);\n"
+"    printf(\"main(): returned from first free() call\\en\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:562
+#, no-wrap
+msgid ""
+"    free(p);\n"
+"    printf(\"main(): returned from second free() call\\en\");\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mallopt.3:580
+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), "
+"B<mtrace>(3), B<posix_memalign>(3)"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/mcheck.3:25
+#, no-wrap
+msgid "MCHECK"
+msgstr ""
+
+#. type: TH
+#: build/C/man3/mcheck.3:25 build/C/man3/mtrace.3:25
+#, no-wrap
+msgid "2012-04-18"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:28
+msgid ""
+"mcheck, mcheck_check_all, mcheck_pedantic, mprobe - heap consistency "
+"checking"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:31
+#, no-wrap
+msgid "B<#include E<lt>mcheck.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:33
+#, no-wrap
+msgid "B<int mcheck(void (*>I<abortfunc>B<)(enum mcheck_status >I<mstatus>B<));>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:35
+#, no-wrap
+msgid ""
+"B<int mcheck_pedantic(void (*>I<abortfunc>B<)(enum mcheck_status "
+">I<mstatus>B<));>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:37
+#, no-wrap
+msgid "B<void mcheck_check_all(void);>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:39
 #, no-wrap
-msgid "    mallopt(M_MXFAST, n)\n"
+msgid "B<enum mcheck_status mprobe(void *>I<ptr>B<);>\n"
 msgstr ""
 
-#.  Bins are multiples of 2 * sizeof(size_t) + sizeof(size_t)
 #. type: Plain text
-#: build/C/man3/mallopt.3:431
+#: build/C/man3/mcheck.3:51
 msgid ""
-"does not result in fastbins being employed for all allocations of size up to "
-"I<n>.  To ensure desired results, I<n> should be rounded up to the next "
-"multiple greater than or equal to I<(2k+1)*sizeof(size_t)>, where I<k> is an "
-"integer."
+"The B<mcheck>()  function installs a set of debugging hooks for the "
+"B<malloc>(3)  family of memory-allocation functions.  These hooks cause "
+"certain consistency checks to be performed on the state of the heap.  The "
+"checks can detect application errors such as freeing a block of memory more "
+"than once or corrupting the bookkeeping data structures that immediately "
+"precede a block of allocated memory."
 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
 #. type: Plain text
-#: build/C/man3/mallopt.3:443
+#: build/C/man3/mcheck.3:63
 msgid ""
-"The B<MALLOC_MMAP_THRESHOLD_> and B<MALLOC_MMAP_MAX_> variables are I<not> "
-"ignored in set-group-ID programs."
+"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."
 msgstr ""
 
-#.  FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12140
 #. type: Plain text
-#: build/C/man3/mallopt.3:464
+#: build/C/man3/mcheck.3:71
 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 "
-"I<value>, and when that memory is freed, the bytes of the region are "
-"initialized to the byte specified in I<value>.  However, there is an "
-"off-by-I<sizeof(size_t)> error in the implementation: instead of "
-"initializing precisely the block of memory being freed by the call "
-"I<free(p)>, the block starting at I<p+sizeof(size_t)> is initialized."
+"The B<mcheck_pedantic>()  function is similar to B<mcheck>(), but performs "
+"checks on all allocated blocks whenever one of the memory-allocation "
+"functions is called.  This can be very slow!"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:473
+#: build/C/man3/mcheck.3:78
 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 "
-"used to set the B<M_CHECK_ACTION> parameter.  The program then allocates a "
-"block of memory, and frees it twice (an error)."
+"The B<mcheck_check_all>()  function causes an immediate check on all "
+"allocated blocks.  This call is only effective if B<mcheck>()  is called "
+"beforehand."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:477
+#: build/C/man3/mcheck.3:91
 msgid ""
-"The following shell session shows what happens when we run this program "
-"under glibc, with the default value for B<M_CHECK_ACTION>:"
+"If the system detects an inconsistency in the heap, the caller-supplied "
+"function pointed to by I<abortfunc> is invoked with a single argument "
+"argument, I<mstatus>, that indicates what type of inconsistency was "
+"detected.  If I<abortfunc> is NULL, a default function prints an error "
+"message on I<stderr> and calls B<abort>(3)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:496
-#, no-wrap
+#: build/C/man3/mcheck.3:103
 msgid ""
-"$ B<./a.out>\n"
-"*** glibc detected *** ./a.out: double free or corruption (top): 0x09d30008 "
-"***\n"
-"======= Backtrace: =========\n"
-"/lib/libc.so.6(+0x6c501)[0x523501]\n"
-"/lib/libc.so.6(+0x6dd70)[0x524d70]\n"
-"/lib/libc.so.6(cfree+0x6d)[0x527e5d]\n"
-"\\&./a.out[0x80485db]\n"
-"/lib/libc.so.6(__libc_start_main+0xe7)[0x4cdce7]\n"
-"\\&./a.out[0x8048471]\n"
-"======= Memory map: ========\n"
-"001e4000-001fe000 r-xp 00000000 08:06 1083555    /lib/libgcc_s.so.1\n"
-"001fe000-001ff000 r--p 00019000 08:06 1083555    /lib/libgcc_s.so.1\n"
-"[some lines omitted]\n"
-"b7814000-b7817000 rw-p 00000000 00:00 0\n"
-"bff53000-bff74000 rw-p 00000000 00:00 0          [stack]\n"
-"Aborted (core dumped)\n"
+"The B<mprobe>()  function performs a consistency check on the block of "
+"allocated memory pointed to by I<ptr>.  The B<mcheck>()  function should be "
+"called beforehand (otherwise B<mprobe>()  returns B<MCHECK_DISABLED>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:501
+#: build/C/man3/mcheck.3:111
 msgid ""
-"The following runs show the results when employing other values for "
-"B<M_CHECK_ACTION:>"
+"The following list describes the values returned by B<mprobe>()  or passed "
+"as the I<mstatus> argument when I<abortfunc> is invoked:"
 msgstr ""
 
-#. type: Plain text
-#: build/C/man3/mallopt.3:514
+#. type: TP
+#: build/C/man3/mcheck.3:111
 #, no-wrap
-msgid ""
-"$ B<./a.out 1>             # Diagnose error and continue\n"
-"main(): returned from first free() call\n"
-"*** glibc detected *** ./a.out: double free or corruption (top): 0x09cbe008 "
-"***\n"
-"main(): returned from second free() call\n"
-"$ B<./a.out 2>             # Abort without error message\n"
-"main(): returned from first free() call\n"
-"Aborted (core dumped)\n"
-"$ B<./a.out 0>             # Ignore error and continue\n"
-"main(): returned from first free() call\n"
-"main(): returned from second free() call\n"
+msgid "B<MCHECK_DISABLED> (B<mprobe>() only)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:520
+#: build/C/man3/mcheck.3:116
 msgid ""
-"The next run shows how to set the same parameter using the B<MALLOC_CHECK_> "
-"environment variable:"
+"B<mcheck>()  was not called before the first memory allocation function was "
+"called.  Consistency checking is not possible."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mcheck.3:116
+#, no-wrap
+msgid "B<MCHECK_OK> (B<mprobe>() only)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:527
+#: build/C/man3/mcheck.3:119
+msgid "No inconsistency detected."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mcheck.3:119
 #, no-wrap
-msgid ""
-"$ B<MALLOC_CHECK_=1 ./a.out>\n"
-"main(): returned from first free() call\n"
-"*** glibc detected *** ./a.out: free(): invalid pointer: 0x092c2008 ***\n"
-"main(): returned from second free() call\n"
+msgid "B<MCHECK_HEAD>"
 msgstr ""
 
-#. type: SS
-#: build/C/man3/mallopt.3:529 build/C/man2/mprotect.2:159
+#. type: Plain text
+#: build/C/man3/mcheck.3:122
+msgid "Memory preceding an allocated block was clobbered."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mcheck.3:122
 #, no-wrap
-msgid "Program source"
+msgid "B<MCHECK_TAIL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:535
+#: build/C/man3/mcheck.3:125
+msgid "Memory following an allocated block was clobbered."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/mcheck.3:125
 #, no-wrap
+msgid "B<MCHECK_FREE>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:129
+msgid "A block of memory was freed twice."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:134
+msgid "B<mcheck>()  and B<mcheck_pedantic>()  return 0 on success, or -1 on error."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:145
 msgid ""
-"#include E<lt>malloc.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
+"The B<mcheck_pedantic>()  and B<mcheck_check_all>()  functions are available "
+"since glibc 2.2.  The B<mcheck>()  and B<mprobe>()  functions are present "
+"since at least glibc 2.0"
 msgstr ""
 
+#.  But is MALLOC_CHECK_ slower?
 #. type: Plain text
-#: build/C/man3/mallopt.3:540
-#, no-wrap
+#: build/C/man3/mcheck.3:159
 msgid ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    char *p;\n"
+"Linking a program with I<-lmcheck> and using the B<MALLOC_CHECK_> "
+"environment variable (described in B<mallopt>(3))  cause the same kinds of "
+"errors to be detected.  But, using B<MALLOC_CHECK_> does not require the "
+"application to be relinked."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:547
-#, no-wrap
+#: build/C/man3/mcheck.3:165
 msgid ""
-"    if (argc E<gt> 1) {\n"
-"        if (argc != 2) {\n"
-"            fprintf(stderr, \"%s E<lt>M_CHECK_ACTION-valueE<gt>\\en\", "
-"argv[0]);\n"
-"            exit(EXIT_FAILURE);\n"
-"        }\n"
-"    }\n"
+"The program below calls B<mcheck>()  with a NULL argument and then frees the "
+"same block of memory twice.  The following shell session demonstrates what "
+"happens when running the program:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:552
+#: build/C/man3/mcheck.3:170
 #, no-wrap
 msgid ""
-"    if (mallopt(M_CHECK_ACTION, atoi(argv[1])) != 1) {\n"
-"        fprintf(stderr, \"mallopt() failed\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"$B< ./a.out>\n"
+"About to free\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:558
+#: build/C/man3/mcheck.3:174
 #, no-wrap
 msgid ""
-"    p = malloc(1000);\n"
-"    if (p == NULL) {\n"
-"        fprintf(stderr, \"malloc() failed\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"About to free a second time\n"
+"block freed twice\n"
+"Aborted (core dumped)\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:561
+#: build/C/man3/mcheck.3:182
 #, no-wrap
 msgid ""
-"    free(p);\n"
-"    printf(\"main(): returned from first free() call\\en\");\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>mcheck.hE<gt>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:564
+#: build/C/man3/mcheck.3:190
 #, no-wrap
 msgid ""
-"    free(p);\n"
-"    printf(\"main(): returned from second free() call\\en\");\n"
+"    if (mcheck(NULL) != 0) {\n"
+"        fprintf(stderr, \"mcheck() failed\\en\");\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:567 build/C/man2/mmap.2:648
+#: build/C/man3/mcheck.3:193
 #, no-wrap
 msgid ""
-"    exit(EXIT_SUCCESS);\n"
-"}\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:195
+#, no-wrap
+msgid "    p = malloc(1000);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mallopt.3:578
+#: build/C/man3/mcheck.3:200
+#, no-wrap
 msgid ""
-"B<mmap>(2)  B<sbrk>(2), B<mallinfo>(3), B<malloc>(3), B<malloc_hook>(3), "
-"B<mtrace>(3), B<posix_memalign>(3)"
+"    fprintf(stderr, \"About to free\\en\");\n"
+"    free(p);\n"
+"    fprintf(stderr, \"\\enAbout to free a second time\\en\");\n"
+"    free(p);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/mcheck.3:208
+msgid "B<malloc>(3), B<mallopt>(3), B<mtrace>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mlock.2:27
+#: build/C/man2/mlock.2:26
 #, no-wrap
 msgid "MLOCK"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mlock.2:27
+#: build/C/man2/mlock.2:26
 #, no-wrap
 msgid "2011-09-14"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:30
+#: build/C/man2/mlock.2:29
 msgid "mlock, munlock, mlockall, munlockall - lock and unlock memory"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:33 build/C/man2/mmap.2:46 build/C/man2/mmap2.2:35 build/C/man2/mprotect.2:38 build/C/man2/mremap.2:39
+#: 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
 #, no-wrap
 msgid "B<#include E<lt>sys/mman.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:36
+#: build/C/man2/mlock.2:35
 #, no-wrap
 msgid ""
 "B<int mlock(const void *>I<addr>B<, size_t >I<len>B<);>\n"
@@ -2314,7 +3667,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:39
+#: build/C/man2/mlock.2:38
 #, no-wrap
 msgid ""
 "B<int mlockall(int >I<flags>B<);>\n"
@@ -2322,7 +3675,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:55
+#: build/C/man2/mlock.2:54
 msgid ""
 "B<mlock>()  and B<mlockall>()  respectively lock part or all of the calling "
 "process's virtual address space into RAM, preventing that memory from being "
@@ -2335,13 +3688,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mlock.2:55
+#: build/C/man2/mlock.2:54
 #, no-wrap
 msgid "mlock() and munlock()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:65
+#: build/C/man2/mlock.2:64
 msgid ""
 "B<mlock>()  locks pages in the address range starting at I<addr> and "
 "continuing for I<len> bytes.  All pages that contain a part of the specified "
@@ -2350,7 +3703,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:74
+#: build/C/man2/mlock.2:73
 msgid ""
 "B<munlock>()  unlocks pages in the address range starting at I<addr> and "
 "continuing for I<len> bytes.  After this call, all pages that contain a part "
@@ -2359,13 +3712,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mlock.2:74
+#: build/C/man2/mlock.2:73
 #, no-wrap
 msgid "mlockall() and munlockall()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:84
+#: build/C/man2/mlock.2:83
 msgid ""
 "B<mlockall>()  locks all pages mapped into the address space of the calling "
 "process.  This includes the pages of the code, data and stack segment, as "
@@ -2376,33 +3729,33 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:89
+#: build/C/man2/mlock.2:88
 msgid ""
 "The I<flags> argument is constructed as the bitwise OR of one or more of the "
 "following constants:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mlock.2:89
+#: build/C/man2/mlock.2:88
 #, no-wrap
 msgid "B<MCL_CURRENT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:93
+#: build/C/man2/mlock.2:92
 msgid ""
 "Lock all pages which are currently mapped into the address space of the "
 "process."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mlock.2:93
+#: build/C/man2/mlock.2:92
 #, no-wrap
 msgid "B<MCL_FUTURE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:100
+#: build/C/man2/mlock.2:99
 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 "
@@ -2411,7 +3764,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:113
+#: build/C/man2/mlock.2:112
 msgid ""
 "If B<MCL_FUTURE> has been specified, then a later system call (e.g., "
 "B<mmap>(2), B<sbrk>(2), B<malloc>(3)), may fail if it would cause the number "
@@ -2421,14 +3774,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:117
+#: build/C/man2/mlock.2:116
 msgid ""
 "B<munlockall>()  unlocks all pages mapped into the address space of the "
 "calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:123
+#: build/C/man2/mlock.2:122
 msgid ""
 "On success these system calls return 0.  On error, -1 is returned, I<errno> "
 "is set appropriately, and no changes are made to any locks in the address "
@@ -2436,7 +3789,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:132
+#: build/C/man2/mlock.2:131
 msgid ""
 "(Linux 2.6.9 and later) the caller had a nonzero B<RLIMIT_MEMLOCK> soft "
 "resource limit, but tried to lock more memory than the limit permitted.  "
@@ -2452,7 +3805,7 @@ msgstr ""
 #.  calculates that the process is trying to lock (num_physpages / 2 + 2)
 #.  pages, which of course is not true.  (MTK, Nov 04, kernel 2.4.28)
 #. type: Plain text
-#: build/C/man2/mlock.2:144
+#: build/C/man2/mlock.2:143
 msgid ""
 "(Linux 2.4 and earlier) the calling process tried to lock more than half of "
 "RAM."
@@ -2460,74 +3813,74 @@ msgstr ""
 
 #. SVr4 documents an additional EAGAIN error code.
 #. type: Plain text
-#: build/C/man2/mlock.2:150
+#: build/C/man2/mlock.2:149
 msgid ""
 "The caller is not privileged, but needs privilege (B<CAP_IPC_LOCK>)  to "
 "perform the requested operation."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:155
+#: build/C/man2/mlock.2:154
 msgid "For B<mlock>()  and B<munlock>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:158
+#: build/C/man2/mlock.2:157
 msgid "Some or all of the specified address range could not be locked."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:165
+#: build/C/man2/mlock.2:164
 msgid ""
 "The result of the addition I<start>+I<len> was less than I<start> (e.g., the "
 "addition may have resulted in an overflow)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:170
+#: build/C/man2/mlock.2:169
 msgid "(Not on Linux)  I<addr> was not a multiple of the page size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:174
+#: build/C/man2/mlock.2:173
 msgid ""
 "Some of the specified address range does not correspond to mapped pages in "
 "the address space of the process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:177
+#: build/C/man2/mlock.2:176
 msgid "For B<mlockall>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:180
+#: build/C/man2/mlock.2:179
 msgid "Unknown I<flags> were specified."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:183
+#: build/C/man2/mlock.2:182
 msgid "For B<munlockall>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:187
+#: build/C/man2/mlock.2:186
 msgid "(Linux 2.6.8 and earlier) The caller was not privileged (B<CAP_IPC_LOCK>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:189
+#: build/C/man2/mlock.2:188
 msgid "POSIX.1-2001, SVr4."
 msgstr ""
 
 #. type: SH
-#: build/C/man2/mlock.2:189 build/C/man2/mmap.2:487 build/C/man2/msync.2:105
+#: build/C/man2/mlock.2:188 build/C/man2/mmap.2:501 build/C/man2/msync.2:105
 #, no-wrap
 msgid "AVAILABILITY"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:201
+#: build/C/man2/mlock.2:200
 msgid ""
 "On POSIX systems on which B<mlock>()  and B<munlock>()  are available, "
 "B<_POSIX_MEMLOCK_RANGE> is defined in I<E<lt>unistd.hE<gt>> and the number "
@@ -2539,7 +3892,7 @@ msgstr ""
 #.  -1: unavailable, 0: ask using sysconf().
 #.  glibc defines it to 1.
 #. type: Plain text
-#: build/C/man2/mlock.2:214
+#: build/C/man2/mlock.2:213
 msgid ""
 "On POSIX systems on which B<mlockall>()  and B<munlockall>()  are available, "
 "B<_POSIX_MEMLOCK> is defined in I<E<lt>unistd.hE<gt>> to a value greater "
@@ -2547,7 +3900,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:232
+#: build/C/man2/mlock.2:231
 msgid ""
 "Memory locking has two main applications: real-time algorithms and "
 "high-security data processing.  Real-time applications require deterministic "
@@ -2564,7 +3917,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:245
+#: build/C/man2/mlock.2:244
 msgid ""
 "Real-time processes that are using B<mlockall>()  to prevent delays on page "
 "faults should reserve enough locked stack pages before entering the "
@@ -2578,7 +3931,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:251
+#: build/C/man2/mlock.2:250
 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 "
@@ -2586,14 +3939,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:255
+#: build/C/man2/mlock.2:254
 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:268
+#: build/C/man2/mlock.2:267
 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 "
@@ -2604,7 +3957,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:279
+#: build/C/man2/mlock.2:278
 msgid ""
 "Under Linux, B<mlock>()  and B<munlock>()  automatically round I<addr> down "
 "to the nearest page boundary.  However, POSIX.1-2001 allows an "
@@ -2613,7 +3966,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:292
+#: build/C/man2/mlock.2:291
 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 "
@@ -2621,13 +3974,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mlock.2:292
+#: build/C/man2/mlock.2:291
 #, no-wrap
 msgid "Limits and permissions"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:299
+#: build/C/man2/mlock.2:298
 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 "
@@ -2635,7 +3988,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:305
+#: build/C/man2/mlock.2:304
 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 "
@@ -2643,7 +3996,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:313
+#: build/C/man2/mlock.2:312
 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 "
@@ -2655,7 +4008,7 @@ msgstr ""
 #.  "Rationale for RLIMIT_MEMLOCK"
 #.  23 Jan 2006
 #. type: Plain text
-#: build/C/man2/mlock.2:330
+#: build/C/man2/mlock.2:329
 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 "
@@ -2665,7 +4018,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mlock.2:337
+#: build/C/man2/mlock.2:336
 msgid ""
 "B<mmap>(2), B<setrlimit>(2), B<shmctl>(2), B<sysconf>(3), B<proc>(5), "
 "B<capabilities>(7)"
@@ -2680,7 +4033,7 @@ msgstr ""
 #. type: TH
 #: build/C/man2/mmap.2:40
 #, no-wrap
-msgid "2010-06-20"
+msgid "2013-02-25"
 msgstr ""
 
 #. type: Plain text
@@ -2699,7 +4052,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:61
+#: build/C/man2/mmap.2:54
+msgid "See NOTES for information on feature test macro requirements."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mmap.2:63
 msgid ""
 "B<mmap>()  creates a new mapping in the virtual address space of the calling "
 "process.  The starting address for the new mapping is specified in I<addr>.  "
@@ -2709,7 +4067,7 @@ msgstr ""
 #.  Before Linux 2.6.24, the address was rounded up to the next page
 #.  boundary; since 2.6.24, it is rounded down!
 #. type: Plain text
-#: build/C/man2/mmap.2:75
+#: build/C/man2/mmap.2:77
 msgid ""
 "If I<addr> is NULL, then the kernel chooses the address at which to create "
 "the mapping; this is the most portable method of creating a new mapping.  If "
@@ -2720,7 +4078,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:87
+#: build/C/man2/mmap.2:89
 msgid ""
 "The contents of a file mapping (as opposed to an anonymous mapping; see "
 "B<MAP_ANONYMOUS> below), are initialized using I<length> bytes starting at "
@@ -2730,7 +4088,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:95
+#: build/C/man2/mmap.2:97
 msgid ""
 "The I<prot> argument describes the desired memory protection of the mapping "
 "(and must not conflict with the open mode of the file).  It is either "
@@ -2738,51 +4096,51 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:95 build/C/man2/mprotect.2:67
+#: build/C/man2/mmap.2:97 build/C/man2/mprotect.2:73
 #, no-wrap
 msgid "B<PROT_EXEC>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:98
+#: build/C/man2/mmap.2:100
 msgid "Pages may be executed."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:98 build/C/man2/mprotect.2:61
+#: build/C/man2/mmap.2:100 build/C/man2/mprotect.2:67
 #, no-wrap
 msgid "B<PROT_READ>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:101
+#: build/C/man2/mmap.2:103
 msgid "Pages may be read."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:101 build/C/man2/mprotect.2:64
+#: build/C/man2/mmap.2:103 build/C/man2/mprotect.2:70
 #, no-wrap
 msgid "B<PROT_WRITE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:104
+#: build/C/man2/mmap.2:106
 msgid "Pages may be written."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:104 build/C/man2/mprotect.2:58
+#: build/C/man2/mmap.2:106 build/C/man2/mprotect.2:64
 #, no-wrap
 msgid "B<PROT_NONE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:107
+#: build/C/man2/mmap.2:109
 msgid "Pages may not be accessed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:116
+#: build/C/man2/mmap.2:118
 msgid ""
 "The I<flags> argument determines whether updates to the mapping are visible "
 "to other processes mapping the same region, and whether updates are carried "
@@ -2791,13 +4149,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:116
+#: build/C/man2/mmap.2:118
 #, no-wrap
 msgid "B<MAP_SHARED>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:126
+#: build/C/man2/mmap.2:128
 msgid ""
 "Share this mapping.  Updates to the mapping are visible to other processes "
 "that map this file, and are carried through to the underlying file.  The "
@@ -2806,13 +4164,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:126
+#: build/C/man2/mmap.2:128
 #, no-wrap
 msgid "B<MAP_PRIVATE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:135
+#: build/C/man2/mmap.2:137
 msgid ""
 "Create a private copy-on-write mapping.  Updates to the mapping are not "
 "visible to other processes mapping the same file, and are not carried "
@@ -2821,24 +4179,24 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:137
+#: build/C/man2/mmap.2:139
 msgid "Both of these flags are described in POSIX.1-2001."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:140
+#: build/C/man2/mmap.2:142
 msgid "In addition, zero or more of the following values can be ORed in I<flags>:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:140
+#: build/C/man2/mmap.2:142
 #, no-wrap
 msgid "B<MAP_32BIT> (since Linux 2.4.20, 2.6)"
 msgstr ""
 
 #.  See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08
 #. type: Plain text
-#: build/C/man2/mmap.2:156
+#: build/C/man2/mmap.2:158
 msgid ""
 "Put the mapping into the first 2 Gigabytes of the process address space.  "
 "This flag is only supported on x86-64, for 64-bit programs.  It was added to "
@@ -2850,24 +4208,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:156
+#: build/C/man2/mmap.2:158
 #, no-wrap
 msgid "B<MAP_ANON>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:161
+#: build/C/man2/mmap.2:163
 msgid "Synonym for B<MAP_ANONYMOUS>.  Deprecated."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:161
+#: build/C/man2/mmap.2:163
 #, no-wrap
 msgid "B<MAP_ANONYMOUS>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:183
+#: build/C/man2/mmap.2:185
 msgid ""
 "The mapping is not backed by any file; its contents are initialized to "
 "zero.  The I<fd> and I<offset> arguments are ignored; however, some "
@@ -2878,14 +4236,14 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:183
+#: build/C/man2/mmap.2:185
 #, no-wrap
 msgid "B<MAP_DENYWRITE>"
 msgstr ""
 
 #.  Introduced in 1.1.36, removed in 1.3.24.
 #. type: Plain text
-#: build/C/man2/mmap.2:191
+#: build/C/man2/mmap.2:193
 msgid ""
 "This flag is ignored.  (Long ago, it signaled that attempts to write to the "
 "underlying file should fail with B<ETXTBUSY>.  But this was a source of "
@@ -2893,7 +4251,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:191
+#: build/C/man2/mmap.2:193
 #, no-wrap
 msgid "B<MAP_EXECUTABLE>"
 msgstr ""
@@ -2904,12 +4262,12 @@ msgstr ""
 #.  Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of
 #.  MAP_DENYWRITE?
 #. type: Plain text
-#: build/C/man2/mmap.2:199
+#: build/C/man2/mmap.2:201
 msgid "This flag is ignored."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:199
+#: build/C/man2/mmap.2:201
 #, no-wrap
 msgid "B<MAP_FILE>"
 msgstr ""
@@ -2917,18 +4275,18 @@ msgstr ""
 #.  On some systems, this was required as the opposite of
 #.  MAP_ANONYMOUS -- mtk, 1 May 2007
 #. type: Plain text
-#: build/C/man2/mmap.2:205
+#: build/C/man2/mmap.2:207
 msgid "Compatibility flag.  Ignored."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:205
+#: build/C/man2/mmap.2:207
 #, no-wrap
 msgid "B<MAP_FIXED>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:223
+#: build/C/man2/mmap.2:225
 msgid ""
 "Don't interpret I<addr> as a hint: place the mapping at exactly that "
 "address.  I<addr> must be a multiple of the page size.  If the memory region "
@@ -2940,53 +4298,53 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:223
+#: build/C/man2/mmap.2:225
 #, no-wrap
 msgid "B<MAP_GROWSDOWN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:228
+#: build/C/man2/mmap.2:230
 msgid ""
 "Used for stacks.  Indicates to the kernel virtual memory system that the "
 "mapping should extend downward in memory."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:228
+#: build/C/man2/mmap.2:230
 #, no-wrap
 msgid "B<MAP_HUGETLB> (since Linux 2.6.32)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:234
+#: build/C/man2/mmap.2:236
 msgid ""
-"Allocate the mapping using \"huge pages.\" See the kernel source file "
+"Allocate the mapping using \"huge pages.\" See the Linux kernel source file "
 "I<Documentation/vm/hugetlbpage.txt> for further information."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:234
+#: build/C/man2/mmap.2:236
 #, no-wrap
 msgid "B<MAP_LOCKED> (since Linux 2.5.37)"
 msgstr ""
 
 #.  If set, the mapped pages will not be swapped out.
 #. type: Plain text
-#: build/C/man2/mmap.2:240
+#: build/C/man2/mmap.2:242
 msgid ""
 "Lock the pages of the mapped region into memory in the manner of "
 "B<mlock>(2).  This flag is ignored in older kernels."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:240
+#: build/C/man2/mmap.2:242
 #, no-wrap
 msgid "B<MAP_NONBLOCK> (since Linux 2.5.46)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:255
+#: build/C/man2/mmap.2:257
 msgid ""
 "Only meaningful in conjunction with B<MAP_POPULATE>.  Don't perform "
 "read-ahead: only create page tables entries for pages that are already "
@@ -2996,13 +4354,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:255
+#: build/C/man2/mmap.2:257
 #, no-wrap
 msgid "B<MAP_NORESERVE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:270
+#: build/C/man2/mmap.2:272
 msgid ""
 "Do not reserve swap space for this mapping.  When swap space is reserved, "
 "one has the guarantee that it is possible to modify the mapping.  When swap "
@@ -3013,13 +4371,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:270
+#: build/C/man2/mmap.2:272
 #, no-wrap
 msgid "B<MAP_POPULATE> (since Linux 2.5.46)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:277
+#: build/C/man2/mmap.2:279
 msgid ""
 "Populate (prefault) page tables for a mapping.  For a file mapping, this "
 "causes read-ahead on the file.  Later accesses to the mapping will not be "
@@ -3028,7 +4386,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:277
+#: build/C/man2/mmap.2:279
 #, no-wrap
 msgid "B<MAP_STACK> (since Linux 2.6.27)"
 msgstr ""
@@ -3039,7 +4397,7 @@ msgstr ""
 #.  "pthread_create() slow for many threads; also time to revisit 64b
 #.   context switch optimization?"
 #. type: Plain text
-#: build/C/man2/mmap.2:290
+#: build/C/man2/mmap.2:292
 msgid ""
 "Allocate the mapping at an address suitable for a process or thread stack.  "
 "This flag is currently a no-op, but is used in the glibc threading "
@@ -3048,13 +4406,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:290
+#: build/C/man2/mmap.2:292
 #, no-wrap
 msgid "B<MAP_UNINITIALIZED> (since Linux 2.6.33)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:300
+#: build/C/man2/mmap.2:302
 msgid ""
 "Don't clear anonymous pages.  This flag is intended to improve performance "
 "on embedded devices.  This flag is only honored if the kernel was configured "
@@ -3065,7 +4423,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:308
+#: build/C/man2/mmap.2:310
 msgid ""
 "Of the above flags, only B<MAP_FIXED> is specified in POSIX.1-2001.  "
 "However, most systems also support B<MAP_ANONYMOUS> (or its synonym "
@@ -3073,21 +4431,21 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:315
+#: build/C/man2/mmap.2:317
 msgid ""
 "Some systems document the additional flags B<MAP_AUTOGROW>, "
 "B<MAP_AUTORESRV>, B<MAP_COPY>, and B<MAP_LOCAL>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:321
+#: build/C/man2/mmap.2:323
 msgid ""
 "Memory mapped by B<mmap>()  is preserved across B<fork>(2), with the same "
 "attributes."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:329
+#: build/C/man2/mmap.2:331
 msgid ""
 "A file is mapped in multiples of the page size.  For a file that is not a "
 "multiple of the page size, the remaining memory is zeroed when mapped, and "
@@ -3097,13 +4455,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mmap.2:329
+#: build/C/man2/mmap.2:331
 #, no-wrap
 msgid "munmap()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:339
+#: build/C/man2/mmap.2:341
 msgid ""
 "The B<munmap>()  system call deletes the mappings for the specified address "
 "range, and causes further references to addresses within the range to "
@@ -3113,7 +4471,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:349
+#: build/C/man2/mmap.2:351
 msgid ""
 "The address I<addr> must be a multiple of the page size.  All pages "
 "containing a part of the indicated range are unmapped, and subsequent "
@@ -3122,13 +4480,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/mmap.2:349
+#: build/C/man2/mmap.2:351
 #, no-wrap
 msgid "Timestamps changes for file-backed mappings"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:356
+#: build/C/man2/mmap.2:358
 msgid ""
 "For file-backed mappings, the I<st_atime> field for the mapped file may be "
 "updated at any time between the B<mmap>()  and the corresponding unmapping; "
@@ -3137,7 +4495,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:373
+#: build/C/man2/mmap.2:375
 msgid ""
 "The I<st_ctime> and I<st_mtime> field for a file mapped with B<PROT_WRITE> "
 "and B<MAP_SHARED> will be updated after a write to the mapped region, and "
@@ -3146,7 +4504,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:390
+#: build/C/man2/mmap.2:392
 msgid ""
 "On success, B<mmap>()  returns a pointer to the mapped area.  On error, the "
 "value B<MAP_FAILED> (that is, I<(void\\ *)\\ -1>)  is returned, and I<errno> "
@@ -3155,13 +4513,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:391 build/C/man2/mprotect.2:80 build/C/man3/shm_open.3:185 build/C/man3/shm_open.3:190 build/C/man2/shmctl.2:295 build/C/man2/shmget.2:186 build/C/man2/shmop.2:189
+#: build/C/man2/mmap.2:393 build/C/man2/mprotect.2:86 build/C/man3/shm_open.3:185 build/C/man3/shm_open.3:190 build/C/man2/shmctl.2:297 build/C/man2/shmget.2:188 build/C/man2/shmop.2:191
 #, no-wrap
 msgid "B<EACCES>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:411
+#: build/C/man2/mmap.2:413
 msgid ""
 "A file descriptor refers to a non-regular file.  Or B<MAP_PRIVATE> was "
 "requested, but I<fd> is not open for reading.  Or B<MAP_SHARED> was "
@@ -3170,57 +4528,57 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:415
+#: build/C/man2/mmap.2:417
 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:421
+#: build/C/man2/mmap.2:423
 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:429
+#: build/C/man2/mmap.2:431
 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:434
+#: build/C/man2/mmap.2:436
 msgid "(since Linux 2.6.12)  I<length> was 0."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:442
+#: build/C/man2/mmap.2:444
 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:442 build/C/man3/shm_open.3:227 build/C/man2/shmget.2:202
+#: build/C/man2/mmap.2:444 build/C/man3/shm_open.3:227 build/C/man2/shmget.2:204
 #, 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:450 build/C/man2/shmget.2:206
+#: build/C/man2/mmap.2:452 build/C/man2/shmget.2:208
 msgid "The system limit on the total number of open files has been reached."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:454
+#: build/C/man2/mmap.2:456
 msgid ""
 "The underlying file system of the specified file does not support memory "
 "mapping."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:458
+#: build/C/man2/mmap.2:460
 msgid ""
 "No memory is available, or the process's maximum number of mappings would "
 "have been exceeded."
@@ -3228,49 +4586,63 @@ msgstr ""
 
 #.  (Since 2.4.25 / 2.6.0.)
 #. type: Plain text
-#: build/C/man2/mmap.2:467
+#: build/C/man2/mmap.2:469
 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:467
+#: build/C/man2/mmap.2:469
 #, no-wrap
 msgid "B<ETXTBSY>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:473
+#: build/C/man2/mmap.2:475
 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:339
+#, no-wrap
+msgid "B<EOVERFLOW>"
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/mmap.2:475
+#: build/C/man2/mmap.2:487
+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 "
+"pages used for I<offset> would overflow I<unsigned long> (32 bits)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mmap.2:489
 msgid "Use of a mapped region can result in these signals:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:475
+#: build/C/man2/mmap.2:489
 #, no-wrap
 msgid "B<SIGSEGV>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:478
+#: build/C/man2/mmap.2:492
 msgid "Attempted write into a region mapped as read-only."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mmap.2:478
+#: build/C/man2/mmap.2:492
 #, no-wrap
 msgid "B<SIGBUS>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:483
+#: build/C/man2/mmap.2:497
 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 "
@@ -3280,7 +4652,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:487
+#: build/C/man2/mmap.2:501
 msgid "SVr4, 4.4BSD, POSIX.1-2001."
 msgstr ""
 
@@ -3288,7 +4660,7 @@ msgstr ""
 #.  -1: unavailable, 0: ask using sysconf().
 #.  glibc defines it to 1.
 #. type: Plain text
-#: build/C/man2/mmap.2:501
+#: build/C/man2/mmap.2:515
 msgid ""
 "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 "
@@ -3297,15 +4669,17 @@ msgstr ""
 
 #.  Since around glibc 2.1/2.2, depending on the platform.
 #. type: Plain text
-#: build/C/man2/mmap.2:512
+#: build/C/man2/mmap.2:530
 msgid ""
-"Since kernel 2.4, this system call has been superseded by B<mmap2>(2).  "
-"Nowadays, the glibc B<mmap>()  wrapper function invokes B<mmap2>(2)  with a "
-"suitably adjusted value for I<offset>."
+"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:525
+#: 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 "
@@ -3314,7 +4688,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:540
+#: build/C/man2/mmap.2:558
 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 "
@@ -3325,7 +4699,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:545
+#: build/C/man2/mmap.2:587
+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>, "
+"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: Plain text
+#: build/C/man2/mmap.2:592
 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 "
@@ -3333,14 +4720,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:552
+#: build/C/man2/mmap.2:599
 msgid ""
 "In kernels before 2.6.7, the B<MAP_POPULATE> flag only has effect if I<prot> "
 "is specified as B<PROT_NONE>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:567
+#: build/C/man2/mmap.2:614
 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 "
@@ -3349,7 +4736,21 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:579
+#: build/C/man2/mmap.2:630
+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 "
+"the object beyond its end.  On Linux, when you write data to such partial "
+"page after the end of the object, the data stays in the page cache even "
+"after the file is closed and unmapped and even though the data is never "
+"written to the file itself, subsequent mappings may see the modified "
+"content.  In some cases, this could be fixed by calling B<msync>(2)  before "
+"the unmap takes place; however, this doesn't work on tmpfs (for example, "
+"when using POSIX shared memory interface documented in B<shm_overview>(7))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mmap.2:642
 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 "
@@ -3360,7 +4761,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:587
+#: build/C/man2/mmap.2:650
 #, no-wrap
 msgid ""
 "#include E<lt>sys/mman.hE<gt>\n"
@@ -3372,7 +4773,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:590 build/C/man2/mprotect.2:172
+#: build/C/man2/mmap.2:653 build/C/man2/mprotect.2:178
 #, no-wrap
 msgid ""
 "#define handle_error(msg) \\e\n"
@@ -3380,7 +4781,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:600
+#: build/C/man2/mmap.2:663
 #, no-wrap
 msgid ""
 "int\n"
@@ -3395,7 +4796,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:605
+#: build/C/man2/mmap.2:668
 #, no-wrap
 msgid ""
 "    if (argc E<lt> 3 || argc E<gt> 4) {\n"
@@ -3405,7 +4806,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:609
+#: build/C/man2/mmap.2:672
 #, no-wrap
 msgid ""
 "    fd = open(argv[1], O_RDONLY);\n"
@@ -3414,7 +4815,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:612
+#: build/C/man2/mmap.2:675
 #, no-wrap
 msgid ""
 "    if (fstat(fd, &sb) == -1)           /* To obtain file size */\n"
@@ -3422,7 +4823,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:616
+#: build/C/man2/mmap.2:679
 #, no-wrap
 msgid ""
 "    offset = atoi(argv[2]);\n"
@@ -3431,7 +4832,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:621
+#: build/C/man2/mmap.2:684
 #, no-wrap
 msgid ""
 "    if (offset E<gt>= sb.st_size) {\n"
@@ -3441,7 +4842,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:627
+#: build/C/man2/mmap.2:690
 #, no-wrap
 msgid ""
 "    if (argc == 4) {\n"
@@ -3452,7 +4853,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:631
+#: build/C/man2/mmap.2:694
 #, no-wrap
 msgid ""
 "    } else {    /* No length arg ==E<gt> display to end of file */\n"
@@ -3461,7 +4862,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:636
+#: build/C/man2/mmap.2:699
 #, no-wrap
 msgid ""
 "    addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n"
@@ -3471,7 +4872,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:641
+#: build/C/man2/mmap.2:704
 #, no-wrap
 msgid ""
 "    s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n"
@@ -3481,7 +4882,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:645
+#: build/C/man2/mmap.2:708
 #, no-wrap
 msgid ""
 "        fprintf(stderr, \"partial write\");\n"
@@ -3490,7 +4891,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:662
+#: build/C/man2/mmap.2:725
 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), "
@@ -3498,7 +4899,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap.2:667 build/C/man2/msync.2:122
+#: build/C/man2/mmap.2:730 build/C/man2/msync.2:122
 msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391."
 msgstr ""
 
@@ -3509,9 +4910,9 @@ msgid "MMAP2"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mmap2.2:29 build/C/man2/msync.2:25 build/C/man2/remap_file_pages.2:26
+#: build/C/man2/mmap2.2:29
 #, no-wrap
-msgid "2008-04-22"
+msgid "2012-04-16"
 msgstr ""
 
 #. type: Plain text
@@ -3528,9 +4929,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:50
+#: 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 "
+"system call."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/mmap2.2:54
 msgid ""
-"The B<mmap2>()  system call operates in exactly the same way as B<mmap>(2), "
+"The B<mmap2>()  system call provides the same interface as B<mmap>(2), "
 "except that the final argument specifies the offset into the file in "
 "4096-byte units (instead of bytes, as is done by B<mmap>(2)).  This enables "
 "applications that use a 32-bit I<off_t> to map large files (up to 2^44 "
@@ -3538,41 +4947,41 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:57
+#: build/C/man2/mmap2.2:61
 msgid ""
 "On success, B<mmap2>()  returns a pointer to the mapped area.  On error -1 "
 "is returned and I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:61
-msgid "Problem with getting the data from userspace."
+#: build/C/man2/mmap2.2:65
+msgid "Problem with getting the data from user space."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:66
+#: build/C/man2/mmap2.2:70
 msgid ""
 "(Various platforms where the page size is not 4096 bytes.)  I<offset * 4096> "
 "is not a multiple of the system page size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:70
-msgid "B<mmap2>()  can return any of the same errors as B<mmap>(2)."
+#: build/C/man2/mmap2.2:74
+msgid "B<mmap2>()  can also return any of the errors described in B<mmap>(2)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:73
+#: build/C/man2/mmap2.2:77
 msgid "B<mmap2>()  is available since Linux 2.3.31."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:75 build/C/man2/subpage_prot.2:93
+#: build/C/man2/mmap2.2:79 build/C/man2/subpage_prot.2:98
 msgid "This system call is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mmap2.2:81
+#: build/C/man2/mmap2.2:85
 msgid ""
 "Nowadays, the glibc B<mmap>()  wrapper function invokes this system call "
 "rather than the B<mmap>(2)  system call."
@@ -3582,42 +4991,42 @@ msgstr ""
 #.  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:88
+#: build/C/man2/mmap2.2:92
 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:94
+#: build/C/man2/mmap2.2:98
 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:32
+#: build/C/man2/mprotect.2:38
 #, no-wrap
 msgid "MPROTECT"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mprotect.2:32
+#: build/C/man2/mprotect.2:38
 #, no-wrap
-msgid "2011-09-08"
+msgid "2012-08-14"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:35
+#: build/C/man2/mprotect.2:41
 msgid "mprotect - set protection on a region of memory"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:40
+#: build/C/man2/mprotect.2:46
 #, no-wrap
-msgid "B<int mprotect(const void *>I<addr>B<, size_t >I<len>B<, int >I<prot>B<);>\n"
+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:48
+#: build/C/man2/mprotect.2:54
 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>,\\ "
@@ -3625,50 +5034,50 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:53
+#: build/C/man2/mprotect.2:59
 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:58
+#: build/C/man2/mprotect.2:64
 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:61
+#: build/C/man2/mprotect.2:67
 msgid "The memory cannot be accessed at all."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:64
+#: build/C/man2/mprotect.2:70
 msgid "The memory can be read."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:67
+#: build/C/man2/mprotect.2:73
 msgid "The memory can be modified."
 msgstr ""
 
 #.  FIXME
 #.  Document PROT_GROWSUP and PROT_GROWSDOWN
 #. type: Plain text
-#: build/C/man2/mprotect.2:72
+#: build/C/man2/mprotect.2:78
 msgid "The memory can be executed."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:79
+#: build/C/man2/mprotect.2:85
 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:89
+#: build/C/man2/mprotect.2:95
 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 "
@@ -3677,17 +5086,17 @@ msgstr ""
 
 #.  Or: both PROT_GROWSUP and PROT_GROWSDOWN were specified in 'prot'.
 #. type: Plain text
-#: build/C/man2/mprotect.2:94
+#: build/C/man2/mprotect.2:100
 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:97
+#: build/C/man2/mprotect.2:103
 msgid "Internal kernel structures could not be allocated."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:107
+#: build/C/man2/mprotect.2:113
 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 "
@@ -3698,7 +5107,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:116
+#: build/C/man2/mprotect.2:122
 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 "
@@ -3706,7 +5115,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:123
+#: build/C/man2/mprotect.2:129
 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 "
@@ -3714,7 +5123,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:133
+#: build/C/man2/mprotect.2:139
 msgid ""
 "Whether B<PROT_EXEC> has any effect different from B<PROT_READ> is "
 "architecture- and kernel version-dependent.  On some hardware architectures "
@@ -3722,7 +5131,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:142
+#: build/C/man2/mprotect.2:148
 msgid ""
 "POSIX.1-2001 says that an implementation may permit access other than that "
 "specified in I<prot>, but at a minimum can only allow write access if "
@@ -3731,7 +5140,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:148
+#: build/C/man2/mprotect.2:154
 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 "
@@ -3739,12 +5148,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:151
+#: build/C/man2/mprotect.2:157
 msgid "An example of what we might see when running the program is the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:157
+#: build/C/man2/mprotect.2:163
 #, no-wrap
 msgid ""
 "$B< ./a.out>\n"
@@ -3753,7 +5162,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:169
+#: build/C/man2/mprotect.2:175
 #, no-wrap
 msgid ""
 "#include E<lt>unistd.hE<gt>\n"
@@ -3766,13 +5175,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:174
+#: build/C/man2/mprotect.2:180
 #, no-wrap
 msgid "char *buffer;\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:182
+#: build/C/man2/mprotect.2:188
 #, no-wrap
 msgid ""
 "static void\n"
@@ -3785,7 +5194,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:189
+#: build/C/man2/mprotect.2:195
 #, no-wrap
 msgid ""
 "int\n"
@@ -3797,7 +5206,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:195
+#: build/C/man2/mprotect.2:201
 #, no-wrap
 msgid ""
 "    sa.sa_flags = SA_SIGINFO;\n"
@@ -3808,7 +5217,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:199
+#: build/C/man2/mprotect.2:205
 #, no-wrap
 msgid ""
 "    pagesize = sysconf(_SC_PAGE_SIZE);\n"
@@ -3817,7 +5226,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:202
+#: build/C/man2/mprotect.2:208
 #, no-wrap
 msgid ""
 "    /* Allocate a buffer aligned on a page boundary;\n"
@@ -3825,7 +5234,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:206
+#: build/C/man2/mprotect.2:212
 #, no-wrap
 msgid ""
 "    buffer = memalign(pagesize, 4 * pagesize);\n"
@@ -3834,13 +5243,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:208
+#: build/C/man2/mprotect.2:214
 #, no-wrap
 msgid "    printf(\"Start of region:        0x%lx\\en\", (long) buffer);\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:212
+#: build/C/man2/mprotect.2:218
 #, no-wrap
 msgid ""
 "    if (mprotect(buffer + pagesize * 2, pagesize,\n"
@@ -3849,7 +5258,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:215
+#: build/C/man2/mprotect.2:221
 #, no-wrap
 msgid ""
 "    for (p = buffer ; ; )\n"
@@ -3857,7 +5266,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:219
+#: build/C/man2/mprotect.2:225
 #, no-wrap
 msgid ""
 "    printf(\"Loop completed\\en\");     /* Should never happen */\n"
@@ -3866,35 +5275,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mprotect.2:223
+#: build/C/man2/mprotect.2:229
 msgid "B<mmap>(2), B<sysconf>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mremap.2:31
+#: build/C/man2/mremap.2:30
 #, no-wrap
 msgid "MREMAP"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/mremap.2:31
+#: build/C/man2/mremap.2:30
 #, no-wrap
 msgid "2010-06-10"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:34
+#: build/C/man2/mremap.2:33
 msgid "mremap - remap a virtual memory address"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:37
+#: build/C/man2/mremap.2:36
 #, no-wrap
 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:42
+#: build/C/man2/mremap.2:41
 #, no-wrap
 msgid ""
 "B<void *mremap(void *>I<old_address>B<, size_t >I<old_size>B<,>\n"
@@ -3903,7 +5312,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:48
+#: build/C/man2/mremap.2:47
 msgid ""
 "B<mremap>()  expands (or shrinks) an existing memory mapping, potentially "
 "moving it at the same time (controlled by the I<flags> argument and the "
@@ -3911,7 +5320,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:62
+#: build/C/man2/mremap.2:61
 msgid ""
 "I<old_address> is the old address of the virtual memory block that you want "
 "to expand (or shrink).  Note that I<old_address> has to be page aligned.  "
@@ -3922,7 +5331,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:74
+#: build/C/man2/mremap.2:73
 msgid ""
 "In Linux the memory is divided into pages.  A user process has (one or)  "
 "several linear virtual memory segments.  Each virtual memory segment has one "
@@ -3934,7 +5343,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:82
+#: build/C/man2/mremap.2:81
 msgid ""
 "B<mremap>()  uses the Linux page table scheme.  B<mremap>()  changes the "
 "mapping between virtual addresses and memory pages.  This can be used to "
@@ -3942,18 +5351,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:84
+#: build/C/man2/mremap.2:83
 msgid "The I<flags> bit-mask argument may be 0, or include the following flag:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mremap.2:84
+#: build/C/man2/mremap.2:83
 #, no-wrap
 msgid "B<MREMAP_MAYMOVE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:96
+#: build/C/man2/mremap.2:95
 msgid ""
 "By default, if there is not sufficient space to expand a mapping at its "
 "current location, then B<mremap>()  fails.  If this flag is specified, then "
@@ -3964,13 +5373,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/mremap.2:96
+#: build/C/man2/mremap.2:95
 #, no-wrap
 msgid "B<MREMAP_FIXED> (since Linux 2.3.31)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:118
+#: build/C/man2/mremap.2:117
 msgid ""
 "This flag serves a similar purpose to the B<MAP_FIXED> flag of B<mmap>(2).  "
 "If this flag is specified, then B<mremap>()  accepts a fifth argument, "
@@ -3981,7 +5390,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:128
+#: build/C/man2/mremap.2:127
 msgid ""
 "If the memory segment specified by I<old_address> and I<old_size> is locked "
 "(using B<mlock>(2)  or similar), then this lock is maintained when the "
@@ -3990,7 +5399,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:136
+#: build/C/man2/mremap.2:135
 msgid ""
 "On success B<mremap>()  returns a pointer to the new virtual memory area.  "
 "On error, the value B<MAP_FAILED> (that is, I<(void\\ *)\\ -1>) is returned, "
@@ -3998,14 +5407,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:143
+#: build/C/man2/mremap.2:142
 msgid ""
 "The caller tried to expand a memory segment that is locked, but this was not "
 "possible without exceeding the B<RLIMIT_MEMLOCK> resource limit."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:152
+#: build/C/man2/mremap.2:151
 msgid ""
 "\"Segmentation fault.\" Some address in the range I<old_address> to "
 "I<old_address>+I<old_size> is an invalid virtual memory address for this "
@@ -4015,7 +5424,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:180
+#: build/C/man2/mremap.2:179
 msgid ""
 "An invalid argument was given.  Possible causes are: I<old_address> was not "
 "page aligned; a value other than B<MREMAP_MAYMOVE> or B<MREMAP_FIXED> was "
@@ -4027,7 +5436,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:186
+#: build/C/man2/mremap.2:185
 msgid ""
 "The memory area cannot be expanded at the current virtual address, and the "
 "B<MREMAP_MAYMOVE> flag is not set in I<flags>.  Or, there is not enough "
@@ -4038,14 +5447,14 @@ msgstr ""
 #.  .BR mremap (2)
 #.  call with completely different semantics.
 #. type: Plain text
-#: build/C/man2/mremap.2:192
+#: build/C/man2/mremap.2:191
 msgid ""
 "This call is Linux-specific, and should not be used in programs intended to "
 "be portable."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:200
+#: build/C/man2/mremap.2:199
 msgid ""
 "Prior to version 2.4, glibc did not expose the definition of "
 "B<MREMAP_FIXED>, and the prototype for B<mremap>()  did not allow for the "
@@ -4053,7 +5462,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/mremap.2:209
+#: build/C/man2/mremap.2:208
 msgid ""
 "B<brk>(2), B<getpagesize>(2), B<getrlimit>(2), B<mlock>(2), B<mmap>(2), "
 "B<sbrk>(2), B<malloc>(3), B<realloc>(3)"
@@ -4062,9 +5471,10 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/mremap.2:214
 msgid ""
-"Your favorite OS text book for more information on paged memory.  (I<Modern "
-"Operating Systems> by Andrew S. Tanenbaum, I<Inside Linux> by Randolf "
-"Bentson, I<The Design of the UNIX Operating System> by Maurice J. Bach.)"
+"Your favorite text book on operating systems for more information on paged "
+"memory (e.g., I<Modern Operating Systems> by Andrew S. Tanenbaum, I<Inside "
+"Linux> by Randolf Bentson, I<The Design of the UNIX Operating System> by "
+"Maurice J. Bach)"
 msgstr ""
 
 #. type: TH
@@ -4073,6 +5483,12 @@ msgstr ""
 msgid "MSYNC"
 msgstr ""
 
+#. type: TH
+#: build/C/man2/msync.2:25 build/C/man2/remap_file_pages.2:28
+#, no-wrap
+msgid "2008-04-22"
+msgstr ""
+
 #. type: Plain text
 #: build/C/man2/msync.2:28
 msgid "msync - synchronize a file with a memory map"
@@ -4138,7 +5554,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:103 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:103
+#: build/C/man2/msync.2:98 build/C/man3/posix_fallocate.3:105 build/C/man3/shm_open.3:251 build/C/man7/shm_overview.7:103
 msgid "POSIX.1-2001."
 msgstr ""
 
@@ -4167,33 +5583,33 @@ msgid "B<mmap>(2)"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/mtrace.3:23
+#: build/C/man3/mtrace.3:25
 #, no-wrap
 msgid "MTRACE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:26
+#: build/C/man3/mtrace.3:28
 msgid "mtrace, muntrace - malloc tracing"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:28
+#: build/C/man3/mtrace.3:30
 msgid "B<#include E<lt>mcheck.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:30
+#: build/C/man3/mtrace.3:32
 msgid "B<void mtrace(void);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:32
+#: build/C/man3/mtrace.3:34
 msgid "B<void muntrace(void);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:44
+#: build/C/man3/mtrace.3:46
 msgid ""
 "The B<mtrace>()  function installs hook functions for the memory-allocation "
 "functions (B<malloc>(3), B<realloc>(3)  B<memalign>(3), B<free>(3)).  These "
@@ -4203,7 +5619,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:55
+#: build/C/man3/mtrace.3:57
 msgid ""
 "The B<muntrace>()  function disables the hook functions installed by "
 "B<mtrace>(), so that tracing information is no longer recorded for the "
@@ -4212,16 +5628,16 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:63
+#: build/C/man3/mtrace.3:65
 msgid ""
-"When B<mtrace>(3)  is called, it checks the value of the environment "
-"variable B<MALLOC_TRACE>, which should contain the pathname of a file in "
-"which the tracing information is to be recorded.  If the pathname is "
-"successfully opened, it is truncated to zero length."
+"When B<mtrace>()  is called, it checks the value of the environment variable "
+"B<MALLOC_TRACE>, which should contain the pathname of a file in which the "
+"tracing information is to be recorded.  If the pathname is successfully "
+"opened, it is truncated to zero length."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:76
+#: build/C/man3/mtrace.3:78
 msgid ""
 "If B<MALLOC_TRACE> is not set, or the pathname it specifies is invalid or "
 "not writable, then no hook functions are installed, and B<mtrace>()  has no "
@@ -4230,14 +5646,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:84
+#: build/C/man3/mtrace.3:86
 msgid ""
 "In normal usage, B<mtrace>()  is called once at the start of execution of a "
 "program, and B<muntrace>()  is never called."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:94
+#: build/C/man3/mtrace.3:96
 msgid ""
 "The tracing output produced after a call to B<mtrace>()  is textual, but not "
 "designed to be human readable.  The GNU C library provides a Perl script, "
@@ -4248,14 +5664,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:100
+#: build/C/man3/mtrace.3:102
 msgid ""
 "The tracing performed by B<mtrace>()  incurs a performance penalty (if "
 "B<MALLOC_TRACE> points to a valid, writable pathname)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:106
+#: 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 "
@@ -4263,7 +5679,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:113
+#: build/C/man3/mtrace.3:115
 msgid ""
 "The shell session below demonstrates the use of the B<mtrace>()  function "
 "and the B<mtrace>(1)  command in a program that has memory leaks at two "
@@ -4271,7 +5687,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:120
+#: build/C/man3/mtrace.3:122
 #, no-wrap
 msgid ""
 "$ B<cat t_mtrace.c>\n"
@@ -4281,7 +5697,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:125
+#: build/C/man3/mtrace.3:127
 #, no-wrap
 msgid ""
 "int\n"
@@ -4291,13 +5707,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:127
+#: build/C/man3/mtrace.3:129
 #, no-wrap
 msgid "    mtrace();\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:130
+#: build/C/man3/mtrace.3:132
 #, no-wrap
 msgid ""
 "    for (j = 0; j E<lt> 2; j++)\n"
@@ -4305,7 +5721,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:134
+#: build/C/man3/mtrace.3:136
 #, no-wrap
 msgid ""
 "    calloc(16, 16);             /* Never freed--a memory leak */\n"
@@ -4314,14 +5730,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:140
+#: build/C/man3/mtrace.3:142
 msgid ""
 "When we run the program as follows, we see that B<mtrace>()  diagnosed "
 "memory leaks at two different locations in the program:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:153
+#: build/C/man3/mtrace.3:155
 #, no-wrap
 msgid ""
 "$ B<cc -g t_mtrace.c -o t_mtrace>\n"
@@ -4337,7 +5753,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:165
+#: build/C/man3/mtrace.3:167
 msgid ""
 "The first two messages about unfreed memory correspond to the two "
 "B<malloc>(3)  calls inside the I<for> loop.  The final message corresponds "
@@ -4345,35 +5761,35 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/mtrace.3:169
-msgid "B<mtrace>(1), B<malloc>(3), B<malloc_hook>(3)"
+#: build/C/man3/mtrace.3:172
+msgid "B<mtrace>(1), B<malloc>(3), B<malloc_hook>(3), B<mcheck>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/posix_fadvise.2:27
+#: build/C/man2/posix_fadvise.2:28
 #, no-wrap
 msgid "POSIX_FADVISE"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/posix_fadvise.2:27 build/C/man2/sync_file_range.2:30
+#: build/C/man2/posix_fadvise.2:28 build/C/man2/sync_file_range.2:30
 #, no-wrap
 msgid "2010-10-09"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:30
+#: build/C/man2/posix_fadvise.2:31
 msgid "posix_fadvise - predeclare an access pattern for file data"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:33 build/C/man3/posix_fallocate.3:29
+#: build/C/man2/posix_fadvise.2:34 build/C/man3/posix_fallocate.3:31
 #, no-wrap
 msgid "B<#include E<lt>fcntl.hE<gt>>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:36
+#: build/C/man2/posix_fadvise.2:37
 #, no-wrap
 msgid ""
 "B<int posix_fadvise(int >I<fd>B<, off_t >I<offset>B<, off_t >I<len>B<, int "
@@ -4381,17 +5797,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:45
+#: build/C/man2/posix_fadvise.2:46
 msgid "B<posix_fadvise>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:47 build/C/man3/posix_fallocate.3:42
+#: build/C/man2/posix_fadvise.2:48 build/C/man3/posix_fallocate.3:44
 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:55
+#: build/C/man2/posix_fadvise.2:56
 msgid ""
 "Programs can use B<posix_fadvise>()  to announce an intention to access file "
 "data in a specific pattern in the future, thus allowing the kernel to "
@@ -4399,7 +5815,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:62
+#: build/C/man2/posix_fadvise.2:63
 msgid ""
 "The I<advice> applies to a (not necessarily existent) region starting at "
 "I<offset> and extending for I<len> bytes (or until the end of the file if "
@@ -4408,18 +5824,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:64
+#: build/C/man2/posix_fadvise.2:65
 msgid "Permissible values for I<advice> include:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:64
+#: build/C/man2/posix_fadvise.2:65
 #, no-wrap
 msgid "B<POSIX_FADV_NORMAL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:70
+#: build/C/man2/posix_fadvise.2:71
 msgid ""
 "Indicates that the application has no advice to give about its access "
 "pattern for the specified data.  If no advice is given for an open file, "
@@ -4427,79 +5843,79 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:70
+#: build/C/man2/posix_fadvise.2:71
 #, no-wrap
 msgid "B<POSIX_FADV_SEQUENTIAL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:74
+#: build/C/man2/posix_fadvise.2:75
 msgid ""
 "The application expects to access the specified data sequentially (with "
 "lower offsets read before higher ones)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:74
+#: build/C/man2/posix_fadvise.2:75
 #, no-wrap
 msgid "B<POSIX_FADV_RANDOM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:77
+#: build/C/man2/posix_fadvise.2:78
 msgid "The specified data will be accessed in random order."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:77
+#: build/C/man2/posix_fadvise.2:78
 #, no-wrap
 msgid "B<POSIX_FADV_NOREUSE>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:80
+#: build/C/man2/posix_fadvise.2:81
 msgid "The specified data will be accessed only once."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:80
+#: build/C/man2/posix_fadvise.2:81
 #, no-wrap
 msgid "B<POSIX_FADV_WILLNEED>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:83
+#: build/C/man2/posix_fadvise.2:84
 msgid "The specified data will be accessed in the near future."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/posix_fadvise.2:83
+#: build/C/man2/posix_fadvise.2:84
 #, no-wrap
 msgid "B<POSIX_FADV_DONTNEED>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:86
+#: build/C/man2/posix_fadvise.2:87
 msgid "The specified data will not be accessed in the near future."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:89
+#: build/C/man2/posix_fadvise.2:90
 msgid "On success, zero is returned.  On error, an error number is returned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:93
+#: build/C/man2/posix_fadvise.2:94
 msgid "The I<fd> argument was not a valid file descriptor."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:96
+#: build/C/man2/posix_fadvise.2:97
 msgid "An invalid value was specified for I<advice>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:103
+#: build/C/man2/posix_fadvise.2:104
 msgid ""
 "The specified file descriptor refers to a pipe or FIFO.  (Linux actually "
 "returns B<EINVAL> in this case.)"
@@ -4507,7 +5923,7 @@ msgstr ""
 
 #.  of fadvise64_64()
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:111
+#: build/C/man2/posix_fadvise.2:112
 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 "
@@ -4515,14 +5931,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:120
+#: build/C/man2/posix_fadvise.2:121
 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:126
+#: build/C/man2/posix_fadvise.2:127
 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 "
@@ -4532,7 +5948,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:133
+#: build/C/man2/posix_fadvise.2:134
 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 "
@@ -4541,7 +5957,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:137
+#: build/C/man2/posix_fadvise.2:138
 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 "
@@ -4549,7 +5965,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:145
+#: build/C/man2/posix_fadvise.2:146
 msgid ""
 "B<POSIX_FADV_DONTNEED> attempts to free cached pages associated with the "
 "specified region.  This is useful, for example, while streaming large "
@@ -4559,7 +5975,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:153
+#: build/C/man2/posix_fadvise.2:154
 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 "
@@ -4567,13 +5983,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/posix_fadvise.2:153
+#: build/C/man2/posix_fadvise.2:154
 #, no-wrap
 msgid "arm_fadvise()"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:165
+#: build/C/man2/posix_fadvise.2:166
 msgid ""
 "The ARM architecture needs 64-bit arguments to be aligned in a suitable pair "
 "of registers.  On this architecture, the call signature of "
@@ -4584,7 +6000,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:170
+#: build/C/man2/posix_fadvise.2:171
 #, no-wrap
 msgid ""
 "B<long arm_fadvise64_64(int >I<fd>B<, int >I<advice>B<,>\n"
@@ -4593,7 +6009,7 @@ msgstr ""
 
 #.  No ARM support in glibc.
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:177
+#: build/C/man2/posix_fadvise.2:178
 msgid ""
 "The behavior of this system call is otherwise exactly the same as "
 "B<posix_fadvise>().  No library support is provided for this system call in "
@@ -4601,7 +6017,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:182
+#: build/C/man2/posix_fadvise.2:183
 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 "
@@ -4610,42 +6026,36 @@ msgstr ""
 
 #.  FIXME . Write a posix_fadvise(3) page.
 #. type: Plain text
-#: build/C/man2/posix_fadvise.2:188
+#: build/C/man2/posix_fadvise.2:189
 msgid ""
 "B<readahead>(2), B<sync_file_range>(2), B<posix_fallocate>(3), "
 "B<posix_madvise>(3)"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/posix_fallocate.3:23
+#: build/C/man3/posix_fallocate.3:25
 #, no-wrap
 msgid "POSIX_FALLOCATE"
 msgstr ""
 
-#. type: TH
-#: build/C/man3/posix_fallocate.3:23
-#, no-wrap
-msgid "2010-09-20"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:26
+#: build/C/man3/posix_fallocate.3:28
 msgid "posix_fallocate - allocate file space"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:31
+#: build/C/man3/posix_fallocate.3:33
 #, no-wrap
 msgid "B<int posix_fallocate(int >I<fd>B<, off_t >I<offset>B<, off_t >I<len>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:40
+#: build/C/man3/posix_fallocate.3:42
 msgid "B<posix_fallocate>():"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:59
+#: build/C/man3/posix_fallocate.3:61
 msgid ""
 "The function B<posix_fallocate>()  ensures that disk space is allocated for "
 "the file referred to by the descriptor I<fd> for the bytes in the range "
@@ -4655,41 +6065,41 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:64
+#: build/C/man3/posix_fallocate.3:66
 msgid ""
 "If the size of the file is less than I<offset>+I<len>, then the file is "
 "increased to this size; otherwise the file size is left unchanged."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:70
+#: build/C/man3/posix_fallocate.3:72
 msgid ""
 "B<posix_fallocate>()  returns zero on success, or an error number on "
 "failure.  Note that I<errno> is not set."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:79
+#: build/C/man3/posix_fallocate.3:81
 msgid "I<offset+len> exceeds the maximum file size."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:89
+#: build/C/man3/posix_fallocate.3:91
 msgid "I<fd> does not refer to a regular file."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:98
+#: build/C/man3/posix_fallocate.3:100
 msgid "I<fd> refers to a pipe."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:101
+#: build/C/man3/posix_fallocate.3:103
 msgid "B<posix_fallocate>()  is available since glibc 2.1.94."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:126
+#: build/C/man3/posix_fallocate.3:128
 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 "
@@ -4699,37 +6109,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_fallocate.3:130
-msgid "B<fallocate>(2), B<lseek>(2), B<posix_fadvise>(2)"
+#: build/C/man3/posix_fallocate.3:133
+msgid "B<fallocate>(1), B<fallocate>(2), B<lseek>(2), B<posix_fadvise>(2)"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/posix_memalign.3:28
+#: build/C/man3/posix_memalign.3:29
 #, no-wrap
 msgid "POSIX_MEMALIGN"
 msgstr ""
 
 #. type: TH
-#: build/C/man3/posix_memalign.3:28
+#: build/C/man3/posix_memalign.3:29
 #, no-wrap
 msgid "2012-03-23"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:31
+#: build/C/man3/posix_memalign.3:32
 msgid ""
-"posix_memalign, aligned_alloc, memalign, valloc, pvalloc - Allocate aligned "
+"posix_memalign, aligned_alloc, memalign, valloc, pvalloc - allocate aligned "
 "memory"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:34
-#, no-wrap
-msgid "B<#include E<lt>stdlib.hE<gt>>\n"
-msgstr ""
-
-#. type: Plain text
-#: build/C/man3/posix_memalign.3:38
+#: build/C/man3/posix_memalign.3:39
 #, no-wrap
 msgid ""
 "B<int posix_memalign(void **>I<memptr>B<, size_t >I<alignment>B<, size_t "
@@ -4739,7 +6143,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:43
+#: build/C/man3/posix_memalign.3:44
 #, no-wrap
 msgid ""
 "B<void *memalign(size_t >I<alignment>B<, size_t >I<size>B<);>\n"
@@ -4747,30 +6151,30 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:53
+#: build/C/man3/posix_memalign.3:54
 msgid ""
 "B<posix_memalign>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ "
 "E<gt>=\\ 600"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:56
+#: build/C/man3/posix_memalign.3:57
 msgid "B<aligned_alloc>(): _ISOC11_SOURCE"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:58
+#: build/C/man3/posix_memalign.3:59
 msgid "B<valloc>():"
 msgstr ""
 
 #. type: TP
-#: build/C/man3/posix_memalign.3:61
+#: build/C/man3/posix_memalign.3:62
 #, no-wrap
 msgid "Since glibc 2.12:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:68
+#: build/C/man3/posix_memalign.3:69
 #, no-wrap
 msgid ""
 "_BSD_SOURCE ||\n"
@@ -4780,20 +6184,20 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/posix_memalign.3:70
+#: build/C/man3/posix_memalign.3:71
 #, no-wrap
 msgid "Before glibc 2.12:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:74
+#: build/C/man3/posix_memalign.3:75
 msgid ""
 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
 "_XOPEN_SOURCE_EXTENDED"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:81
+#: build/C/man3/posix_memalign.3:82
 msgid ""
 "(The (nonstandard) header file I<E<lt>malloc.hE<gt>> also exposes the "
 "declaration of B<valloc>(); no feature test macros are required.)"
@@ -4801,7 +6205,7 @@ msgstr ""
 
 #.  glibc does this:
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:102
+#: build/C/man3/posix_memalign.3:103
 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 "
@@ -4814,7 +6218,7 @@ 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:113
+#: build/C/man3/posix_memalign.3:114
 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 "
@@ -4822,7 +6226,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man3/posix_memalign.3:122
+#: build/C/man3/posix_memalign.3:123
 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>."
@@ -4916,7 +6320,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/posix_memalign.3:204
-msgid "The function I<aligned_alloc ()> is specified in the C11 standard."
+msgid "The function B<aligned_alloc>()  is specified in the C11 standard."
 msgstr ""
 
 #. type: SS
@@ -4979,8 +6383,8 @@ msgid ""
 "with B<memalign>()  or B<valloc>()  (because one can only pass to B<free>(3)  "
 "a pointer gotten from B<malloc>(3), while, for example, B<memalign>()  would "
 "call B<malloc>(3)  and then align the obtained value).  The glibc "
-"implementation allows memory obtained from any of these these functions to "
-"be reclaimed with B<free>(3)."
+"implementation allows memory obtained from any of these functions to be "
+"reclaimed with B<free>(3)."
 msgstr ""
 
 #. type: Plain text
@@ -5073,18 +6477,18 @@ msgid "B<lseek>(2), B<madvise>(2), B<mmap>(2), B<posix_fadvise>(2), B<read>(2)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/remap_file_pages.2:26
+#: build/C/man2/remap_file_pages.2:28
 #, no-wrap
 msgid "REMAP_FILE_PAGES"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:29
+#: build/C/man2/remap_file_pages.2:31
 msgid "remap_file_pages - create a nonlinear file mapping"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:33
+#: build/C/man2/remap_file_pages.2:35
 #, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
@@ -5092,7 +6496,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:36
+#: build/C/man2/remap_file_pages.2:38
 #, no-wrap
 msgid ""
 "B<int remap_file_pages(void *>I<addr>B<, size_t >I<size>B<, int "
@@ -5101,7 +6505,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:49
+#: build/C/man2/remap_file_pages.2:51
 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 "
@@ -5112,31 +6516,31 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:51
+#: build/C/man2/remap_file_pages.2:53
 msgid "To create a nonlinear mapping we perform the following steps:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/remap_file_pages.2:51
+#: build/C/man2/remap_file_pages.2:53
 #, no-wrap
 msgid "1."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:59
+#: build/C/man2/remap_file_pages.2:61
 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:59
+#: build/C/man2/remap_file_pages.2:61
 #, no-wrap
 msgid "2."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:67
+#: build/C/man2/remap_file_pages.2:69
 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.  "
@@ -5145,7 +6549,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:78
+#: build/C/man2/remap_file_pages.2:80
 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 "
@@ -5153,7 +6557,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:96
+#: build/C/man2/remap_file_pages.2:98
 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 "
@@ -5166,7 +6570,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:110
+#: build/C/man2/remap_file_pages.2:112
 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 "
@@ -5174,26 +6578,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:114
+#: build/C/man2/remap_file_pages.2:116
 msgid "The I<prot> argument must be specified as 0."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:122
+#: build/C/man2/remap_file_pages.2:124
 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:129
+#: build/C/man2/remap_file_pages.2:131
 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:137
+#: build/C/man2/remap_file_pages.2:139
 msgid ""
 "I<addr> does not refer to a valid mapping created with the B<MAP_SHARED> "
 "flag."
@@ -5201,24 +6605,24 @@ msgstr ""
 
 #.  And possibly others from vma->vm_ops->populate()
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:146
+#: build/C/man2/remap_file_pages.2:148
 msgid "I<addr>, I<size>, I<prot>, or I<pgoff> is invalid."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:151
+#: build/C/man2/remap_file_pages.2:153
 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:155
+#: build/C/man2/remap_file_pages.2:157
 msgid "The B<remap_file_pages>()  system call is Linux-specific."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/remap_file_pages.2:162
+#: build/C/man2/remap_file_pages.2:164
 msgid ""
 "B<getpagesize>(2), B<mmap>(2), B<mmap2>(2), B<mprotect>(2), B<mremap>(2), "
 "B<msync>(2)"
@@ -5238,7 +6642,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/shm_open.3:29
-msgid "shm_open, shm_unlink - Create/open or unlink POSIX shared memory objects"
+msgid "shm_open, shm_unlink - create/open or unlink POSIX shared memory objects"
 msgstr ""
 
 #. type: Plain text
@@ -5444,7 +6848,7 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man3/shm_open.3:200 build/C/man2/shmget.2:192
+#: build/C/man3/shm_open.3:200 build/C/man2/shmget.2:194
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr ""
@@ -5489,7 +6893,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:231 build/C/man3/shm_open.3:240 build/C/man2/shmget.2:206
+#: build/C/man3/shm_open.3:231 build/C/man3/shm_open.3:240 build/C/man2/shmget.2:208
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr ""
@@ -5549,7 +6953,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/shm_overview.7:30
-msgid "shm_overview - Overview of POSIX shared memory"
+msgid "shm_overview - overview of POSIX shared memory"
 msgstr ""
 
 #. type: Plain text
@@ -5749,53 +7153,53 @@ msgid ""
 msgstr ""
 
 #. type: TH
-#: build/C/man2/shmctl.2:43
+#: build/C/man2/shmctl.2:45
 #, no-wrap
 msgid "SHMCTL"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/shmctl.2:43
+#: build/C/man2/shmctl.2:45 build/C/man2/shmget.2:38
 #, no-wrap
-msgid "2008-08-07"
+msgid "2012-05-31"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:46
+#: build/C/man2/shmctl.2:48
 msgid "shmctl - shared memory control"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:49 build/C/man2/shmget.2:42
+#: build/C/man2/shmctl.2:51 build/C/man2/shmget.2:44
 msgid "B<#include E<lt>sys/ipc.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:51 build/C/man2/shmget.2:44
+#: build/C/man2/shmctl.2:53 build/C/man2/shmget.2:46
 msgid "B<#include E<lt>sys/shm.hE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:53
+#: build/C/man2/shmctl.2:55
 msgid "B<int shmctl(int >I<shmid>B<, int >I<cmd>B<, struct shmid_ds *>I<buf>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:60
+#: build/C/man2/shmctl.2:62
 msgid ""
 "B<shmctl>()  performs the control operation specified by I<cmd> on the "
 "shared memory segment whose identifier is given in I<shmid>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:65
+#: build/C/man2/shmctl.2:67
 msgid ""
 "The I<buf> argument is a pointer to a I<shmid_ds> structure, defined in "
 "I<E<lt>sys/shm.hE<gt>> as follows:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:79
+#: build/C/man2/shmctl.2:81
 #, no-wrap
 msgid ""
 "struct shmid_ds {\n"
@@ -5812,14 +7216,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:87
+#: build/C/man2/shmctl.2:89
 msgid ""
-"The I<ipc_perm> structure is defined in I<E<lt>sys/ipc.hE<gt>> as follows "
-"(the highlighted fields are settable using B<IPC_SET>):"
+"The I<ipc_perm> structure is defined as follows (the highlighted fields are "
+"settable using B<IPC_SET>):"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:100
+#: build/C/man2/shmctl.2:102
 #, no-wrap
 msgid ""
 "struct ipc_perm {\n"
@@ -5835,18 +7239,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:106
+#: build/C/man2/shmctl.2:108
 msgid "Valid values for I<cmd> are:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:107
+#: build/C/man2/shmctl.2:109
 #, no-wrap
 msgid "B<IPC_STAT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:116
+#: build/C/man2/shmctl.2:118
 msgid ""
 "Copy information from the kernel data structure associated with I<shmid> "
 "into the I<shmid_ds> structure pointed to by I<buf>.  The caller must have "
@@ -5854,13 +7258,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:116
+#: build/C/man2/shmctl.2:118
 #, no-wrap
 msgid "B<IPC_SET>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:134
+#: build/C/man2/shmctl.2:136
 msgid ""
 "Write the values of some members of the I<shmid_ds> structure pointed to by "
 "I<buf> to the kernel data structure associated with this shared memory "
@@ -5872,13 +7276,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:134
+#: build/C/man2/shmctl.2:136
 #, no-wrap
 msgid "B<IPC_RMID>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:151
+#: build/C/man2/shmctl.2:153
 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> "
@@ -5890,20 +7294,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:154
+#: build/C/man2/shmctl.2:156
 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: TP
-#: build/C/man2/shmctl.2:154
+#: build/C/man2/shmctl.2:156
 #, no-wrap
 msgid "B<IPC_INFO> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:167
+#: build/C/man2/shmctl.2:169
 msgid ""
 "Returns information about system-wide shared memory limits and parameters in "
 "the structure pointed to by I<buf>.  This structure is of type I<shminfo> "
@@ -5912,7 +7316,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:181
+#: build/C/man2/shmctl.2:183
 #, no-wrap
 msgid ""
 "struct  shminfo {\n"
@@ -5929,20 +7333,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:194
+#: build/C/man2/shmctl.2:196
 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:194
+#: build/C/man2/shmctl.2:196
 #, no-wrap
 msgid "B<SHM_INFO> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:205
+#: build/C/man2/shmctl.2:207
 msgid ""
 "Returns a I<shm_info> structure whose fields contain information about "
 "system resources consumed by shared memory.  This structure is defined in "
@@ -5950,7 +7354,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:222
+#: build/C/man2/shmctl.2:224
 #, no-wrap
 msgid ""
 "struct shm_info {\n"
@@ -5970,13 +7374,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:224
+#: build/C/man2/shmctl.2:226
 #, no-wrap
 msgid "B<SHM_STAT> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:235
+#: build/C/man2/shmctl.2:237
 msgid ""
 "Returns 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 "
@@ -5985,20 +7389,20 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:238
+#: build/C/man2/shmctl.2:240
 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:239
+#: build/C/man2/shmctl.2:241
 #, no-wrap
 msgid "B<SHM_LOCK> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:251
+#: build/C/man2/shmctl.2:253
 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 "
@@ -6008,13 +7412,13 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmctl.2:251
+#: build/C/man2/shmctl.2:253
 #, no-wrap
 msgid "B<SHM_UNLOCK> (Linux-specific)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:254
+#: build/C/man2/shmctl.2:256
 msgid "Unlock the segment, allowing it to be swapped out."
 msgstr ""
 
@@ -6023,7 +7427,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:272
+#: build/C/man2/shmctl.2:274
 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 "
@@ -6033,7 +7437,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:290
+#: build/C/man2/shmctl.2:292
 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 "
@@ -6045,12 +7449,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:294
+#: build/C/man2/shmctl.2:296
 msgid "On error, -1 is returned, and I<errno> is set appropriately."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:303
+#: build/C/man2/shmctl.2:305
 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 "
@@ -6058,25 +7462,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:314
+#: build/C/man2/shmctl.2:316
 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:314
+#: build/C/man2/shmctl.2:316 build/C/man2/shmop.2:197
 #, no-wrap
 msgid "B<EIDRM>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:317
+#: build/C/man2/shmctl.2:319 build/C/man2/shmop.2:200
 msgid "I<shmid> points to a removed identifier."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:326
+#: build/C/man2/shmctl.2:328
 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 "
@@ -6084,7 +7488,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:337
+#: build/C/man2/shmctl.2:339
 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 "
@@ -6093,21 +7497,15 @@ msgid ""
 "(see B<setrlimit>(2))."
 msgstr ""
 
-#. type: TP
-#: build/C/man2/shmctl.2:337
-#, no-wrap
-msgid "B<EOVERFLOW>"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/shmctl.2:342
+#: build/C/man2/shmctl.2:344
 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:354
+#: build/C/man2/shmctl.2:356
 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 "
@@ -6116,7 +7514,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:366
+#: build/C/man2/shmctl.2:368
 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> "
@@ -6126,12 +7524,24 @@ msgstr ""
 
 #.  SVr4 documents an additional error condition EMFILE.
 #. type: Plain text
-#: build/C/man2/shmctl.2:371 build/C/man2/shmget.2:232 build/C/man2/shmop.2:229
+#: build/C/man2/shmctl.2:373 build/C/man2/shmget.2:234 build/C/man2/shmop.2:234
 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:386 build/C/man2/shmget.2:250
+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 "
+"implementations required the inclusion of these header files, and the SVID "
+"also documented their inclusion.  Applications intended to be portable to "
+"such old systems may need to include these header files."
+msgstr ""
+
 #. type: Plain text
-#: build/C/man2/shmctl.2:382
+#: build/C/man2/shmctl.2:397
 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 "
@@ -6139,7 +7549,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:390
+#: build/C/man2/shmctl.2:405
 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 "
@@ -6148,7 +7558,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:403
+#: build/C/man2/shmctl.2:418
 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 "
@@ -6157,36 +7567,30 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmctl.2:410
+#: build/C/man2/shmctl.2:425
 msgid ""
 "B<mlock>(2), B<setrlimit>(2), B<shmget>(2), B<shmop>(2), B<capabilities>(7), "
 "B<svipc>(7)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/shmget.2:36
+#: build/C/man2/shmget.2:38
 #, no-wrap
 msgid "SHMGET"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/shmget.2:36
-#, no-wrap
-msgid "2006-05-02"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/shmget.2:39
+#: build/C/man2/shmget.2:41
 msgid "shmget - allocates a shared memory segment"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:46
+#: build/C/man2/shmget.2:48
 msgid "B<int shmget(key_t >I<key>B<, size_t >I<size>B<, int >I<shmflg>B<);>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:70
+#: build/C/man2/shmget.2:72
 msgid ""
 "B<shmget>()  returns the identifier of the shared memory segment associated "
 "with the value of the argument I<key>.  A new shared memory segment, with "
@@ -6197,7 +7601,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:89
+#: build/C/man2/shmget.2:91
 msgid ""
 "If I<shmflg> specifies both B<IPC_CREAT> and B<IPC_EXCL> and a shared memory "
 "segment already exists for I<key>, then B<shmget>()  fails with I<errno> set "
@@ -6206,18 +7610,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:93
+#: build/C/man2/shmget.2:95
 msgid "The value I<shmflg> is composed of:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:93
+#: build/C/man2/shmget.2:95
 #, no-wrap
 msgid "B<IPC_CREAT>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:100
+#: 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 "
@@ -6225,24 +7629,24 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:100
+#: build/C/man2/shmget.2:102
 #, no-wrap
 msgid "B<IPC_EXCL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:103
+#: 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:103
+#: build/C/man2/shmget.2:105
 #, no-wrap
 msgid "I<mode_flags>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:113
+#: build/C/man2/shmget.2:115
 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 "
@@ -6251,20 +7655,20 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:113
+#: build/C/man2/shmget.2:115
 #, no-wrap
 msgid "B<SHM_HUGETLB> (since Linux 2.6)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:119
+#: build/C/man2/shmget.2:121
 msgid ""
-"Allocate the segment using \"huge pages.\" See the kernel source file "
+"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:119
+#: build/C/man2/shmget.2:121
 #, no-wrap
 msgid "B<SHM_NORESERVE> (since Linux 2.6.15)"
 msgstr ""
@@ -6272,7 +7676,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:138
+#: build/C/man2/shmget.2:140
 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, "
@@ -6283,7 +7687,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:146
+#: build/C/man2/shmget.2:148
 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 "
@@ -6291,72 +7695,72 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:151
+#: build/C/man2/shmget.2:153
 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:156
+#: build/C/man2/shmget.2:158
 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:161
+#: build/C/man2/shmget.2:163
 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:165
+#: build/C/man2/shmget.2:167
 msgid "I<shm_segsz> is set to the value of I<size>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:172
+#: build/C/man2/shmget.2:174
 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:175
+#: build/C/man2/shmget.2:177
 msgid "I<shm_ctime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:178
+#: build/C/man2/shmget.2:180
 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:182
+#: build/C/man2/shmget.2:184
 msgid "A valid segment identifier, I<shmid>, is returned on success, -1 on error."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:186
+#: build/C/man2/shmget.2:188
 msgid "On failure, I<errno> is set to one of the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:192
+#: build/C/man2/shmget.2:194
 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:196
+#: build/C/man2/shmget.2:198
 msgid "B<IPC_CREAT | IPC_EXCL> was specified and the segment exists."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:202
+#: build/C/man2/shmget.2:204
 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 "
@@ -6364,17 +7768,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:211
+#: build/C/man2/shmget.2:213
 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:214
+#: build/C/man2/shmget.2:216
 msgid "No memory could be allocated for segment overhead."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:222
+#: build/C/man2/shmget.2:224
 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 "
@@ -6382,19 +7786,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:229
+#: build/C/man2/shmget.2:231
 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:235
+#: build/C/man2/shmget.2:237
 msgid "B<SHM_HUGETLB> is a nonportable Linux extension."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:245
+#: build/C/man2/shmget.2:260
 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 "
@@ -6403,53 +7807,53 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:249
+#: build/C/man2/shmget.2:264
 msgid ""
 "The following limits on shared memory segment resources affect the "
 "B<shmget>()  call:"
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:249
+#: build/C/man2/shmget.2:264
 #, no-wrap
 msgid "B<SHMALL>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:254
+#: build/C/man2/shmget.2:269
 msgid ""
 "System wide maximum of shared memory pages (on Linux, this limit can be read "
 "and modified via I</proc/sys/kernel/shmall>)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:254
+#: build/C/man2/shmget.2:269
 #, no-wrap
 msgid "B<SHMMAX>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:259
+#: build/C/man2/shmget.2:274
 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>)."
 msgstr ""
 
 #. type: TP
-#: build/C/man2/shmget.2:259
+#: build/C/man2/shmget.2:274
 #, no-wrap
 msgid "B<SHMMIN>"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:265
+#: build/C/man2/shmget.2:280
 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:265
+#: build/C/man2/shmget.2:280
 #, no-wrap
 msgid "B<SHMMNI>"
 msgstr ""
@@ -6458,7 +7862,7 @@ msgstr ""
 #.  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:274
+#: build/C/man2/shmget.2:289
 msgid ""
 "System wide maximum number of shared memory segments: implementation "
 "dependent (currently 4096, was 128 before Linux 2.3.99; on Linux, this limit "
@@ -6466,52 +7870,46 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmget.2:278
+#: build/C/man2/shmget.2:293
 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:284
+#: build/C/man2/shmget.2:299
 msgid ""
 "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:290
+#: build/C/man2/shmget.2:305
 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:298
+#: build/C/man2/shmget.2:313
 msgid ""
 "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
-#: build/C/man2/shmop.2:39
+#: build/C/man2/shmop.2:41
 #, no-wrap
 msgid "SHMOP"
 msgstr ""
 
-#. type: TH
-#: build/C/man2/shmop.2:39
-#, no-wrap
-msgid "2008-06-03"
-msgstr ""
-
 #. type: Plain text
-#: build/C/man2/shmop.2:42
+#: build/C/man2/shmop.2:44
 msgid "shmat, shmdt - shared memory operations"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:46
+#: build/C/man2/shmop.2:48
 #, no-wrap
 msgid ""
 "B<#include E<lt>sys/types.hE<gt>>\n"
@@ -6519,7 +7917,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:48
+#: build/C/man2/shmop.2:50
 #, no-wrap
 msgid ""
 "B<void *shmat(int >I<shmid>B<, const void *>I<shmaddr>B<, int "
@@ -6527,13 +7925,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:50
+#: build/C/man2/shmop.2:52
 #, no-wrap
 msgid "B<int shmdt(const void *>I<shmaddr>B<);>\n"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:59
+#: build/C/man2/shmop.2:61
 msgid ""
 "B<shmat>()  attaches the shared memory segment identified by I<shmid> to the "
 "address space of the calling process.  The attaching address is specified by "
@@ -6541,14 +7939,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:65
+#: build/C/man2/shmop.2:67
 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:80
+#: build/C/man2/shmop.2:82
 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 "
@@ -6557,7 +7955,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:90
+#: build/C/man2/shmop.2:92
 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.  "
@@ -6567,7 +7965,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:105
+#: build/C/man2/shmop.2:107
 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 "
@@ -6577,7 +7975,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:112
+#: build/C/man2/shmop.2:114
 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 "
@@ -6586,7 +7984,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:120
+#: build/C/man2/shmop.2:122
 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 "
@@ -6594,22 +7992,22 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:123
+#: build/C/man2/shmop.2:125
 msgid "I<shm_atime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:126 build/C/man2/shmop.2:152
+#: build/C/man2/shmop.2:128 build/C/man2/shmop.2:154
 msgid "I<shm_lpid> is set to the process-ID of the calling process."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:129
+#: build/C/man2/shmop.2:131
 msgid "I<shm_nattch> is incremented by one."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:140
+#: build/C/man2/shmop.2:142
 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 "
@@ -6618,45 +8016,45 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:146
+#: build/C/man2/shmop.2:148
 msgid ""
 "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:149
+#: build/C/man2/shmop.2:151
 msgid "I<shm_dtime> is set to the current time."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:157
+#: build/C/man2/shmop.2:159
 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:161
+#: 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:165
+#: 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:169
+#: 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:177
+#: build/C/man2/shmop.2:179
 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 "
@@ -6664,26 +8062,26 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:183
+#: build/C/man2/shmop.2:185
 msgid ""
 "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:189
+#: build/C/man2/shmop.2:191
 msgid "When B<shmat>()  fails, I<errno> is set to one of the following:"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:195
+#: build/C/man2/shmop.2:197
 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:209
+#: build/C/man2/shmop.2:214
 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 "
@@ -6691,25 +8089,25 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:212
+#: build/C/man2/shmop.2:217
 msgid "Could not allocate memory for the descriptor or for the page tables."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:218
+#: build/C/man2/shmop.2:223
 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:226
+#: build/C/man2/shmop.2:231
 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:245
+#: build/C/man2/shmop.2:250
 msgid ""
 "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 "
@@ -6718,7 +8116,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:257
+#: build/C/man2/shmop.2:262
 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 "
@@ -6729,7 +8127,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:262
+#: build/C/man2/shmop.2:267
 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 "
@@ -6737,14 +8135,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:265
+#: build/C/man2/shmop.2:270
 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:265
+#: build/C/man2/shmop.2:270
 #, no-wrap
 msgid "B<SHMLBA>"
 msgstr ""
@@ -6753,45 +8151,45 @@ msgstr ""
 #.  architectures (i.e., SHMLBA != PAGE_SIZE for some architectures)
 #.  -- MTK, Nov 04
 #. type: Plain text
-#: build/C/man2/shmop.2:278
+#: build/C/man2/shmop.2:283
 msgid ""
 "Segment low boundary address multiple.  Must be page aligned.  For the "
 "current implementation the B<SHMLBA> value is B<PAGE_SIZE>."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:282
+#: build/C/man2/shmop.2:287
 msgid ""
 "The implementation places no intrinsic limit on the per-process maximum "
 "number of shared memory segments (B<SHMSEG>)."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/shmop.2:290
+#: build/C/man2/shmop.2:295
 msgid ""
 "B<brk>(2), B<mmap>(2), B<shmctl>(2), B<shmget>(2), B<capabilities>(7), "
 "B<shm_overview>(7), B<svipc>(7)"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/subpage_prot.2:28
+#: build/C/man2/subpage_prot.2:30
 #, no-wrap
 msgid "SUBPAGE_PROT"
 msgstr ""
 
 #. type: TH
-#: build/C/man2/subpage_prot.2:28
+#: build/C/man2/subpage_prot.2:30
 #, no-wrap
-msgid "2010-10-30"
+msgid "2012-07-13"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:31
+#: build/C/man2/subpage_prot.2:33
 msgid "subpage_prot - define a subpage protection for an address range"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:35
+#: build/C/man2/subpage_prot.2:37
 #, no-wrap
 msgid ""
 "B<long subpage_prot(unsigned long >I<addr>B<, unsigned long >I<len>B<,>\n"
@@ -6799,7 +8197,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:42
+#: build/C/man2/subpage_prot.2:41
+msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/subpage_prot.2:47
 msgid ""
 "The PowerPC-specific B<subpage_prot>()  system call provides the facility to "
 "control the access permissions on individual 4kB subpages on systems "
@@ -6807,7 +8210,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:49
+#: build/C/man2/subpage_prot.2:54
 msgid ""
 "The protection map is applied to the memory pages in the region starting at "
 "I<addr> and continuing for I<len> bytes.  Both of these arguments must be "
@@ -6815,7 +8218,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:61
+#: build/C/man2/subpage_prot.2:66
 msgid ""
 "The protection map is specified in the buffer pointed to by I<map>.  The map "
 "has 2 bits per 4kB subpage; thus each 32-bit word specifies the protections "
@@ -6826,19 +8229,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:66
+#: build/C/man2/subpage_prot.2:71
 msgid ""
 "On success, B<subpage_prot>()  returns 0.  Otherwise, one of the error codes "
 "specified below is returned."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:72
+#: build/C/man2/subpage_prot.2:77
 msgid "The buffer referred to by I<map> is not accessible."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:82
+#: build/C/man2/subpage_prot.2:87
 msgid ""
 "The I<addr> or I<len> arguments are incorrect.  Both of these arguments must "
 "be aligned to a multiple of the system page size, and they must not refer to "
@@ -6847,12 +8250,12 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:85 build/C/man2/sync_file_range.2:166
+#: build/C/man2/subpage_prot.2:90 build/C/man2/sync_file_range.2:166
 msgid "Out of memory."
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:91
+#: build/C/man2/subpage_prot.2:96
 msgid ""
 "This system call is provided on the PowerPC architecture since Linux "
 "2.6.25.  The system call is provided only if the kernel is configured with "
@@ -6860,7 +8263,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:98
+#: build/C/man2/subpage_prot.2:101
+msgid ""
+"Glibc does not provide a wrapper for this system call; call it using "
+"B<syscall>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/subpage_prot.2:106
 msgid ""
 "Normal page protections (at the 64-kB page level) also apply; the subpage "
 "protection mechanism is an additional constraint, so putting 0 in a 2-bit "
@@ -6868,7 +8278,7 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: build/C/man2/subpage_prot.2:98
+#: build/C/man2/subpage_prot.2:106
 #, no-wrap
 msgid "Rationale"
 msgstr ""
@@ -6880,7 +8290,7 @@ msgstr ""
 #.  But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch
 #.  the affected segment, not the whole process.
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:120
+#: build/C/man2/subpage_prot.2:128
 msgid ""
 "This system call is provided to assist writing emulators that operate using "
 "64-kB pages on PowerPC systems.  When emulating systems such as x86, which "
@@ -6898,13 +8308,13 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:123
-msgid "B<mprotect>(2), B<syscall>(2);"
+#: build/C/man2/subpage_prot.2:131
+msgid "B<mprotect>(2), B<syscall>(2)"
 msgstr ""
 
 #. type: Plain text
-#: build/C/man2/subpage_prot.2:126
-msgid "the kernel source file I<Documentation/vm/hugetlbpage.txt>."
+#: build/C/man2/subpage_prot.2:134
+msgid "I<Documentation/vm/hugetlbpage.txt> in the Linux kernel source tree"
 msgstr ""
 
 #. type: TH
@@ -7123,7 +8533,7 @@ msgid "Out of disk space."
 msgstr ""
 
 #.  FIXME . (bug?) Actually, how can 'fd' refer to a symbolic link (S_ISLNK)?
-#.  (In userspace at least) it isn't possible to obtain a file descriptor
+#.  (In user space at least) it isn't possible to obtain a file descriptor
 #.  for a symbolic link.
 #. type: Plain text
 #: build/C/man2/sync_file_range.2:177