aboutsummaryrefslogtreecommitdiffstats
path: root/man3
diff options
context:
space:
mode:
Diffstat (limited to 'man3')
-rw-r--r--man3/CPU_SET.36
-rw-r--r--man3/INFINITY.32
-rw-r--r--man3/MAX.32
-rw-r--r--man3/MB_CUR_MAX.34
-rw-r--r--man3/MB_LEN_MAX.34
-rw-r--r--man3/_Generic.34
-rw-r--r--man3/__ppc_get_timebase.317
-rw-r--r--man3/__ppc_set_ppr_med.323
-rw-r--r--man3/__ppc_yield.36
-rw-r--r--man3/__setfpucw.35
-rw-r--r--man3/a64l.34
-rw-r--r--man3/abort.36
-rw-r--r--man3/abs.35
-rw-r--r--man3/acos.36
-rw-r--r--man3/acosh.34
-rw-r--r--man3/addseverity.313
-rw-r--r--man3/adjtime.32
-rw-r--r--man3/aio_cancel.39
-rw-r--r--man3/aio_error.39
-rw-r--r--man3/aio_fsync.39
-rw-r--r--man3/aio_init.38
-rw-r--r--man3/aio_read.39
-rw-r--r--man3/aio_return.39
-rw-r--r--man3/aio_suspend.39
-rw-r--r--man3/aio_write.39
-rw-r--r--man3/alloca.37
-rw-r--r--man3/argz_add.32
-rw-r--r--man3/asin.34
-rw-r--r--man3/asinh.34
-rw-r--r--man3/asprintf.36
-rw-r--r--man3/assert.35
-rw-r--r--man3/assert_perror.32
-rw-r--r--man3/atan.34
-rw-r--r--man3/atan2.34
-rw-r--r--man3/atanh.34
-rw-r--r--man3/atexit.336
-rw-r--r--man3/atof.34
-rw-r--r--man3/atoi.315
-rw-r--r--man3/backtrace.310
-rw-r--r--man3/basename.38
-rw-r--r--man3/bcmp.37
-rw-r--r--man3/bcopy.35
-rw-r--r--man3/bindresvport.35
-rw-r--r--man3/bsd_signal.317
-rw-r--r--man3/bsearch.34
-rw-r--r--man3/bswap.32
-rw-r--r--man3/btowc.34
-rw-r--r--man3/byteorder.34
-rw-r--r--man3/bzero.326
-rw-r--r--man3/cabs.37
-rw-r--r--man3/cacos.37
-rw-r--r--man3/cacosh.37
-rw-r--r--man3/canonicalize_file_name.32
-rw-r--r--man3/carg.37
-rw-r--r--man3/casin.37
-rw-r--r--man3/casinh.37
-rw-r--r--man3/catan.37
-rw-r--r--man3/catanh.37
-rw-r--r--man3/catgets.37
-rw-r--r--man3/catopen.326
-rw-r--r--man3/cbrt.34
-rw-r--r--man3/ccos.37
-rw-r--r--man3/ccosh.37
-rw-r--r--man3/ceil.34
-rw-r--r--man3/cexp.37
-rw-r--r--man3/cfree.311
-rw-r--r--man3/cimag.311
-rw-r--r--man3/circleq.34
-rw-r--r--man3/clearenv.317
-rw-r--r--man3/clock.329
-rw-r--r--man3/clock_getcpuclockid.39
-rw-r--r--man3/clog.37
-rw-r--r--man3/clog10.37
-rw-r--r--man3/clog2.32
-rw-r--r--man3/closedir.34
-rw-r--r--man3/cmsg.344
-rw-r--r--man3/confstr.34
-rw-r--r--man3/conj.37
-rw-r--r--man3/copysign.313
-rw-r--r--man3/cos.34
-rw-r--r--man3/cosh.34
-rw-r--r--man3/cpow.37
-rw-r--r--man3/cproj.39
-rw-r--r--man3/creal.311
-rw-r--r--man3/crypt.314
-rw-r--r--man3/csin.37
-rw-r--r--man3/csinh.37
-rw-r--r--man3/csqrt.37
-rw-r--r--man3/ctan.37
-rw-r--r--man3/ctanh.37
-rw-r--r--man3/ctermid.34
-rw-r--r--man3/ctime.3103
-rw-r--r--man3/daemon.312
-rw-r--r--man3/des_crypt.335
-rw-r--r--man3/difftime.34
-rw-r--r--man3/dirfd.33
-rw-r--r--man3/div.36
-rw-r--r--man3/dl_iterate_phdr.314
-rw-r--r--man3/dladdr.315
-rw-r--r--man3/dlerror.310
-rw-r--r--man3/dlinfo.312
-rw-r--r--man3/dlopen.339
-rw-r--r--man3/dlsym.320
-rw-r--r--man3/drand48.34
-rw-r--r--man3/drand48_r.32
-rw-r--r--man3/duplocale.36
-rw-r--r--man3/dysize.36
-rw-r--r--man3/ecvt.32
-rw-r--r--man3/ecvt_r.32
-rw-r--r--man3/encrypt.338
-rw-r--r--man3/end.32
-rw-r--r--man3/endian.39
-rw-r--r--man3/envz_add.32
-rw-r--r--man3/erf.34
-rw-r--r--man3/erfc.34
-rw-r--r--man3/err.315
-rw-r--r--man3/error.33
-rw-r--r--man3/ether_aton.32
-rw-r--r--man3/euidaccess.311
-rw-r--r--man3/exec.344
-rw-r--r--man3/exit.34
-rw-r--r--man3/exp.34
-rw-r--r--man3/exp10.36
-rw-r--r--man3/exp2.37
-rw-r--r--man3/expm1.36
-rw-r--r--man3/fabs.34
-rw-r--r--man3/fclose.34
-rw-r--r--man3/fcloseall.32
-rw-r--r--man3/fdim.37
-rw-r--r--man3/fenv.37
-rw-r--r--man3/ferror.39
-rw-r--r--man3/fexecve.312
-rw-r--r--man3/fflush.34
-rw-r--r--man3/ffs.316
-rw-r--r--man3/fgetc.36
-rw-r--r--man3/fgetgrent.32
-rw-r--r--man3/fgetpwent.32
-rw-r--r--man3/fgetwc.34
-rw-r--r--man3/fgetws.34
-rw-r--r--man3/fileno.36
-rw-r--r--man3/flockfile.34
-rw-r--r--man3/floor.36
-rw-r--r--man3/fma.37
-rw-r--r--man3/fmax.37
-rw-r--r--man3/fmemopen.320
-rw-r--r--man3/fmin.37
-rw-r--r--man3/fmod.34
-rw-r--r--man3/fmtmsg.330
-rw-r--r--man3/fnmatch.318
-rw-r--r--man3/fopen.323
-rw-r--r--man3/fopencookie.32
-rw-r--r--man3/fpathconf.34
-rw-r--r--man3/fpclassify.314
-rw-r--r--man3/fpurge.312
-rw-r--r--man3/fputwc.34
-rw-r--r--man3/fputws.34
-rw-r--r--man3/fread.34
-rw-r--r--man3/frexp.34
-rw-r--r--man3/fseek.34
-rw-r--r--man3/fseeko.37
-rw-r--r--man3/ftime.315
-rw-r--r--man3/ftok.34
-rw-r--r--man3/fts.35
-rw-r--r--man3/ftw.340
-rw-r--r--man3/futimes.318
-rw-r--r--man3/fwide.34
-rw-r--r--man3/gamma.38
-rw-r--r--man3/gcvt.35
-rw-r--r--man3/get_nprocs.32
-rw-r--r--man3/get_phys_pages.36
-rw-r--r--man3/getaddrinfo.342
-rw-r--r--man3/getaddrinfo_a.37
-rw-r--r--man3/getauxval.38
-rw-r--r--man3/getcontext.36
-rw-r--r--man3/getcwd.377
-rw-r--r--man3/getdate.38
-rw-r--r--man3/getdirentries.34
-rw-r--r--man3/getdtablesize.319
-rw-r--r--man3/getentropy.310
-rw-r--r--man3/getenv.319
-rw-r--r--man3/getfsent.315
-rw-r--r--man3/getgrent.34
-rw-r--r--man3/getgrent_r.311
-rw-r--r--man3/getgrnam.38
-rw-r--r--man3/getgrouplist.36
-rw-r--r--man3/gethostbyname.345
-rw-r--r--man3/gethostid.326
-rw-r--r--man3/getifaddrs.318
-rw-r--r--man3/getipnodebyname.39
-rw-r--r--man3/getline.39
-rw-r--r--man3/getloadavg.314
-rw-r--r--man3/getlogin.343
-rw-r--r--man3/getmntent.34
-rw-r--r--man3/getnameinfo.323
-rw-r--r--man3/getnetent.36
-rw-r--r--man3/getnetent_r.35
-rw-r--r--man3/getopt.326
-rw-r--r--man3/getpass.37
-rw-r--r--man3/getprotoent.34
-rw-r--r--man3/getprotoent_r.35
-rw-r--r--man3/getpt.311
-rw-r--r--man3/getpw.32
-rw-r--r--man3/getpwent.37
-rw-r--r--man3/getpwent_r.311
-rw-r--r--man3/getpwnam.37
-rw-r--r--man3/getrpcent.35
-rw-r--r--man3/getrpcent_r.35
-rw-r--r--man3/getrpcport.35
-rw-r--r--man3/gets.34
-rw-r--r--man3/getservent.34
-rw-r--r--man3/getservent_r.35
-rw-r--r--man3/getspnam.36
-rw-r--r--man3/getsubopt.34
-rw-r--r--man3/getttyent.33
-rw-r--r--man3/getusershell.32
-rw-r--r--man3/getutent.32
-rw-r--r--man3/getutmp.38
-rw-r--r--man3/getw.33
-rw-r--r--man3/getwchar.34
-rw-r--r--man3/glob.34
-rw-r--r--man3/gnu_get_libc_version.36
-rw-r--r--man3/grantpt.316
-rw-r--r--man3/group_member.32
-rw-r--r--man3/gsignal.34
-rw-r--r--man3/hsearch.338
-rw-r--r--man3/hypot.34
-rw-r--r--man3/iconv.37
-rw-r--r--man3/iconv_close.37
-rw-r--r--man3/iconv_open.37
-rw-r--r--man3/if_nameindex.316
-rw-r--r--man3/if_nametoindex.37
-rw-r--r--man3/ilogb.34
-rw-r--r--man3/index.37
-rw-r--r--man3/inet.333
-rw-r--r--man3/inet_net_pton.36
-rw-r--r--man3/inet_ntop.35
-rw-r--r--man3/inet_pton.38
-rw-r--r--man3/initgroups.32
-rw-r--r--man3/insque.38
-rw-r--r--man3/isalpha.3173
-rw-r--r--man3/isatty.34
-rw-r--r--man3/isfdtype.318
-rw-r--r--man3/isgreater.38
-rw-r--r--man3/iswalnum.34
-rw-r--r--man3/iswalpha.34
-rw-r--r--man3/iswblank.34
-rw-r--r--man3/iswcntrl.34
-rw-r--r--man3/iswctype.34
-rw-r--r--man3/iswdigit.34
-rw-r--r--man3/iswgraph.34
-rw-r--r--man3/iswlower.34
-rw-r--r--man3/iswprint.34
-rw-r--r--man3/iswpunct.34
-rw-r--r--man3/iswspace.34
-rw-r--r--man3/iswupper.34
-rw-r--r--man3/iswxdigit.34
-rw-r--r--man3/j0.327
-rw-r--r--man3/killpg.311
-rw-r--r--man3/ldexp.34
-rw-r--r--man3/lgamma.337
-rw-r--r--man3/lio_listio.39
-rw-r--r--man3/list.36
-rw-r--r--man3/localeconv.34
-rw-r--r--man3/lockf.34
-rw-r--r--man3/log.34
-rw-r--r--man3/log10.34
-rw-r--r--man3/log1p.34
-rw-r--r--man3/log2.37
-rw-r--r--man3/logb.313
-rw-r--r--man3/login.310
-rw-r--r--man3/lrint.37
-rw-r--r--man3/lround.37
-rw-r--r--man3/lsearch.36
-rw-r--r--man3/makecontext.313
-rw-r--r--man3/makedev.323
-rw-r--r--man3/mallinfo.320
-rw-r--r--man3/malloc.337
-rw-r--r--man3/malloc_get_state.32
-rw-r--r--man3/malloc_hook.32
-rw-r--r--man3/malloc_info.37
-rw-r--r--man3/malloc_stats.36
-rw-r--r--man3/malloc_trim.36
-rw-r--r--man3/malloc_usable_size.32
-rw-r--r--man3/mallopt.310
-rw-r--r--man3/mblen.314
-rw-r--r--man3/mbrlen.34
-rw-r--r--man3/mbrtowc.34
-rw-r--r--man3/mbsinit.34
-rw-r--r--man3/mbsrtowcs.34
-rw-r--r--man3/mbstowcs.314
-rw-r--r--man3/mbtowc.316
-rw-r--r--man3/mcheck.318
-rw-r--r--man3/memccpy.34
-rw-r--r--man3/memchr.330
-rw-r--r--man3/memcmp.36
-rw-r--r--man3/memcpy.36
-rw-r--r--man3/memfrob.35
-rw-r--r--man3/memmem.37
-rw-r--r--man3/memmove.34
-rw-r--r--man3/mempcpy.37
-rw-r--r--man3/memset.34
-rw-r--r--man3/mkdtemp.39
-rw-r--r--man3/mkfifo.317
-rw-r--r--man3/mkstemp.342
-rw-r--r--man3/mktemp.35
-rw-r--r--man3/modf.34
-rw-r--r--man3/mpool.33
-rw-r--r--man3/mq_close.34
-rw-r--r--man3/mq_getattr.38
-rw-r--r--man3/mq_notify.39
-rw-r--r--man3/mq_open.38
-rw-r--r--man3/mq_receive.38
-rw-r--r--man3/mq_send.38
-rw-r--r--man3/mq_unlink.34
-rw-r--r--man3/mtrace.32
-rw-r--r--man3/nan.38
-rw-r--r--man3/netlink.36
-rw-r--r--man3/newlocale.38
-rw-r--r--man3/nextafter.35
-rw-r--r--man3/nextup.34
-rw-r--r--man3/nl_langinfo.34
-rw-r--r--man3/ntp_gettime.318
-rw-r--r--man3/offsetof.34
-rw-r--r--man3/on_exit.310
-rw-r--r--man3/open_memstream.314
-rw-r--r--man3/opendir.312
-rw-r--r--man3/openpty.35
-rw-r--r--man3/perror.344
-rw-r--r--man3/popen.313
-rw-r--r--man3/posix_fallocate.310
-rw-r--r--man3/posix_madvise.311
-rw-r--r--man3/posix_memalign.363
-rw-r--r--man3/posix_openpt.312
-rw-r--r--man3/posix_spawn.311
-rw-r--r--man3/pow.34
-rw-r--r--man3/pow10.39
-rw-r--r--man3/powerof2.32
-rw-r--r--man3/printf.3102
-rw-r--r--man3/profil.34
-rw-r--r--man3/program_invocation_name.39
-rw-r--r--man3/psignal.37
-rw-r--r--man3/pthread_atfork.34
-rw-r--r--man3/pthread_attr_init.34
-rw-r--r--man3/pthread_attr_setaffinity_np.36
-rw-r--r--man3/pthread_attr_setdetachstate.34
-rw-r--r--man3/pthread_attr_setguardsize.37
-rw-r--r--man3/pthread_attr_setinheritsched.37
-rw-r--r--man3/pthread_attr_setschedparam.37
-rw-r--r--man3/pthread_attr_setschedpolicy.37
-rw-r--r--man3/pthread_attr_setscope.34
-rw-r--r--man3/pthread_attr_setsigmask_np.36
-rw-r--r--man3/pthread_attr_setstack.37
-rw-r--r--man3/pthread_attr_setstackaddr.311
-rw-r--r--man3/pthread_cancel.311
-rw-r--r--man3/pthread_cleanup_push.313
-rw-r--r--man3/pthread_cleanup_push_defer_np.36
-rw-r--r--man3/pthread_create.34
-rw-r--r--man3/pthread_detach.34
-rw-r--r--man3/pthread_equal.34
-rw-r--r--man3/pthread_exit.34
-rw-r--r--man3/pthread_getattr_default_np.36
-rw-r--r--man3/pthread_getattr_np.36
-rw-r--r--man3/pthread_getcpuclockid.37
-rw-r--r--man3/pthread_join.34
-rw-r--r--man3/pthread_kill.322
-rw-r--r--man3/pthread_kill_other_threads_np.320
-rw-r--r--man3/pthread_mutex_consistent.322
-rw-r--r--man3/pthread_mutexattr_getpshared.34
-rw-r--r--man3/pthread_mutexattr_init.34
-rw-r--r--man3/pthread_mutexattr_setrobust.312
-rw-r--r--man3/pthread_rwlockattr_setkind_np.310
-rw-r--r--man3/pthread_self.34
-rw-r--r--man3/pthread_setaffinity_np.320
-rw-r--r--man3/pthread_setcancelstate.37
-rw-r--r--man3/pthread_setconcurrency.37
-rw-r--r--man3/pthread_setname_np.36
-rw-r--r--man3/pthread_setschedparam.37
-rw-r--r--man3/pthread_setschedprio.37
-rw-r--r--man3/pthread_sigmask.34
-rw-r--r--man3/pthread_sigqueue.310
-rw-r--r--man3/pthread_spin_init.35
-rw-r--r--man3/pthread_spin_lock.37
-rw-r--r--man3/pthread_testcancel.37
-rw-r--r--man3/pthread_tryjoin_np.36
-rw-r--r--man3/pthread_yield.312
-rw-r--r--man3/ptsname.330
-rw-r--r--man3/putenv.36
-rw-r--r--man3/putgrent.32
-rw-r--r--man3/putpwent.32
-rw-r--r--man3/puts.34
-rw-r--r--man3/putwchar.34
-rw-r--r--man3/qecvt.39
-rw-r--r--man3/qsort.315
-rw-r--r--man3/raise.36
-rw-r--r--man3/rand.333
-rw-r--r--man3/random.320
-rw-r--r--man3/random_r.32
-rw-r--r--man3/rcmd.326
-rw-r--r--man3/re_comp.34
-rw-r--r--man3/readdir.324
-rw-r--r--man3/readdir_r.34
-rw-r--r--man3/realpath.333
-rw-r--r--man3/regex.34
-rw-r--r--man3/remainder.350
-rw-r--r--man3/remove.34
-rw-r--r--man3/remquo.37
-rw-r--r--man3/resolver.32
-rw-r--r--man3/rewinddir.34
-rw-r--r--man3/rexec.316
-rw-r--r--man3/rint.34
-rw-r--r--man3/round.37
-rw-r--r--man3/roundup.32
-rw-r--r--man3/rpmatch.36
-rw-r--r--man3/rtnetlink.32
-rw-r--r--man3/scalb.319
-rw-r--r--man3/scalbln.311
-rw-r--r--man3/scandir.328
-rw-r--r--man3/scanf.34
-rw-r--r--man3/sched_getcpu.37
-rw-r--r--man3/seekdir.36
-rw-r--r--man3/sem_close.34
-rw-r--r--man3/sem_destroy.34
-rw-r--r--man3/sem_getvalue.34
-rw-r--r--man3/sem_init.34
-rw-r--r--man3/sem_open.34
-rw-r--r--man3/sem_post.32
-rw-r--r--man3/sem_unlink.34
-rw-r--r--man3/sem_wait.34
-rw-r--r--man3/setaliasent.33
-rw-r--r--man3/setbuf.314
-rw-r--r--man3/setenv.316
-rw-r--r--man3/setjmp.334
-rw-r--r--man3/setlocale.356
-rw-r--r--man3/setlogmask.34
-rw-r--r--man3/setnetgrent.311
-rw-r--r--man3/shm_open.325
-rw-r--r--man3/siginterrupt.39
-rw-r--r--man3/signbit.35
-rw-r--r--man3/significand.313
-rw-r--r--man3/sigpause.349
-rw-r--r--man3/sigqueue.327
-rw-r--r--man3/sigset.335
-rw-r--r--man3/sigsetops.326
-rw-r--r--man3/sigvec.340
-rw-r--r--man3/sigwait.38
-rw-r--r--man3/sin.34
-rw-r--r--man3/sincos.36
-rw-r--r--man3/sinh.34
-rw-r--r--man3/sleep.312
-rw-r--r--man3/slist.36
-rw-r--r--man3/sockatmark.38
-rw-r--r--man3/sqrt.34
-rw-r--r--man3/sscanf.34
-rw-r--r--man3/stailq.310
-rw-r--r--man3/statvfs.340
-rw-r--r--man3/stdarg.319
-rw-r--r--man3/stdin.312
-rw-r--r--man3/stdio.36
-rw-r--r--man3/stpncpy.352
-rw-r--r--man3/strcasecmp.36
-rw-r--r--man3/strchr.324
-rw-r--r--man3/strcmp.38
-rw-r--r--man3/strcoll.34
-rw-r--r--man3/strcpy.311
-rw-r--r--man3/strdup.323
-rw-r--r--man3/strerror.345
-rw-r--r--man3/strfmon.34
-rw-r--r--man3/strfromd.322
-rw-r--r--man3/strfry.35
-rw-r--r--man3/strftime.320
-rw-r--r--man3/strlen.34
-rw-r--r--man3/strncat.34
-rw-r--r--man3/strnlen.32
-rw-r--r--man3/strpbrk.34
-rw-r--r--man3/strptime.34
-rw-r--r--man3/strsep.34
-rw-r--r--man3/strsignal.335
-rw-r--r--man3/strspn.34
-rw-r--r--man3/strstr.317
-rw-r--r--man3/strtod.336
-rw-r--r--man3/strtoimax.34
-rw-r--r--man3/strtok.323
-rw-r--r--man3/strtol.313
-rw-r--r--man3/strtoul.313
-rw-r--r--man3/strverscmp.32
-rw-r--r--man3/strxfrm.34
-rw-r--r--man3/swab.34
-rw-r--r--man3/sysconf.34
-rw-r--r--man3/syslog.351
-rw-r--r--man3/system.34
-rw-r--r--man3/sysv_signal.36
-rw-r--r--man3/tailq.38
-rw-r--r--man3/tan.34
-rw-r--r--man3/tanh.34
-rw-r--r--man3/tcgetpgrp.310
-rw-r--r--man3/tcgetsid.310
-rw-r--r--man3/telldir.36
-rw-r--r--man3/tempnam.36
-rw-r--r--man3/termios.364
-rw-r--r--man3/tgamma.37
-rw-r--r--man3/timegm.39
-rw-r--r--man3/timeradd.35
-rw-r--r--man3/tmpfile.320
-rw-r--r--man3/tmpnam.324
-rw-r--r--man3/toascii.36
-rw-r--r--man3/toupper.326
-rw-r--r--man3/towctrans.34
-rw-r--r--man3/towlower.321
-rw-r--r--man3/towupper.323
-rw-r--r--man3/trunc.37
-rw-r--r--man3/tsearch.332
-rw-r--r--man3/ttyname.34
-rw-r--r--man3/ttyslot.310
-rw-r--r--man3/tzset.36
-rw-r--r--man3/ualarm.312
-rw-r--r--man3/ulimit.36
-rw-r--r--man3/ungetwc.34
-rw-r--r--man3/unlocked_stdio.331
-rw-r--r--man3/unlockpt.38
-rw-r--r--man3/updwtmp.39
-rw-r--r--man3/uselocale.37
-rw-r--r--man3/usleep.39
-rw-r--r--man3/wcrtomb.34
-rw-r--r--man3/wcscasecmp.38
-rw-r--r--man3/wcscat.34
-rw-r--r--man3/wcschr.34
-rw-r--r--man3/wcscmp.34
-rw-r--r--man3/wcscpy.34
-rw-r--r--man3/wcscspn.34
-rw-r--r--man3/wcsdup.35
-rw-r--r--man3/wcslen.34
-rw-r--r--man3/wcsncasecmp.38
-rw-r--r--man3/wcsncat.34
-rw-r--r--man3/wcsncmp.34
-rw-r--r--man3/wcsncpy.34
-rw-r--r--man3/wcsnlen.36
-rw-r--r--man3/wcspbrk.34
-rw-r--r--man3/wcsrchr.34
-rw-r--r--man3/wcsrtombs.34
-rw-r--r--man3/wcsspn.34
-rw-r--r--man3/wcsstr.34
-rw-r--r--man3/wcstoimax.34
-rw-r--r--man3/wcstok.34
-rw-r--r--man3/wcstombs.312
-rw-r--r--man3/wcswidth.34
-rw-r--r--man3/wctob.34
-rw-r--r--man3/wctomb.314
-rw-r--r--man3/wctrans.34
-rw-r--r--man3/wctype.34
-rw-r--r--man3/wcwidth.34
-rw-r--r--man3/wmemchr.34
-rw-r--r--man3/wmemcmp.34
-rw-r--r--man3/wmemcpy.34
-rw-r--r--man3/wmemmove.34
-rw-r--r--man3/wmemset.34
-rw-r--r--man3/wordexp.310
-rw-r--r--man3/wprintf.34
-rw-r--r--man3/y0.327
558 files changed, 3509 insertions, 2446 deletions
diff --git a/man3/CPU_SET.3 b/man3/CPU_SET.3
index 56b425c5a6..46acaa88fb 100644
--- a/man3/CPU_SET.3
+++ b/man3/CPU_SET.3
@@ -224,7 +224,9 @@ returns the number of bytes required to store a
CPU set of the specified cardinality.
.PP
The other functions do not return a value.
-.SH VERSIONS
+.SH STANDARDS
+Linux.
+.SH HISTORY
The
.BR CPU_ZERO (),
.BR CPU_SET (),
@@ -253,8 +255,6 @@ first appeared in glibc 2.6.
and
.BR CPU_EQUAL_S ()
first appeared in glibc 2.7.
-.SH STANDARDS
-These interfaces are Linux-specific.
.SH NOTES
To duplicate a CPU set, use
.BR memcpy (3).
diff --git a/man3/INFINITY.3 b/man3/INFINITY.3
index 0b4342a627..d90091f9a0 100644
--- a/man3/INFINITY.3
+++ b/man3/INFINITY.3
@@ -55,6 +55,8 @@ and
respectively,
that represent a large positive value, possibly positive infinity.
.SH STANDARDS
+C11.
+.SH HISTORY
C99.
.PP
On a glibc system, the macro
diff --git a/man3/MAX.3 b/man3/MAX.3
index a6c429d9bc..eb9710912e 100644
--- a/man3/MAX.3
+++ b/man3/MAX.3
@@ -27,7 +27,7 @@ possibly converted to a different type (see BUGS).
These macros may raise the "invalid" floating-point exception
when any of the arguments is NaN.
.SH STANDARDS
-These nonstandard macros are present in glibc and the BSDs.
+GNU, BSD.
.SH NOTES
If either of the arguments is of a floating-point type,
you might prefer to use
diff --git a/man3/MB_CUR_MAX.3 b/man3/MB_CUR_MAX.3
index 409d49c48c..a1cb3046f5 100644
--- a/man3/MB_CUR_MAX.3
+++ b/man3/MB_CUR_MAX.3
@@ -31,7 +31,9 @@ An integer in the range [1,
.BR MB_LEN_MAX ].
The value 1 denotes traditional 8-bit encoded characters.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR MB_LEN_MAX (3),
.BR mblen (3),
diff --git a/man3/MB_LEN_MAX.3 b/man3/MB_LEN_MAX.3
index dd642d0b37..c28bbb1505 100644
--- a/man3/MB_LEN_MAX.3
+++ b/man3/MB_LEN_MAX.3
@@ -27,7 +27,9 @@ wide character, in any of the supported locales.
.SH RETURN VALUE
A constant integer greater than zero.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH NOTES
The entities
.B MB_LEN_MAX
diff --git a/man3/_Generic.3 b/man3/_Generic.3
index db1620f5f4..378eb338c7 100644
--- a/man3/_Generic.3
+++ b/man3/_Generic.3
@@ -25,7 +25,9 @@ is not evaluated.
This is especially useful for writing type-generic macros,
that will behave differently depending on the type of the argument.
.SH STANDARDS
-C11 and later.
+C11.
+.SH HISTORY
+C11.
.SH EXAMPLES
The following program demonstrates how to write
a replacement for the standard
diff --git a/man3/__ppc_get_timebase.3 b/man3/__ppc_get_timebase.3
index 666658823e..ec72041912 100644
--- a/man3/__ppc_get_timebase.3
+++ b/man3/__ppc_get_timebase.3
@@ -36,16 +36,17 @@ Time Base Register.
.BR __ppc_get_timebase_freq ()
returns a 64-bit unsigned integer that represents the frequency at
which the Time Base Register is updated.
-.SH VERSIONS
-GNU C Library support for
-.\" commit d9dc34cd569bcfe714fe8c708e58c028106e8b2e
+.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
.BR __ppc_get_timebase ()
-has been provided since glibc 2.16 and
-.\" commit 8ad11b9a9cf1de82bd7771306b42070b91417c11
+.\" commit d9dc34cd569bcfe714fe8c708e58c028106e8b2e
+glibc 2.16.
+.TP
.BR __ppc_get_timebase_freq ()
-has been available since glibc 2.17.
-.SH STANDARDS
-Both functions are nonstandard GNU extensions.
+.\" commit 8ad11b9a9cf1de82bd7771306b42070b91417c11
+glibc 2.17.
.SH EXAMPLES
The following program will calculate the time, in microseconds, spent
between two calls to
diff --git a/man3/__ppc_set_ppr_med.3 b/man3/__ppc_set_ppr_med.3
index 474b0fdff0..4f5afda8a3 100644
--- a/man3/__ppc_set_ppr_med.3
+++ b/man3/__ppc_set_ppr_med.3
@@ -83,20 +83,21 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The functions
-.BR __ppc_set_ppr_med (),
-.BR __ppc_set_ppr_low (),
-and
+.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
+.BR __ppc_set_ppr_med ()
+.TQ
+.BR __ppc_set_ppr_low ()
+.TQ
.BR __ppc_set_ppr_med_low ()
-are provided since glibc 2.18.
-The functions
+glibc 2.18.
+.TP
.BR __ppc_set_ppr_very_low ()
-and
+.TQ
.BR __ppc_set_ppr_med_high ()
-first appeared in glibc 2.23.
-.SH STANDARDS
-These functions are nonstandard GNU extensions.
+glibc 2.23.
.SH NOTES
The functions
.BR __ppc_set_ppr_very_low ()
diff --git a/man3/__ppc_yield.3 b/man3/__ppc_yield.3
index d802fa1f48..52ed3038a8 100644
--- a/man3/__ppc_yield.3
+++ b/man3/__ppc_yield.3
@@ -60,10 +60,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions first appeared in glibc 2.18.
.SH STANDARDS
-These functions are nonstandard GNU extensions.
+GNU.
+.SH HISTORY
+glibc 2.18.
.SH SEE ALSO
.BR __ppc_set_ppr_med (3)
.PP
diff --git a/man3/__setfpucw.3 b/man3/__setfpucw.3
index 64efa658c6..25542e909e 100644
--- a/man3/__setfpucw.3
+++ b/man3/__setfpucw.3
@@ -23,9 +23,10 @@ to the registers of the FPU (floating-point unit) on the i386 architecture.
This was used to control floating-point precision,
rounding and floating-point exceptions.
.SH STANDARDS
-This function was a nonstandard GNU extension.
+GNU.
+.SH HISTORY
+Removed in glibc 2.1.
.SH NOTES
-As of glibc 2.1 this function does not exist anymore.
There are new functions from C99, with prototypes in
.IR <fenv.h> ,
to control FPU rounding modes, like
diff --git a/man3/a64l.3 b/man3/a64l.3
index b3594d4e3e..598bef9fe5 100644
--- a/man3/a64l.3
+++ b/man3/a64l.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The value returned by
.BR l64a ()
diff --git a/man3/abort.3 b/man3/abort.3
index b0570585d0..c63eace5ea 100644
--- a/man3/abort.3
+++ b/man3/abort.3
@@ -69,8 +69,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-SVr4, POSIX.1-2001, POSIX.1-2008, 4.3BSD, C89, C99.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+SVr4, POSIX.1-2001, 4.3BSD, C89.
+.PP
Up until glibc 2.26,
if the
.BR abort ()
diff --git a/man3/abs.3 b/man3/abs.3
index a1293f3856..2c705b8019 100644
--- a/man3/abs.3
+++ b/man3/abs.3
@@ -76,10 +76,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99, SVr4, 4.3BSD.
.\" POSIX.1 (1996 edition) requires only the
.\" .BR abs ()
.\" function.
+.PP
C89 only
includes the
.BR abs ()
diff --git a/man3/acos.3 b/man3/acos.3
index 15466bb20f..5c28c2f49f 100644
--- a/man3/acos.3
+++ b/man3/acos.3
@@ -106,12 +106,14 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
also conforms to
-SVr4, 4.3BSD, C89.
+C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR asin (3),
.BR atan (3),
diff --git a/man3/acosh.3 b/man3/acosh.3
index 4dd3fa4778..717c0c3764 100644
--- a/man3/acosh.3
+++ b/man3/acosh.3
@@ -110,7 +110,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/addseverity.3 b/man3/addseverity.3
index 0e4e626fc6..69505675d3 100644
--- a/man3/addseverity.3
+++ b/man3/addseverity.3
@@ -78,16 +78,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR addseverity ()
-is provided since glibc 2.1.
.SH STANDARDS
-This function is not specified in the X/Open Portability Guide
-although the
-.BR fmtmsg (3)
-function is.
-It is available on System V
-systems.
+GNU.
+.SH HISTORY
+glibc 2.1.
+System V.
.SH NOTES
New severity classes can also be added by setting the environment variable
.BR SEV_LEVEL .
diff --git a/man3/adjtime.3 b/man3/adjtime.3
index 1c4a071ce7..389af6f02b 100644
--- a/man3/adjtime.3
+++ b/man3/adjtime.3
@@ -109,6 +109,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD, System V.
.SH NOTES
The adjustment that
diff --git a/man3/aio_cancel.3 b/man3/aio_cancel.3
index a01909e4ec..7a3dfdeb53 100644
--- a/man3/aio_cancel.3
+++ b/man3/aio_cancel.3
@@ -109,12 +109,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_cancel ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH EXAMPLES
See
.BR aio (7).
diff --git a/man3/aio_error.3 b/man3/aio_error.3
index efb04957b1..e28fdaa0da 100644
--- a/man3/aio_error.3
+++ b/man3/aio_error.3
@@ -79,12 +79,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_error ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH EXAMPLES
See
.BR aio (7).
diff --git a/man3/aio_fsync.3 b/man3/aio_fsync.3
index 1a12a549fb..4138224fca 100644
--- a/man3/aio_fsync.3
+++ b/man3/aio_fsync.3
@@ -98,12 +98,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_fsync ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH SEE ALSO
.BR aio_cancel (3),
.BR aio_error (3),
diff --git a/man3/aio_init.3 b/man3/aio_init.3
index e4ad8c60a6..012e58ebdf 100644
--- a/man3/aio_init.3
+++ b/man3/aio_init.3
@@ -70,11 +70,9 @@ This field specifies the amount of time in seconds that a
worker thread should wait for further requests before terminating,
after having completed a previous request.
The default value is 1.
-.SH VERSIONS
-The
-.BR aio_init ()
-function is available since glibc 2.1.
.SH STANDARDS
-This function is a GNU extension.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH SEE ALSO
.BR aio (7)
diff --git a/man3/aio_read.3 b/man3/aio_read.3
index ecdbd1081a..59d757545a 100644
--- a/man3/aio_read.3
+++ b/man3/aio_read.3
@@ -131,12 +131,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_read ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
It is a good idea to zero out the control block before use.
The control block must not be changed while the read operation
diff --git a/man3/aio_return.3 b/man3/aio_return.3
index 4b91794132..1d9210ef84 100644
--- a/man3/aio_return.3
+++ b/man3/aio_return.3
@@ -73,12 +73,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_return ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH EXAMPLES
See
.BR aio (7).
diff --git a/man3/aio_suspend.3 b/man3/aio_suspend.3
index 57ef7d344d..1bf70135fb 100644
--- a/man3/aio_suspend.3
+++ b/man3/aio_suspend.3
@@ -99,12 +99,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_suspend ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.PP
POSIX doesn't specify the parameters to be
.IR restrict ;
diff --git a/man3/aio_write.3 b/man3/aio_write.3
index 11a302ee41..2f918ecdca 100644
--- a/man3/aio_write.3
+++ b/man3/aio_write.3
@@ -136,12 +136,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR aio_write ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
It is a good idea to zero out the control block before use.
The control block must not be changed while the write operation
diff --git a/man3/alloca.3 b/man3/alloca.3
index 1b9ffeeadd..ddc1d6b4fe 100644
--- a/man3/alloca.3
+++ b/man3/alloca.3
@@ -58,10 +58,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is not in POSIX.1.
-.PP
-.BR alloca ()
-originates from PWB and 32V, and appears in all their derivatives.
+None.
+.SH HISTORY
+PWB, 32V.
.SH NOTES
The
.BR alloca ()
diff --git a/man3/argz_add.3 b/man3/argz_add.3
index f51c4dbfa0..81cb2f5610 100644
--- a/man3/argz_add.3
+++ b/man3/argz_add.3
@@ -232,7 +232,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are a GNU extension.
+GNU.
.SH BUGS
Argz vectors without a terminating null byte may lead to
Segmentation Faults.
diff --git a/man3/asin.3 b/man3/asin.3
index e2cbfe96ec..5e8e93824d 100644
--- a/man3/asin.3
+++ b/man3/asin.3
@@ -102,7 +102,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/asinh.3 b/man3/asinh.3
index 33e120fac1..5c7837d540 100644
--- a/man3/asinh.3
+++ b/man3/asinh.3
@@ -95,7 +95,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/asprintf.3 b/man3/asprintf.3
index fc3493f3da..5b9f862488 100644
--- a/man3/asprintf.3
+++ b/man3/asprintf.3
@@ -61,12 +61,12 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are GNU extensions, not in C or POSIX.
-They are also available under *BSD.
+.SH VERSIONS
The FreeBSD implementation sets
.I strp
to NULL on error.
+.SH STANDARDS
+GNU, BSD.
.SH SEE ALSO
.BR free (3),
.BR malloc (3),
diff --git a/man3/assert.3 b/man3/assert.3
index 0e0418e6f6..11aa193d4b 100644
--- a/man3/assert.3
+++ b/man3/assert.3
@@ -74,7 +74,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, C99, POSIX.1-2001.
+.PP
In C89,
.I expression
is required to be of type
diff --git a/man3/assert_perror.3 b/man3/assert_perror.3
index 12faa292b9..ddf6ca7306 100644
--- a/man3/assert_perror.3
+++ b/man3/assert_perror.3
@@ -58,7 +58,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This is a GNU extension.
+GNU.
.SH BUGS
The purpose of the assert macros is to help programmers find bugs in
their programs, things that cannot happen unless there was a coding mistake.
diff --git a/man3/atan.3 b/man3/atan.3
index f95bc073cf..4c89bcdda1 100644
--- a/man3/atan.3
+++ b/man3/atan.3
@@ -87,7 +87,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/atan2.3 b/man3/atan2.3
index e4284d3434..b6338dda29 100644
--- a/man3/atan2.3
+++ b/man3/atan2.3
@@ -159,7 +159,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/atanh.3 b/man3/atanh.3
index 1caa364de7..9081f5f505 100644
--- a/man3/atanh.3
+++ b/man3/atanh.3
@@ -129,7 +129,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/atexit.3 b/man3/atexit.3
index 363124cc5a..32682a337c 100644
--- a/man3/atexit.3
+++ b/man3/atexit.3
@@ -75,23 +75,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
-Functions registered using
-.BR atexit ()
-(and
-.BR on_exit (3))
-are not called if a process terminates abnormally because
-of the delivery of a signal.
-.PP
-If one of the registered functions calls
-.BR _exit (2),
-then any remaining functions are not invoked,
-and the other process termination steps performed by
-.BR exit (3)
-are not performed.
-.PP
+.SH VERSIONS
POSIX.1 says that the result of calling
.\" POSIX.1-2001, POSIX.1-2008
.BR exit (3)
@@ -109,6 +93,24 @@ portable programs should not invoke
.BR exit (3)
inside a function registered using
.BR atexit ().
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
+.SH NOTES
+Functions registered using
+.BR atexit ()
+(and
+.BR on_exit (3))
+are not called if a process terminates abnormally because
+of the delivery of a signal.
+.PP
+If one of the registered functions calls
+.BR _exit (2),
+then any remaining functions are not invoked,
+and the other process termination steps performed by
+.BR exit (3)
+are not performed.
.PP
The
.BR atexit ()
diff --git a/man3/atof.3 b/man3/atof.3
index 22d1c50da5..1d18c86a3f 100644
--- a/man3/atof.3
+++ b/man3/atof.3
@@ -58,7 +58,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
.SH SEE ALSO
.BR atoi (3),
.BR atol (3),
diff --git a/man3/atoi.3 b/man3/atoi.3
index 10cc66ebae..51e9a78cd1 100644
--- a/man3/atoi.3
+++ b/man3/atoi.3
@@ -83,8 +83,16 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
+.SH VERSIONS
+POSIX.1 leaves the return value of
+.BR atoi ()
+on error unspecified.
+On glibc, musl libc, and uClibc, 0 is returned on error.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001, SVr4, 4.3BSD.
+.PP
C89 and
POSIX.1-1996 include the functions
.BR atoi ()
@@ -102,11 +110,6 @@ only.
.\" .BR atoll ()
.\" function is present since glibc 2.0.2, but
.\" not in libc4 or libc5.
-.SH NOTES
-POSIX.1 leaves the return value of
-.BR atoi ()
-on error unspecified.
-On glibc, musl libc, and uClibc, 0 is returned on error.
.SH BUGS
.I errno
is not set on error so there is no way to distinguish between 0 as an
diff --git a/man3/backtrace.3 b/man3/backtrace.3
index 4d23f71f66..157fca076f 100644
--- a/man3/backtrace.3
+++ b/man3/backtrace.3
@@ -149,14 +149,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR backtrace (),
-.BR backtrace_symbols (),
-and
-.BR backtrace_symbols_fd ()
-are provided since glibc 2.1.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH NOTES
These functions make some assumptions about how a function's return
address is stored on the stack.
diff --git a/man3/basename.3 b/man3/basename.3
index 6f22bb58cc..fdbfa16369 100644
--- a/man3/basename.3
+++ b/man3/basename.3
@@ -128,9 +128,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
There are two different versions of
.BR basename ()
- the POSIX version described above, and the GNU version, which one gets
@@ -155,6 +153,10 @@ With glibc, one gets the POSIX version of
when
.I <libgen.h>
is included, and the GNU version otherwise.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH BUGS
In the glibc implementation,
the POSIX versions of these functions modify the
diff --git a/man3/bcmp.3 b/man3/bcmp.3
index 7bad3387f0..9f23894cdf 100644
--- a/man3/bcmp.3
+++ b/man3/bcmp.3
@@ -21,9 +21,10 @@ is identical to
.BR memcmp (3);
use it instead.
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD.
-This function is deprecated (marked as LEGACY in POSIX.1-2001);
-POSIX.1-2008 removes the specification of
-.BR bcmp ().
+Marked as LEGACY in POSIX.1-2001;
+removed in POSIX.1-2008.
.SH SEE ALSO
.BR memcmp (3)
diff --git a/man3/bcopy.3 b/man3/bcopy.3
index 49eed122e9..cf4dff0ad9 100644
--- a/man3/bcopy.3
+++ b/man3/bcopy.3
@@ -54,8 +54,11 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD.
-This function is deprecated (marked as LEGACY in POSIX.1-2001): use
+.PP
+Marked as LEGACY in POSIX.1-2001: use
.BR memcpy (3)
or
.BR memmove (3)
diff --git a/man3/bindresvport.3 b/man3/bindresvport.3
index cf96ca8357..2630212adf 100644
--- a/man3/bindresvport.3
+++ b/man3/bindresvport.3
@@ -102,8 +102,7 @@ The
.BR bindresvport ()
function uses a static variable that was not protected by a lock
before glibc 2.17, rendering the function MT-Unsafe.
-.SH STANDARDS
-Not in POSIX.1.
+.SH VERSIONS
Present on the BSDs, Solaris, and many other systems.
.SH NOTES
Unlike some
@@ -111,6 +110,8 @@ Unlike some
implementations,
the glibc implementation ignores any value that the caller supplies in
.IR sin\->sin_port .
+.SH STANDARDS
+BSD.
.SH SEE ALSO
.BR bind (2),
.BR getsockname (2)
diff --git a/man3/bsd_signal.3 b/man3/bsd_signal.3
index 33f2641459..3fc3110e2a 100644
--- a/man3/bsd_signal.3
+++ b/man3/bsd_signal.3
@@ -76,14 +76,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-4.2BSD, POSIX.1-2001.
-POSIX.1-2008 removes the specification of
-.BR bsd_signal (),
-recommending the use of
-.BR sigaction (2)
-instead.
-.SH NOTES
+.SH VERSIONS
Use of
.BR bsd_signal ()
should be avoided; use
@@ -107,6 +100,14 @@ is a GNU extension;
this type is defined only if the
.B _GNU_SOURCE
feature test macro is defined.
+.SH STANDARDS
+None.
+.SH HISTORY
+4.2BSD, POSIX.1-2001.
+Removed in POSIX.1-2008,
+recommending the use of
+.BR sigaction (2)
+instead.
.SH SEE ALSO
.BR sigaction (2),
.BR signal (2),
diff --git a/man3/bsearch.3 b/man3/bsearch.3
index d27a574755..b0760f72bb 100644
--- a/man3/bsearch.3
+++ b/man3/bsearch.3
@@ -78,7 +78,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
.SH EXAMPLES
The example below first sorts an array of structures using
.BR qsort (3),
diff --git a/man3/bswap.3 b/man3/bswap.3
index e26e320675..41dad78ed2 100644
--- a/man3/bswap.3
+++ b/man3/bswap.3
@@ -24,7 +24,7 @@ These functions return the value of their argument with the bytes reversed.
.SH ERRORS
These functions always succeed.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH EXAMPLES
The program below swaps the bytes of the 8-byte integer supplied as
its command-line argument.
diff --git a/man3/btowc.3 b/man3/btowc.3
index 60270c6fdc..8a4db6b6df 100644
--- a/man3/btowc.3
+++ b/man3/btowc.3
@@ -63,7 +63,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH NOTES
The behavior of
.BR btowc ()
diff --git a/man3/byteorder.3 b/man3/byteorder.3
index b0b1126028..c7a97548dd 100644
--- a/man3/byteorder.3
+++ b/man3/byteorder.3
@@ -76,7 +76,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR bswap (3),
.BR endian (3),
diff --git a/man3/bzero.3 b/man3/bzero.3
index 1b203fef63..70e076439a 100644
--- a/man3/bzero.3
+++ b/man3/bzero.3
@@ -56,21 +56,13 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR explicit_bzero ()
-first appeared in glibc 2.25.
.SH STANDARDS
-The
-.BR bzero ()
-function is deprecated (marked as LEGACY in POSIX.1-2001); use
-.BR memset (3)
-in new programs.
-POSIX.1-2008 removes the specification of
-.BR bzero ().
-The
-.BR bzero ()
-function first appeared in 4.3BSD.
-.PP
+None.
+.SH HISTORY
+.TP
+.BR explicit_bzero ()
+glibc 2.25.
+.IP
The
.BR explicit_bzero ()
function is a nonstandard extension that is also present on some of the BSDs.
@@ -78,6 +70,12 @@ Some other implementations have a similar function, such as
.BR memset_explicit ()
or
.BR memset_s ().
+.TP
+.BR bzero ()
+4.3BSD.
+.IP
+Marked as LEGACY in POSIX.1-2001.
+Removed in POSIX.1-2008.
.SH NOTES
The
.BR explicit_bzero ()
diff --git a/man3/cabs.3 b/man3/cabs.3
index 1cd489aed0..042945418e 100644
--- a/man3/cabs.3
+++ b/man3/cabs.3
@@ -40,10 +40,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH NOTES
The function is actually an alias for
.I "hypot(a,\ b)"
diff --git a/man3/cacos.3 b/man3/cacos.3
index 554553b595..a32826e98f 100644
--- a/man3/cacos.3
+++ b/man3/cacos.3
@@ -50,10 +50,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH EXAMPLES
.\" SRC BEGIN (cacos.c)
.EX
diff --git a/man3/cacosh.3 b/man3/cacosh.3
index 3aa69baba5..979bad42a4 100644
--- a/man3/cacosh.3
+++ b/man3/cacosh.3
@@ -53,10 +53,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
+glibc 2.1.
.SH EXAMPLES
.\" SRC BEGIN (cacosh.c)
.EX
diff --git a/man3/canonicalize_file_name.3 b/man3/canonicalize_file_name.3
index d04be48618..944eb27244 100644
--- a/man3/canonicalize_file_name.3
+++ b/man3/canonicalize_file_name.3
@@ -77,7 +77,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is a GNU extension.
+GNU.
.SH SEE ALSO
.BR readlink (2),
.BR realpath (3)
diff --git a/man3/carg.3 b/man3/carg.3
index f90873278e..758afce926 100644
--- a/man3/carg.3
+++ b/man3/carg.3
@@ -81,10 +81,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR complex (7)
diff --git a/man3/casin.3 b/man3/casin.3
index 04d77918f5..17fa10fc8a 100644
--- a/man3/casin.3
+++ b/man3/casin.3
@@ -49,10 +49,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR clog (3),
.BR csin (3),
diff --git a/man3/casinh.3 b/man3/casinh.3
index 3aab28abc5..ec4e5d0b41 100644
--- a/man3/casinh.3
+++ b/man3/casinh.3
@@ -51,10 +51,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR asinh (3),
.BR cabs (3),
diff --git a/man3/catan.3 b/man3/catan.3
index 244bea87ad..3c0cc84da6 100644
--- a/man3/catan.3
+++ b/man3/catan.3
@@ -50,10 +50,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH EXAMPLES
.\" SRC BEGIN (catan.c)
.EX
diff --git a/man3/catanh.3 b/man3/catanh.3
index 1f590a65e2..c936cc5e29 100644
--- a/man3/catanh.3
+++ b/man3/catanh.3
@@ -52,10 +52,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH EXAMPLES
.\" SRC BEGIN (catanh.c)
.EX
diff --git a/man3/catgets.3 b/man3/catgets.3
index c1c8c8598c..988d6aa3a8 100644
--- a/man3/catgets.3
+++ b/man3/catgets.3
@@ -67,11 +67,14 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.PP
The
.BR catgets ()
function is available only in libc.so.4.4.4c and above.
+.PP
The Jan 1987 X/Open Portability Guide specifies a more subtle
error return:
.I message
diff --git a/man3/catopen.3 b/man3/catopen.3
index 00cf0fc04b..de8ac6c2b8 100644
--- a/man3/catopen.3
+++ b/man3/catopen.3
@@ -148,18 +148,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.\" In XPG 1987, Vol. 3 it says:
-.\" .I "The flag argument of catopen is reserved for future use"
-.\" .IR "and should be set to 0" .
-.\"
-.\" It is unclear what the source was for the constants
-.\" .B MCLoadBySet
-.\" and
-.\" .B MCLoadAll
-.\" (see below).
-.SH NOTES
+.SH VERSIONS
The above is the POSIX.1 description.
The glibc value for
.B NL_CAT_LOCALE
@@ -193,6 +182,19 @@ The default path varies, but usually looks at a number of places below
.\" .I /etc/locale
.\" and
.\" .IR /usr/lib/locale .
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.\" In XPG 1987, Vol. 3 it says:
+.\" .I "The flag argument of catopen is reserved for future use"
+.\" .IR "and should be set to 0" .
+.\"
+.\" It is unclear what the source was for the constants
+.\" .B MCLoadBySet
+.\" and
+.\" .B MCLoadAll
+.\" (see below).
.SH SEE ALSO
.BR catgets (3),
.BR setlocale (3)
diff --git a/man3/cbrt.3 b/man3/cbrt.3
index 39be019a5c..50c3557dc7 100644
--- a/man3/cbrt.3
+++ b/man3/cbrt.3
@@ -80,7 +80,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.\" .BR cbrt ()
.\" was a GNU extension. It is now a C99 requirement.
.SH SEE ALSO
diff --git a/man3/ccos.3 b/man3/ccos.3
index 6193a3384a..d50811ca2c 100644
--- a/man3/ccos.3
+++ b/man3/ccos.3
@@ -47,10 +47,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cacos (3),
diff --git a/man3/ccosh.3 b/man3/ccosh.3
index 983b228692..2f96be25b4 100644
--- a/man3/ccosh.3
+++ b/man3/ccosh.3
@@ -27,10 +27,11 @@ The complex hyperbolic cosine function is defined as:
ccosh(z) = (exp(z)+exp(\-z))/2
.EE
.in
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cacosh (3),
diff --git a/man3/ceil.3 b/man3/ceil.3
index 3957c514d7..d619d4cf8b 100644
--- a/man3/ceil.3
+++ b/man3/ceil.3
@@ -74,7 +74,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/cexp.3 b/man3/cexp.3
index 0fc6daf535..3a0a011e57 100644
--- a/man3/cexp.3
+++ b/man3/cexp.3
@@ -48,10 +48,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cexp2 (3),
diff --git a/man3/cfree.3 b/man3/cfree.3
index f4e3d1f534..ccd2f05cdd 100644
--- a/man3/cfree.3
+++ b/man3/cfree.3
@@ -122,15 +122,14 @@ T} Thread safety MT-Safe /* In glibc */
.ad
.sp 1
.SH VERSIONS
-The
-.BR cfree ()
-function was removed
-.\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
-in glibc 2.26.
-.SH STANDARDS
The 3-argument version of
.BR cfree ()
as used by SCO conforms to the iBCSe2 standard:
Intel386 Binary Compatibility Specification, Edition 2.
+.SH STANDARDS
+None.
+.SH HISTORY
+.\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
+Removed in glibc 2.26.
.SH SEE ALSO
.BR malloc (3)
diff --git a/man3/cimag.3 b/man3/cimag.3
index 026915ff13..04402b2edd 100644
--- a/man3/cimag.3
+++ b/man3/cimag.3
@@ -48,12 +48,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-These functions were added in glibc 2.1.
-.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-gcc also supports __imag__.
+GCC also supports __imag__.
That is a GNU extension.
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR creal (3),
diff --git a/man3/circleq.3 b/man3/circleq.3
index 25c3bf58e4..d8bf80302a 100644
--- a/man3/circleq.3
+++ b/man3/circleq.3
@@ -238,9 +238,7 @@ they return
returns an initializer that can be assigned to the queue
.IR head .
.SH STANDARDS
-Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
-Present on the BSDs
-(CIRCLEQ macros first appeared in 4.4BSD).
+BSD.
.SH BUGS
.BR CIRCLEQ_FOREACH ()
and
diff --git a/man3/clearenv.3 b/man3/clearenv.3
index 078b447ec8..bae57ea6f6 100644
--- a/man3/clearenv.3
+++ b/man3/clearenv.3
@@ -62,9 +62,22 @@ T} Thread safety MT-Unsafe const:env
.hy
.ad
.sp 1
-.SH VERSIONS
-Available since glibc 2.0.
.SH STANDARDS
+.TP
+.BR putenv ()
+POSIX.1-2008.
+.TP
+.BR clearenv ()
+None.
+.SH HISTORY
+.TP
+.BR putenv ()
+glibc 2.0.
+POSIX.1-2001.
+.TP
+.BR clearenv ()
+glibc 2.0.
+.PP
Various UNIX variants (DG/UX, HP-UX, QNX, ...).
POSIX.9 (bindings for FORTRAN77).
POSIX.1-1996 did not accept
diff --git a/man3/clock.3 b/man3/clock.3
index 49d92238c3..6dfce042ac 100644
--- a/man3/clock.3
+++ b/man3/clock.3
@@ -48,23 +48,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+.SH VERSIONS
XSI requires that
.B CLOCKS_PER_SEC
equals 1000000 independent
of the actual resolution.
-.SH NOTES
-The C standard allows for arbitrary values at the start of the program;
-subtract the value returned from a call to
-.BR clock ()
-at the start of the program to get maximum portability.
-.PP
-Note that the time can wrap around.
-On a 32-bit system where
-.B CLOCKS_PER_SEC
-equals 1000000 this function will return the same
-value approximately every 72 minutes.
.PP
On several other implementations,
the value returned by
@@ -84,6 +72,10 @@ The
.BR times (2)
function, which explicitly returns (separate) information about the
caller and its children, may be preferable.
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
.PP
In glibc 2.17 and earlier,
.BR clock ()
@@ -95,6 +87,17 @@ since glibc 2.18, it is implemented on top of
(using the
.B CLOCK_PROCESS_CPUTIME_ID
clock).
+.SH NOTES
+The C standard allows for arbitrary values at the start of the program;
+subtract the value returned from a call to
+.BR clock ()
+at the start of the program to get maximum portability.
+.PP
+Note that the time can wrap around.
+On a 32-bit system where
+.B CLOCKS_PER_SEC
+equals 1000000 this function will return the same
+value approximately every 72 minutes.
.SH SEE ALSO
.BR clock_gettime (2),
.BR getrusage (2),
diff --git a/man3/clock_getcpuclockid.3 b/man3/clock_getcpuclockid.3
index 1a5dccb9b5..4c249b1205 100644
--- a/man3/clock_getcpuclockid.3
+++ b/man3/clock_getcpuclockid.3
@@ -84,12 +84,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR clock_getcpuclockid ()
-function is available since glibc 2.2.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
.SH NOTES
Calling
.BR clock_gettime (2)
diff --git a/man3/clog.3 b/man3/clog.3
index 3eba791c70..2b63a55091 100644
--- a/man3/clog.3
+++ b/man3/clog.3
@@ -61,10 +61,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cexp (3),
diff --git a/man3/clog10.3 b/man3/clog10.3
index ba3f865da9..594cfe73ed 100644
--- a/man3/clog10.3
+++ b/man3/clog10.3
@@ -64,10 +64,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions first appeared in glibc 2.1.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
+.SH HISTORY
+glibc 2.1.
+.PP
The identifiers are reserved for future use in C99 and C11.
.SH SEE ALSO
.BR cabs (3),
diff --git a/man3/clog2.3 b/man3/clog2.3
index f147cb0292..b3f18171a9 100644
--- a/man3/clog2.3
+++ b/man3/clog2.3
@@ -31,6 +31,8 @@ Note that
.I z
close to zero will cause an overflow.
.SH STANDARDS
+None.
+.SH HISTORY
These function names are reserved for future use in C99.
.PP
Not yet in glibc, as at glibc 2.19.
diff --git a/man3/closedir.3 b/man3/closedir.3
index a1c6886c99..da1c270622 100644
--- a/man3/closedir.3
+++ b/man3/closedir.3
@@ -65,7 +65,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR close (2),
.BR opendir (3),
diff --git a/man3/cmsg.3 b/man3/cmsg.3
index 8e7b857b24..ee7ba45e0a 100644
--- a/man3/cmsg.3
+++ b/man3/cmsg.3
@@ -160,27 +160,9 @@ For more information on the
.IR msghdr ,
see
.BR recvmsg (2).
-.SH STANDARDS
-This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite,
-the IPv6 advanced API described in RFC\ 2292 and SUSv2.
-.BR CMSG_FIRSTHDR (),
-.BR CMSG_NXTHDR (),
-and
-.BR CMSG_DATA ()
-are specified in POSIX.1-2008.
-.BR CMSG_SPACE ()
-and
-.BR CMSG_LEN ()
-.\" https://www.austingroupbugs.net/view.php?id=978#c3242
-will be included in the next POSIX release (Issue 8).
-.PP
-.BR CMSG_ALIGN ()
-is a Linux extension.
-.SH NOTES
+.SH VERSIONS
For portability, ancillary data should be accessed using only the macros
described here.
-.BR CMSG_ALIGN ()
-is a Linux extension and should not be used in portable programs.
.PP
In Linux,
.BR CMSG_LEN (),
@@ -190,6 +172,30 @@ and
are constant expressions (assuming their argument is constant),
meaning that these values can be used to declare the size of global variables.
This may not be portable, however.
+.SH STANDARDS
+.TP
+.BR CMSG_FIRSTHDR ()
+.TQ
+.BR CMSG_NXTHDR ()
+.TQ
+.BR CMSG_DATA ()
+POSIX.1-2008.
+.TP
+.BR CMSG_SPACE ()
+.TQ
+.BR CMSG_LEN ()
+.TQ
+.BR CMSG_ALIGN ()
+Linux.
+.SH HISTORY
+This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite,
+the IPv6 advanced API described in RFC\ 2292 and SUSv2.
+.PP
+.BR CMSG_SPACE ()
+and
+.BR CMSG_LEN ()
+.\" https://www.austingroupbugs.net/view.php?id=978#c3242
+will be included in the next POSIX release (Issue 8).
.SH EXAMPLES
This code looks for the
.B IP_TTL
diff --git a/man3/confstr.3 b/man3/confstr.3
index b340bdcf06..20a7781e73 100644
--- a/man3/confstr.3
+++ b/man3/confstr.3
@@ -130,7 +130,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The following code fragment determines the path where to find
the POSIX.2 system utilities:
diff --git a/man3/conj.3 b/man3/conj.3
index 941c445362..4cc22f1317 100644
--- a/man3/conj.3
+++ b/man3/conj.3
@@ -48,10 +48,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR csqrt (3),
diff --git a/man3/copysign.3 b/man3/copysign.3
index 606cfccbd5..1282cf112e 100644
--- a/man3/copysign.3
+++ b/man3/copysign.3
@@ -81,14 +81,15 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+On architectures where the floating-point formats are not IEEE 754 compliant,
+these functions may treat a negative zero as positive.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.\" 4.3BSD.
+C11, POSIX.1-2008.
+.PP
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
-.SH NOTES
-On architectures where the floating-point formats are not IEEE 754 compliant,
-these
-functions may treat a negative zero as positive.
+.SH HISTORY
+C99, POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
.BR signbit (3)
diff --git a/man3/cos.3 b/man3/cos.3
index 69f88044b1..d00d7a06f4 100644
--- a/man3/cos.3
+++ b/man3/cos.3
@@ -95,7 +95,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/cosh.3 b/man3/cosh.3
index d35b977ea3..bdf06f583b 100644
--- a/man3/cosh.3
+++ b/man3/cosh.3
@@ -111,7 +111,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/cpow.3 b/man3/cpow.3
index e69d34e8ce..2b6c10dcb5 100644
--- a/man3/cpow.3
+++ b/man3/cpow.3
@@ -45,10 +45,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR pow (3),
diff --git a/man3/cproj.3 b/man3/cproj.3
index 32dd29165d..6292c28dd6 100644
--- a/man3/cproj.3
+++ b/man3/cproj.3
@@ -46,11 +46,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
+.PP
In glibc 2.11 and earlier, the implementation does something different
(a
.I stereographic
diff --git a/man3/creal.3 b/man3/creal.3
index 8fe7f5a51a..6b8916bd38 100644
--- a/man3/creal.3
+++ b/man3/creal.3
@@ -46,12 +46,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-These functions were added in glibc 2.1.
-.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-The gcc supports also __real__.
+GCC supports also __real__.
That is a GNU extension.
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cimag (3),
diff --git a/man3/crypt.3 b/man3/crypt.3
index a4b37774ac..1f3e4792ec 100644
--- a/man3/crypt.3
+++ b/man3/crypt.3
@@ -187,11 +187,16 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR crypt ():
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+.TP
+.BR crypt ()
+POSIX.1-2008.
+.TP
.BR crypt_r ()
-is a GNU extension.
-.SH NOTES
+GNU.
+.SH HISTORY
+.TP
+.BR crypt ()
+POSIX.1-2001, SVr4, 4.3BSD.
.SS Availability in glibc
The
.BR crypt (),
@@ -217,6 +222,7 @@ for the function prototypes;
otherwise
.I libxcrypt
is an ABI-compatible drop-in replacement.
+.SH NOTES
.SS Features in glibc
The glibc version of this function supports additional
encryption algorithms.
diff --git a/man3/csin.3 b/man3/csin.3
index 3119535ca1..fc1ccb2cdd 100644
--- a/man3/csin.3
+++ b/man3/csin.3
@@ -47,10 +47,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR casin (3),
diff --git a/man3/csinh.3 b/man3/csinh.3
index b8f5d5a9f0..c212f8e280 100644
--- a/man3/csinh.3
+++ b/man3/csinh.3
@@ -47,10 +47,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR casinh (3),
diff --git a/man3/csqrt.3 b/man3/csqrt.3
index b9cf8ba610..e1469ee226 100644
--- a/man3/csqrt.3
+++ b/man3/csqrt.3
@@ -43,10 +43,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR cexp (3),
diff --git a/man3/ctan.3 b/man3/ctan.3
index 9caaf42d63..42e7f78f49 100644
--- a/man3/ctan.3
+++ b/man3/ctan.3
@@ -47,10 +47,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR catan (3),
diff --git a/man3/ctanh.3 b/man3/ctanh.3
index 9eb02dd252..86e645db0f 100644
--- a/man3/ctanh.3
+++ b/man3/ctanh.3
@@ -48,10 +48,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR cabs (3),
.BR catanh (3),
diff --git a/man3/ctermid.3 b/man3/ctermid.3
index 96c521d780..681a893ef0 100644
--- a/man3/ctermid.3
+++ b/man3/ctermid.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, Svr4.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, Svr4.
.SH BUGS
The returned pathname may not uniquely identify the controlling
terminal; it may, for example, be
diff --git a/man3/ctime.3 b/man3/ctime.3
index 31f3e66db2..a6021f451f 100644
--- a/man3/ctime.3
+++ b/man3/ctime.3
@@ -300,31 +300,77 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001.
-C89 and C99 specify
-.BR asctime (),
-.BR ctime (),
-.BR gmtime (),
-.BR localtime (),
-and
-.BR mktime ().
-POSIX.1-2008 marks
-.BR asctime (),
-.BR asctime_r (),
-.BR ctime (),
-and
-.BR ctime_r ()
-as obsolete,
-recommending the use of
-.BR strftime (3)
-instead.
-.PP
+.SH VERSIONS
POSIX doesn't specify the parameters of
.BR ctime_r ()
to be
.IR restrict ;
that is specific to glibc.
+.PP
+In many implementations, including glibc, a 0 in
+.I tm_mday
+is interpreted as meaning the last day of the preceding month.
+.PP
+According to POSIX.1-2001,
+.BR localtime ()
+is required to behave as though
+.BR tzset (3)
+was called, while
+.BR localtime_r ()
+does not have this requirement.
+.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
+For portable code,
+.BR tzset (3)
+should be called before
+.BR localtime_r ().
+.SH STANDARDS
+.TP
+.BR asctime ()
+.TQ
+.BR ctime ()
+.TQ
+.BR gmtime ()
+.TQ
+.BR localtime ()
+.TQ
+.BR mktime ()
+C11, POSIX.1-2008.
+.TP
+.BR asctime_r ()
+.TQ
+.BR ctime_r ()
+.TQ
+.BR gmtime_r ()
+.TQ
+.BR localtime_r ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR gmtime ()
+.TQ
+.BR localtime ()
+.TQ
+.BR mktime ()
+C89, POSIX.1-2001.
+.TP
+.BR asctime ()
+.TQ
+.BR ctime ()
+C89, POSIX.1-2001.
+Marked obsolete in POSIX.1-2008 (recommending
+.BR strftime (3)).
+.TP
+.BR gmtime_r ()
+.TQ
+.BR localtime_r ()
+POSIX.1-2001.
+.TP
+.BR asctime_r ()
+.TQ
+.BR ctime_r ()
+POSIX.1-2001.
+Marked obsolete in POSIX.1-2008 (recommending
+.BR strftime (3)).
.SH NOTES
The four functions
.BR asctime (),
@@ -354,23 +400,6 @@ a broken-down time structure and an array of type
Execution of any of the functions may overwrite the information returned
in either of these objects by any of the other functions."
This can occur in the glibc implementation.
-.PP
-In many implementations, including glibc, a 0 in
-.I tm_mday
-is interpreted as meaning the last day of the preceding month.
-.PP
-According to POSIX.1-2001,
-.BR localtime ()
-is required to behave as though
-.BR tzset (3)
-was called, while
-.BR localtime_r ()
-does not have this requirement.
-.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
-For portable code,
-.BR tzset (3)
-should be called before
-.BR localtime_r ().
.SH SEE ALSO
.BR date (1),
.BR gettimeofday (2),
diff --git a/man3/daemon.3 b/man3/daemon.3
index 44a8ff7e20..dcd57c3325 100644
--- a/man3/daemon.3
+++ b/man3/daemon.3
@@ -91,13 +91,9 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-Not in POSIX.1.
+.SH VERSIONS
A similar function appears on the BSDs.
-The
-.BR daemon ()
-function first appeared in 4.4BSD.
-.SH NOTES
+.PP
The glibc implementation can also return \-1 when
.I /dev/null
exists but is not a character device with the expected
@@ -105,6 +101,10 @@ major and minor numbers.
In this case,
.I errno
need not be set.
+.SH STANDARDS
+None.
+.SH HISTORY
+4.4BSD.
.SH BUGS
The GNU C library implementation of this function was taken from BSD,
and does not employ the double-fork technique (i.e.,
diff --git a/man3/des_crypt.3 b/man3/des_crypt.3
index e486d92a5f..af57bc6f4a 100644
--- a/man3/des_crypt.3
+++ b/man3/des_crypt.3
@@ -23,16 +23,17 @@ Standard C library
.\" .B #include <des_crypt.h>
.B #include <rpc/des_crypt.h>
.PP
-.BI "int ecb_crypt(char *" key ", char " data [. datalen "], \
-unsigned int " datalen ,
-.BI " unsigned int " mode );
-.BI "int cbc_crypt(char *" key ", char " data [. datalen "], \
-unsigned int " datalen ,
-.BI " unsigned int " mode ", char *" ivec );
+.BI "[[deprecated]] int ecb_crypt(char *" key ", char " data [. datalen ],
+.BI " unsigned int " datalen ", \
+unsigned int " mode );
+.BI "[[deprecated]] int cbc_crypt(char *" key ", char " data [. datalen ],
+.BI " unsigned int " datalen ", \
+unsigned int " mode ,
+.BI " char *" ivec );
.PP
-.BI "void des_setparity(char *" key );
+.BI "[[deprecated]] void des_setparity(char *" key );
.PP
-.BI "int DES_FAILED(int " status );
+.BI "[[deprecated]] int DES_FAILED(int " status );
.fi
.SH DESCRIPTION
.BR ecb_crypt ()
@@ -148,22 +149,18 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
+.SH STANDARDS
+None.
+.SH HISTORY
+4.3BSD.
+glibc 2.1.
+Removed in glibc 2.28.
.PP
Because they employ the DES block cipher,
which is no longer considered secure,
-.BR ecb_crypt (),
-.BR ecb_crypt (),
-.BR crypt_r (),
-and
-.BR des_setparity ()
-were removed in glibc 2.28.
+these functions were removed.
Applications should switch to a modern cryptography library, such as
.BR libgcrypt .
-.SH STANDARDS
-4.3BSD.
-Not in POSIX.1.
.SH SEE ALSO
.BR des (1),
.BR crypt (3),
diff --git a/man3/difftime.3 b/man3/difftime.3
index 051800888f..60d3489776 100644
--- a/man3/difftime.3
+++ b/man3/difftime.3
@@ -47,7 +47,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH NOTES
On a POSIX system,
.I time_t
diff --git a/man3/dirfd.3 b/man3/dirfd.3
index 6c1d33bdf5..ea30498866 100644
--- a/man3/dirfd.3
+++ b/man3/dirfd.3
@@ -81,7 +81,8 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
POSIX.1-2008.
-This function was a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD.
+.SH HISTORY
+4.3BSD-Reno (not in 4.2BSD).
.\" It is present in libc5 (since 5.1.2) and in glibc 2.
.SH SEE ALSO
.BR open (2),
diff --git a/man3/div.3 b/man3/div.3
index 29b9493a25..97d19334e5 100644
--- a/man3/div.3
+++ b/man3/div.3
@@ -85,8 +85,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-The functions
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
+.PP
.BR lldiv ()
and
.BR imaxdiv ()
diff --git a/man3/dl_iterate_phdr.3 b/man3/dl_iterate_phdr.3
index 0b65919bf8..101fa0628b 100644
--- a/man3/dl_iterate_phdr.3
+++ b/man3/dl_iterate_phdr.3
@@ -200,12 +200,6 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR dl_iterate_phdr ()
-has been supported since glibc 2.2.4.
-.SH STANDARDS
-The
-.BR dl_iterate_phdr ()
-function is not specified in any standard.
Various other systems provide a version of this function,
although details of the returned
.I dl_phdr_info
@@ -217,14 +211,18 @@ On the BSDs and Solaris, the structure includes the fields
and
.I dlpi_phnum
in addition to other implementation-specific fields.
-.SH NOTES
+.PP
Future versions of the C library may add further fields to the
.I dl_phdr_info
structure; in that event, the
.I size
argument provides a mechanism for the callback function to discover
whether it is running on a system with added fields.
-.PP
+.SH STANDARDS
+None.
+.SH HISTORY
+glibc 2.2.4.
+.SH NOTES
The first object visited by
.I callback
is the main program.
diff --git a/man3/dladdr.3 b/man3/dladdr.3
index 77b7b9afec..90b770cb85 100644
--- a/man3/dladdr.3
+++ b/man3/dladdr.3
@@ -231,14 +231,17 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
.BR dladdr ()
-is present in glibc 2.0 and later.
+glibc 2.0.
+.TP
.BR dladdr1 ()
-first appeared in glibc 2.3.3.
-.SH STANDARDS
-These functions are nonstandard GNU extensions
-that are also present on Solaris.
+glibc 2.3.3.
+.PP
+Solaris.
.SH BUGS
Sometimes, the function pointers you pass to
.BR dladdr ()
diff --git a/man3/dlerror.3 b/man3/dlerror.3
index 3265dfcf34..39e0f78894 100644
--- a/man3/dlerror.3
+++ b/man3/dlerror.3
@@ -48,11 +48,13 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR dlerror ()
-is present in glibc 2.0 and later.
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0.
POSIX.1-2001.
+.PP
+SunOS.
.SH NOTES
The message returned by
.BR dlerror ()
@@ -69,8 +71,6 @@ calls.
.\" .in +5
.\" .B "const char *dlerror(void);"
.\" .in
-.SS History
-This function is part of the dlopen API, derived from SunOS.
.SH EXAMPLES
See
.BR dlopen (3).
diff --git a/man3/dlinfo.3 b/man3/dlinfo.3
index 960265faf0..5163aeab04 100644
--- a/man3/dlinfo.3
+++ b/man3/dlinfo.3
@@ -218,15 +218,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR dlinfo ()
-first appeared in glibc 2.3.3.
-.SH STANDARDS
-This function is a nonstandard GNU extension.
-.SH NOTES
-This function derives from the Solaris function of the same name
-and also appears on some other systems.
The sets of requests supported by the various implementations
overlaps only partially.
+.SH STANDARDS
+GNU.
+.SH HISTORY
+glibc 2.3.3.
+Solaris.
.SH EXAMPLES
The program below opens a shared objects using
.BR dlopen (3)
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index 3df952650a..90c365a65f 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -365,29 +365,32 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
.BR dlopen ()
-and
+.TQ
.BR dlclose ()
-are present in glibc 2.0 and later.
+POSIX.1-2008.
+.TP
.BR dlmopen ()
-first appeared in glibc 2.3.4.
-.SH STANDARDS
-POSIX.1-2001 describes
+.TQ
+.B RTLD_NOLOAD
+.TQ
+.B RTLD_NODELETE
+GNU.
+.TP
+.B RTLD_DEEPBIND
+Solaris.
+.SH HISTORY
+.TP
+.BR dlopen ()
+.TQ
.BR dlclose ()
-and
-.BR dlopen ().
-The
+glibc 2.0.
+POSIX.1-2001.
+.TP
.BR dlmopen ()
-function is a GNU extension.
-.PP
-The
-.BR RTLD_NOLOAD ,
-.BR RTLD_NODELETE ,
-and
-.B RTLD_DEEPBIND
-flags are GNU extensions;
-the first two of these flags are also present on Solaris.
+glibc 2.3.4.
.SH NOTES
.SS dlmopen() and namespaces
A link-map list defines an isolated namespace for the
diff --git a/man3/dlsym.3 b/man3/dlsym.3
index de071d1f08..8a648c6daf 100644
--- a/man3/dlsym.3
+++ b/man3/dlsym.3
@@ -120,17 +120,21 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
.BR dlsym ()
-is present in glibc 2.0 and later.
+POSIX.1-2008.
+.TP
.BR dlvsym ()
-first appeared in glibc 2.1.
-.SH STANDARDS
-POSIX.1-2001 describes
-.BR dlsym ().
-The
+GNU.
+.SH HISTORY
+.TP
+.BR dlsym ()
+glibc 2.0.
+POSIX.1-2001.
+.TP
.BR dlvsym ()
-function is a GNU extension.
+glibc 2.1.
.SH NOTES
There are several scenarios when the address of a global symbol is NULL.
For example, a symbol can be placed at zero address by the linker, via
diff --git a/man3/drand48.3 b/man3/drand48.3
index a93b8655e0..1d12570e23 100644
--- a/man3/drand48.3
+++ b/man3/drand48.3
@@ -255,7 +255,9 @@ The above
functions record global state information for the random number generator,
so they are not thread-safe.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4.
.SH SEE ALSO
.BR rand (3),
.BR random (3)
diff --git a/man3/drand48_r.3 b/man3/drand48_r.3
index d34055c16d..dff7554e5a 100644
--- a/man3/drand48_r.3
+++ b/man3/drand48_r.3
@@ -100,7 +100,7 @@ T} Thread safety MT-Safe race:buffer
.ad
.sp 1
.SH STANDARDS
-These functions are GNU extensions and are not portable.
+GNU.
.SH SEE ALSO
.BR drand48 (3),
.BR rand (3),
diff --git a/man3/duplocale.3 b/man3/duplocale.3
index a069c827f7..c8872a0913 100644
--- a/man3/duplocale.3
+++ b/man3/duplocale.3
@@ -54,12 +54,10 @@ to indicate the error.
.TP
.B ENOMEM
Insufficient memory to create the duplicate locale object.
-.SH VERSIONS
-The
-.BR duplocale ()
-function were added in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
+.SH HISTORY
+glibc 2.3.
.SH NOTES
Duplicating a locale can serve the following purposes:
.IP \[bu] 3
diff --git a/man3/dysize.3 b/man3/dysize.3
index f3e1a88885..b0d5455c4e 100644
--- a/man3/dysize.3
+++ b/man3/dysize.3
@@ -61,8 +61,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function occurs in SunOS 4.x.
-.SH NOTES
+None.
+.SH HISTORY
+SunOS 4.x.
+.PP
This is a compatibility function only.
Don't use it in new programs.
.\" The SCO version of this function had a year-2000 problem.
diff --git a/man3/ecvt.3 b/man3/ecvt.3
index 1a56ca8171..53ad0b3516 100644
--- a/man3/ecvt.3
+++ b/man3/ecvt.3
@@ -107,6 +107,8 @@ T} Thread safety MT-Unsafe race:fcvt
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SVr2;
marked as LEGACY in POSIX.1-2001.
POSIX.1-2008 removes the specifications of
diff --git a/man3/ecvt_r.3 b/man3/ecvt_r.3
index f16ca57941..2046983ba9 100644
--- a/man3/ecvt_r.3
+++ b/man3/ecvt_r.3
@@ -91,7 +91,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH NOTES
These functions are obsolete.
Instead,
diff --git a/man3/encrypt.3 b/man3/encrypt.3
index c71a62e6e9..d0d35e9228 100644
--- a/man3/encrypt.3
+++ b/man3/encrypt.3
@@ -126,28 +126,30 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
+.BR encrypt ()
+.TQ
+.BR setkey ()
+POSIX.1-2008.
+.TP
+.BR encrypt_r ()
+.TQ
+.BR setkey_r ()
+None.
+.SH HISTORY
+Removed in glibc 2.28.
+.PP
Because they employ the DES block cipher,
which is no longer considered secure,
-.BR encrypt (),
-.BR encrypt_r (),
-.BR setkey (),
-and
-.BR setkey_r ()
-were removed in glibc 2.28.
+these functions were removed from glibc.
Applications should switch to a modern cryptography library, such as
.BR libgcrypt .
-.SH STANDARDS
-.BR encrypt (),
-.BR setkey ():
-POSIX.1-2001, POSIX.1-2008, SUS, SVr4.
-.PP
-The functions
-.BR encrypt_r ()
-and
-.BR setkey_r ()
-are GNU extensions.
-.SH NOTES
+.TP
+.BR encrypt ()
+.TQ
+.BR setkey ()
+POSIX.1-2001, SUS, SVr4.
.SS Availability in glibc
See
.BR crypt (3).
diff --git a/man3/end.3 b/man3/end.3
index 6531a07927..2b54bf5beb 100644
--- a/man3/end.3
+++ b/man3/end.3
@@ -28,6 +28,8 @@ initialized data segment.
This is the first address past the end of the
uninitialized data segment (also known as the BSS segment).
.SH STANDARDS
+None.
+.SH HISTORY
Although these symbols have long been provided on most UNIX systems,
they are not standardized; use with caution.
.SH NOTES
diff --git a/man3/endian.3 b/man3/endian.3
index 17f72f111a..28f8fbee9c 100644
--- a/man3/endian.3
+++ b/man3/endian.3
@@ -80,9 +80,6 @@ from big-endian order to host byte order.
The functions with names of the form "le\fInn\fPtoh" convert
from little-endian order to host byte order.
.SH VERSIONS
-These functions were added in glibc 2.9.
-.SH STANDARDS
-These functions are nonstandard.
Similar functions are present on the BSDs,
where the required header file is
.I <sys/endian.h>
@@ -96,7 +93,11 @@ whereby the
component always appears at the end of the function name
(thus, for example, in NetBSD, FreeBSD, and glibc,
the equivalent of OpenBSDs "betoh32" is "be32toh").
-.SH NOTES
+.SH STANDARDS
+None.
+.SH HISTORY
+glibc 2.9.
+.PP
These functions are similar to the older
.BR byteorder (3)
family of functions.
diff --git a/man3/envz_add.3 b/man3/envz_add.3
index 3786e023b3..c7a4cf1821 100644
--- a/man3/envz_add.3
+++ b/man3/envz_add.3
@@ -142,7 +142,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are a GNU extension.
+GNU.
.SH EXAMPLES
.\" SRC BEGIN (envz_add.c)
.EX
diff --git a/man3/erf.3 b/man3/erf.3
index a2a1002366..1175228050 100644
--- a/man3/erf.3
+++ b/man3/erf.3
@@ -120,7 +120,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/erfc.3 b/man3/erfc.3
index 267dda8dd1..a02c528bd7 100644
--- a/man3/erfc.3
+++ b/man3/erfc.3
@@ -113,7 +113,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/err.3 b/man3/err.3
index b44b2332f3..dc7f43b612 100644
--- a/man3/err.3
+++ b/man3/err.3
@@ -103,14 +103,13 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-These functions are nonstandard BSD extensions.
-.\" .SH HISTORY
-.\" The
-.\" .BR err ()
-.\" and
-.\" .BR warn ()
-.\" functions first appeared in
-.\" 4.4BSD.
+BSD.
+.SH HISTORY
+.TP
+.BR err ()
+.TQ
+.BR warn ()
+4.4BSD.
.SH EXAMPLES
Display the current
.I errno
diff --git a/man3/error.3 b/man3/error.3
index 2df5df0cf7..b6ac915dd8 100644
--- a/man3/error.3
+++ b/man3/error.3
@@ -160,8 +160,7 @@ After that,
is very much like
.BR error ().
.SH STANDARDS
-These functions and variables are GNU extensions, and should not be
-used in programs intended to be portable.
+GNU.
.SH SEE ALSO
.BR err (3),
.BR errno (3),
diff --git a/man3/ether_aton.3 b/man3/ether_aton.3
index 920a065fad..842cc47c3d 100644
--- a/man3/ether_aton.3
+++ b/man3/ether_aton.3
@@ -131,6 +131,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD, SunOS.
.SH BUGS
In glibc 2.2.5 and earlier, the implementation of
diff --git a/man3/euidaccess.3 b/man3/euidaccess.3
index d17590bc00..2ff79e60a5 100644
--- a/man3/euidaccess.3
+++ b/man3/euidaccess.3
@@ -69,15 +69,16 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-The
-.BR eaccess ()
-function was added in glibc 2.4.
-.SH STANDARDS
-These functions are nonstandard.
Some other systems have an
.\" e.g., FreeBSD 6.1.
.BR eaccess ()
function.
+.SH STANDARDS
+None.
+.SH HISTORY
+.TP
+.BR eaccess ()
+glibc 2.4.
.SH NOTES
.IR Warning :
Using this function to check a process's permissions on a file before
diff --git a/man3/exec.3 b/man3/exec.3
index d8c0e0712e..d770dcadbc 100644
--- a/man3/exec.3
+++ b/man3/exec.3
@@ -197,16 +197,6 @@ T} Thread safety MT-Safe env
.ad
.sp 1
.SH VERSIONS
-The
-.BR execvpe ()
-function first appeared in glibc 2.11.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.PP
-The
-.BR execvpe ()
-function is a GNU extension.
-.SH NOTES
The default search path (used when the environment
does not contain the variable \fBPATH\fR)
shows some variation across systems.
@@ -254,6 +244,40 @@ and
upon which they returned.
They now return if any error other than the ones
described above occurs.
+.SH STANDARDS
+.TP
+.B environ
+.TQ
+.BR execl ()
+.TQ
+.BR execlp ()
+.TQ
+.BR execle ()
+.TQ
+.BR execv ()
+.TQ
+.BR execvp ()
+POSIX.1-2008.
+.TP
+.BR execvpe ()
+GNU.
+.SH HISTORY
+.TP
+.B environ
+.TQ
+.BR execl ()
+.TQ
+.BR execlp ()
+.TQ
+.BR execle ()
+.TQ
+.BR execv ()
+.TQ
+.BR execvp ()
+POSIX.1-2001.
+.TP
+.BR execvpe ()
+glibc 2.11.
.SH BUGS
Before glibc 2.24,
.BR execl ()
diff --git a/man3/exit.3 b/man3/exit.3
index d94ac6eb73..05b7fb54db 100644
--- a/man3/exit.3
+++ b/man3/exit.3
@@ -94,7 +94,9 @@ The
function uses a global variable that is not protected,
so it is not thread-safe.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
The behavior is undefined if one of the functions registered using
.BR atexit (3)
diff --git a/man3/exp.3 b/man3/exp.3
index d8d49da5e3..ce4c29eb48 100644
--- a/man3/exp.3
+++ b/man3/exp.3
@@ -119,7 +119,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/exp10.3 b/man3/exp10.3
index 290d495cac..20a92d227c 100644
--- a/man3/exp10.3
+++ b/man3/exp10.3
@@ -66,10 +66,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions first appeared in glibc 2.1.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH BUGS
Before glibc 2.19, the glibc implementation of these functions did not set
.I errno
diff --git a/man3/exp2.3 b/man3/exp2.3
index 574507df6a..1d1286b821 100644
--- a/man3/exp2.3
+++ b/man3/exp2.3
@@ -77,10 +77,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/expm1.3 b/man3/expm1.3
index 832660f2fe..7720141a4b 100644
--- a/man3/expm1.3
+++ b/man3/expm1.3
@@ -126,8 +126,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.\" BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
+BSD.
.SH BUGS
Before glibc 2.17,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6778
diff --git a/man3/fabs.3 b/man3/fabs.3
index ccb41d0a6c..265b1336af 100644
--- a/man3/fabs.3
+++ b/man3/fabs.3
@@ -78,7 +78,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/fclose.3 b/man3/fclose.3
index 213e36bb76..d454fb7b6f 100644
--- a/man3/fclose.3
+++ b/man3/fclose.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.SH NOTES
Note that
.BR fclose ()
diff --git a/man3/fcloseall.3 b/man3/fcloseall.3
index e00f1849fa..49afea4c72 100644
--- a/man3/fcloseall.3
+++ b/man3/fcloseall.3
@@ -58,7 +58,7 @@ The
.BR fcloseall ()
function does not lock the streams, so it is not thread-safe.
.SH STANDARDS
-This function is a GNU extension.
+GNU.
.SH SEE ALSO
.BR close (2),
.BR fclose (3),
diff --git a/man3/fdim.3 b/man3/fdim.3
index 7eaacb0d72..d503eca66d 100644
--- a/man3/fdim.3
+++ b/man3/fdim.3
@@ -84,10 +84,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH BUGS
Before glibc 2.24
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6796
diff --git a/man3/fenv.3 b/man3/fenv.3
index cbaa342fd4..e96ff6be0e 100644
--- a/man3/fenv.3
+++ b/man3/fenv.3
@@ -274,10 +274,11 @@ T}
.ad
.sp 1
.hy
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-IEC 60559 (IEC 559:1989), ANSI/IEEE 854, C99, POSIX.1-2001.
+C11, POSIX.1-2008, IEC 60559 (IEC 559:1989), ANSI/IEEE 854.
+.SH HISTORY
+C99, POSIX.1-2001.
+glibc 2.1.
.SH NOTES
.SS glibc notes
If possible, the GNU C Library defines a macro
diff --git a/man3/ferror.3 b/man3/ferror.3
index 9d9ebe23a6..1508eaf496 100644
--- a/man3/ferror.3
+++ b/man3/ferror.3
@@ -88,12 +88,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The functions
-.BR clearerr (),
-.BR feof (),
-and
-.BR ferror ()
-conform to C89, C99, POSIX.1-2001, and POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.SH NOTES
POSIX.1-2008 specifies
.\"https://www.austingroupbugs.net/view.php?id=401
diff --git a/man3/fexecve.3 b/man3/fexecve.3
index 78d0efee99..2adb1d66bb 100644
--- a/man3/fexecve.3
+++ b/man3/fexecve.3
@@ -95,15 +95,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR fexecve ()
-is implemented since glibc 2.3.2.
.SH STANDARDS
POSIX.1-2008.
-This function is not specified in POSIX.1-2001,
-and is not widely available on other systems.
-It is specified in POSIX.1-2008.
-.SH NOTES
+.SH HISTORY
+glibc 2.3.2.
+.PP
On Linux with glibc versions 2.26 and earlier,
.BR fexecve ()
is implemented using the
@@ -120,7 +116,7 @@ system call, then
is implemented using that system call, with the benefit that
.I /proc
does not need to be mounted.
-.PP
+.SH NOTES
The idea behind
.BR fexecve ()
is to allow the caller to verify (checksum) the contents of
diff --git a/man3/fflush.3 b/man3/fflush.3
index 927ff8b2b0..327786cef9 100644
--- a/man3/fflush.3
+++ b/man3/fflush.3
@@ -91,7 +91,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C89, C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001, POSIX.1-2008.
.PP
POSIX.1-2001 did not specify the behavior for flushing of input streams,
but the behavior is specified in POSIX.1-2008.
diff --git a/man3/ffs.3 b/man3/ffs.3
index bebd16b03e..ee1f2a1784 100644
--- a/man3/ffs.3
+++ b/man3/ffs.3
@@ -90,17 +90,17 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+BSD systems have a prototype in
+.IR <string.h> .
.SH STANDARDS
-.BR ffs ():
+.TP
+.BR ffs ()
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.PP
-The
+.TP
.BR ffsl ()
-and
+.TQ
.BR ffsll ()
-functions are glibc extensions.
-.SH NOTES
-BSD systems have a prototype in
-.IR <string.h> .
+GNU.
.SH SEE ALSO
.BR memchr (3)
diff --git a/man3/fgetc.3 b/man3/fgetc.3
index 75bb9231b2..75dcaeaf62 100644
--- a/man3/fgetc.3
+++ b/man3/fgetc.3
@@ -126,8 +126,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
+.SH NOTES
It is not advisable to mix calls to input functions from the
.I stdio
library with low-level calls to
diff --git a/man3/fgetgrent.3 b/man3/fgetgrent.3
index c3bf60d9bf..193e8f7375 100644
--- a/man3/fgetgrent.3
+++ b/man3/fgetgrent.3
@@ -106,6 +106,8 @@ T} Thread safety MT-Unsafe race:fgetgrent
.\" race:fgetgrent, however, something about the copyright impeded the
.\" progress.
.SH STANDARDS
+None.
+.SH HISTORY
SVr4.
.SH SEE ALSO
.BR endgrent (3),
diff --git a/man3/fgetpwent.3 b/man3/fgetpwent.3
index fad2fc0e66..51cf412712 100644
--- a/man3/fgetpwent.3
+++ b/man3/fgetpwent.3
@@ -114,6 +114,8 @@ T} Thread safety MT-Unsafe race:fgetpwent
.\" race:fgetpwent, however, something about the copyright impeded the
.\" progress.
.SH STANDARDS
+None.
+.SH HISTORY
SVr4.
.SH SEE ALSO
.BR endpwent (3),
diff --git a/man3/fgetwc.3 b/man3/fgetwc.3
index 4bd326eb53..4d3e58efdd 100644
--- a/man3/fgetwc.3
+++ b/man3/fgetwc.3
@@ -84,7 +84,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR fgetwc ()
diff --git a/man3/fgetws.3 b/man3/fgetws.3
index 076061a0e3..75ed37aa37 100644
--- a/man3/fgetws.3
+++ b/man3/fgetws.3
@@ -67,7 +67,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR fgetws ()
diff --git a/man3/fileno.3 b/man3/fileno.3
index bf0ec06d57..53d5bde547 100644
--- a/man3/fileno.3
+++ b/man3/fileno.3
@@ -82,9 +82,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The function
-.BR fileno ()
-conforms to POSIX.1-2001 and POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR open (2),
.BR fdopen (3),
diff --git a/man3/flockfile.3 b/man3/flockfile.3
index 01b0cc47d6..36d8e79ca5 100644
--- a/man3/flockfile.3
+++ b/man3/flockfile.3
@@ -125,7 +125,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.PP
These functions are available when
.B _POSIX_THREAD_SAFE_FUNCTIONS
diff --git a/man3/floor.3 b/man3/floor.3
index 1be5bc0944..aee5489548 100644
--- a/man3/floor.3
+++ b/man3/floor.3
@@ -73,13 +73,15 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
also conforms to
SVr4, 4.3BSD, C89.
-.SH NOTES
+.PP
SUSv2 and POSIX.1-2001 contain text about overflow (which might set
.I errno
to
diff --git a/man3/fma.3 b/man3/fma.3
index 616a265929..c269e0cc94 100644
--- a/man3/fma.3
+++ b/man3/fma.3
@@ -160,10 +160,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR remainder (3),
.BR remquo (3)
diff --git a/man3/fmax.3 b/man3/fmax.3
index 5001084ec2..ca2a337709 100644
--- a/man3/fmax.3
+++ b/man3/fmax.3
@@ -66,10 +66,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR fdim (3),
.BR fmin (3)
diff --git a/man3/fmemopen.3 b/man3/fmemopen.3
index 744865bc7c..c623878bef 100644
--- a/man3/fmemopen.3
+++ b/man3/fmemopen.3
@@ -164,13 +164,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR fmemopen ()
-was already available in glibc 1.0.x.
.SH STANDARDS
POSIX.1-2008.
-This function is not specified in POSIX.1-2001,
-and is not widely available on other systems.
+.SH HISTORY
+glibc 1.0.x.
+POSIX.1-2008.
.PP
POSIX.1-2008 specifies that \[aq]b\[aq] in
.I mode
@@ -179,12 +177,6 @@ However, Technical Corrigendum 1
.\" http://austingroupbugs.net/view.php?id=396
adjusts the standard to allow implementation-specific treatment for this case,
thus permitting the glibc treatment of \[aq]b\[aq].
-.SH NOTES
-There is no file descriptor associated with the file stream
-returned by this function
-(i.e.,
-.BR fileno (3)
-will return an error if called on the returned stream).
.PP
With glibc 2.22, binary mode (see below) was removed,
many longstanding bugs in the implementation of
@@ -220,6 +212,12 @@ by
Binary mode was removed in glibc 2.22; a \[aq]b\[aq] specified in
.I mode
has no effect.
+.SH NOTES
+There is no file descriptor associated with the file stream
+returned by this function
+(i.e.,
+.BR fileno (3)
+will return an error if called on the returned stream).
.SH BUGS
Before glibc 2.22, if
.I size
diff --git a/man3/fmin.3 b/man3/fmin.3
index d952bf1046..06021a4ed9 100644
--- a/man3/fmin.3
+++ b/man3/fmin.3
@@ -66,10 +66,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR fdim (3),
.BR fmax (3)
diff --git a/man3/fmod.3 b/man3/fmod.3
index 57546fe32e..5e01ca4741 100644
--- a/man3/fmod.3
+++ b/man3/fmod.3
@@ -137,7 +137,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/fmtmsg.3 b/man3/fmtmsg.3
index ec964948c6..97f74c569c 100644
--- a/man3/fmtmsg.3
+++ b/man3/fmtmsg.3
@@ -249,26 +249,26 @@ Since glibc 2.16,
the
.BR fmtmsg ()
function uses a lock to protect the static variable, so it is thread-safe.
-.SH VERSIONS
-.BR fmtmsg ()
-is provided since glibc 2.1.
.SH STANDARDS
-The functions
+.TP
.BR fmtmsg ()
-and
-.BR addseverity (3),
-and environment variables
+.TQ
.B MSGVERB
-and
-.B SEV_LEVEL
-come from System V.
-.PP
-The function
+POSIX.1-2008.
+.SH HISTORY
+.TP
.BR fmtmsg ()
-and the environment variable
+System V.
+POSIX.1-2001 and POSIX.1-2008.
+glibc 2.1.
+.TP
.B MSGVERB
-are described in POSIX.1-2001 and POSIX.1-2008.
-.SH NOTES
+System V.
+POSIX.1-2001 and POSIX.1-2008.
+.TP
+.B SEV_LEVEL
+System V.
+.PP
System V and UnixWare man pages tell us that these functions
have been replaced by "pfmt() and addsev()" or by "pfmt(),
vpfmt(), lfmt(), and vlfmt()", and will be removed later.
diff --git a/man3/fnmatch.3 b/man3/fnmatch.3
index 583f9111e6..b0dae22a32 100644
--- a/man3/fnmatch.3
+++ b/man3/fnmatch.3
@@ -122,10 +122,20 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, POSIX.2.
-The
-.BR FNM_FILE_NAME ", " FNM_LEADING_DIR ", and " FNM_CASEFOLD
-flags are GNU extensions.
+.TP
+.BR fnmatch ()
+POSIX.1-2008.
+.TP
+.B FNM_FILE_NAME
+.TQ
+.B FNM_LEADING_DIR
+.TQ
+.B FNM_CASEFOLD
+GNU.
+.SH HISTORY
+.TP
+.BR fnmatch ()
+POSIX.1-2001, POSIX.2.
.SH SEE ALSO
.BR sh (1),
.BR glob (3),
diff --git a/man3/fopen.3 b/man3/fopen.3
index 2cdaa387ce..4d9b74d704 100644
--- a/man3/fopen.3
+++ b/man3/fopen.3
@@ -289,12 +289,23 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR fopen (),
-.BR freopen ():
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
-.BR fdopen ():
-POSIX.1-2001, POSIX.1-2008.
+.TP
+.BR fopen ()
+.TQ
+.BR freopen ()
+C11, POSIX.1-2008.
+.TP
+.BR fdopen ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR fopen ()
+.TQ
+.BR freopen ()
+POSIX.1-2001, C89.
+.TP
+.BR fdopen ()
+POSIX.1-2001.
.SH NOTES
.SS glibc notes
The GNU C library allows the following extensions for the string specified in
diff --git a/man3/fopencookie.3 b/man3/fopencookie.3
index 6c82ce6be2..36616af128 100644
--- a/man3/fopencookie.3
+++ b/man3/fopencookie.3
@@ -260,7 +260,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is a nonstandard GNU extension.
+GNU.
.SH EXAMPLES
The program below implements a custom stream whose functionality
is similar (but not identical) to that available via
diff --git a/man3/fpathconf.3 b/man3/fpathconf.3
index ec42d95bbb..a36f07930f 100644
--- a/man3/fpathconf.3
+++ b/man3/fpathconf.3
@@ -256,7 +256,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
Files with name lengths longer than the value returned for
.I name
diff --git a/man3/fpclassify.3 b/man3/fpclassify.3
index 264090e369..0dd6ead84a 100644
--- a/man3/fpclassify.3
+++ b/man3/fpclassify.3
@@ -126,19 +126,21 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.PP
-For
-.BR isinf (),
-the standards merely say that the return value is nonzero
-if and only if the argument has an infinite value.
-.SH NOTES
In glibc 2.01 and earlier,
.BR isinf ()
returns a nonzero value (actually: 1) if
.I x
is positive infinity or negative infinity.
(This is all that C99 requires.)
+.SH NOTES
+For
+.BR isinf (),
+the standards merely say that the return value is nonzero
+if and only if the argument has an infinite value.
.SH SEE ALSO
.BR finite (3),
.BR INFINITY (3),
diff --git a/man3/fpurge.3 b/man3/fpurge.3
index 43d8084a6a..c84d9c5f2f 100644
--- a/man3/fpurge.3
+++ b/man3/fpurge.3
@@ -68,13 +68,15 @@ T} Thread safety MT-Safe race:stream
.ad
.sp 1
.SH STANDARDS
-These functions are nonstandard and not portable.
-The function
+None.
+.SH HISTORY
+.TP
.BR fpurge ()
-was introduced in 4.4BSD and is not available under Linux.
-The function
+4.4BSD.
+Not available under Linux.
+.TP
.BR __fpurge ()
-was introduced in Solaris, and is present in glibc 2.1.95 and later.
+Solaris, glibc 2.1.95.
.SH NOTES
Usually it is a mistake to want to discard input buffers.
.SH SEE ALSO
diff --git a/man3/fputwc.3 b/man3/fputwc.3
index 4b510c9df1..07d0c390f2 100644
--- a/man3/fputwc.3
+++ b/man3/fputwc.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH NOTES
The behavior of
.BR fputwc ()
diff --git a/man3/fputws.3 b/man3/fputws.3
index 4342e1ae09..cad8e11fc1 100644
--- a/man3/fputws.3
+++ b/man3/fputws.3
@@ -58,7 +58,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR fputws ()
diff --git a/man3/fread.3 b/man3/fread.3
index 160ea5f448..7f4dac813b 100644
--- a/man3/fread.3
+++ b/man3/fread.3
@@ -98,7 +98,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
.SH EXAMPLES
The program below demonstrates the use of
.BR fread ()
diff --git a/man3/frexp.3 b/man3/frexp.3
index 8a36927104..79aa513428 100644
--- a/man3/frexp.3
+++ b/man3/frexp.3
@@ -97,7 +97,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/fseek.3 b/man3/fseek.3
index 7c211a8de0..2a32c7df1b 100644
--- a/man3/fseek.3
+++ b/man3/fseek.3
@@ -172,7 +172,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
.SH SEE ALSO
.BR lseek (2),
.BR fseeko (3)
diff --git a/man3/fseeko.3 b/man3/fseeko.3
index fbd58863c0..f071f0e1c7 100644
--- a/man3/fseeko.3
+++ b/man3/fseeko.3
@@ -91,10 +91,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SUSv2.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001, SUSv2.
.SH NOTES
The declarations of these functions can also be obtained by defining
the obsolete
diff --git a/man3/ftime.3 b/man3/ftime.3
index 5e6430f647..a54eb8a827 100644
--- a/man3/ftime.3
+++ b/man3/ftime.3
@@ -77,19 +77,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-Starting with glibc 2.33, the
-.BR ftime ()
-function and the
-.I <sys/timeb.h>
-header have been removed.
-To support old binaries,
-glibc continues to provide a compatibility symbol for
-applications linked against glibc 2.32 and earlier.
.SH STANDARDS
+None.
+.SH HISTORY
+Removed in glibc 2.33.
4.2BSD, POSIX.1-2001.
-POSIX.1-2008 removes the specification of
-.BR ftime ().
+Removed in POSIX.1-2008.
.PP
This function is obsolete.
Don't use it.
diff --git a/man3/ftok.3 b/man3/ftok.3
index 40797d0f4d..ec0c0832ca 100644
--- a/man3/ftok.3
+++ b/man3/ftok.3
@@ -68,7 +68,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
On some ancient systems, the prototype was:
.PP
diff --git a/man3/fts.3 b/man3/fts.3
index bf17849b9b..66b2fcab36 100644
--- a/man3/fts.3
+++ b/man3/fts.3
@@ -782,9 +782,10 @@ T} Thread safety MT-Unsafe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are available in Linux since glibc2.
.SH STANDARDS
+None.
+.SH HISTORY
+glibc 2.
4.4BSD.
.SH BUGS
Before glibc 2.23,
diff --git a/man3/ftw.3 b/man3/ftw.3
index 561d27dd9f..59931bb3bf 100644
--- a/man3/ftw.3
+++ b/man3/ftw.3
@@ -371,28 +371,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR nftw ()
-is available since glibc 2.1.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, SUSv1.
-POSIX.1-2008 marks
-.BR ftw ()
-as obsolete.
-.SH NOTES
-POSIX.1-2008 notes that the results are unspecified if
-.I fn
-does not preserve the current working directory.
-.PP
-The function
-.BR nftw ()
-and the use of \fBFTW_SL\fP with
-.BR ftw ()
-were introduced in SUSv1.
-.PP
In some implementations (e.g., glibc),
.BR ftw ()
-will never use \fBFTW_SL\fP, on other systems \fBFTW_SL\fP occurs only
-for symbolic links that do not point to an existing file,
+will never use \fBFTW_SL\fP; on other systems \fBFTW_SL\fP occurs only
+for symbolic links that do not point to an existing file;
and again on other systems
.BR ftw ()
will use \fBFTW_SL\fP for each symbolic link.
@@ -406,6 +388,24 @@ is passed in
.IR typeflag .
For predictable results, use
.BR nftw ().
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR ftw ()
+POSIX.1-2001, SVr4, SUSv1.
+POSIX.1-2008 marks it as obsolete.
+.TP
+.BR nftw ()
+glibc 2.1.
+POSIX.1-2001, SUSv1.
+.TP
+.B FTW_SL
+POSIX.1-2001, SUSv1.
+.SH NOTES
+POSIX.1-2008 notes that the results are unspecified if
+.I fn
+does not preserve the current working directory.
.SH BUGS
According to POSIX.1-2008, when the
.I typeflag
diff --git a/man3/futimes.3 b/man3/futimes.3
index 3cf660d685..f7794c0094 100644
--- a/man3/futimes.3
+++ b/man3/futimes.3
@@ -89,16 +89,20 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+Linux, BSD.
+.SH HISTORY
+.TP
.BR futimes ()
-is available since glibc 2.3.
+glibc 2.3.
+.TP
.BR lutimes ()
-is available since glibc 2.6, and is implemented using the
+glibc 2.6.
+.SH NOTES
+.BR lutimes ()
+is implemented using the
.BR utimensat (2)
-system call, which is supported since Linux 2.6.22.
-.SH STANDARDS
-These functions are not specified in any standard.
-Other than Linux, they are available only on the BSDs.
+system call.
.SH SEE ALSO
.BR utime (2),
.BR utimensat (2),
diff --git a/man3/fwide.3 b/man3/fwide.3
index 867c1dce27..14eeb75bc8 100644
--- a/man3/fwide.3
+++ b/man3/fwide.3
@@ -67,7 +67,9 @@ A positive return value means wide-character oriented.
A negative return value means byte oriented.
A return value of zero means undecided.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
Wide-character output to a byte oriented stream can be performed through the
.BR fprintf (3)
diff --git a/man3/gamma.3 b/man3/gamma.3
index 9c9e9ea21a..54b8424f71 100644
--- a/man3/gamma.3
+++ b/man3/gamma.3
@@ -84,11 +84,13 @@ T} Thread safety MT-Unsafe race:signgam
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
+SVID 2.
+.PP
Because of historical variations in behavior across systems,
this function is not specified in any recent standard.
-It was documented in SVID 2.
-.SH NOTES
-.SS History
+.PP
4.2BSD had a
.BR gamma ()
that computed
diff --git a/man3/gcvt.3 b/man3/gcvt.3
index ea613e9543..b8109839a6 100644
--- a/man3/gcvt.3
+++ b/man3/gcvt.3
@@ -70,9 +70,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
Marked as LEGACY in POSIX.1-2001.
-POSIX.1-2008 removes the specification of
-.BR gcvt (),
+POSIX.1-2008 removed it,
recommending the use of
.BR sprintf (3)
instead (though
diff --git a/man3/get_nprocs.3 b/man3/get_nprocs.3
index b34a77e03d..092c6affa8 100644
--- a/man3/get_nprocs.3
+++ b/man3/get_nprocs.3
@@ -49,7 +49,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH NOTES
The current
.\" glibc 2.15
diff --git a/man3/get_phys_pages.3 b/man3/get_phys_pages.3
index bb57a40c81..78e79f06fc 100644
--- a/man3/get_phys_pages.3
+++ b/man3/get_phys_pages.3
@@ -39,8 +39,8 @@ The system could not provide the required information
.I /proc
filesystem was not mounted).
.SH STANDARDS
-These functions are GNU extensions.
-.SH NOTES
+GNU.
+.SH HISTORY
Before glibc 2.23,
these functions obtained the required information by scanning the
.I MemTotal
@@ -51,7 +51,7 @@ fields of
Since glibc 2.23,
these functions obtain the required information by calling
.BR sysinfo (2).
-.PP
+.SH NOTES
The following
.BR sysconf (3)
calls provide a portable means of obtaining the same information as the
diff --git a/man3/getaddrinfo.3 b/man3/getaddrinfo.3
index b98e3616af..5af0709fc3 100644
--- a/man3/getaddrinfo.3
+++ b/man3/getaddrinfo.3
@@ -598,25 +598,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-The
-.BR getaddrinfo ()
-function is documented in RFC\ 2553.
-.SH NOTES
-.BR getaddrinfo ()
-supports the
-.IB address % scope-id
-notation for specifying the IPv6 scope-ID.
-.PP
-.BR AI_ADDRCONFIG ,
-.BR AI_ALL ,
-and
-.B AI_V4MAPPED
-are available since glibc 2.3.3.
-.B AI_NUMERICSERV
-is available since glibc 2.3.4.
-.PP
+.SH VERSIONS
According to POSIX.1, specifying
.\" POSIX.1-2001, POSIX.1-2008
.I hints
@@ -627,6 +609,28 @@ The GNU C library instead assumes a value of
.B (AI_V4MAPPED\~|\~AI_ADDRCONFIG)
for this case,
since this value is considered an improvement on the specification.
+.SH STANDARDS
+POSIX.1-2008.
+.TP
+.BR getaddrinfo ()
+RFC\ 2553.
+.SH HISTORY
+POSIX.1-2001.
+.TP
+.B AI_ADDRCONFIG
+.TQ
+.B AI_ALL
+.TQ
+.B AI_V4MAPPED
+glibc 2.3.3.
+.TP
+.B AI_NUMERICSERV
+glibc 2.3.4.
+.SH NOTES
+.BR getaddrinfo ()
+supports the
+.IB address % scope-id
+notation for specifying the IPv6 scope-ID.
.SH EXAMPLES
.\" getnameinfo.3 refers to this example
.\" socket.2 refers to this example
diff --git a/man3/getaddrinfo_a.3 b/man3/getaddrinfo_a.3
index f92a1bea1b..525720812d 100644
--- a/man3/getaddrinfo_a.3
+++ b/man3/getaddrinfo_a.3
@@ -304,9 +304,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are GNU extensions;
-they first appeared in glibc 2.2.3.
-.SH NOTES
+GNU.
+.SH HISTORY
+glibc 2.2.3.
+.PP
The interface of
.BR getaddrinfo_a ()
was modeled after the
diff --git a/man3/getauxval.3 b/man3/getauxval.3
index 465716ba53..a0e2e5df50 100644
--- a/man3/getauxval.3
+++ b/man3/getauxval.3
@@ -227,12 +227,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR getauxval ()
-function was added in glibc 2.16.
.SH STANDARDS
-This function is a nonstandard glibc extension.
+GNU.
+.SH HISTORY
+glibc 2.16.
.SH NOTES
The primary consumer of the information in the auxiliary vector
is the dynamic linker,
diff --git a/man3/getcontext.3 b/man3/getcontext.3
index c9561fbf4b..3a35afca10 100644
--- a/man3/getcontext.3
+++ b/man3/getcontext.3
@@ -157,9 +157,11 @@ T} Thread safety MT-Safe race:ucp
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SUSv2, POSIX.1-2001.
-POSIX.1-2008 removes the specification of
-.BR getcontext (),
+.PP
+POSIX.1-2008 removes these functions,
citing portability issues, and
recommending that applications be rewritten to use POSIX threads instead.
.SH NOTES
diff --git a/man3/getcwd.3 b/man3/getcwd.3
index e591b439ea..6ad8292205 100644
--- a/man3/getcwd.3
+++ b/man3/getcwd.3
@@ -203,48 +203,17 @@ T} Thread safety MT-Safe env
.hy
.ad
.sp 1
-.SH STANDARDS
-.BR getcwd ()
-conforms to POSIX.1-2001.
-Note however that POSIX.1-2001 leaves the behavior of
+.SH VERSIONS
+POSIX.1-2001 leaves the behavior of
.BR getcwd ()
unspecified if
.I buf
is NULL.
.PP
-.BR getwd ()
-is present in POSIX.1-2001, but marked LEGACY.
-POSIX.1-2008 removes the specification of
-.BR getwd ().
-Use
-.BR getcwd ()
-instead.
POSIX.1-2001
does not define any errors for
.BR getwd ().
-.PP
-.BR get_current_dir_name ()
-is a GNU extension.
-.SH NOTES
-Under Linux, these functions make use of the
-.BR getcwd ()
-system call (available since Linux 2.1.92).
-On older systems they would query
-.IR /proc/self/cwd .
-If both system call and proc filesystem are missing, a
-generic implementation is called.
-Only in that case can
-these calls fail under Linux with
-.BR EACCES .
-.PP
-These functions are often used to save the location of the current working
-directory for the purpose of returning to it later.
-Opening the current
-directory (".") and calling
-.BR fchdir (2)
-to return is usually a faster and more reliable alternative when sufficiently
-many file descriptors are available, especially on platforms other than Linux.
-.\"
+.SH VERSIONS
.SS C library/kernel differences
On Linux, the kernel provides a
.BR getcwd ()
@@ -282,6 +251,46 @@ functions described in this page
should consider checking whether the returned pathname starts
with '/' or '(' to avoid misinterpreting an unreachable path
as a relative pathname.
+.SH STANDARDS
+.TP
+.BR getcwd ()
+POSIX.1-2008.
+.TP
+.BR get_current_dir_name ()
+GNU.
+.TP
+.BR getwd ()
+None.
+.SH HISTORY
+.TP
+.BR getcwd ()
+POSIX.1-2001.
+.TP
+.BR getwd ()
+POSIX.1-2001, but marked LEGACY.
+Removed in POSIX.1-2008.
+Use
+.BR getcwd ()
+instead.
+.PP
+Under Linux, these functions make use of the
+.BR getcwd ()
+system call (available since Linux 2.1.92).
+On older systems they would query
+.IR /proc/self/cwd .
+If both system call and proc filesystem are missing, a
+generic implementation is called.
+Only in that case can
+these calls fail under Linux with
+.BR EACCES .
+.SH NOTES
+These functions are often used to save the location of the current working
+directory for the purpose of returning to it later.
+Opening the current
+directory (".") and calling
+.BR fchdir (2)
+to return is usually a faster and more reliable alternative when sufficiently
+many file descriptors are available, especially on platforms other than Linux.
.SH BUGS
Since the Linux 2.6.36 change that added "(unreachable)" in the
circumstances described above, the glibc implementation of
diff --git a/man3/getdate.3 b/man3/getdate.3
index bbb1442679..b841998986 100644
--- a/man3/getdate.3
+++ b/man3/getdate.3
@@ -201,9 +201,7 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
The POSIX.1 specification for
.BR strptime (3)
contains conversion specifications using the
@@ -217,6 +215,10 @@ In glibc,
is implemented using
.BR strptime (3),
so that precisely the same conversions are supported by both.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The program below calls
.BR getdate ()
diff --git a/man3/getdirentries.3 b/man3/getdirentries.3
index a6ce0e840d..6d28b0508d 100644
--- a/man3/getdirentries.3
+++ b/man3/getdirentries.3
@@ -71,8 +71,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs, and a few other systems.
+BSD.
+.SH NOTES
Use
.BR opendir (3)
and
diff --git a/man3/getdtablesize.3 b/man3/getdtablesize.3
index cb433c6f0c..826fa9a2b5 100644
--- a/man3/getdtablesize.3
+++ b/man3/getdtablesize.3
@@ -62,15 +62,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-SVr4, 4.4BSD (the
-.BR getdtablesize ()
-function first appeared in 4.2BSD).
-It is not specified in POSIX.1;
-portable applications should employ
-.I sysconf(_SC_OPEN_MAX)
-instead of this call.
-.SH NOTES
+.SH VERSIONS
The glibc version of
.BR getdtablesize ()
calls
@@ -83,6 +75,15 @@ when that fails.
.\" The libc4 and libc5 versions return
.\" .B OPEN_MAX
.\" (set to 256 since Linux 0.98.4).
+.PP
+Portable applications should employ
+.I sysconf(_SC_OPEN_MAX)
+instead of this call.
+.SH STANDARDS
+None.
+.SH HISTORY
+SVr4, 4.4BSD
+(first appeared in 4.2BSD).
.SH SEE ALSO
.BR close (2),
.BR dup (2),
diff --git a/man3/getentropy.3 b/man3/getentropy.3
index f105a0f68e..dc06aa3f5f 100644
--- a/man3/getentropy.3
+++ b/man3/getentropy.3
@@ -66,13 +66,11 @@ with random data.
This kernel version does not implement the
.BR getrandom (2)
system call required to implement this function.
-.SH VERSIONS
-The
-.BR getentropy ()
-function first appeared in glibc 2.25.
.SH STANDARDS
-This function is nonstandard.
-It is also present on OpenBSD.
+None.
+.SH HISTORY
+glibc 2.25.
+OpenBSD.
.SH NOTES
The
.BR getentropy ()
diff --git a/man3/getenv.3 b/man3/getenv.3
index 7e4b45542d..edf7d9ec8c 100644
--- a/man3/getenv.3
+++ b/man3/getenv.3
@@ -93,15 +93,20 @@ T} Thread safety MT-Safe env
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR secure_getenv ()
-first appeared in glibc 2.17.
.SH STANDARDS
-.BR getenv ():
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.PP
+.TP
+.BR getenv ()
+C11, POSIX.1-2008.
+.TP
+.BR secure_getenv ()
+GNU.
+.SH HISTORY
+.TP
+.BR getenv ()
+POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
+.TP
.BR secure_getenv ()
-is a GNU extension.
+glibc 2.17.
.SH NOTES
The strings in the environment list are of the form \fIname=value\fP.
.PP
diff --git a/man3/getfsent.3 b/man3/getfsent.3
index b8d587124a..8d7f84609d 100644
--- a/man3/getfsent.3
+++ b/man3/getfsent.3
@@ -91,10 +91,6 @@ while
.BR setfsent ()
returns 1.
Upon failure or end-of-file, these functions return NULL and 0, respectively.
-.\" .SH HISTORY
-.\" The
-.\" .BR getfsent ()
-.\" function appeared in 4.0BSD; the other four functions appeared in 4.3BSD.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -122,9 +118,8 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are not in POSIX.1.
-Several operating systems have them, for example,
+.SH VERSIONS
+Several operating systems have these functions, for example,
*BSD, SunOS, Digital UNIX, AIX (which also has a
.BR getfstype ()).
HP-UX has functions of the same names,
@@ -134,6 +129,12 @@ instead of a
.IR "struct fstab" ,
and calls these functions obsolete, superseded by
.BR getmntent (3).
+.SH STANDARDS
+None.
+.SH HISTORY
+The
+.BR getfsent ()
+function appeared in 4.0BSD; the other four functions appeared in 4.3BSD.
.SH NOTES
These functions are not thread-safe.
.PP
diff --git a/man3/getgrent.3 b/man3/getgrent.3
index 6847d2c563..d48ad5b8d4 100644
--- a/man3/getgrent.3
+++ b/man3/getgrent.3
@@ -190,7 +190,9 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR fgetgrent (3),
.BR getgrent_r (3),
diff --git a/man3/getgrent_r.3 b/man3/getgrent_r.3
index f2ac1050f5..3fef0f3991 100644
--- a/man3/getgrent_r.3
+++ b/man3/getgrent_r.3
@@ -141,10 +141,7 @@ or
.BR getgrent_r ()
are used in parallel in different threads of a program,
then data races could occur.
-.SH STANDARDS
-These functions are GNU extensions, done in a style resembling
-the POSIX version of functions like
-.BR getpwnam_r (3).
+.SH VERSIONS
Other systems use the prototype
.PP
.in +4n
@@ -162,6 +159,12 @@ int getgrent_r(struct group *grp, char *buf, int buflen,
FILE **gr_fp);
.EE
.in
+.SH STANDARDS
+GNU.
+.SH HISTORY
+These functions are done in a style resembling
+the POSIX version of functions like
+.BR getpwnam_r (3).
.SH NOTES
The function
.BR getgrent_r ()
diff --git a/man3/getgrnam.3 b/man3/getgrnam.3
index 51ec2d028b..3908671162 100644
--- a/man3/getgrnam.3
+++ b/man3/getgrnam.3
@@ -220,9 +220,7 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
-.SH NOTES
+.SH VERSIONS
The formulation given above under "RETURN VALUE" is from POSIX.1.
.\" POSIX.1-2001, POSIX.1-2008
It does not call "not found" an error, hence does not specify what value
@@ -244,6 +242,10 @@ situation: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others.
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR endgrent (3),
.BR fgetgrent (3),
diff --git a/man3/getgrouplist.3 b/man3/getgrouplist.3
index d575321957..470a001c8a 100644
--- a/man3/getgrouplist.3
+++ b/man3/getgrouplist.3
@@ -100,10 +100,10 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is present since glibc 2.2.4.
.SH STANDARDS
-This function is nonstandard; it appears on most BSDs.
+None.
+.SH HISTORY
+glibc 2.2.4.
.SH BUGS
Before glibc 2.3.3,
the implementation of this function contains a buffer-overrun bug:
diff --git a/man3/gethostbyname.3 b/man3/gethostbyname.3
index 99eb29728e..492e22d692 100644
--- a/man3/gethostbyname.3
+++ b/man3/gethostbyname.3
@@ -381,24 +381,35 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
-POSIX.1-2001 specifies
-.BR gethostbyname (),
-.BR gethostbyaddr (),
-.BR sethostent (),
-.BR endhostent (),
-.BR gethostent (),
-and
-.IR h_errno ;
-.BR gethostbyname (),
-.BR gethostbyaddr (),
-and
+.TP
+.BR sethostent ()
+.TQ
+.BR endhostent ()
+.TQ
+.BR gethostent ()
+POSIX.1-2008.
+.TP
+.BR gethostent_r ()
+GNU.
+.TP
+Others:
+None.
+.SH HISTORY
+.TP
+.BR sethostent ()
+.TQ
+.BR endhostent ()
+.TQ
+.BR gethostent ()
+POSIX.1-2001.
+.TP
+.BR gethostbyname ()
+.TQ
+.BR gethostbyaddr ()
+.TQ
.I h_errno
-are marked obsolescent in that standard.
-POSIX.1-2008 removes the specifications of
-.BR gethostbyname (),
-.BR gethostbyaddr (),
-and
-.IR h_errno ,
+Marked obsolescent in POSIX.1-2001.
+Removed in POSIX.1-2008,
recommending the use of
.BR getaddrinfo (3)
and
diff --git a/man3/gethostid.3 b/man3/gethostid.3
index 13da0523fa..4c01bb08f0 100644
--- a/man3/gethostid.3
+++ b/man3/gethostid.3
@@ -106,18 +106,7 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-4.2BSD; these functions were dropped in 4.4BSD.
-SVr4 includes
-.BR gethostid ()
-but not
-.BR sethostid ().
-.PP
-POSIX.1-2001 and POSIX.1-2008 specify
-.BR gethostid ()
-but not
-.BR sethostid ().
-.SH NOTES
+.SH VERSIONS
In the glibc implementation, the
.I hostid
is stored in the file
@@ -137,6 +126,19 @@ passes that hostname to
in order to obtain the host's IPv4 address,
and returns a value obtained by bit-twiddling the IPv4 address.
(This value may not be unique.)
+.SH STANDARDS
+.TP
+.BR gethostid ()
+POSIX.1-2008.
+.TP
+.BR sethostid ()
+None.
+.SH HISTORY
+4.2BSD; dropped in 4.4BSD.
+SVr4 and POSIX.1-2001 include
+.BR gethostid ()
+but not
+.BR sethostid ().
.SH BUGS
It is impossible to ensure that the identifier is globally unique.
.SH SEE ALSO
diff --git a/man3/getifaddrs.3 b/man3/getifaddrs.3
index ab1df42c1a..d7ffe52618 100644
--- a/man3/getifaddrs.3
+++ b/man3/getifaddrs.3
@@ -160,16 +160,9 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR getifaddrs ()
-function first appeared in glibc 2.3, but before glibc 2.3.3,
-the implementation supported only IPv4 addresses;
-IPv6 support was added in glibc 2.3.3.
-Support of address families other than IPv4 is available only
-on kernels that support netlink.
.SH STANDARDS
-Not in POSIX.1.
+None.
+.SH HISTORY
This function first appeared in BSDi and is
present on the BSD systems, but with slightly different
semantics documented\[em]returning one entry per interface,
@@ -188,6 +181,13 @@ differs on various systems.
.\" appears to be confused and obsolete on this point.
.\" i.e., commonly it still says one of them will be NULL, even if
.\" the ifa_ifu union is already present
+.PP
+.BR getifaddrs ()
+first appeared in glibc 2.3, but before glibc 2.3.3,
+the implementation supported only IPv4 addresses;
+IPv6 support was added in glibc 2.3.3.
+Support of address families other than IPv4 is available only
+on kernels that support netlink.
.SH NOTES
The addresses returned on Linux will usually be the IPv4 and IPv6 addresses
assigned to the interface, but also one
diff --git a/man3/getipnodebyname.3 b/man3/getipnodebyname.3
index ed83ed5d2c..3c5f51fc94 100644
--- a/man3/getipnodebyname.3
+++ b/man3/getipnodebyname.3
@@ -238,11 +238,12 @@ This is an array of one or more pointers to network address structures for the
network host.
The array is terminated by a null pointer.
.SH STANDARDS
-RFC\ 2553.
+None.
+.SH HISTORY
.\" Not in POSIX.1-2001.
-.SH NOTES
-These functions were present in glibc 2.1.91-95, but were
-removed again.
+RFC\ 2553.
+.PP
+Present in glibc 2.1.91-95, but removed again.
Several UNIX-like systems support them, but all
call them deprecated.
.SH SEE ALSO
diff --git a/man3/getline.3 b/man3/getline.3
index 9ba0681f19..b3e6ca4fe8 100644
--- a/man3/getline.3
+++ b/man3/getline.3
@@ -137,12 +137,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-Both
-.BR getline ()
-and
-.BR getdelim ()
-were originally GNU extensions.
-They were standardized in POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+GNU, POSIX.1-2008.
.SH EXAMPLES
.\" SRC BEGIN (getline.c)
.EX
diff --git a/man3/getloadavg.3 b/man3/getloadavg.3
index 332bb12b8e..23faa258e4 100644
--- a/man3/getloadavg.3
+++ b/man3/getloadavg.3
@@ -47,11 +47,6 @@ over the last 1, 5, and 15 minutes, respectively.
.SH RETURN VALUE
If the load average was unobtainable, \-1 is returned; otherwise,
the number of samples actually retrieved is returned.
-.\" .SH HISTORY
-.\" The
-.\" BR getloadavg ()
-.\" function appeared in
-.\" 4.3BSD Reno .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -69,12 +64,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.2.
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs and Solaris.
-.\" mdoc seems to have a bug - there must be no newline here
+BSD.
+.SH HISTORY
+4.3BSD-Reno, Solaris.
+glibc 2.2.
.SH SEE ALSO
.BR uptime (1),
.BR proc (5)
diff --git a/man3/getlogin.3 b/man3/getlogin.3
index 283a3c7bd0..0d9fc59a02 100644
--- a/man3/getlogin.3
+++ b/man3/getlogin.3
@@ -178,29 +178,40 @@ and
.BR getlogin_r ()
call those functions,
so we use race:utent to remind users.
-.SH STANDARDS
+.SH VERSIONS
+OpenBSD has
.BR getlogin ()
and
+.BR setlogin (),
+and a username
+associated with a session, even if it has no controlling terminal.
+.SH STANDARDS
+.TP
+.BR getlogin ()
+.TQ
+.BR getlogin_r ()
+POSIX.1-2008.
+.TP
+.BR cuserid ()
+None.
+.SH STANDARDS
+.TP
+.BR getlogin ()
+.TQ
.BR getlogin_r ():
-POSIX.1-2001, POSIX.1-2008.
-.PP
+POSIX.1-2001.
+OpenBSD.
+.TP
+.BR cuserid ()
+System V, POSIX.1-1988.
+Removed in POSIX.1-1990.
+SUSv2.
+Removed in POSIX.1-2001.
+.IP
System V has a
.BR cuserid ()
function which uses the real
user ID rather than the effective user ID.
-The
-.BR cuserid ()
-function
-was included in the 1988 version of POSIX,
-but removed from the 1990 version.
-It was present in SUSv2, but removed in POSIX.1-2001.
-.PP
-OpenBSD has
-.BR getlogin ()
-and
-.BR setlogin (),
-and a username
-associated with a session, even if it has no controlling terminal.
.SH BUGS
Unfortunately, it is often rather easy to fool
.BR getlogin ().
diff --git a/man3/getmntent.3 b/man3/getmntent.3
index 7e73f5becf..5c0cfde0a9 100644
--- a/man3/getmntent.3
+++ b/man3/getmntent.3
@@ -232,13 +232,15 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
The nonreentrant functions are from SunOS 4.1.3.
A routine
.BR getmntent_r ()
was introduced in HP-UX 10, but it returns an
.IR int .
The prototype shown above is glibc-only.
-.SH NOTES
+.PP
System V also has a
.BR getmntent ()
function but the calling sequence
diff --git a/man3/getnameinfo.3 b/man3/getnameinfo.3
index ff9d88d115..6e4331884e 100644
--- a/man3/getnameinfo.3
+++ b/man3/getnameinfo.3
@@ -228,11 +228,19 @@ T} Thread safety MT-Safe env locale
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR getnameinfo ()
-is provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, RFC\ 2553.
+POSIX.1-2008.
+RFC\ 2553.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
+.PP
+Before glibc 2.2, the
+.I hostlen
+and
+.I servlen
+arguments were typed as
+.IR size_t .
.SH NOTES
In order to assist the programmer in choosing reasonable sizes
for the supplied buffers,
@@ -264,13 +272,6 @@ in recent versions of BIND's
header file.
The latter is a guess based on the services listed
in the current Assigned Numbers RFC.
-.PP
-Before glibc 2.2, the
-.I hostlen
-and
-.I servlen
-arguments were typed as
-.IR size_t .
.SH EXAMPLES
The following code tries to get the numeric hostname and service name,
for a given socket address.
diff --git a/man3/getnetent.3 b/man3/getnetent.3
index 6957079679..31799d0df6 100644
--- a/man3/getnetent.3
+++ b/man3/getnetent.3
@@ -175,8 +175,10 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
+.PP
Before glibc 2.2, the
.I net
argument of
diff --git a/man3/getnetent_r.3 b/man3/getnetent_r.3
index 3b3927b513..f6e19360fd 100644
--- a/man3/getnetent_r.3
+++ b/man3/getnetent_r.3
@@ -143,10 +143,11 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are GNU extensions.
+.SH VERSIONS
Functions with similar names exist on some other systems,
though typically with different calling signatures.
+.SH STANDARDS
+GNU.
.SH SEE ALSO
.BR getnetent (3),
.BR networks (5)
diff --git a/man3/getopt.3 b/man3/getopt.3
index f887f2dabd..b04b52631c 100644
--- a/man3/getopt.3
+++ b/man3/getopt.3
@@ -348,11 +348,9 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-.TP
-.BR getopt ():
-POSIX.1-2001, POSIX.1-2008, and POSIX.2,
-provided the environment variable
+.SH VERSIONS
+.BR getopt ()
+conforms to POSIX provided the environment variable
.B POSIXLY_CORRECT
is set.
Otherwise, the elements of \fIargv\fP aren't really
@@ -361,11 +359,24 @@ because these functions permute them.
Nevertheless,
.I const
is used in the prototype to be compatible with other systems.
+.SH STANDARDS
+.TP
+.BR getopt ()
+POSIX.1-2008.
+.TP
+.BR getopt_long ()
+.TQ
+.BR getopt_long_only ()
+GNU.
.IP
The use of \[aq]+\[aq] and \[aq]\-\[aq] in
.I optstring
is a GNU extension.
-.IP
+.SH HISTORY
+.TP
+.BR getopt ()
+POSIX.1-2001, and POSIX.2.
+.PP
On some older implementations,
.BR getopt ()
was declared in
@@ -379,9 +390,6 @@ POSIX.1-1996 marked the use of
for this purpose as LEGACY.
POSIX.1-2001 does not require the declaration to appear in
.IR <stdio.h> .
-.TP
-.BR getopt_long "() and " getopt_long_only ():
-These functions are GNU extensions.
.SH NOTES
A program that scans multiple argument vectors,
or rescans the same vector more than once,
diff --git a/man3/getpass.3 b/man3/getpass.3
index 378580495b..0992e167af 100644
--- a/man3/getpass.3
+++ b/man3/getpass.3
@@ -67,10 +67,6 @@ is set to indicate the error, and NULL is returned.
The process does not have a controlling terminal.
.SH FILES
.I /dev/tty
-.\" .SH HISTORY
-.\" A
-.\" .BR getpass ()
-.\" function appeared in Version 7 AT&T UNIX.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -89,6 +85,9 @@ T} Thread safety MT-Unsafe term
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
+Version 7 AT&T UNIX.
Present in SUSv2, but marked LEGACY.
Removed in POSIX.1-2001.
.SH NOTES
diff --git a/man3/getprotoent.3 b/man3/getprotoent.3
index c22ae344ce..84ccdd18f5 100644
--- a/man3/getprotoent.3
+++ b/man3/getprotoent.3
@@ -170,7 +170,9 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
.BR getnetent (3),
.BR getprotoent_r (3),
diff --git a/man3/getprotoent_r.3 b/man3/getprotoent_r.3
index 438ace4840..5bdcdb1b12 100644
--- a/man3/getprotoent_r.3
+++ b/man3/getprotoent_r.3
@@ -133,10 +133,11 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are GNU extensions.
+.SH VERSIONS
Functions with similar names exist on some other systems,
though typically with different calling signatures.
+.SH STANDARDS
+GNU.
.SH EXAMPLES
The program below uses
.BR getprotobyname_r ()
diff --git a/man3/getpt.3 b/man3/getpt.3
index f3f8507247..38cecdf233 100644
--- a/man3/getpt.3
+++ b/man3/getpt.3
@@ -61,14 +61,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR getpt ()
-is provided since glibc 2.1.
-.SH STANDARDS
-.BR getpt ()
-is glibc-specific;
-use
+Use
.BR posix_openpt (3)
instead.
+.SH STANDARDS
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
diff --git a/man3/getpw.3 b/man3/getpw.3
index 63df3a7969..4884341082 100644
--- a/man3/getpw.3
+++ b/man3/getpw.3
@@ -107,6 +107,8 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SVr2.
.SH BUGS
The
diff --git a/man3/getpwent.3 b/man3/getpwent.3
index dbce51386f..10230a1adc 100644
--- a/man3/getpwent.3
+++ b/man3/getpwent.3
@@ -169,11 +169,14 @@ or
.BR endpwent ()
are used in parallel in different threads of a program,
then data races could occur.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+.SH VERSIONS
The
.I pw_gecos
field is not specified in POSIX, but is present on most implementations.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR fgetpwent (3),
.BR getpw (3),
diff --git a/man3/getpwent_r.3 b/man3/getpwent_r.3
index 34f8ec6cee..0e3ed2e271 100644
--- a/man3/getpwent_r.3
+++ b/man3/getpwent_r.3
@@ -144,10 +144,7 @@ or
.BR getpwent_r ()
are used in parallel in different threads of a program,
then data races could occur.
-.SH STANDARDS
-These functions are GNU extensions, done in a style resembling
-the POSIX version of functions like
-.BR getpwnam_r (3).
+.SH VERSIONS
Other systems use the prototype
.PP
.in +4n
@@ -166,6 +163,12 @@ getpwent_r(struct passwd *pwd, char *buf, int buflen,
FILE **pw_fp);
.EE
.in
+.SH STANDARDS
+None.
+.SH HISTORY
+These functions are done in a style resembling
+the POSIX version of functions like
+.BR getpwnam_r (3).
.SH NOTES
The function
.BR getpwent_r ()
diff --git a/man3/getpwnam.3 b/man3/getpwnam.3
index 130110552f..e65a6cd358 100644
--- a/man3/getpwnam.3
+++ b/man3/getpwnam.3
@@ -228,11 +228,14 @@ T}
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+.SH VERSIONS
The
.I pw_gecos
field is not specified in POSIX, but is present on most implementations.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
The formulation given above under "RETURN VALUE" is from POSIX.1-2001.
It does not call "not found" an error, and hence does not specify what value
diff --git a/man3/getrpcent.3 b/man3/getrpcent.3
index a24de76ce4..9926120025 100644
--- a/man3/getrpcent.3
+++ b/man3/getrpcent.3
@@ -122,8 +122,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs, Solaris, and many other systems.
+BSD.
+.SH HISTORY
+BSD, Solaris.
.SH BUGS
All information
is contained in a static area
diff --git a/man3/getrpcent_r.3 b/man3/getrpcent_r.3
index 52ab0f7ca2..465e6332b5 100644
--- a/man3/getrpcent_r.3
+++ b/man3/getrpcent_r.3
@@ -129,10 +129,11 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are GNU extensions.
+.SH VERSIONS
Functions with similar names exist on some other systems,
though typically with different calling signatures.
+.SH STANDARDS
+GNU.
.SH SEE ALSO
.BR getrpcent (3),
.BR rpc (5)
diff --git a/man3/getrpcport.3 b/man3/getrpcport.3
index 52ea2f0d59..53c9e57f19 100644
--- a/man3/getrpcport.3
+++ b/man3/getrpcport.3
@@ -57,5 +57,6 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs, Solaris, and many other systems.
+BSD.
+.SH HISTORY
+BSD, Solaris.
diff --git a/man3/gets.3 b/man3/gets.3
index 5c3e7b4b23..b07dda31e1 100644
--- a/man3/gets.3
+++ b/man3/gets.3
@@ -57,7 +57,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C89, C99, POSIX.1-2001.
+POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.PP
LSB deprecates
.BR gets ().
diff --git a/man3/getservent.3 b/man3/getservent.3
index 29a2d69ba5..3a43c299c8 100644
--- a/man3/getservent.3
+++ b/man3/getservent.3
@@ -187,7 +187,9 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
.BR getnetent (3),
.BR getprotoent (3),
diff --git a/man3/getservent_r.3 b/man3/getservent_r.3
index d8b6ecdcc8..4c0652ed3f 100644
--- a/man3/getservent_r.3
+++ b/man3/getservent_r.3
@@ -134,10 +134,11 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-These functions are GNU extensions.
+.SH VERSIONS
Functions with similar names exist on some other systems,
though typically with different calling signatures.
+.SH STANDARDS
+GNU.
.SH EXAMPLES
The program below uses
.BR getservbyport_r ()
diff --git a/man3/getspnam.3 b/man3/getspnam.3
index 3014c970b0..abcb339c1c 100644
--- a/man3/getspnam.3
+++ b/man3/getspnam.3
@@ -309,10 +309,10 @@ or
.BR endspent ()
are used in parallel in different threads of a program,
then data races could occur.
+.SH VERSIONS
+Many other systems provide a similar API.
.SH STANDARDS
-The shadow password database and its associated API are
-not specified in POSIX.1.
-However, many other systems provide a similar API.
+None.
.SH SEE ALSO
.BR getgrnam (3),
.BR getpwnam (3),
diff --git a/man3/getsubopt.3 b/man3/getsubopt.3
index e565a6ece5..9aee2321b8 100644
--- a/man3/getsubopt.3
+++ b/man3/getsubopt.3
@@ -147,7 +147,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
Since
.BR getsubopt ()
diff --git a/man3/getttyent.3 b/man3/getttyent.3
index c7e0351afd..05bf8cc6cf 100644
--- a/man3/getttyent.3
+++ b/man3/getttyent.3
@@ -93,8 +93,7 @@ T} Thread safety MT-Unsafe race:ttyent
.ad
.sp 1
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs, and perhaps other systems.
+BSD.
.SH NOTES
Under Linux, the file
.IR /etc/ttys ,
diff --git a/man3/getusershell.3 b/man3/getusershell.3
index 496fb3d9df..d134dc3c49 100644
--- a/man3/getusershell.3
+++ b/man3/getusershell.3
@@ -94,6 +94,8 @@ T} Thread safety MT-Unsafe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR shells (5)
diff --git a/man3/getutent.3 b/man3/getutent.3
index c7256bce15..f794797155 100644
--- a/man3/getutent.3
+++ b/man3/getutent.3
@@ -196,6 +196,8 @@ or
are used in parallel in different threads of a program,
then data races could occur.
.SH STANDARDS
+None.
+.SH HISTORY
XPG2, SVr4.
.PP
In XPG2 and SVID 2 the function
diff --git a/man3/getutmp.3 b/man3/getutmp.3
index 5f29ef7ad3..e50caedc49 100644
--- a/man3/getutmp.3
+++ b/man3/getutmp.3
@@ -52,11 +52,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.1.
.SH STANDARDS
-These functions are nonstandard, but appear on a few other systems,
-such as Solaris and NetBSD.
+None.
+.SH HISTORY
+glibc 2.1.1.
+Solaris, NetBSD.
.SH NOTES
These functions exist primarily for compatibility with other
systems where the
diff --git a/man3/getw.3 b/man3/getw.3
index 46ff12e988..e311b78dc3 100644
--- a/man3/getw.3
+++ b/man3/getw.3
@@ -72,8 +72,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SVr4, SUSv2.
-Not present in POSIX.1.
.SH BUGS
The value returned on error is also a legitimate data value.
.BR ferror (3)
diff --git a/man3/getwchar.3 b/man3/getwchar.3
index 696f2edae5..308ebadb0b 100644
--- a/man3/getwchar.3
+++ b/man3/getwchar.3
@@ -69,7 +69,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH NOTES
The behavior of
.BR getwchar ()
diff --git a/man3/glob.3 b/man3/glob.3
index 5fb53ec291..c8b5be332f 100644
--- a/man3/glob.3
+++ b/man3/glob.3
@@ -292,7 +292,9 @@ then data races could occur.
calls those functions,
so we use race:utent to remind users.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, POSIX.2.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, POSIX.2.
.SH NOTES
The structure elements
.I gl_pathc
diff --git a/man3/gnu_get_libc_version.3 b/man3/gnu_get_libc_version.3
index af6315d3ff..86f0ebeb40 100644
--- a/man3/gnu_get_libc_version.3
+++ b/man3/gnu_get_libc_version.3
@@ -46,10 +46,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions first appeared in glibc 2.1.
.SH STANDARDS
-These functions are glibc-specific.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH EXAMPLES
When run, the program below will produce output such as the following:
.PP
diff --git a/man3/grantpt.3 b/man3/grantpt.3
index 31706e2b7a..a19172a3ed 100644
--- a/man3/grantpt.3
+++ b/man3/grantpt.3
@@ -84,14 +84,6 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH VERSIONS
-.BR grantpt ()
-is provided since glibc 2.1.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-This is part of the UNIX 98 pseudoterminal support, see
-.BR pts (4).
-.PP
Many systems implement this function via a set-user-ID helper binary
called "pt_chown".
On Linux systems with a devpts filesystem (present since Linux 2.2),
@@ -103,6 +95,14 @@ so that nothing must be done by
Thus, no such helper binary is required
(and indeed it is configured to be absent during the
glibc build that is typical on many systems).
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
+.PP
+This is part of the UNIX 98 pseudoterminal support, see
+.BR pts (4).
.SH SEE ALSO
.BR open (2),
.BR posix_openpt (3),
diff --git a/man3/group_member.3 b/man3/group_member.3
index ed07191900..e82bca9d75 100644
--- a/man3/group_member.3
+++ b/man3/group_member.3
@@ -40,7 +40,7 @@ supplementary group IDs matches
.IR gid ,
and zero otherwise.
.SH STANDARDS
-This function is a nonstandard GNU extension.
+GNU.
.SH SEE ALSO
.BR getgid (2),
.BR getgroups (2),
diff --git a/man3/gsignal.3 b/man3/gsignal.3
index d6450ec39e..205f9297e3 100644
--- a/man3/gsignal.3
+++ b/man3/gsignal.3
@@ -102,7 +102,9 @@ T} Thread safety MT-Safe sigintr
.ad
.sp 1
.SH STANDARDS
-These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.
+None.
+.SH HISTORY
+AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.
They are called obsolete under most of these systems, and are
broken under
.\" Linux libc and
diff --git a/man3/hsearch.3 b/man3/hsearch.3
index ef50b2c3a6..dfd7787c7a 100644
--- a/man3/hsearch.3
+++ b/man3/hsearch.3
@@ -235,19 +235,35 @@ T} Thread safety MT-Safe race:htab
.ad
.sp 1
.SH STANDARDS
-The functions
-.BR hcreate (),
-.BR hsearch (),
-and
+.TP
+.BR hcreate ()
+.TQ
+.BR hsearch ()
+.TQ
.BR hdestroy ()
-are from SVr4, and are described in POSIX.1-2001 and POSIX.1-2008.
-.PP
-The functions
-.BR hcreate_r (),
-.BR hsearch_r (),
-and
+POSIX.1-2008.
+.TP
+.BR hcreate_r ()
+.TQ
+.BR hsearch_r ()
+.TQ
+.BR hdestroy_r ()
+GNU.
+.SH HISTORY
+.TP
+.BR hcreate ()
+.TQ
+.BR hsearch ()
+.TQ
+.BR hdestroy ()
+SVr4, POSIX.1-2001.
+.TP
+.BR hcreate_r ()
+.TQ
+.BR hsearch_r ()
+.TQ
.BR hdestroy_r ()
-are GNU extensions.
+GNU.
.SH NOTES
Hash table implementations are usually more efficient when the
table contains enough free space to minimize collisions.
diff --git a/man3/hypot.3 b/man3/hypot.3
index edff250fda..119609b5ed 100644
--- a/man3/hypot.3
+++ b/man3/hypot.3
@@ -145,7 +145,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/iconv.3 b/man3/iconv.3
index 1dfa4c6198..66f59b8c32 100644
--- a/man3/iconv.3
+++ b/man3/iconv.3
@@ -165,10 +165,11 @@ function is MT-Safe, as long as callers arrange for
mutual exclusion on the
.I cd
argument.
-.SH VERSIONS
-This function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
In each series of calls to
.BR iconv (),
diff --git a/man3/iconv_close.3 b/man3/iconv_close.3
index 6f47ca539a..4fc291444f 100644
--- a/man3/iconv_close.3
+++ b/man3/iconv_close.3
@@ -49,10 +49,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SUSv2.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH SEE ALSO
.BR iconv (3),
.BR iconv_open (3)
diff --git a/man3/iconv_open.3 b/man3/iconv_open.3
index f363cd0d47..c6e4b6cdd1 100644
--- a/man3/iconv_open.3
+++ b/man3/iconv_open.3
@@ -117,10 +117,11 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SUSv2.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001, SUSv2.
.SH SEE ALSO
.BR iconv (1),
.BR iconv (3),
diff --git a/man3/if_nameindex.3 b/man3/if_nameindex.3
index 692b3639f9..4453cfd585 100644
--- a/man3/if_nameindex.3
+++ b/man3/if_nameindex.3
@@ -96,17 +96,17 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR if_nameindex ()
-function first appeared in glibc 2.1, but before glibc 2.3.4,
+.SH STANDARDS
+POSIX.1-2008, RFC\ 3493.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
+BSDi.
+.PP
+Before glibc 2.3.4,
the implementation supported only interfaces with IPv4 addresses.
Support of interfaces that don't have IPv4 addresses is available only
on kernels that support netlink.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, RFC\ 3493.
-.PP
-This function first appeared in BSDi.
.SH EXAMPLES
The program below demonstrates the use of the functions described
on this page.
diff --git a/man3/if_nametoindex.3 b/man3/if_nametoindex.3
index 12a274d183..0b20e61f12 100644
--- a/man3/if_nametoindex.3
+++ b/man3/if_nametoindex.3
@@ -92,9 +92,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, RFC\ 3493.
-.PP
-This function first appeared in BSDi.
+POSIX.1-2008, RFC\ 3493.
+.SH HISTORY
+POSIX.1-2001.
+BSDi.
.SH SEE ALSO
.BR getifaddrs (3),
.BR if_nameindex (3),
diff --git a/man3/ilogb.3 b/man3/ilogb.3
index 3e141e323c..76266f3efd 100644
--- a/man3/ilogb.3
+++ b/man3/ilogb.3
@@ -128,7 +128,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH BUGS
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6794
Before glibc 2.16, the following bugs existed in the
diff --git a/man3/index.3 b/man3/index.3
index 89ef316a5c..7007a0c7e2 100644
--- a/man3/index.3
+++ b/man3/index.3
@@ -30,11 +30,10 @@ and
.BR strrchr (3)
instead of these functions.
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD; marked as LEGACY in POSIX.1-2001.
-POSIX.1-2008 removes the specifications of
-.BR index ()
-and
-.BR rindex (),
+Removed in POSIX.1-2008,
recommending
.BR strchr (3)
and
diff --git a/man3/inet.3 b/man3/inet.3
index 3a6f3b0df4..8c69127886 100644
--- a/man3/inet.3
+++ b/man3/inet.3
@@ -40,10 +40,11 @@ Standard C library
.PP
.BI "[[deprecated]] char *inet_ntoa(struct in_addr " in );
.PP
-.BI "struct in_addr inet_makeaddr(in_addr_t " net ", in_addr_t " host );
+.BI "[[deprecated]] struct in_addr inet_makeaddr(in_addr_t " net ,
+.BI " in_addr_t " host );
.PP
-.BI "in_addr_t inet_lnaof(struct in_addr " in );
-.BI "in_addr_t inet_netof(struct in_addr " in );
+.BI "[[deprecated]] in_addr_t inet_lnaof(struct in_addr " in );
+.BI "[[deprecated]] in_addr_t inet_netof(struct in_addr " in );
.fi
.PP
.RS -4
@@ -228,16 +229,20 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR inet_addr (),
-.BR inet_ntoa ():
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.PP
+.TP
+.BR inet_addr ()
+.TQ
+.BR inet_ntoa ()
+POSIX.1-2008.
+.TP
.BR inet_aton ()
-is not specified in POSIX.1, but is available on most systems.
-.SH NOTES
-On x86 architectures, the host byte order is Least Significant Byte
-first (little endian), whereas the network byte order, as used on the
-Internet, is Most Significant Byte first (big endian).
+None.
+.SH STANDARDS
+.TP
+.BR inet_addr ()
+.TQ
+.BR inet_ntoa ()
+POSIX.1-2001, 4.3BSD.
.PP
.BR inet_lnaof (),
.BR inet_netof (),
@@ -270,6 +275,10 @@ Classful network addresses are now obsolete,
having been superseded by Classless Inter-Domain Routing (CIDR),
which divides addresses into network and host components at
arbitrary bit (rather than byte) boundaries.
+.SH NOTES
+On x86 architectures, the host byte order is Least Significant Byte
+first (little endian), whereas the network byte order, as used on the
+Internet, is Most Significant Byte first (big endian).
.SH EXAMPLES
An example of the use of
.BR inet_aton ()
diff --git a/man3/inet_net_pton.3 b/man3/inet_net_pton.3
index 4eda6e0058..0da4030dee 100644
--- a/man3/inet_net_pton.3
+++ b/man3/inet_net_pton.3
@@ -132,11 +132,7 @@ The size of the output buffer was insufficient.
.I pres
was not in correct presentation format.
.SH STANDARDS
-The
-.BR inet_net_pton ()
-and
-.BR inet_net_ntop ()
-functions are nonstandard, but widely available.
+None.
.SH NOTES
.SS Input presentation format for inet_net_pton()
The network number may be specified either
diff --git a/man3/inet_ntop.3 b/man3/inet_ntop.3
index 67a514cf7f..ed2fad1af3 100644
--- a/man3/inet_ntop.3
+++ b/man3/inet_ntop.3
@@ -99,7 +99,10 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.PP
Note that RFC\ 2553 defines a prototype where the last argument
.I size
is of type
diff --git a/man3/inet_pton.3 b/man3/inet_pton.3
index 1169bac280..d51f838fd3 100644
--- a/man3/inet_pton.3
+++ b/man3/inet_pton.3
@@ -130,9 +130,7 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
Unlike
.BR inet_aton (3)
and
@@ -151,6 +149,10 @@ four bytes to be explicitly written).
For an interface that handles both IPv6 addresses, and IPv4
addresses in numbers-and-dots notation, see
.BR getaddrinfo (3).
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH BUGS
.B AF_INET6
does not recognize IPv4 addresses.
diff --git a/man3/initgroups.3 b/man3/initgroups.3
index e27e2e1f39..f81824a792 100644
--- a/man3/initgroups.3
+++ b/man3/initgroups.3
@@ -92,6 +92,8 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SVr4, 4.3BSD.
.SH SEE ALSO
.BR getgroups (2),
diff --git a/man3/insque.3 b/man3/insque.3
index cc47c8e76c..8793fd2723 100644
--- a/man3/insque.3
+++ b/man3/insque.3
@@ -97,9 +97,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On ancient systems,
.\" e.g., SunOS, Linux libc4 and libc5
the arguments of these functions were of type \fIstruct qelem *\fP,
@@ -126,6 +124,10 @@ The above is the POSIX version.
Some systems place them in \fI<string.h>\fP.
.\" Linux libc4 and libc 5 placed them
.\" in \fI<stdlib.h>\fP.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH BUGS
In glibc 2.4 and earlier, it was not possible to specify
.I prev
diff --git a/man3/isalpha.3 b/man3/isalpha.3
index 11101f4dc0..000e816d71 100644
--- a/man3/isalpha.3
+++ b/man3/isalpha.3
@@ -227,71 +227,124 @@ T} Thread safety MT-Safe
.ad
.sp 1
.\" FIXME: need a thread-safety statement about the *_l functions
-.SH VERSIONS
-.BR isalnum_l (),
-.BR isalpha_l (),
-.BR isblank_l (),
-.BR iscntrl_l (),
-.BR isdigit_l (),
-.BR isgraph_l (),
-.BR islower_l (),
-.BR isprint_l (),
-.BR ispunct_l (),
-.BR isspace_l (),
-.BR isupper_l (),
-.BR isxdigit_l (),
-and
-.BR isascii_l ()
-are available since glibc 2.3.
.SH STANDARDS
-C89 specifies
-.BR isalnum (),
-.BR isalpha (),
-.BR iscntrl (),
-.BR isdigit (),
-.BR isgraph (),
-.BR islower (),
-.BR isprint (),
-.BR ispunct (),
-.BR isspace (),
-.BR isupper (),
-and
-.BR isxdigit (),
-but not
-.BR isascii ()
-and
-.BR isblank ().
-POSIX.1-2001
-also specifies those functions, and also
+.TP
+.BR isalnum ()
+.TQ
+.BR isalpha ()
+.TQ
+.BR iscntrl ()
+.TQ
+.BR isdigit ()
+.TQ
+.BR isgraph ()
+.TQ
+.BR islower ()
+.TQ
+.BR isprint ()
+.TQ
+.BR ispunct ()
+.TQ
+.BR isspace ()
+.TQ
+.BR isupper ()
+.TQ
+.BR isxdigit ()
+.TQ
+.BR isblank ()
+C11, POSIX.1-2008.
+.TP
.BR isascii ()
-(as an XSI extension)
-and
-.BR isblank ().
-C99 specifies all of the preceding functions, except
-.BR isascii ().
-.PP
-POSIX.1-2008 marks
+.TQ
+.BR isalnum_l ()
+.TQ
+.BR isalpha_l ()
+.TQ
+.BR isblank_l ()
+.TQ
+.BR iscntrl_l ()
+.TQ
+.BR isdigit_l ()
+.TQ
+.BR isgraph_l ()
+.TQ
+.BR islower_l ()
+.TQ
+.BR isprint_l ()
+.TQ
+.BR ispunct_l ()
+.TQ
+.BR isspace_l ()
+.TQ
+.BR isupper_l ()
+.TQ
+.BR isxdigit_l ()
+POSIX.1-2008.
+.TP
+.BR isascii_l ()
+GNU.
+.SH HISTORY
+.TP
+.BR isalnum ()
+.TQ
+.BR isalpha ()
+.TQ
+.BR iscntrl ()
+.TQ
+.BR isdigit ()
+.TQ
+.BR isgraph ()
+.TQ
+.BR islower ()
+.TQ
+.BR isprint ()
+.TQ
+.BR ispunct ()
+.TQ
+.BR isspace ()
+.TQ
+.BR isupper ()
+.TQ
+.BR isxdigit ()
+C89, POSIX.1-2001.
+.TP
+.BR isblank ()
+C99, POSIX.1-2001.
+.TP
.BR isascii ()
-as obsolete,
+POSIX.1-2001 (XSI).
+.IP
+POSIX.1-2008 marks it as obsolete,
noting that it cannot be used portably in a localized application.
-.PP
-POSIX.1-2008 specifies
-.BR isalnum_l (),
-.BR isalpha_l (),
-.BR isblank_l (),
-.BR iscntrl_l (),
-.BR isdigit_l (),
-.BR isgraph_l (),
-.BR islower_l (),
-.BR isprint_l (),
-.BR ispunct_l (),
-.BR isspace_l (),
-.BR isupper_l (),
-and
-.BR isxdigit_l ().
-.PP
+.TP
+.BR isalnum_l ()
+.TQ
+.BR isalpha_l ()
+.TQ
+.BR isblank_l ()
+.TQ
+.BR iscntrl_l ()
+.TQ
+.BR isdigit_l ()
+.TQ
+.BR isgraph_l ()
+.TQ
+.BR islower_l ()
+.TQ
+.BR isprint_l ()
+.TQ
+.BR ispunct_l ()
+.TQ
+.BR isspace_l ()
+.TQ
+.BR isupper_l ()
+.TQ
+.BR isxdigit_l ()
+glibc 2.3.
+POSIX.1-2008.
+.TP
.BR isascii_l ()
-is a GNU extension.
+glibc 2.3.
.SH NOTES
The standards require that the argument
.I c
diff --git a/man3/isatty.3 b/man3/isatty.3
index c2a010f8a5..fdde6daef2 100644
--- a/man3/isatty.3
+++ b/man3/isatty.3
@@ -63,7 +63,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR fstat (2),
.BR ttyname (3)
diff --git a/man3/isfdtype.3 b/man3/isfdtype.3
index e2fa13e274..6287ff562a 100644
--- a/man3/isfdtype.3
+++ b/man3/isfdtype.3
@@ -61,19 +61,17 @@ The
.BR isfdtype ()
function can fail with any of the same errors as
.BR fstat (2).
+.SH VERSIONS
+Portable applications should use
+.BR fstat (2)
+instead.
.SH STANDARDS
-The
-.BR isfdtype ()
-function is not specified in any standard,
-but did appear in the draft POSIX.1g standard.
+None.
+.SH HISTORY
+It appeared in the draft POSIX.1g standard.
It is present on OpenBSD and Tru64 UNIX
(where the required header file in both cases is just
.IR <sys/stat.h> ,
-as shown in the POSIX.1g draft),
-and possibly other systems.
-.SH NOTES
-Portable applications should use
-.BR fstat (2)
-instead.
+as shown in the POSIX.1g draft).
.SH SEE ALSO
.BR fstat (2)
diff --git a/man3/isgreater.3 b/man3/isgreater.3
index cef462b070..87533ea5a6 100644
--- a/man3/isgreater.3
+++ b/man3/isgreater.3
@@ -133,13 +133,15 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
-.SH NOTES
+.SH VERSIONS
Not all hardware supports these functions,
and where hardware support isn't provided, they will be emulated by macros.
This will result in a performance penalty.
Don't use these functions if NaN is of no concern for you.
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR fpclassify (3),
.BR isnan (3)
diff --git a/man3/iswalnum.3 b/man3/iswalnum.3
index 3fd1f3da85..1eabd151f1 100644
--- a/man3/iswalnum.3
+++ b/man3/iswalnum.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswalnum ()
diff --git a/man3/iswalpha.3 b/man3/iswalpha.3
index e338d22c19..3e61dd3a16 100644
--- a/man3/iswalpha.3
+++ b/man3/iswalpha.3
@@ -84,7 +84,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswalpha ()
diff --git a/man3/iswblank.3 b/man3/iswblank.3
index 21eeb14a25..5c9944f65c 100644
--- a/man3/iswblank.3
+++ b/man3/iswblank.3
@@ -77,7 +77,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The behavior of
.BR iswblank ()
diff --git a/man3/iswcntrl.3 b/man3/iswcntrl.3
index 7504c5c0e5..09712ebee7 100644
--- a/man3/iswcntrl.3
+++ b/man3/iswcntrl.3
@@ -68,7 +68,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswcntrl ()
diff --git a/man3/iswctype.3 b/man3/iswctype.3
index fb6ca5458f..6b0476df86 100644
--- a/man3/iswctype.3
+++ b/man3/iswctype.3
@@ -71,7 +71,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswctype ()
diff --git a/man3/iswdigit.3 b/man3/iswdigit.3
index 630208a9b8..d05bf6e2cf 100644
--- a/man3/iswdigit.3
+++ b/man3/iswdigit.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswdigit ()
diff --git a/man3/iswgraph.3 b/man3/iswgraph.3
index a02a7796c5..8a4386b5f7 100644
--- a/man3/iswgraph.3
+++ b/man3/iswgraph.3
@@ -76,7 +76,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswgraph ()
diff --git a/man3/iswlower.3 b/man3/iswlower.3
index f384b28b5b..98156ee47b 100644
--- a/man3/iswlower.3
+++ b/man3/iswlower.3
@@ -90,7 +90,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswlower ()
diff --git a/man3/iswprint.3 b/man3/iswprint.3
index 5e7c4546a8..e9c4c922bd 100644
--- a/man3/iswprint.3
+++ b/man3/iswprint.3
@@ -62,7 +62,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswprint ()
diff --git a/man3/iswpunct.3 b/man3/iswpunct.3
index f3a9b10358..921321cfc4 100644
--- a/man3/iswpunct.3
+++ b/man3/iswpunct.3
@@ -74,7 +74,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswpunct ()
diff --git a/man3/iswspace.3 b/man3/iswspace.3
index c4ca84c685..2b737e5c66 100644
--- a/man3/iswspace.3
+++ b/man3/iswspace.3
@@ -71,7 +71,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswspace ()
diff --git a/man3/iswupper.3 b/man3/iswupper.3
index 778379f9e4..90d677b6f5 100644
--- a/man3/iswupper.3
+++ b/man3/iswupper.3
@@ -84,7 +84,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswupper ()
diff --git a/man3/iswxdigit.3 b/man3/iswxdigit.3
index be10101d9a..63caf15561 100644
--- a/man3/iswxdigit.3
+++ b/man3/iswxdigit.3
@@ -75,7 +75,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR iswxdigit ()
diff --git a/man3/j0.3 b/man3/j0.3
index c9ee0561e1..a81eb46fe0 100644
--- a/man3/j0.3
+++ b/man3/j0.3
@@ -159,11 +159,28 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The functions returning
-.I double
-conform to SVr4, 4.3BSD,
-POSIX.1-2001, and POSIX.1-2008.
-The others are nonstandard functions that also exist on the BSDs.
+.TP
+.BR j0 ()
+.TQ
+.BR j1 ()
+.TQ
+.BR jn ()
+POSIX.1-2008.
+.TP
+Others:
+BSD.
+.SH HISTORY
+.TP
+.BR j0 ()
+.TQ
+.BR j1 ()
+.TQ
+.BR jn ()
+SVr4, 4.3BSD,
+POSIX.1-2001, POSIX.1-2008.
+.TP
+Others:
+BSD.
.SH BUGS
There are errors of up to 2e\-16 in the values returned by
.BR j0 (),
diff --git a/man3/killpg.3 b/man3/killpg.3
index dc5a6b0b9b..68c008c79a 100644
--- a/man3/killpg.3
+++ b/man3/killpg.3
@@ -81,11 +81,7 @@ No process can be found in the process group specified by
.B ESRCH
The process group was given as 0 but the sending process does not
have a process group.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD
-.RB ( killpg ()
-first appeared in 4BSD).
-.SH NOTES
+.SH VERSIONS
There are various differences between the permission checking
in BSD-type systems and System\ V-type systems.
See the POSIX rationale for
@@ -104,6 +100,11 @@ On Linux,
.BR killpg ()
is implemented as a library function that makes the call
.IR "kill(\-pgrp,\ sig)" .
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.4BSD
+(first appeared in 4BSD).
.SH SEE ALSO
.BR getpgrp (2),
.BR kill (2),
diff --git a/man3/ldexp.3 b/man3/ldexp.3
index e28456c1f3..107ba5c7d4 100644
--- a/man3/ldexp.3
+++ b/man3/ldexp.3
@@ -120,7 +120,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/lgamma.3 b/man3/lgamma.3
index c86ac24c17..ae1474236c 100644
--- a/man3/lgamma.3
+++ b/man3/lgamma.3
@@ -153,14 +153,41 @@ is raised.
.\" glibc (as at 2.8) also supports an inexact
.\" exception for various cases.
.SH STANDARDS
-The
+.TP
.BR lgamma ()
-functions are specified in C99, POSIX.1-2001, and POSIX.1-2008.
+.TQ
+.BR lgammaf ()
+.TQ
+.BR lgammal ()
+C11, POSIX.1-2008.
+.TP
.I signgam
-is specified in POSIX.1-2001 and POSIX.1-2008, but not in C99.
-The
+POSIX.1-2008.
+.TP
.BR lgamma_r ()
-functions are nonstandard, but present on several other systems.
+.TQ
+.BR lgammaf_r ()
+.TQ
+.BR lgammal_r ()
+None.
+.SH HISTORY
+.TP
+.BR lgamma ()
+.TQ
+.BR lgammaf ()
+.TQ
+.BR lgammal ()
+C99, POSIX.1-2001.
+.TP
+.I signgam
+POSIX.1-2001.
+.TP
+.BR lgamma_r ()
+.TQ
+.BR lgammaf_r ()
+.TQ
+.BR lgammal_r ()
+None.
.SH BUGS
In glibc 2.9 and earlier,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6777
diff --git a/man3/lio_listio.3 b/man3/lio_listio.3
index 90ccb587ae..103e951fdb 100644
--- a/man3/lio_listio.3
+++ b/man3/lio_listio.3
@@ -200,12 +200,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR lio_listio ()
-function is available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
It is a good idea to zero out the control blocks before use.
The control blocks must not be changed while the I/O operations
diff --git a/man3/list.3 b/man3/list.3
index fb2267905e..03f26e0c83 100644
--- a/man3/list.3
+++ b/man3/list.3
@@ -233,9 +233,9 @@ structure, respectively.
returns an initializer that can be assigned to the list
.IR head .
.SH STANDARDS
-Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
-Present on the BSDs
-(LIST macros first appeared in 4.4BSD).
+BSD.
+.SH HISTORY
+4.4BSD.
.SH BUGS
.BR LIST_FOREACH ()
doesn't allow
diff --git a/man3/localeconv.3 b/man3/localeconv.3
index f900fc1193..911ff0399a 100644
--- a/man3/localeconv.3
+++ b/man3/localeconv.3
@@ -66,7 +66,9 @@ T}
.ad
.sp 1
.SH STANDARDS
-C89, C99.
+C11.
+.SH HISTORY
+C89.
.SH BUGS
The
.BR printf (3)
diff --git a/man3/lockf.3 b/man3/lockf.3
index 4be81f156b..83e8b04b6b 100644
--- a/man3/lockf.3
+++ b/man3/lockf.3
@@ -161,7 +161,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4.
.SH SEE ALSO
.BR fcntl (2),
.BR flock (2)
diff --git a/man3/log.3 b/man3/log.3
index bde58d9f7a..b58a628db5 100644
--- a/man3/log.3
+++ b/man3/log.3
@@ -119,7 +119,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/log10.3 b/man3/log10.3
index 00013ca763..1aa5b8dfaf 100644
--- a/man3/log10.3
+++ b/man3/log10.3
@@ -80,7 +80,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/log1p.3 b/man3/log1p.3
index d36219f942..3f15633bcf 100644
--- a/man3/log1p.3
+++ b/man3/log1p.3
@@ -129,7 +129,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.\" BSD
.SH BUGS
Before glibc 2.22, the glibc implementation did not set
diff --git a/man3/log2.3 b/man3/log2.3
index 27ed980839..b9360853c1 100644
--- a/man3/log2.3
+++ b/man3/log2.3
@@ -78,10 +78,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/logb.3 b/man3/logb.3
index 3fbb9a3f1a..009ca5a78c 100644
--- a/man3/logb.3
+++ b/man3/logb.3
@@ -112,11 +112,6 @@ These functions do not set
.\" log(), log2(), log10() do set errno
.\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6793
.\"
-.\" .SH HISTORY
-.\" The
-.\" .BR logb ()
-.\" function occurs in 4.3BSD.
-.\" see IEEE.3 in the 4.3BSD manual
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -137,7 +132,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
+.TP
+.BR logb ()
+4.3BSD
+(see IEEE.3 in the 4.3BSD manual).
.SH SEE ALSO
.BR ilogb (3),
.BR log (3)
diff --git a/man3/login.3 b/man3/login.3
index 396092950a..099a9a03d2 100644
--- a/man3/login.3
+++ b/man3/login.3
@@ -130,12 +130,8 @@ and
.BR logout ()
calls those functions,
so we use race:utent to remind users.
-.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs.
-.SH NOTES
-Note that the
-member
+.SH VERSIONS
+The member
.I ut_user
of
.I struct utmp
@@ -148,6 +144,8 @@ is defined as an alias for
.I ut_user
in
.IR <utmp.h> .
+.SH STANDARDS
+BSD.
.SH SEE ALSO
.BR getutent (3),
.BR utmp (5)
diff --git a/man3/lrint.3 b/man3/lrint.3
index 87dc6aaec9..a013b525b8 100644
--- a/man3/lrint.3
+++ b/man3/lrint.3
@@ -99,10 +99,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR ceil (3),
.BR floor (3),
diff --git a/man3/lround.3 b/man3/lround.3
index c2084518c7..5bb659d491 100644
--- a/man3/lround.3
+++ b/man3/lround.3
@@ -102,10 +102,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR ceil (3),
.BR floor (3),
diff --git a/man3/lsearch.3 b/man3/lsearch.3
index cb21d5f575..855b1a6ac4 100644
--- a/man3/lsearch.3
+++ b/man3/lsearch.3
@@ -85,8 +85,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
-Present in libc since libc-4.6.27.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
+libc-4.6.27.
.SH BUGS
The naming is unfortunate.
.SH SEE ALSO
diff --git a/man3/makecontext.3 b/man3/makecontext.3
index ad426fa58d..c46fb8708c 100644
--- a/man3/makecontext.3
+++ b/man3/makecontext.3
@@ -109,17 +109,12 @@ T}
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR makecontext ()
-and
-.BR swapcontext ()
-are provided since glibc 2.1.
.SH STANDARDS
+None.
+.SH HISTORY
+glibc 2.1.
SUSv2, POSIX.1-2001.
-POSIX.1-2008 removes the specifications of
-.BR makecontext ()
-and
-.BR swapcontext (),
+Removed in POSIX.1-2008,
citing portability issues, and
recommending that applications be rewritten to use POSIX threads instead.
.SH NOTES
diff --git a/man3/makedev.3 b/man3/makedev.3
index e2ad24284c..40903f87b4 100644
--- a/man3/makedev.3
+++ b/man3/makedev.3
@@ -61,18 +61,16 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+The BSDs expose the definitions for these macros via
+.IR <sys/types.h> .
.SH STANDARDS
-The
-.BR makedev (),
-.BR major (),
-and
-.BR minor ()
-functions are not specified in POSIX.1,
-but are present on many other systems.
-.\" The BSDs, HP-UX, Solaris, AIX, Irix.
+None.
+.SH HISTORY
+BSD, HP-UX, Solaris, AIX, Irix.
.\" The header location is inconsistent:
.\" Could be sys/mkdev.h, sys/sysmacros.h, or sys/types.h.
-.SH NOTES
+.PP
These interfaces are defined as macros.
Since glibc 2.3.3,
they have been aliases for three GNU-specific functions:
@@ -82,11 +80,10 @@ and
.BR gnu_dev_minor ().
The latter names are exported, but the traditional names are more portable.
.PP
-The BSDs expose the definitions for these macros via
-.IR <sys/types.h> .
Depending on the version,
-glibc also exposes definitions for these macros from that
-header file if suitable feature test macros are defined.
+glibc also exposes definitions for these macros from
+.IR <sys/types.h>
+if suitable feature test macros are defined.
However, this behavior was deprecated in glibc 2.25,
.\" glibc commit dbab6577c6684c62bd2521c1c29dc25c3cac966f
and since glibc 2.28,
diff --git a/man3/mallinfo.3 b/man3/mallinfo.3
index 6819f10193..3a7ee0da66 100644
--- a/man3/mallinfo.3
+++ b/man3/mallinfo.3
@@ -150,19 +150,17 @@ would modify the global internal objects with atomics, that make sure
.BR mallinfo ()/
.BR mallinfo2 ()
is safe enough, others modify with non-atomically maybe not.
-.SH VERSIONS
-.\" mallinfo(): Available already in glibc 2.0, possibly earlier
-The
-.BR mallinfo2 ()
-function was added
-.\" commit e3960d1c57e57f33e0e846d615788f4ede73b945
-in glibc 2.33.
.SH STANDARDS
-These functions are not specified by POSIX or the C standards.
-A
+None.
+.SH HISTORY
+.TP
.BR mallinfo ()
-function exists on many System V derivatives,
-and was specified in the SVID.
+glibc 2.0.
+SVID.
+.TP
+.BR mallinfo2 ()
+.\" commit e3960d1c57e57f33e0e846d615788f4ede73b945
+glibc 2.33.
.SH BUGS
.\" FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=208
.\" See the 24 Aug 2011 mail by Paul Pluzhnikov:
diff --git a/man3/malloc.3 b/man3/malloc.3
index 2d6e9818e2..ad7eed2895 100644
--- a/man3/malloc.3
+++ b/man3/malloc.3
@@ -246,9 +246,33 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
+.BR malloc ()
+.TQ
+.BR free ()
+.TQ
+.BR calloc ()
+.TQ
+.BR realloc ()
+C11, POSIX.1-2008.
+.TP
+.BR reallocarray ()
+None.
+.SH HISTORY
+.TP
+.BR malloc ()
+.TQ
+.BR free ()
+.TQ
+.BR calloc ()
+.TQ
+.BR realloc ()
+POSIX.1-2001, C89.
+.TP
.BR reallocarray ()
-was added in glibc 2.26.
+glibc 2.26.
+OpenBSD 5.6, FreeBSD 11.0.
.PP
.BR malloc ()
and related functions rejected sizes greater than
@@ -259,15 +283,6 @@ starting in glibc 2.30.
preserved
.I errno
starting in glibc 2.33.
-.SH STANDARDS
-.BR malloc (),
-.BR free (),
-.BR calloc (),
-.BR realloc ():
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
-.BR reallocarray ()
-is a nonstandard extension that first appeared in OpenBSD 5.6 and FreeBSD 11.0.
.SH NOTES
By default, Linux follows an optimistic memory allocation strategy.
This means that when
diff --git a/man3/malloc_get_state.3 b/man3/malloc_get_state.3
index a49b46fa04..23bfa2d8dc 100644
--- a/man3/malloc_get_state.3
+++ b/man3/malloc_get_state.3
@@ -89,7 +89,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH NOTES
These functions are useful when using this
.BR malloc (3)
diff --git a/man3/malloc_hook.3 b/man3/malloc_hook.3
index e7091de436..83b213cd56 100644
--- a/man3/malloc_hook.3
+++ b/man3/malloc_hook.3
@@ -81,7 +81,7 @@ points at a function that is called each time after
.BR sbrk (2)
was asked for more memory.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH NOTES
The use of these hook functions is not safe in multithreaded programs,
and they are now deprecated.
diff --git a/man3/malloc_info.3 b/man3/malloc_info.3
index af96c0142b..70f5a8e03c 100644
--- a/man3/malloc_info.3
+++ b/man3/malloc_info.3
@@ -58,11 +58,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR malloc_info ()
-was added in glibc 2.10.
.SH STANDARDS
-This function is a GNU extension.
+GNU.
+.SH HISTORY
+glibc 2.10.
.SH NOTES
The memory-allocation information is provided as an XML string
(rather than a C structure)
diff --git a/man3/malloc_stats.3 b/man3/malloc_stats.3
index 4dd2d8ca79..fdf471ad8c 100644
--- a/man3/malloc_stats.3
+++ b/man3/malloc_stats.3
@@ -52,10 +52,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available already in glibc 2.0, possibly earlier
.SH STANDARDS
-This function is a GNU extension.
+GNU.
+.SH HISTORY
+glibc 2.0.
.SH NOTES
More detailed information about memory allocations in the main arena
can be obtained using
diff --git a/man3/malloc_trim.3 b/man3/malloc_trim.3
index b94fcb5a2e..ec9d7d2d41 100644
--- a/man3/malloc_trim.3
+++ b/man3/malloc_trim.3
@@ -59,10 +59,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available already in glibc 2.0, possibly earlier
.SH STANDARDS
-This function is a GNU extension.
+GNU.
+.SH VERSIONS
+glibc 2.0.
.SH NOTES
Only the main heap (using
.BR sbrk (2))
diff --git a/man3/malloc_usable_size.3 b/man3/malloc_usable_size.3
index d63398f011..754b255def 100644
--- a/man3/malloc_usable_size.3
+++ b/man3/malloc_usable_size.3
@@ -49,7 +49,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is a GNU extension.
+GNU.
.SH NOTES
The value returned by
.BR malloc_usable_size ()
diff --git a/man3/mallopt.3 b/man3/mallopt.3
index f9af38ee23..f43b6d5782 100644
--- a/man3/mallopt.3
+++ b/man3/mallopt.3
@@ -435,10 +435,7 @@ On error,
is
.I not
set.
-.\" .SH VERSIONS
-.\" Available already in glibc 2.0, possibly earlier
-.SH STANDARDS
-This function is not specified by POSIX or the C standards.
+.SH VERSIONS
A similar function exists on many System V derivatives,
but the range of values for
.I param
@@ -450,7 +447,10 @@ The SVID defined options
and
.BR M_KEEP ,
but only the first of these is implemented in glibc.
-.\" .SH NOTES
+.SH STANDARDS
+None.
+.SH HISTORY
+glibc 2.0.
.SH BUGS
Specifying an invalid value for
.I param
diff --git a/man3/mblen.3 b/man3/mblen.3
index 72ef1dcd0e..e02c5f09a0 100644
--- a/man3/mblen.3
+++ b/man3/mblen.3
@@ -100,8 +100,15 @@ T} Thread safety MT-Unsafe race
.hy
.ad
.sp 1
+.SH VERSIONS
+The function
+.BR mbrlen (3)
+provides a better interface to the same
+functionality.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mblen ()
@@ -109,10 +116,5 @@ depends on the
.B LC_CTYPE
category of the
current locale.
-.PP
-The function
-.BR mbrlen (3)
-provides a better interface to the same
-functionality.
.SH SEE ALSO
.BR mbrlen (3)
diff --git a/man3/mbrlen.3 b/man3/mbrlen.3
index dd80c57a15..b9613535e9 100644
--- a/man3/mbrlen.3
+++ b/man3/mbrlen.3
@@ -119,7 +119,9 @@ T} Thread safety MT-Unsafe race:mbrlen/!ps
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbrlen ()
diff --git a/man3/mbrtowc.3 b/man3/mbrtowc.3
index b644b709d0..6248621a1e 100644
--- a/man3/mbrtowc.3
+++ b/man3/mbrtowc.3
@@ -189,7 +189,9 @@ T} Thread safety MT-Unsafe race:mbrtowc/!ps
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbrtowc ()
diff --git a/man3/mbsinit.3 b/man3/mbsinit.3
index f93d48132f..db8d285704 100644
--- a/man3/mbsinit.3
+++ b/man3/mbsinit.3
@@ -102,7 +102,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbsinit ()
diff --git a/man3/mbsrtowcs.3 b/man3/mbsrtowcs.3
index fc52d661df..1d2b2e1ed8 100644
--- a/man3/mbsrtowcs.3
+++ b/man3/mbsrtowcs.3
@@ -142,7 +142,9 @@ T}
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbsrtowcs ()
diff --git a/man3/mbstowcs.3 b/man3/mbstowcs.3
index 376006fcac..8337cb1bd1 100644
--- a/man3/mbstowcs.3
+++ b/man3/mbstowcs.3
@@ -109,8 +109,15 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+The function
+.BR mbsrtowcs (3)
+provides a better interface to the same
+functionality.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbstowcs ()
@@ -118,11 +125,6 @@ depends on the
.B LC_CTYPE
category of the
current locale.
-.PP
-The function
-.BR mbsrtowcs (3)
-provides a better interface to the same
-functionality.
.SH EXAMPLES
The program below illustrates the use of
.BR mbstowcs (),
diff --git a/man3/mbtowc.3 b/man3/mbtowc.3
index d2eda1c709..8eb14b717a 100644
--- a/man3/mbtowc.3
+++ b/man3/mbtowc.3
@@ -127,8 +127,16 @@ T} Thread safety MT-Unsafe race
.hy
.ad
.sp 1
+.SH VERSIONS
+This function is not multithread safe.
+The function
+.BR mbrtowc (3)
+provides
+a better interface to the same functionality.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR mbtowc ()
@@ -136,12 +144,6 @@ depends on the
.B LC_CTYPE
category of the
current locale.
-.PP
-This function is not multithread safe.
-The function
-.BR mbrtowc (3)
-provides
-a better interface to the same functionality.
.SH SEE ALSO
.BR MB_CUR_MAX (3),
.BR mblen (3),
diff --git a/man3/mcheck.3 b/man3/mcheck.3
index 41868bff79..adf98213a8 100644
--- a/man3/mcheck.3
+++ b/man3/mcheck.3
@@ -136,19 +136,19 @@ T}
.hy
.ad
.sp 1
-.SH VERSIONS
-The
+.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
.BR mcheck_pedantic ()
-and
+.TQ
.BR mcheck_check_all ()
-functions are available since glibc 2.2.
-The
+glibc 2.2.
+.TP
.BR mcheck ()
-and
+.TQ
.BR mprobe ()
-functions are present since at least glibc 2.0
-.SH STANDARDS
-These functions are GNU extensions.
+glibc 2.0.
.SH NOTES
Linking a program with
.I \-lmcheck
diff --git a/man3/memccpy.3 b/man3/memccpy.3
index 0c5b0b81e9..5266fc7519 100644
--- a/man3/memccpy.3
+++ b/man3/memccpy.3
@@ -70,7 +70,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR bcopy (3),
.BR bstring (3),
diff --git a/man3/memchr.3 b/man3/memchr.3
index 877910c59a..e2916dc9a9 100644
--- a/man3/memchr.3
+++ b/man3/memchr.3
@@ -113,23 +113,25 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR rawmemchr ()
-first appeared in glibc 2.1.
-.PP
-.BR memrchr ()
-first appeared in glibc 2.2.
.SH STANDARDS
-.BR memchr ():
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.PP
-The
+.TP
+.BR memchr ()
+C11, POSIX.1-2008.
+.TP
.BR memrchr ()
-function is a GNU extension, available since glibc 2.1.91.
-.PP
-The
+.TQ
+.BR rawmemchr ()
+GNU.
+.SH HISTORY
+.TP
+.BR memchr ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
+.BR memrchr ()
+glibc 2.2.
+.TP
.BR rawmemchr ()
-function is a GNU extension, available since glibc 2.1.
+glibc 2.1.
.SH SEE ALSO
.BR bstring (3),
.BR ffs (3),
diff --git a/man3/memcmp.3 b/man3/memcmp.3
index e587198486..5a56f19727 100644
--- a/man3/memcmp.3
+++ b/man3/memcmp.3
@@ -63,8 +63,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.SH CAVEATS
Do not use
.BR memcmp ()
to compare security critical data, such as cryptographic secrets,
diff --git a/man3/memcpy.3 b/man3/memcpy.3
index 77169a27ee..c243e9f3b7 100644
--- a/man3/memcpy.3
+++ b/man3/memcpy.3
@@ -53,8 +53,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.SH CAVEATS
Failure to observe the requirement that the memory areas
do not overlap has been the source of significant bugs.
(POSIX and the C standards are explicit that employing
diff --git a/man3/memfrob.3 b/man3/memfrob.3
index b3da3dfa52..a75a032765 100644
--- a/man3/memfrob.3
+++ b/man3/memfrob.3
@@ -57,10 +57,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The
-.BR memfrob ()
-function is unique to the
-GNU C Library.
+GNU.
.SH SEE ALSO
.BR bstring (3),
.BR strfry (3)
diff --git a/man3/memmem.3 b/man3/memmem.3
index 7a532ea276..0a81054e64 100644
--- a/man3/memmem.3
+++ b/man3/memmem.3
@@ -58,11 +58,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is not specified in POSIX.1,
-but is present on a number of other systems,
-including:
+None.
+.SH HISTORY
musl libc 0.9.7;
-FreeBSD 6.0, OpenBSD 5.4, NetBSD, and Illumos.
+FreeBSD 6.0, OpenBSD 5.4, NetBSD, Illumos.
.SH BUGS
.\" This function was broken in Linux libraries up to and including libc 5.0.9;
.\" there the
diff --git a/man3/memmove.3 b/man3/memmove.3
index 8ee7150e2a..7745c4e297 100644
--- a/man3/memmove.3
+++ b/man3/memmove.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR bcopy (3),
.BR bstring (3),
diff --git a/man3/mempcpy.3 b/man3/mempcpy.3
index 371d341ae0..98c1c6f8d1 100644
--- a/man3/mempcpy.3
+++ b/man3/mempcpy.3
@@ -75,11 +75,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR mempcpy ()
-first appeared in glibc 2.1.
.SH STANDARDS
-This function is a GNU extension.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH EXAMPLES
.EX
void *
diff --git a/man3/memset.3 b/man3/memset.3
index cce27bb959..92764b1452 100644
--- a/man3/memset.3
+++ b/man3/memset.3
@@ -53,7 +53,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR bstring (3),
.BR bzero (3),
diff --git a/man3/mkdtemp.3 b/man3/mkdtemp.3
index e7aa99efba..a3c28728ea 100644
--- a/man3/mkdtemp.3
+++ b/man3/mkdtemp.3
@@ -74,13 +74,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-Available since glibc 2.1.91.
.SH STANDARDS
POSIX.1-2008.
-This function is present on the BSDs.
-.\" As at 2006, this function is being considered for a revision of POSIX.1
-.\" Also in NetBSD 1.4.
+.SH HISTORY
+glibc 2.1.91.
+NetBSD 1.4.
+POSIX.1-2008.
.SH SEE ALSO
.BR mktemp (1),
.BR mkdir (2),
diff --git a/man3/mkfifo.3 b/man3/mkfifo.3
index 32cd31bdad..89d0fb2fad 100644
--- a/man3/mkfifo.3
+++ b/man3/mkfifo.3
@@ -181,16 +181,17 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR mkfifoat ()
-was added in glibc 2.4.
It is implemented using
-.BR mknodat (2),
-available since Linux 2.6.16.
+.BR mknodat (2).
.SH STANDARDS
-.BR mkfifo ():
-POSIX.1-2001, POSIX.1-2008.
-.PP
-.BR mkfifoat ():
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR mkfifo ()
+POSIX.1-2001.
+.TP
+.BR mkfifoat ()
+glibc 2.4.
POSIX.1-2008.
.SH SEE ALSO
.BR mkfifo (1),
diff --git a/man3/mkstemp.3 b/man3/mkstemp.3
index 8c699ca156..0b4967ec8e 100644
--- a/man3/mkstemp.3
+++ b/man3/mkstemp.3
@@ -189,27 +189,35 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR mkostemp ()
-is available since glibc 2.7.
-.BR mkstemps ()
-and
-.BR mkostemps ()
-are available since glibc 2.11.
.SH STANDARDS
-.BR mkstemp ():
-4.3BSD, POSIX.1-2001.
-.PP
-.BR mkstemps ():
-unstandardized, but appears on several other systems.
+.TP
+.BR mkstemp ()
+POSIX.1-2001.
+.TP
+.BR mkstemps ()
+BSD.
.\" mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
.\" and Tru64.
-.PP
+.TP
.BR mkostemp ()
-and
-.BR mkostemps ():
-are glibc extensions.
-.SH NOTES
+.TQ
+.BR mkostemps ()
+GNU.
+.SH HISTORY
+.TP
+.BR mkstemp ()
+4.3BSD, POSIX.1-2001.
+.TP
+.BR mkstemps ()
+glibc 2.11.
+BSD, Mac OS X, Solaris, Tru64.
+.TP
+.BR mkostemp ()
+glibc 2.7.
+.TP
+.BR mkostemps ()
+glibc 2.11.
+.PP
In glibc versions 2.06 and earlier, the file is created with permissions 0666,
that is, read and write for all users.
This old behavior may be
diff --git a/man3/mktemp.3 b/man3/mktemp.3
index a1968ec685..2b5ace8ae1 100644
--- a/man3/mktemp.3
+++ b/man3/mktemp.3
@@ -87,9 +87,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD, POSIX.1-2001.
-POSIX.1-2008 removes the specification of
-.BR mktemp ().
+Removed in POSIX.1-2008.
.\" .SH NOTES
.\" The prototype is in
.\" .I <unistd.h>
diff --git a/man3/modf.3 b/man3/modf.3
index 5662b5a068..103b5c2be0 100644
--- a/man3/modf.3
+++ b/man3/modf.3
@@ -84,7 +84,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/mpool.3 b/man3/mpool.3
index de6f023a8e..1d09060ace 100644
--- a/man3/mpool.3
+++ b/man3/mpool.3
@@ -197,8 +197,7 @@ function may fail and set
for any of the errors specified for the library routine
.BR free (3).
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs.
+BSD.
.SH SEE ALSO
.BR btree (3),
.BR dbopen (3),
diff --git a/man3/mq_close.3 b/man3/mq_close.3
index 76358c53bf..c422ec7ecc 100644
--- a/man3/mq_close.3
+++ b/man3/mq_close.3
@@ -56,7 +56,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
All open message queues are automatically closed on process termination,
or upon
diff --git a/man3/mq_getattr.3 b/man3/mq_getattr.3
index 754f56c0f0..895c4067bb 100644
--- a/man3/mq_getattr.3
+++ b/man3/mq_getattr.3
@@ -132,9 +132,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On Linux,
.BR mq_getattr ()
and
@@ -142,6 +140,10 @@ and
are library functions layered on top of the
.BR mq_getsetattr (2)
system call.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The program below can be used to show the default
.I mq_maxmsg
diff --git a/man3/mq_notify.3 b/man3/mq_notify.3
index 6974074707..371ae4617a 100644
--- a/man3/mq_notify.3
+++ b/man3/mq_notify.3
@@ -170,10 +170,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001.
-.SH NOTES
-.\"
+.SH VERSIONS
.SS C library/kernel differences
In the glibc implementation, the
.BR mq_notify ()
@@ -194,6 +191,10 @@ The implementation involves the use of a raw
.BR netlink (7)
socket and creates a new thread for each notification that is
delivered to the process.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The following program registers a notification request for the
message queue named in its command-line argument.
diff --git a/man3/mq_open.3 b/man3/mq_open.3
index 09a6ff037b..8897d5e567 100644
--- a/man3/mq_open.3
+++ b/man3/mq_open.3
@@ -265,9 +265,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
.SS C library/kernel differences
The
.BR mq_open ()
@@ -285,6 +283,10 @@ so the C library function passes
without the preceding slash (i.e.,
.IR name+1 )
to the system call.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH BUGS
Before Linux 2.6.14,
the process umask was not applied to the permissions specified in
diff --git a/man3/mq_receive.3 b/man3/mq_receive.3
index 6be6223582..fd49ad8797 100644
--- a/man3/mq_receive.3
+++ b/man3/mq_receive.3
@@ -144,14 +144,16 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On Linux,
.BR mq_timedreceive ()
is a system call, and
.BR mq_receive ()
is a library function layered on top of that system call.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR mq_close (3),
.BR mq_getattr (3),
diff --git a/man3/mq_send.3 b/man3/mq_send.3
index ae0bc74d80..3dc05b7a26 100644
--- a/man3/mq_send.3
+++ b/man3/mq_send.3
@@ -151,14 +151,16 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On Linux,
.BR mq_timedsend ()
is a system call, and
.BR mq_send ()
is a library function layered on top of that system call.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR mq_close (3),
.BR mq_getattr (3),
diff --git a/man3/mq_unlink.3 b/man3/mq_unlink.3
index 687fe43426..17e15c145e 100644
--- a/man3/mq_unlink.3
+++ b/man3/mq_unlink.3
@@ -58,7 +58,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR mq_close (3),
.BR mq_getattr (3),
diff --git a/man3/mtrace.3 b/man3/mtrace.3
index b9f1c4b366..3713ffedf4 100644
--- a/man3/mtrace.3
+++ b/man3/mtrace.3
@@ -88,7 +88,7 @@ T} Thread safety MT-Unsafe
.\" glibc manual says muntrace should have marking locale because it calls
.\" fprintf(), but muntrace does not execute area which cause locale problem.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
.SH NOTES
In normal usage,
.BR mtrace ()
diff --git a/man3/nan.3 b/man3/nan.3
index 24c9b95c9d..996e740676 100644
--- a/man3/nan.3
+++ b/man3/nan.3
@@ -85,12 +85,14 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.PP
See also IEC 559 and the appendix with
recommended functions in IEEE 754/IEEE 854.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR isnan (3),
.BR strtod (3),
diff --git a/man3/netlink.3 b/man3/netlink.3
index 4e6709a9fe..5da97632b6 100644
--- a/man3/netlink.3
+++ b/man3/netlink.3
@@ -76,12 +76,12 @@ is in a form suitable for parsing.
.BR NLMSG_PAYLOAD ()
Return the length of the payload associated with the
.IR nlmsghdr .
-.SH STANDARDS
-These macros are nonstandard Linux extensions.
-.SH NOTES
+.SH VERSIONS
It is often better to use netlink via
.I libnetlink
than via the low-level kernel interface.
+.SH STANDARDS
+Linux.
.SH SEE ALSO
.BR libnetlink (3),
.BR netlink (7)
diff --git a/man3/newlocale.3 b/man3/newlocale.3
index 3ba72a77d6..48fbeff6e7 100644
--- a/man3/newlocale.3
+++ b/man3/newlocale.3
@@ -182,14 +182,10 @@ is not a string pointer referring to a valid locale.
.TP
.B ENOMEM
Insufficient memory to create a locale object.
-.SH VERSIONS
-The
-.BR newlocale ()
-and
-.BR freelocale ()
-functions first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
+.SH HISTORY
+glibc 2.3.
.SH NOTES
Each locale object created by
.BR newlocale ()
diff --git a/man3/nextafter.3 b/man3/nextafter.3
index f4d7d0552c..f691aacbfb 100644
--- a/man3/nextafter.3
+++ b/man3/nextafter.3
@@ -183,9 +183,12 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.PP
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
+.SH HISTORY
+C99, POSIX.1-2001.
.SH BUGS
In glibc 2.5 and earlier, these functions do not raise an underflow
floating-point
diff --git a/man3/nextup.3 b/man3/nextup.3
index 0adcaac393..7000489a34 100644
--- a/man3/nextup.3
+++ b/man3/nextup.3
@@ -85,13 +85,13 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.24.
.SH STANDARDS
These functions are described in
.I IEEE Std 754-2008 - Standard for Floating-Point Arithmetic
and
.IR "ISO/IEC TS 18661".
+.SH HISTORY
+glibc 2.24.
.SH SEE ALSO
.BR nearbyint (3),
.BR nextafter (3)
diff --git a/man3/nl_langinfo.3 b/man3/nl_langinfo.3
index c684c8a26d..63d411745b 100644
--- a/man3/nl_langinfo.3
+++ b/man3/nl_langinfo.3
@@ -310,7 +310,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SUSv2.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SUSv2.
.SH NOTES
The behavior of
.BR nl_langinfo_l ()
diff --git a/man3/ntp_gettime.3 b/man3/ntp_gettime.3
index dd1b359db7..8899b56e97 100644
--- a/man3/ntp_gettime.3
+++ b/man3/ntp_gettime.3
@@ -113,18 +113,20 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
+.SH STANDARDS
+.TP
.BR ntp_gettime ()
-function is available since glibc 2.1.
-The
+NTP Kernel Application Program Interface.
+.TP
.BR ntp_gettimex ()
-function is available since glibc 2.12.
-.SH STANDARDS
+GNU.
+.SH HISTORY
+.TP
.BR ntp_gettime ()
-is described in the NTP Kernel Application Program Interface.
+glibc 2.1.
+.TP
.BR ntp_gettimex ()
-is a GNU extension.
+glibc 2.12.
.SH SEE ALSO
.BR adjtimex (2),
.BR ntp_adjtime (3),
diff --git a/man3/offsetof.3 b/man3/offsetof.3
index 7cfba984d5..b234e5ce1b 100644
--- a/man3/offsetof.3
+++ b/man3/offsetof.3
@@ -64,7 +64,9 @@ within the given
.IR type ,
in units of bytes.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
.SH EXAMPLES
On a Linux/i386 system, when compiled using the default
.BR gcc (1)
diff --git a/man3/on_exit.3 b/man3/on_exit.3
index d12f920058..f2fbec75d2 100644
--- a/man3/on_exit.3
+++ b/man3/on_exit.3
@@ -85,12 +85,14 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function comes from SunOS 4, but is also present in glibc.
-It no longer occurs in Solaris (SunOS 5).
-Portable application should avoid this function, and use the standard
+None.
+.SH HISTORY
+SunOS 4, glibc.
+Removed in Solaris (SunOS 5).
+Use the standard
.BR atexit (3)
instead.
-.SH NOTES
+.SH CAVEATS
By the time
.I function
is executed, stack
diff --git a/man3/open_memstream.3 b/man3/open_memstream.3
index 5a8c18c737..5c3f666b52 100644
--- a/man3/open_memstream.3
+++ b/man3/open_memstream.3
@@ -113,15 +113,15 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR open_memstream ()
-was already available in glibc 1.0.x.
-.BR open_wmemstream ()
-is available since glibc 2.4.
.SH STANDARDS
POSIX.1-2008.
-These functions are not specified in POSIX.1-2001,
-and are not widely available on other systems.
+.SH HISTORY
+.TP
+.BR open_memstream ()
+glibc 1.0.x.
+.TP
+.BR open_wmemstream ()
+glibc 2.4.
.SH NOTES
There is no file descriptor associated with the file stream
returned by these functions
diff --git a/man3/opendir.3 b/man3/opendir.3
index 778da47967..0dcae187fb 100644
--- a/man3/opendir.3
+++ b/man3/opendir.3
@@ -107,14 +107,16 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR fdopendir ()
-is available since glibc 2.4.
.SH STANDARDS
+POSIX.1-2008.
+.SH STANDARDS
+.TP
.BR opendir ()
-is present on SVr4, 4.3BSD, and specified in POSIX.1-2001.
+SVr4, 4.3BSD, POSIX.1-2001.
+.TP
.BR fdopendir ()
-is specified in POSIX.1-2008.
+POSIX.1-2008.
+glibc 2.4.
.SH NOTES
Filename entries can be read from a directory stream using
.BR readdir (3).
diff --git a/man3/openpty.3 b/man3/openpty.3
index 84a8100ad4..0b1d4632d5 100644
--- a/man3/openpty.3
+++ b/man3/openpty.3
@@ -148,9 +148,8 @@ T} Thread safety MT-Unsafe race:ttyname
.ad
.sp 1
.SH STANDARDS
-These are BSD functions, present in glibc.
-They are not standardized in POSIX.
-.SH NOTES
+BSD.
+.SH HISTORY
The
.B const
modifiers were added to the structure pointer arguments of
diff --git a/man3/perror.3 b/man3/perror.3
index 5f87b93fd1..75e6aa20ea 100644
--- a/man3/perror.3
+++ b/man3/perror.3
@@ -116,38 +116,28 @@ T} Thread safety MT-Safe race:stderr
.hy
.ad
.sp 1
-.SH VERSIONS
-Since glibc 2.32, the declarations of
-.I sys_errlist
-and
-.I sys_nerr
-are no longer exposed by
-.IR <stdio.h> .
.SH STANDARDS
-.BR perror (),
-.IR errno :
-POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
-.PP
-The externals
+.TP
+.I errno
+.TQ
+.BR perror ()
+C11, POSIX.1-2008.
+.TP
.I sys_nerr
-and
+.TQ
.I sys_errlist
-derive from BSD, but are not specified in POSIX.1.
-.SH NOTES
-The externals
+BSD.
+.SH HISTORY
+.TP
+.I errno
+.TQ
+.BR perror ()
+POSIX.1-2001, C89, 4.3BSD.
+.TP
.I sys_nerr
-and
+.TQ
.I sys_errlist
-are defined by glibc, but in
-.IR <stdio.h> .
-.\" and only when _BSD_SOURCE is defined.
-.\" When
-.\" .B _GNU_SOURCE
-.\" is defined, the symbols
-.\" .I _sys_nerr
-.\" and
-.\" .I _sys_errlist
-.\" are provided.
+Removed in glibc 2.32.
.SH SEE ALSO
.BR err (3),
.BR errno (3),
diff --git a/man3/popen.3 b/man3/popen.3
index 7d4736ec85..b955f31824 100644
--- a/man3/popen.3
+++ b/man3/popen.3
@@ -165,15 +165,16 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.PP
+.SH VERSIONS
The \[aq]e\[aq] value for
.I type
is a Linux extension.
-.SH NOTES
-.BR Note :
-carefully read Caveats in
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SH CAVEATS
+Carefully read Caveats in
.BR system (3).
.SH BUGS
Since the standard input of a command opened for reading shares its seek
diff --git a/man3/posix_fallocate.3 b/man3/posix_fallocate.3
index a9b40fe307..8f3b714220 100644
--- a/man3/posix_fallocate.3
+++ b/man3/posix_fallocate.3
@@ -110,11 +110,11 @@ T}
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR posix_fallocate ()
-is available since glibc 2.1.94.
.SH STANDARDS
-POSIX.1-2001.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.94.
+POSIX.1-2001
.PP
POSIX.1-2008 says that an implementation
.I shall
@@ -138,7 +138,7 @@ was less than 0, and
give the error if
.I len
equals zero.
-.SH NOTES
+.SH CAVEATS
In the glibc implementation,
.BR posix_fallocate ()
is implemented using the
diff --git a/man3/posix_madvise.3 b/man3/posix_madvise.3
index 501295239d..06c657afca 100644
--- a/man3/posix_madvise.3
+++ b/man3/posix_madvise.3
@@ -86,12 +86,6 @@ is invalid.
Addresses in the specified range are partially or completely outside
the caller's address space.
.SH VERSIONS
-Support for
-.BR posix_madvise ()
-was added in glibc 2.2.
-.SH STANDARDS
-POSIX.1-2001.
-.SH NOTES
POSIX.1 permits an implementation to generate an error if
.I len
is 0.
@@ -108,6 +102,11 @@ is treated as a no-op, because the corresponding
value,
.BR MADV_DONTNEED ,
has destructive semantics.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
.SH SEE ALSO
.BR madvise (2),
.BR posix_fadvise (2)
diff --git a/man3/posix_memalign.3 b/man3/posix_memalign.3
index 43f621915c..9bc6eb9a41 100644
--- a/man3/posix_memalign.3
+++ b/man3/posix_memalign.3
@@ -168,44 +168,43 @@ T} Thread safety MT-Unsafe init
.hy
.ad
.sp 1
-.SH VERSIONS
-The functions
-.BR memalign (),
-.BR valloc (),
-and
+.SH STANDARDS
+.TP
+.BR aligned_alloc ()
+C11.
+.TP
+.BR posix_memalign ()
+POSIX.1-2008.
+.TP
+.BR memalign ()
+.TQ
+.BR valloc ()
+None.
+.TP
.BR pvalloc ()
-have been available since at least glibc 2.0.
-.PP
-The function
+GNU.
+.SH HISTORY
+.TP
.BR aligned_alloc ()
-was added in glibc 2.16.
-.PP
-The function
+glibc 2.16.
+C11.
+.TP
.BR posix_memalign ()
-is available since glibc 2.1.91.
-.SH STANDARDS
-The function
+glibc 2.1.91.
+POSIX.1d, POSIX.1-2001.
+.TP
+.BR memalign ()
+glibc 2.0.
+SunOS 4.1.3.
+.TP
.BR valloc ()
-appeared in 3.0BSD.
-It is documented as being obsolete in 4.3BSD,
+glibc 2.0.
+3.0BSD.
+Documented as obsolete in 4.3BSD,
and as legacy in SUSv2.
-It does not appear in POSIX.1.
-.PP
-The function
+.TP
.BR pvalloc ()
-is a GNU extension.
-.PP
-The function
-.BR memalign ()
-appears in SunOS 4.1.3 but not in 4.4BSD.
-.PP
-The function
-.BR posix_memalign ()
-comes from POSIX.1d and is specified in POSIX.1-2001 and POSIX.1-2008.
-.PP
-The function
-.BR aligned_alloc ()
-is specified in the C11 standard.
+glibc 2.0.
.\"
.SS Headers
Everybody agrees that
diff --git a/man3/posix_openpt.3 b/man3/posix_openpt.3
index 2605b87ec8..0560879a0a 100644
--- a/man3/posix_openpt.3
+++ b/man3/posix_openpt.3
@@ -71,15 +71,13 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-glibc support for
-.BR posix_openpt ()
-has been provided since glibc 2.2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.1.
+POSIX.1-2001.
.PP
-.BR posix_openpt ()
-is part of the UNIX 98 pseudoterminal support (see
+It is part of the UNIX 98 pseudoterminal support (see
.BR pts (4)).
.SH NOTES
Some older UNIX implementations that support System V
diff --git a/man3/posix_spawn.3 b/man3/posix_spawn.3
index 1a6daaf824..32dc1211ce 100644
--- a/man3/posix_spawn.3
+++ b/man3/posix_spawn.3
@@ -508,14 +508,11 @@ In addition, these functions fail if:
.TP
.B ENOSYS
Function not supported on this system.
-.SH VERSIONS
-The
-.BR posix_spawn ()
-and
-.BR posix_spawnp ()
-functions are available since glibc 2.2.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
.\" FIXME . This piece belongs in spawnattr_setflags(3)
.\" The
.\" .B POSIX_SPAWN_USEVFORK
diff --git a/man3/pow.3 b/man3/pow.3
index a1c48c31b1..cfa0f90392 100644
--- a/man3/pow.3
+++ b/man3/pow.3
@@ -326,7 +326,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/pow10.3 b/man3/pow10.3
index aeac782869..6af433caee 100644
--- a/man3/pow10.3
+++ b/man3/pow10.3
@@ -48,13 +48,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH STANDARDS
+GNU.
.SH VERSIONS
-These functions were added in glibc 2.1.
-Since glibc 2.27,
+glibc 2.1.
+Removed in glibc 2.27.
.\" glibc commit 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e
-the use of these functions in new programs is no longer supported.
-.SH STANDARDS
-This functions are nonstandard GNU extensions.
.SH SEE ALSO
.BR exp10 (3),
.BR pow (3)
diff --git a/man3/powerof2.3 b/man3/powerof2.3
index 04d58dbf89..65420bfdcc 100644
--- a/man3/powerof2.3
+++ b/man3/powerof2.3
@@ -31,7 +31,7 @@ if
is a power of 2 or not,
respectively.
.SH STANDARDS
-This nonstandard macro is present in glibc and the BSDs.
+BSD.
.SH CAVEATS
The arguments may be evaluated more than once.
.PP
diff --git a/man3/printf.3 b/man3/printf.3
index 763b5e2a27..790ebf4d8f 100644
--- a/man3/printf.3
+++ b/man3/printf.3
@@ -919,7 +919,70 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
+.BR fprintf ()
+.TQ
+.BR printf ()
+.TQ
+.BR sprintf ()
+.TQ
+.BR vprintf ()
+.TQ
+.BR vfprintf ()
+.TQ
+.BR vsprintf ()
+.TQ
+.BR snprintf ()
+.TQ
+.BR vsnprintf ()
+C11, POSIX.1-2008.
+.TP
+.BR dprintf ()
+.TQ
+.BR vdprintf ()
+GNU, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR fprintf ()
+.TQ
+.BR printf ()
+.TQ
+.BR sprintf ()
+.TQ
+.BR vprintf ()
+.TQ
+.BR vfprintf ()
+.TQ
+.BR vsprintf ()
+C89, POSIX.1-2001.
+.TP
+.BR snprintf ()
+.TQ
+.BR vsnprintf ()
+SUSv2, C99, POSIX.1-2001.
+.IP
+Concerning the return value of
+.BR snprintf (),
+SUSv2 and C99 contradict each other: when
+.BR snprintf ()
+is called with
+.IR size =0
+then SUSv2 stipulates an unspecified return value less than 1,
+while C99 allows
+.I str
+to be NULL in this case, and gives the return value (as always)
+as the number of characters that would have been written in case
+the output string has been large enough.
+POSIX.1-2001 and later align their specification of
+.BR snprintf ()
+with C99.
+.TP
+.BR dprintf ()
+.TQ
+.BR vdprintf ()
+GNU, POSIX.1-2008.
+.PP
.\" Linux libc4 knows about the five C standard flags.
.\" It knows about the length modifiers \fBh\fP, \fBl\fP, \fBL\fP,
.\" and the conversions
@@ -959,42 +1022,7 @@ of the
.B m
conversion specifier, that is
.IR %#m .
-.SH STANDARDS
-.BR fprintf (),
-.BR printf (),
-.BR sprintf (),
-.BR vprintf (),
-.BR vfprintf (),
-.BR vsprintf ():
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
-.BR snprintf (),
-.BR vsnprintf ():
-POSIX.1-2001, POSIX.1-2008, C99.
-.PP
-The
-.BR dprintf ()
-and
-.BR vdprintf ()
-functions were originally GNU extensions that were later standardized
-in POSIX.1-2008.
-.PP
-Concerning the return value of
-.BR snprintf (),
-SUSv2 and C99 contradict each other: when
-.BR snprintf ()
-is called with
-.IR size =0
-then SUSv2 stipulates an unspecified return value less than 1,
-while C99 allows
-.I str
-to be NULL in this case, and gives the return value (as always)
-as the number of characters that would have been written in case
-the output string has been large enough.
-POSIX.1-2001 and later align their specification of
-.BR snprintf ()
-with C99.
-.SH NOTES
+.SH CAVEATS
Some programs imprudently rely on code such as the following
.PP
.in +4n
diff --git a/man3/profil.3 b/man3/profil.3
index 69a94fdc26..7791064a30 100644
--- a/man3/profil.3
+++ b/man3/profil.3
@@ -77,7 +77,9 @@ T} Thread safety MT-Unsafe
.ad
.sp 1
.SH STANDARDS
-Similar to a call in SVr4 (but not POSIX.1).
+None.
+.SH HISTORY
+Similar to a call in SVr4.
.SH BUGS
.BR profil ()
cannot be used on a program that also uses
diff --git a/man3/program_invocation_name.3 b/man3/program_invocation_name.3
index 97d7874708..94b8866a01 100644
--- a/man3/program_invocation_name.3
+++ b/man3/program_invocation_name.3
@@ -56,12 +56,11 @@ with all text up to and including the final slash (/), if any, removed.
.PP
These variables are automatically initialized by the glibc run-time
startup code.
-.SH STANDARDS
-These variables are GNU extensions, and should not be
-used in programs intended to be portable.
-.SH NOTES
+.SH VERSIONS
The Linux-specific
-.I /proc/[number]/cmdline
+.IR /proc/ pid /cmdline
file provides access to similar information.
+.SH STANDARDS
+GNU.
.SH SEE ALSO
.BR proc (5)
diff --git a/man3/psignal.3 b/man3/psignal.3
index 39aff2a33b..f428c0e7ce 100644
--- a/man3/psignal.3
+++ b/man3/psignal.3
@@ -93,11 +93,10 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR psiginfo ()
-function was added in glibc 2.10.
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.10.
POSIX.1-2008, 4.3BSD.
.SH BUGS
Up to glibc 2.12,
diff --git a/man3/pthread_atfork.3 b/man3/pthread_atfork.3
index 1875bbdb4a..42811f85e2 100644
--- a/man3/pthread_atfork.3
+++ b/man3/pthread_atfork.3
@@ -65,7 +65,9 @@ handlers are called in the order of registration.
.B ENOMEM
Could not allocate memory to record the fork handler list entry.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
When
.BR fork (2)
diff --git a/man3/pthread_attr_init.3 b/man3/pthread_attr_init.3
index d0919101df..22abc969d9 100644
--- a/man3/pthread_attr_init.3
+++ b/man3/pthread_attr_init.3
@@ -77,7 +77,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The
.I pthread_attr_t
diff --git a/man3/pthread_attr_setaffinity_np.3 b/man3/pthread_attr_setaffinity_np.3
index 7cb20eb0f1..c095815d7a 100644
--- a/man3/pthread_attr_setaffinity_np.3
+++ b/man3/pthread_attr_setaffinity_np.3
@@ -103,11 +103,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.3.4.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.3.4.
.SH NOTES
In glibc 2.3.3 only,
versions of these functions were provided that did not have a
diff --git a/man3/pthread_attr_setdetachstate.3 b/man3/pthread_attr_setdetachstate.3
index 7f692f6988..402d8e01ef 100644
--- a/man3/pthread_attr_setdetachstate.3
+++ b/man3/pthread_attr_setdetachstate.3
@@ -85,7 +85,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
See
.BR pthread_create (3)
diff --git a/man3/pthread_attr_setguardsize.3 b/man3/pthread_attr_setguardsize.3
index 01d9af47c0..00c65e4ff9 100644
--- a/man3/pthread_attr_setguardsize.3
+++ b/man3/pthread_attr_setguardsize.3
@@ -101,10 +101,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
A guard area consists of virtual memory pages that are protected
to prevent read and write access.
diff --git a/man3/pthread_attr_setinheritsched.3 b/man3/pthread_attr_setinheritsched.3
index 0ed304eb05..98dc2eea1d 100644
--- a/man3/pthread_attr_setinheritsched.3
+++ b/man3/pthread_attr_setinheritsched.3
@@ -105,10 +105,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0.
+POSIX.1-2001.
.SH BUGS
As at glibc 2.8, if a thread attributes object is initialized using
.BR pthread_attr_init (3),
diff --git a/man3/pthread_attr_setschedparam.3 b/man3/pthread_attr_setschedparam.3
index 834c08905c..c4ad066bff 100644
--- a/man3/pthread_attr_setschedparam.3
+++ b/man3/pthread_attr_setschedparam.3
@@ -102,10 +102,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+glibc 2.0.
.SH NOTES
See
.BR pthread_attr_setschedpolicy (3)
diff --git a/man3/pthread_attr_setschedpolicy.3 b/man3/pthread_attr_setschedpolicy.3
index df370c2089..f727e7bdb6 100644
--- a/man3/pthread_attr_setschedpolicy.3
+++ b/man3/pthread_attr_setschedpolicy.3
@@ -94,10 +94,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0.
+POSIX.1-2001.
.SH EXAMPLES
See
.BR pthread_setschedparam (3).
diff --git a/man3/pthread_attr_setscope.3 b/man3/pthread_attr_setscope.3
index 6a7dd18401..038661567e 100644
--- a/man3/pthread_attr_setscope.3
+++ b/man3/pthread_attr_setscope.3
@@ -116,7 +116,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The
.B PTHREAD_SCOPE_SYSTEM
diff --git a/man3/pthread_attr_setsigmask_np.3 b/man3/pthread_attr_setsigmask_np.3
index 8ba91c4303..c005cb5ac8 100644
--- a/man3/pthread_attr_setsigmask_np.3
+++ b/man3/pthread_attr_setsigmask_np.3
@@ -86,11 +86,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.32.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.32.
.SH NOTES
The signal mask attribute determines the signal mask that will be assigned to
a thread created using the thread attributes object
diff --git a/man3/pthread_attr_setstack.3 b/man3/pthread_attr_setstack.3
index be52f85b28..0f883c26ca 100644
--- a/man3/pthread_attr_setstack.3
+++ b/man3/pthread_attr_setstack.3
@@ -107,10 +107,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.2.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
.SH NOTES
These functions are provided for applications that must ensure that
a thread's stack is placed in a particular location.
diff --git a/man3/pthread_attr_setstackaddr.3 b/man3/pthread_attr_setstackaddr.3
index a19aeda210..e92e442db3 100644
--- a/man3/pthread_attr_setstackaddr.3
+++ b/man3/pthread_attr_setstackaddr.3
@@ -15,8 +15,10 @@ POSIX threads library
.nf
.B #include <pthread.h>
.PP
+.B [[deprecated]]
.BI "int pthread_attr_setstackaddr(pthread_attr_t *" attr \
", void *" stackaddr );
+.B [[deprecated]]
.BI "int pthread_attr_getstackaddr(const pthread_attr_t *restrict " attr ,
.BI " void **restrict " stackaddr );
.fi
@@ -78,11 +80,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001 specifies these functions but marks them as obsolete.
-POSIX.1-2008 removes the specification of these functions.
+None.
+.SH HISTORY
+glibc 2.1.
+Marked obsolete in POSIX.1-2001.
+Removed in POSIX.1-2008.
.SH NOTES
.I Do not use these functions!
They cannot be portably used, since they provide no way of specifying
diff --git a/man3/pthread_cancel.3 b/man3/pthread_cancel.3
index a6bd16bd0c..231466119c 100644
--- a/man3/pthread_cancel.3
+++ b/man3/pthread_cancel.3
@@ -119,11 +119,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On Linux, cancelation is implemented using signals.
Under the NPTL threading implementation,
the first real-time signal (i.e., signal 32) is used for this purpose.
@@ -131,6 +127,11 @@ On LinuxThreads, the second real-time signal is used,
if real-time signals are available, otherwise
.B SIGUSR2
is used.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0
+POSIX.1-2001.
.SH EXAMPLES
The program below creates a thread and then cancels it.
The main thread joins with the canceled thread to check
diff --git a/man3/pthread_cleanup_push.3 b/man3/pthread_cleanup_push.3
index 90649b4cf1..658b732770 100644
--- a/man3/pthread_cleanup_push.3
+++ b/man3/pthread_cleanup_push.3
@@ -121,12 +121,8 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" SH VERSIONS
-.\" Available since glibc 2.0
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-On Linux, the
+.SH VERSIONS
+On glibc, the
.BR pthread_cleanup_push ()
and
.BR pthread_cleanup_pop ()
@@ -151,6 +147,11 @@ and
.BR pthread_cleanup_pop ()
is undefined.
Portable applications should avoid doing this.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+glibc 2.0.
.SH EXAMPLES
The program below provides a simple example of the use of the functions
described in this page.
diff --git a/man3/pthread_cleanup_push_defer_np.3 b/man3/pthread_cleanup_push_defer_np.3
index e7eb957e58..b14c11a866 100644
--- a/man3/pthread_cleanup_push_defer_np.3
+++ b/man3/pthread_cleanup_push_defer_np.3
@@ -87,11 +87,11 @@ pthread_setcanceltype(oldtype, NULL);
pthread_cleanup_pop(execute);
.EE
.in
-.\" SH VERSIONS
-.\" Available since glibc 2.0
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.0
.SH SEE ALSO
.BR pthread_cancel (3),
.BR pthread_cleanup_push (3),
diff --git a/man3/pthread_create.3 b/man3/pthread_create.3
index 5c872641de..b90bd74941 100644
--- a/man3/pthread_create.3
+++ b/man3/pthread_create.3
@@ -152,7 +152,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
See
.BR pthread_self (3)
diff --git a/man3/pthread_detach.3 b/man3/pthread_detach.3
index 3ccce10b58..946ae31402 100644
--- a/man3/pthread_detach.3
+++ b/man3/pthread_detach.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
Once a thread has been detached, it can't be joined with
.BR pthread_join (3)
diff --git a/man3/pthread_equal.3 b/man3/pthread_equal.3
index 0e34afe010..8777e682b8 100644
--- a/man3/pthread_equal.3
+++ b/man3/pthread_equal.3
@@ -44,7 +44,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The
.BR pthread_equal ()
diff --git a/man3/pthread_exit.3 b/man3/pthread_exit.3
index 2f22a3428f..65b36cda52 100644
--- a/man3/pthread_exit.3
+++ b/man3/pthread_exit.3
@@ -72,7 +72,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
Performing a return from the start function of any thread other
than the main thread results in an implicit call to
diff --git a/man3/pthread_getattr_default_np.3 b/man3/pthread_getattr_default_np.3
index a20e9ad137..271df0852a 100644
--- a/man3/pthread_getattr_default_np.3
+++ b/man3/pthread_getattr_default_np.3
@@ -76,11 +76,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are available since glibc 2.18.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in their names.
+.SH HISTORY
+glibc 2.18.
.SH EXAMPLES
The program below uses
.BR pthread_getattr_default_np ()
diff --git a/man3/pthread_getattr_np.3 b/man3/pthread_getattr_np.3
index 59e1d62887..cc397c36d5 100644
--- a/man3/pthread_getattr_np.3
+++ b/man3/pthread_getattr_np.3
@@ -92,11 +92,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.2.3.
.SH STANDARDS
-This function is a nonstandard GNU extension;
+GNU;
hence the suffix "_np" (nonportable) in the name.
+.SH HISTORY
+glibc 2.2.3.
.SH EXAMPLES
The program below demonstrates the use of
.BR pthread_getattr_np ().
diff --git a/man3/pthread_getcpuclockid.3 b/man3/pthread_getcpuclockid.3
index 968f9c9966..92c4b47a01 100644
--- a/man3/pthread_getcpuclockid.3
+++ b/man3/pthread_getcpuclockid.3
@@ -62,10 +62,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.2.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
.SH NOTES
When
.I thread
diff --git a/man3/pthread_join.3 b/man3/pthread_join.3
index 727845dcfb..1cb5ee4173 100644
--- a/man3/pthread_join.3
+++ b/man3/pthread_join.3
@@ -95,7 +95,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
After a successful call to
.BR pthread_join (),
diff --git a/man3/pthread_kill.3 b/man3/pthread_kill.3
index c13c88bc8d..bce768fda3 100644
--- a/man3/pthread_kill.3
+++ b/man3/pthread_kill.3
@@ -66,16 +66,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-Signal dispositions are process-wide:
-if a signal handler is installed,
-the handler will be invoked in the thread
-.IR thread ,
-but if the disposition of the signal is "stop", "continue", or "terminate",
-this action will affect the whole process.
-.PP
+.SH VERSIONS
The glibc implementation of
.BR pthread_kill ()
gives an error
@@ -98,6 +89,17 @@ lifetime has ended produces undefined behavior,
and an attempt to use an invalid thread ID in a call to
.BR pthread_kill ()
can, for example, cause a segmentation fault.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SH NOTES
+Signal dispositions are process-wide:
+if a signal handler is installed,
+the handler will be invoked in the thread
+.IR thread ,
+but if the disposition of the signal is "stop", "continue", or "terminate",
+this action will affect the whole process.
.SH SEE ALSO
.BR kill (2),
.BR sigaction (2),
diff --git a/man3/pthread_kill_other_threads_np.3 b/man3/pthread_kill_other_threads_np.3
index 0aee6411ec..950e46f96c 100644
--- a/man3/pthread_kill_other_threads_np.3
+++ b/man3/pthread_kill_other_threads_np.3
@@ -43,11 +43,18 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0
+.SH VERSIONS
+In the NPTL threading implementation,
+.BR pthread_kill_other_threads_np ()
+exists, but does nothing.
+(Nothing needs to be done,
+because the implementation does the right thing during an
+.BR execve (2).)
.SH STANDARDS
-This function is a nonstandard GNU extension;
+GNU;
hence the suffix "_np" (nonportable) in the name.
+.SH HISTORY
+glibc 2.0
.SH NOTES
.BR pthread_kill_other_threads_np ()
is intended to be called just before a thread calls
@@ -57,13 +64,6 @@ This function is designed to address a limitation in the obsolete
LinuxThreads implementation whereby the other threads of an application
are not automatically terminated (as POSIX.1-2001 requires) during
.BR execve (2).
-.PP
-In the NPTL threading implementation,
-.BR pthread_kill_other_threads_np ()
-exists, but does nothing.
-(Nothing needs to be done,
-because the implementation does the right thing during an
-.BR execve (2).)
.SH SEE ALSO
.BR execve (2),
.BR pthread_cancel (3),
diff --git a/man3/pthread_mutex_consistent.3 b/man3/pthread_mutex_consistent.3
index d2a983db1c..57bcca1625 100644
--- a/man3/pthread_mutex_consistent.3
+++ b/man3/pthread_mutex_consistent.3
@@ -44,19 +44,11 @@ it returns a positive error number to indicate the error.
.TP
.B EINVAL
The mutex is either not robust or is not in an inconsistent state.
-.SH VERSIONS
-.BR pthread_mutex_consistent ()
-was added in glibc 2.12.
.SH STANDARDS
POSIX.1-2008.
-.SH NOTES
-.BR pthread_mutex_consistent ()
-simply informs the implementation that the state (shared data)
-guarded by the mutex has been restored to a consistent state and that
-normal operations can now be performed with the mutex.
-It is the application's responsibility to ensure that the
-shared data has been restored to a consistent state before calling
-.BR pthread_mutex_consistent ().
+.SH HISTORY
+glibc 2.12.
+POSIX.1-2008.
.PP
Before the addition of
.BR pthread_mutex_consistent ()
@@ -73,6 +65,14 @@ was defined:
This GNU-specific API, which first appeared in glibc 2.4,
is nowadays obsolete and should not be used in new programs;
since glibc 2.34 it has been marked as deprecated.
+.SH NOTES
+.BR pthread_mutex_consistent ()
+simply informs the implementation that the state (shared data)
+guarded by the mutex has been restored to a consistent state and that
+normal operations can now be performed with the mutex.
+It is the application's responsibility to ensure that the
+shared data has been restored to a consistent state before calling
+.BR pthread_mutex_consistent ().
.SH EXAMPLES
See
.BR pthread_mutexattr_setrobust (3).
diff --git a/man3/pthread_mutexattr_getpshared.3 b/man3/pthread_mutexattr_getpshared.3
index 8f55ffd122..86056e573d 100644
--- a/man3/pthread_mutexattr_getpshared.3
+++ b/man3/pthread_mutexattr_getpshared.3
@@ -72,7 +72,9 @@ is invalid.
.B PTHREAD_PROCESS_SHARED
but the implementation does not support process-shared mutexes.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.ad l
.nh
diff --git a/man3/pthread_mutexattr_init.3 b/man3/pthread_mutexattr_init.3
index 6024048cc6..6d8a6411f8 100644
--- a/man3/pthread_mutexattr_init.3
+++ b/man3/pthread_mutexattr_init.3
@@ -38,7 +38,9 @@ object are undefined.
On success, these functions return 0.
On error, they return a positive error number.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
Subsequent changes to a mutex attributes object do not affect mutex that
have already been initialized using that object.
diff --git a/man3/pthread_mutexattr_setrobust.3 b/man3/pthread_mutexattr_setrobust.3
index a1205190db..b13ddc8eb3 100644
--- a/man3/pthread_mutexattr_setrobust.3
+++ b/man3/pthread_mutexattr_setrobust.3
@@ -121,13 +121,6 @@ or
was passed to
.BR pthread_mutexattr_setrobust ().
.SH VERSIONS
-.BR pthread_mutexattr_getrobust ()
-and
-.BR pthread_mutexattr_setrobust ()
-were added in glibc 2.12.
-.SH STANDARDS
-POSIX.1-2008.
-.SH NOTES
In the Linux implementation,
when using process-shared robust mutexes, a waiting thread also receives the
.B EOWNERDEAD
@@ -138,6 +131,11 @@ POSIX.1 does not specify this detail,
but the same behavior also occurs in at least some
.\" E.g., Solaris, according to its manual page
other implementations.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.12.
+POSIX.1-2008.
.PP
Before the addition of
.BR pthread_mutexattr_getrobust ()
diff --git a/man3/pthread_rwlockattr_setkind_np.3 b/man3/pthread_rwlockattr_setkind_np.3
index 7e750045c5..ff9051ce6f 100644
--- a/man3/pthread_rwlockattr_setkind_np.3
+++ b/man3/pthread_rwlockattr_setkind_np.3
@@ -110,14 +110,10 @@ returns a nonzero error number.
.B EINVAL
.I pref
specifies an unsupported value.
-.SH VERSIONS
-The
-.BR pthread_rwlockattr_getkind_np ()
-and
-.BR pthread_rwlockattr_setkind_np ()
-functions first appeared in glibc 2.1.
.SH STANDARDS
-These functions are non-standard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.1.
.SH SEE ALSO
.BR pthreads (7)
diff --git a/man3/pthread_self.3 b/man3/pthread_self.3
index 6066a61a61..7f99018af4 100644
--- a/man3/pthread_self.3
+++ b/man3/pthread_self.3
@@ -47,7 +47,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
POSIX.1 allows an implementation wide freedom in choosing
the type used to represent a thread ID;
diff --git a/man3/pthread_setaffinity_np.3 b/man3/pthread_setaffinity_np.3
index 9c14837975..ed2bb82d77 100644
--- a/man3/pthread_setaffinity_np.3
+++ b/man3/pthread_setaffinity_np.3
@@ -112,11 +112,18 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are provided since glibc 2.3.4.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.3.4.
+.PP
+In glibc 2.3.3 only,
+versions of these functions were provided that did not have a
+.I cpusetsize
+argument.
+Instead the CPU set size given to the underlying system calls was always
+.IR sizeof(cpu_set_t) .
.SH NOTES
After a call to
.BR pthread_setaffinity_np (),
@@ -137,13 +144,6 @@ and
.BR sched_getaffinity (2)
system calls.
.PP
-In glibc 2.3.3 only,
-versions of these functions were provided that did not have a
-.I cpusetsize
-argument.
-Instead the CPU set size given to the underlying system calls was always
-.IR sizeof(cpu_set_t) .
-.PP
A new thread created by
.BR pthread_create (3)
inherits a copy of its creator's CPU affinity mask.
diff --git a/man3/pthread_setcancelstate.3 b/man3/pthread_setcancelstate.3
index e44ca91f5e..685ed4fb78 100644
--- a/man3/pthread_setcancelstate.3
+++ b/man3/pthread_setcancelstate.3
@@ -122,10 +122,11 @@ T}
.ad
.sp 1
.hy
-.\" .SH VERSIONS
-.\" Available since glibc 2.0
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0
+POSIX.1-2001.
.SH NOTES
For details of what happens when a thread is canceled, see
.BR pthread_cancel (3).
diff --git a/man3/pthread_setconcurrency.3 b/man3/pthread_setconcurrency.3
index 8e44fd7113..dcce679af8 100644
--- a/man3/pthread_setconcurrency.3
+++ b/man3/pthread_setconcurrency.3
@@ -78,10 +78,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions are available since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH NOTES
The default concurrency level is 0.
.PP
diff --git a/man3/pthread_setname_np.3 b/man3/pthread_setname_np.3
index d5ce530b30..0e326bc5cd 100644
--- a/man3/pthread_setname_np.3
+++ b/man3/pthread_setname_np.3
@@ -99,11 +99,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.12.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.12.
.SH NOTES
.BR pthread_setname_np ()
internally writes to the thread-specific
diff --git a/man3/pthread_setschedparam.3 b/man3/pthread_setschedparam.3
index 59dbbe6092..4de5d4cd7e 100644
--- a/man3/pthread_setschedparam.3
+++ b/man3/pthread_setschedparam.3
@@ -136,10 +136,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" .SH VERSIONS
-.\" Available since glibc 2.0
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0
+POSIX.1-2001.
.SH NOTES
For a description of the permissions required to, and the effect of,
changing a thread's scheduling policy and priority,
diff --git a/man3/pthread_setschedprio.3 b/man3/pthread_setschedprio.3
index 650a33b6a4..caa6168255 100644
--- a/man3/pthread_setschedprio.3
+++ b/man3/pthread_setschedprio.3
@@ -77,10 +77,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.3.4.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.3.4.
+POSIX.1-2001.
.SH NOTES
For a description of the permissions required to, and the effect of,
changing a thread's scheduling priority,
diff --git a/man3/pthread_sigmask.3 b/man3/pthread_sigmask.3
index acbc620bf7..f91b6d365d 100644
--- a/man3/pthread_sigmask.3
+++ b/man3/pthread_sigmask.3
@@ -64,7 +64,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
A new thread inherits a copy of its creator's signal mask.
.PP
diff --git a/man3/pthread_sigqueue.3 b/man3/pthread_sigqueue.3
index 3777609f9c..cd2c229264 100644
--- a/man3/pthread_sigqueue.3
+++ b/man3/pthread_sigqueue.3
@@ -89,12 +89,6 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-The
-.BR pthread_sigqueue ()
-function first appeared in glibc 2.11.
-.SH STANDARDS
-This function is a GNU extension.
-.SH NOTES
The glibc implementation of
.BR pthread_sigqueue ()
gives an error
@@ -104,6 +98,10 @@ used internally by the NPTL threading implementation.
See
.BR nptl (7)
for details.
+.SH STANDARDS
+GNU.
+.SH HISTORY
+glibc 2.11.
.SH SEE ALSO
.BR rt_tgsigqueueinfo (2),
.BR sigaction (2),
diff --git a/man3/pthread_spin_init.3 b/man3/pthread_spin_init.3
index 511820fee0..450134f97f 100644
--- a/man3/pthread_spin_init.3
+++ b/man3/pthread_spin_init.3
@@ -103,9 +103,10 @@ a new spin lock.
.TP
.B ENOMEM
Insufficient memory to initialize the spin lock.
-.SH VERSIONS
-These functions were added in glibc 2.2.
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
POSIX.1-2001.
.PP
Support for process-shared spin locks is a POSIX option.
diff --git a/man3/pthread_spin_lock.3 b/man3/pthread_spin_lock.3
index 7a41f203dc..37898861a3 100644
--- a/man3/pthread_spin_lock.3
+++ b/man3/pthread_spin_lock.3
@@ -82,11 +82,12 @@ fails with the following errors:
.TP
.B EBUSY
The spin lock is currently locked by another thread.
-.SH VERSIONS
-These functions were added in glibc 2.2.
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
POSIX.1-2001.
-.SH NOTES
+.SH CAVEATS
Applying any of the functions described on this page to
an uninitialized spin lock results in undefined behavior.
.PP
diff --git a/man3/pthread_testcancel.3 b/man3/pthread_testcancel.3
index 797d387191..b976e1c78a 100644
--- a/man3/pthread_testcancel.3
+++ b/man3/pthread_testcancel.3
@@ -52,10 +52,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.\" SH VERSIONS
-.\" Available since glibc 2.0
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.0.
+POSIX.1-2001.
.SH EXAMPLES
See
.BR pthread_cleanup_push (3).
diff --git a/man3/pthread_tryjoin_np.3 b/man3/pthread_tryjoin_np.3
index d816f2e07c..d2def80e10 100644
--- a/man3/pthread_tryjoin_np.3
+++ b/man3/pthread_tryjoin_np.3
@@ -110,11 +110,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.3.3.
.SH STANDARDS
-These functions are nonstandard GNU extensions;
+GNU;
hence the suffix "_np" (nonportable) in the names.
+.SH HISTORY
+glibc 2.3.3.
.SH BUGS
The
.BR pthread_timedjoin_np ()
diff --git a/man3/pthread_yield.3 b/man3/pthread_yield.3
index e68cb53257..ec57bdaef6 100644
--- a/man3/pthread_yield.3
+++ b/man3/pthread_yield.3
@@ -53,17 +53,17 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-Since glibc 2.34, this function is marked as deprecated.
+On Linux, this function is implemented as a call to
+.BR sched_yield (2).
.SH STANDARDS
-This call is nonstandard, but present on several other systems.
+None.
+.SH HISTORY
+.\" BSD, Tru64, AIX, and Irix.
+Deprecated since glibc 2.34.
Use the standardized
.BR sched_yield (2)
instead.
-.\" e.g., the BSDs, Tru64, AIX, and Irix.
.SH NOTES
-On Linux, this function is implemented as a call to
-.BR sched_yield (2).
-.PP
.BR pthread_yield ()
is intended for use with real-time scheduling policies (i.e.,
.B SCHED_FIFO
diff --git a/man3/ptsname.3 b/man3/ptsname.3
index a4a4222b4e..d42ef713f0 100644
--- a/man3/ptsname.3
+++ b/man3/ptsname.3
@@ -110,16 +110,18 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR ptsname ()
-is provided since glibc 2.1.
+A version of
+.BR ptsname_r ()
+is documented on Tru64 and HP-UX,
+but on those implementations,
+\-1 is returned on error, with
+.I errno
+set to indicate the error.
+Avoid using this function in portable programs.
.SH STANDARDS
.TP
.BR ptsname ():
-POSIX.1-2001, POSIX.1-2008.
-.PP
-.BR ptsname ()
-is part of the UNIX 98 pseudoterminal support (see
-.BR pts (4)).
+POSIX.1-2008.
.PP
.BR ptsname_r ()
is a Linux extension, that is proposed for inclusion
@@ -127,11 +129,15 @@ is a Linux extension, that is proposed for inclusion
.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
.\" http://austingroupbugs.net/view.php?id=508
in the next major revision of POSIX.1 (Issue 8).
-A version of this function is documented on Tru64 and HP-UX, but
-on those implementations, \-1 is returned on error, with
-.I errno
-set to indicate the error.
-Avoid using this function in portable programs.
+.SH HISTORY
+.TP
+.BR ptsname ():
+POSIX.1-2001.
+glibc 2.1.
+.PP
+.BR ptsname ()
+is part of the UNIX 98 pseudoterminal support (see
+.BR pts (4)).
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
diff --git a/man3/putenv.3 b/man3/putenv.3
index ed13b693b9..59c2ff1cf7 100644
--- a/man3/putenv.3
+++ b/man3/putenv.3
@@ -81,8 +81,10 @@ T} Thread safety MT-Unsafe const:env
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
+.PP
The
.BR putenv ()
function is not required to be reentrant, and the
diff --git a/man3/putgrent.3 b/man3/putgrent.3
index 9f01b19d67..2373de1e6d 100644
--- a/man3/putgrent.3
+++ b/man3/putgrent.3
@@ -62,7 +62,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-This function is a GNU extension.
+GNU.
.SH SEE ALSO
.BR fgetgrent (3),
.BR getgrent (3),
diff --git a/man3/putpwent.3 b/man3/putpwent.3
index 615747b3f5..7683c53196 100644
--- a/man3/putpwent.3
+++ b/man3/putpwent.3
@@ -86,6 +86,8 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
SVr4.
.SH SEE ALSO
.BR endpwent (3),
diff --git a/man3/puts.3 b/man3/puts.3
index 10a7f0cb77..34e3a61086 100644
--- a/man3/puts.3
+++ b/man3/puts.3
@@ -103,7 +103,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, C99.
.SH BUGS
It is not advisable to mix calls to output functions from the
.I stdio
diff --git a/man3/putwchar.3 b/man3/putwchar.3
index ffc3e847e2..f6c7fd750c 100644
--- a/man3/putwchar.3
+++ b/man3/putwchar.3
@@ -74,7 +74,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR putwchar ()
diff --git a/man3/qecvt.3 b/man3/qecvt.3
index 7251bd91ad..78bcc88c3c 100644
--- a/man3/qecvt.3
+++ b/man3/qecvt.3
@@ -93,12 +93,11 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-SVr4.
-Not seen in most common UNIX implementations,
-but occurs in SunOS.
+None.
+.SH HISTORY
+SVr4, SunOS, GNU.
.\" Not supported by libc4 and libc5.
-Supported by glibc.
-.SH NOTES
+.PP
These functions are obsolete.
Instead,
.BR snprintf (3)
diff --git a/man3/qsort.3 b/man3/qsort.3
index e652bcd1fb..0801a7eb04 100644
--- a/man3/qsort.3
+++ b/man3/qsort.3
@@ -99,12 +99,17 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR qsort_r ()
-was added in glibc 2.8.
.SH STANDARDS
-.BR qsort ():
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+.TP
+.BR qsort ()
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR qsort ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
+.BR qsort_r ()
+glibc 2.8.
.SH NOTES
To compare C strings, the comparison function can call
.BR strcmp (3),
diff --git a/man3/raise.3 b/man3/raise.3
index 82903c118a..89afd746ec 100644
--- a/man3/raise.3
+++ b/man3/raise.3
@@ -63,8 +63,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
+.PP
Since glibc 2.3.3,
.BR raise ()
is implemented by calling
diff --git a/man3/rand.3 b/man3/rand.3
index 2692bc2354..e6cd1fa258 100644
--- a/man3/rand.3
+++ b/man3/rand.3
@@ -133,19 +133,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-The functions
-.BR rand ()
-and
-.BR srand ()
-conform to SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
-The function
-.BR rand_r ()
-is from POSIX.1-2001.
-POSIX.1-2008 marks
-.BR rand_r ()
-as obsolete.
-.SH NOTES
+.SH VERSIONS
The versions of
.BR rand ()
and
@@ -164,6 +152,25 @@ when good randomness is needed.
(Use
.BR random (3)
instead.)
+.SH STANDARDS
+.TP
+.BR rand ()
+.TQ
+.BR srand ()
+C11, POSIX.1-2008.
+.TP
+.BR rand_r ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR rand ()
+.TQ
+.BR srand ()
+SVr4, 4.3BSD, C89, POSIX.1-2001.
+.TP
+.BR rand_r ()
+POSIX.1-2001.
+Obsolete in POSIX.1-2008.
.SH EXAMPLES
POSIX.1-2001 gives the following example of an implementation of
.BR rand ()
diff --git a/man3/random.3 b/man3/random.3
index 7bc300d7ba..94f146a13d 100644
--- a/man3/random.3
+++ b/man3/random.3
@@ -156,16 +156,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
.SH NOTES
-The
-.BR random ()
-function should not be used in multithreaded programs
-where reproducible behavior is required.
-Use
-.BR random_r (3)
-for that purpose.
-.PP
Random-number generation is a complex topic.
.I Numerical Recipes in C: The Art of Scientific Computing
(William H.\& Press, Brian P.\& Flannery, Saul A.\& Teukolsky,
@@ -178,6 +172,14 @@ in depth, see Chapter 3 (Random Numbers) in Donald E.\& Knuth's
.IR "The Art of Computer Programming" ,
volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts:
Addison-Wesley Publishing Company, 1981.
+.SH CAVEATS
+The
+.BR random ()
+function should not be used in multithreaded programs
+where reproducible behavior is required.
+Use
+.BR random_r (3)
+for that purpose.
.SH BUGS
According to POSIX,
.BR initstate ()
diff --git a/man3/random_r.3 b/man3/random_r.3
index acbff1cd4f..b40c677172 100644
--- a/man3/random_r.3
+++ b/man3/random_r.3
@@ -159,7 +159,7 @@ T} Thread safety MT-Safe race:buf
.ad
.sp 1
.SH STANDARDS
-These functions are nonstandard glibc extensions.
+GNU.
.\" These functions appear to be on Tru64, but don't seem to be on
.\" Solaris, HP-UX, or FreeBSD.
.SH BUGS
diff --git a/man3/rcmd.3 b/man3/rcmd.3
index 35168c4c3d..c907ec74e4 100644
--- a/man3/rcmd.3
+++ b/man3/rcmd.3
@@ -271,20 +271,20 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-The functions
-.BR iruserok_af (),
-.BR rcmd_af (),
-.BR rresvport_af (),
-and
-.BR ruserok_af ()
-functions are provided since glibc 2.2.
.SH STANDARDS
-Not in POSIX.1.
-Present on the BSDs, Solaris, and many other systems.
-These
-functions appeared in
-4.2BSD.
+BSD.
+.SH HISTORY
+.TP
+.BR iruserok_af ()
+.TQ
+.BR rcmd_af ()
+.TQ
+.BR rresvport_af ()
+.TQ
+.BR ruserok_af ()
+glibc 2.2.
+.PP
+Solaris, 4.2BSD.
The "_af" variants are more recent additions,
and are not present on as wide a range of systems.
.SH BUGS
diff --git a/man3/re_comp.3 b/man3/re_comp.3
index 223bc54348..0ec5e1e044 100644
--- a/man3/re_comp.3
+++ b/man3/re_comp.3
@@ -65,8 +65,10 @@ T} Thread safety MT-Unsafe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD.
-.SH NOTES
+.PP
These functions are obsolete; the functions documented in
.BR regcomp (3)
should be used instead.
diff --git a/man3/readdir.3 b/man3/readdir.3
index 54f1d39c9f..cdb03ab332 100644
--- a/man3/readdir.3
+++ b/man3/readdir.3
@@ -209,17 +209,7 @@ It is expected that a future version of POSIX.1
will require that
.BR readdir ()
be thread-safe when concurrently employed on different directory streams.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
-.SH NOTES
-A directory stream is opened using
-.BR opendir (3).
-.PP
-The order in which filenames are read by successive calls to
-.BR readdir ()
-depends on the filesystem implementation;
-it is unlikely that the names will be sorted in any fashion.
-.PP
+.SH VERSIONS
Only the fields
.I d_name
and (as an XSI extension)
@@ -290,6 +280,18 @@ In such cases, the
field will contain a value that exceeds the size of the glibc
.I dirent
structure shown above.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
+.SH NOTES
+A directory stream is opened using
+.BR opendir (3).
+.PP
+The order in which filenames are read by successive calls to
+.BR readdir ()
+depends on the filesystem implementation;
+it is unlikely that the names will be sorted in any fashion.
.SH SEE ALSO
.BR getdents (2),
.BR read (2),
diff --git a/man3/readdir_r.3 b/man3/readdir_r.3
index cb4cea710a..9b34f991bf 100644
--- a/man3/readdir_r.3
+++ b/man3/readdir_r.3
@@ -141,6 +141,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR readdir (3)
diff --git a/man3/realpath.3 b/man3/realpath.3
index 0cb9e54faf..f36d81fd15 100644
--- a/man3/realpath.3
+++ b/man3/realpath.3
@@ -69,10 +69,6 @@ The caller should deallocate this buffer using
.\" Even if we use resolved_path == NULL, then realpath() will still
.\" return ENAMETOOLONG if the resolved pathname would exceed PATH_MAX
.\" bytes -- MTK, Dec 04
-.\" .SH HISTORY
-.\" The
-.\" .BR realpath ()
-.\" function first appeared in 4.4BSD, contributed by Jan-Simon Pendry.
.SH RETURN VALUE
If there is no error,
.BR realpath ()
@@ -137,14 +133,28 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+.SS GNU extensions
+If the call fails with either
+.B EACCES
+or
+.B ENOENT
+and
+.I resolved_path
+is not NULL, then the prefix of
+.I path
+that is not readable or does not exist is returned in
+.IR resolved_path .
.SH STANDARDS
-4.4BSD, POSIX.1-2001.
+POSIX.1-2008.
+.SH HISTORY
+4.4BSD, POSIX.1-2001, Solaris.
.PP
POSIX.1-2001 says that the behavior if
.I resolved_path
is NULL is implementation-defined.
POSIX.1-2008 specifies the behavior described in this page.
-.SH NOTES
+.PP
In 4.4BSD and Solaris, the limit on the pathname length is
.B MAXPATHLEN
(found in \fI<sys/param.h>\fP).
@@ -184,17 +194,6 @@ A typical source fragment would be
.\" .BR realpath ()
.\" is given in \fI<unistd.h>\fP in libc4 and libc5,
.\" but in \fI<stdlib.h>\fP everywhere else.
-.SS GNU extensions
-If the call fails with either
-.B EACCES
-or
-.B ENOENT
-and
-.I resolved_path
-is not NULL, then the prefix of
-.I path
-that is not readable or does not exist is returned in
-.IR resolved_path .
.SH BUGS
The POSIX.1-2001 standard version of this function is broken by design,
since it is impossible to determine a suitable size for the output buffer,
diff --git a/man3/regex.3 b/man3/regex.3
index 73cd459562..e8fed51475 100644
--- a/man3/regex.3
+++ b/man3/regex.3
@@ -326,7 +326,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
.EX
#include <stdint.h>
diff --git a/man3/remainder.3 b/man3/remainder.3
index 19ca625443..ab04ae984d 100644
--- a/man3/remainder.3
+++ b/man3/remainder.3
@@ -26,15 +26,14 @@ Math library
.nf
.B #include <math.h>
.PP
-/* The C99 versions */
.BI "double remainder(double " x ", double " y );
.BI "float remainderf(float " x ", float " y );
.BI "long double remainderl(long double " x ", long double " y );
.PP
/* Obsolete synonyms */
-.BI "double drem(double " x ", double " y );
-.BI "float dremf(float " x ", float " y );
-.BI "long double dreml(long double " x ", long double " y );
+.BI "[[deprecated]] double drem(double " x ", double " y );
+.BI "[[deprecated]] float dremf(float " x ", float " y );
+.BI "[[deprecated]] long double dreml(long double " x ", long double " y );
.fi
.PP
.RS -4
@@ -175,28 +174,37 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
.\" IEC 60559.
-The functions
-.BR remainder (),
-.BR remainderf (),
-and
+.TP
+.BR remainder ()
+.TQ
+.BR remainderf ()
+.TQ
.BR remainderl ()
-are specified in C99, POSIX.1-2001, and POSIX.1-2008.
-.PP
-The function
+C11, POSIX.1-2008.
+.TP
.BR drem ()
-is from 4.3BSD.
-The
-.I float
-and
-.I "long double"
-variants
+.TQ
.BR dremf ()
-and
+.TQ
.BR dreml ()
-exist on some systems, such as Tru64 and glibc2.
-Avoid the use of these functions in favor of
+None.
+.SH HISTORY
+.\" IEC 60559.
+.TP
.BR remainder ()
-etc.
+.TQ
+.BR remainderf ()
+.TQ
+.BR remainderl ()
+C99, POSIX.1-2001.
+.TP
+.BR drem ()
+4.3BSD.
+.TP
+.BR dremf ()
+.TQ
+.BR dreml ()
+Tru64, glibc2.
.SH BUGS
Before glibc 2.15,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6779
diff --git a/man3/remove.3 b/man3/remove.3
index a679b8adb3..125eb9e557 100644
--- a/man3/remove.3
+++ b/man3/remove.3
@@ -71,7 +71,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, 4.3BSD.
.\" .SH NOTES
.\" Under libc4 and libc5,
.\" .BR remove ()
diff --git a/man3/remquo.3 b/man3/remquo.3
index 8c764c9e0b..3b6b803b5d 100644
--- a/man3/remquo.3
+++ b/man3/remquo.3
@@ -130,10 +130,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR fmod (3),
.BR logb (3),
diff --git a/man3/resolver.3 b/man3/resolver.3
index b19b89e542..e6a3f318e8 100644
--- a/man3/resolver.3
+++ b/man3/resolver.3
@@ -498,6 +498,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR gethostbyname (3),
diff --git a/man3/rewinddir.3 b/man3/rewinddir.3
index a125414531..3b7ff779e0 100644
--- a/man3/rewinddir.3
+++ b/man3/rewinddir.3
@@ -51,7 +51,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR closedir (3),
.BR opendir (3),
diff --git a/man3/rexec.3 b/man3/rexec.3
index b1f219b579..ce0a4cde03 100644
--- a/man3/rexec.3
+++ b/man3/rexec.3
@@ -141,19 +141,15 @@ T} Thread safety MT-Unsafe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR rexec_af ()
-function was added in glibc 2.2.
.SH STANDARDS
-These functions are not in POSIX.1.
-The
+None.
+.SH HISTORY
+.TP
.BR rexec ()
-function first appeared in
-4.2BSD, and is present on the BSDs, Solaris, and many other systems.
-The
+4.2BSD, BSD, Solaris.
+.TP
.BR rexec_af ()
-function is more recent, and less widespread.
+glibc 2.2.
.SH BUGS
The
.BR rexec ()
diff --git a/man3/rint.3 b/man3/rint.3
index ac24c4550d..a21212288c 100644
--- a/man3/rint.3
+++ b/man3/rint.3
@@ -115,7 +115,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH NOTES
SUSv2 and POSIX.1-2001 contain text about overflow (which might set
.I errno
diff --git a/man3/round.3 b/man3/round.3
index ebfcc2434a..34c0efbf62 100644
--- a/man3/round.3
+++ b/man3/round.3
@@ -76,10 +76,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH NOTES
POSIX.1-2001 contains text about overflow (which might set
.I errno
diff --git a/man3/roundup.3 b/man3/roundup.3
index 92c4687034..55c59f9f89 100644
--- a/man3/roundup.3
+++ b/man3/roundup.3
@@ -33,7 +33,7 @@ See CAVEATS.
.SH RETURN VALUE
This macro returns the rounded value.
.SH STANDARDS
-This nonstandard macro is present in glibc and some BSDs.
+None.
.SH CAVEATS
The arguments may be evaluated more than once.
.PP
diff --git a/man3/rpmatch.3 b/man3/rpmatch.3
index 637cd79162..5f5246bb3d 100644
--- a/man3/rpmatch.3
+++ b/man3/rpmatch.3
@@ -123,9 +123,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-.BR rpmatch ()
-is not required by any standard,
-but available under the GNU C library, FreeBSD, and AIX.
+None.
+.SH HISTORY
+GNU, FreeBSD, AIX.
.SH BUGS
The
.BR YESEXPR " and " NOEXPR
diff --git a/man3/rtnetlink.3 b/man3/rtnetlink.3
index 460b2b5a58..8050d31d2d 100644
--- a/man3/rtnetlink.3
+++ b/man3/rtnetlink.3
@@ -80,7 +80,7 @@ returns the amount of space which will be needed in a message with
.I len
bytes of data.
.SH STANDARDS
-These macros are nonstandard Linux extensions.
+Linux.
.SH BUGS
This manual page is incomplete.
.SH EXAMPLES
diff --git a/man3/scalb.3 b/man3/scalb.3
index a25ca078f0..22cab303a2 100644
--- a/man3/scalb.3
+++ b/man3/scalb.3
@@ -172,26 +172,19 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
+.TP
.BR scalb ()
-is specified in POSIX.1-2001, but marked obsolescent.
-POSIX.1-2008 removes the specification of
-.BR scalb (),
+4.3BSD.
+Obsolescent in POSIX.1-2001;
+Removed in POSIX.1-2008,
recommending the use of
.BR scalbln (3),
.BR scalblnf (3),
or
.BR scalblnl (3)
instead.
-The
-.BR scalb ()
-function is from 4.3BSD.
-.PP
-.BR scalbf ()
-and
-.BR scalbl ()
-are unstandardized;
-.BR scalbf ()
-is nevertheless present on several other systems
.\" Looking at header files: scalbf() is present on the
.\" BSDs, Tru64, HP-UX 11, Irix 6.5; scalbl() is on HP-UX 11 and Tru64.
.SH BUGS
diff --git a/man3/scalbln.3 b/man3/scalbln.3
index 4a6acc58bf..98fec74da1 100644
--- a/man3/scalbln.3
+++ b/man3/scalbln.3
@@ -145,11 +145,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
+.SH HISTORY
These functions differ from the obsolete functions described in
.BR scalb (3)
in the type of their second argument.
@@ -158,7 +159,7 @@ of an integral type, while those in
.BR scalb (3)
have a second argument of type
.IR double .
-.PP
+.SH NOTES
If
.B FLT_RADIX
equals 2 (which is usual), then
diff --git a/man3/scandir.3 b/man3/scandir.3
index 83e896442b..27359c923b 100644
--- a/man3/scandir.3
+++ b/man3/scandir.3
@@ -202,21 +202,29 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
+.BR alphasort ()
+.TQ
+.BR scandir ()
+POSIX.1-2008.
+.TP
.BR versionsort ()
-was added in glibc 2.1.
-.PP
+.TQ
.BR scandirat ()
-was added in glibc 2.15.
-.SH STANDARDS
-.BR alphasort (),
-.BR scandir ():
+GNU.
+.SH HISTORY
+.TP
+.BR alphasort ()
+.TQ
+.BR scandir ()
4.3BSD, POSIX.1-2008.
-.PP
+.TP
.BR versionsort ()
-and
+glibc 2.1.
+.TP
.BR scandirat ()
-are GNU extensions.
+glibc 2.15.
.\" .LP
.\" The functions
.\" .BR scandir ()
diff --git a/man3/scanf.3 b/man3/scanf.3
index 249efab575..78255e8829 100644
--- a/man3/scanf.3
+++ b/man3/scanf.3
@@ -136,7 +136,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-These functions conform to C99 and POSIX.1-2001.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.SH SEE ALSO
.BR fgets (3),
.BR getline (3),
diff --git a/man3/sched_getcpu.3 b/man3/sched_getcpu.3
index 3bb1029359..f116b2dfb3 100644
--- a/man3/sched_getcpu.3
+++ b/man3/sched_getcpu.3
@@ -63,11 +63,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-This function is available since glibc 2.6.
.SH STANDARDS
-.BR sched_getcpu ()
-is glibc-specific.
+GNU.
+.SH HISTORY
+glibc 2.6.
.SH NOTES
The call
.PP
diff --git a/man3/seekdir.3 b/man3/seekdir.3
index befc3e6e1c..5b5b3e988b 100644
--- a/man3/seekdir.3
+++ b/man3/seekdir.3
@@ -67,8 +67,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
+.SH CAVEATS
Up to glibc 2.1.1, the type of the
.I loc
argument was
diff --git a/man3/sem_close.3 b/man3/sem_close.3
index 99c49a5521..a7b5a604de 100644
--- a/man3/sem_close.3
+++ b/man3/sem_close.3
@@ -50,7 +50,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
All open named semaphores are automatically closed on process
termination, or upon
diff --git a/man3/sem_destroy.3 b/man3/sem_destroy.3
index 33e9a1a6f8..a14f76a2cb 100644
--- a/man3/sem_destroy.3
+++ b/man3/sem_destroy.3
@@ -62,7 +62,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
An unnamed semaphore should be destroyed with
.BR sem_destroy ()
diff --git a/man3/sem_getvalue.3 b/man3/sem_getvalue.3
index 2fba639f68..57161cd155 100644
--- a/man3/sem_getvalue.3
+++ b/man3/sem_getvalue.3
@@ -64,7 +64,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The value of the semaphore may already have changed by the time
.BR sem_getvalue ()
diff --git a/man3/sem_init.3 b/man3/sem_init.3
index 0a5157cc56..e1dcc586e6 100644
--- a/man3/sem_init.3
+++ b/man3/sem_init.3
@@ -91,8 +91,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
POSIX.1-2001.
-.SH NOTES
+.PP
Bizarrely, POSIX.1-2001 does not specify the value that should
be returned by a successful call to
.BR sem_init ().
diff --git a/man3/sem_open.3 b/man3/sem_open.3
index 9cc33926ba..b8f4ada8c6 100644
--- a/man3/sem_open.3
+++ b/man3/sem_open.3
@@ -166,7 +166,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR sem_close (3),
.BR sem_getvalue (3),
diff --git a/man3/sem_post.3 b/man3/sem_post.3
index 26fca7bffe..9b6b026b9c 100644
--- a/man3/sem_post.3
+++ b/man3/sem_post.3
@@ -57,6 +57,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
POSIX.1-2001.
.SH NOTES
.BR sem_post ()
diff --git a/man3/sem_unlink.3 b/man3/sem_unlink.3
index e694fdaf59..6ccb17c0e0 100644
--- a/man3/sem_unlink.3
+++ b/man3/sem_unlink.3
@@ -58,7 +58,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH SEE ALSO
.BR sem_getvalue (3),
.BR sem_open (3),
diff --git a/man3/sem_wait.3 b/man3/sem_wait.3
index 788d687a78..7b61f6dbe8 100644
--- a/man3/sem_wait.3
+++ b/man3/sem_wait.3
@@ -131,7 +131,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The (somewhat trivial) program shown below operates on an
unnamed semaphore.
diff --git a/man3/setaliasent.3 b/man3/setaliasent.3
index 6586e53873..0b67451a41 100644
--- a/man3/setaliasent.3
+++ b/man3/setaliasent.3
@@ -127,7 +127,8 @@ T} Thread safety MT-Unsafe
.ad
.sp 1
.SH STANDARDS
-These routines are glibc-specific.
+GNU.
+.SH HISTORY
The NeXT system has similar routines:
.PP
.in +4n
diff --git a/man3/setbuf.3 b/man3/setbuf.3
index b4ba7d8f1a..7ee7c56a06 100644
--- a/man3/setbuf.3
+++ b/man3/setbuf.3
@@ -160,12 +160,18 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The
+.TP
+.BR setbuf ()
+.TQ
+.BR setvbuf ()
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
.BR setbuf ()
-and
+.TQ
.BR setvbuf ()
-functions conform to C89 and C99.
-.SH NOTES
+C89, POSIX.1-2001.
+.SH CAVEATS
POSIX notes
.\" https://www.austingroupbugs.net/view.php?id=397#c799
.\" 0000397: setbuf and errno
diff --git a/man3/setenv.3 b/man3/setenv.3
index d2619fd3b7..86b7860f18 100644
--- a/man3/setenv.3
+++ b/man3/setenv.3
@@ -120,13 +120,9 @@ T} Thread safety MT-Unsafe const:env
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.SH NOTES
-POSIX.1 does not require
-.BR setenv ()
-or
-.BR unsetenv ()
-to be reentrant.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
.PP
Prior to glibc 2.2.2,
.BR unsetenv ()
@@ -135,6 +131,12 @@ as returning
.IR void ;
more recent glibc versions follow the
POSIX.1-compliant prototype shown in the SYNOPSIS.
+.SH CAVEATS
+POSIX.1 does not require
+.BR setenv ()
+or
+.BR unsetenv ()
+to be reentrant.
.SH BUGS
POSIX.1 specifies that if
.I name
diff --git a/man3/setjmp.3 b/man3/setjmp.3
index a8516590a2..138db4ca2c 100644
--- a/man3/setjmp.3
+++ b/man3/setjmp.3
@@ -141,14 +141,28 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR setjmp (),
-.BR longjmp ():
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+.TP
+.BR setjmp ()
+.TQ
+.BR longjmp ()
+C11, POSIX.1-2008.
+.TP
+.BR sigsetjmp ()
+.TQ
+.BR siglongjmp ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR setjmp ()
+.TQ
+.BR longjmp ()
+POSIX.1-2001, C89.
+.TP
+.BR sigsetjmp ()
+.TQ
+.BR siglongjmp ()
+POSIX.1-2001.
.PP
-.BR sigsetjmp (),
-.BR siglongjmp ():
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
POSIX does not specify whether
.BR setjmp ()
will save the signal mask
@@ -188,7 +202,7 @@ with calls to
with a nonzero
.I savesigs
argument.
-.PP
+.SH NOTES
.BR setjmp ()
and
.BR longjmp ()
@@ -203,7 +217,7 @@ if you want to portably save and restore signal masks, use
and
.BR siglongjmp ().
See also the discussion of program readability below.
-.PP
+.SH CAVEATS
The compiler may optimize variables into registers, and
.BR longjmp ()
may restore the values of other registers in addition to the
@@ -259,7 +273,7 @@ calls may not even be in the same source code module.
In summary, nonlocal gotos can make programs harder to understand
and maintain, and an alternative should be used if possible.
.\"
-.SS Caveats
+.SS Undefined Behavior
If the function which called
.BR setjmp ()
returns before
diff --git a/man3/setlocale.3 b/man3/setlocale.3
index 1604ad883d..cf44d5e858 100644
--- a/man3/setlocale.3
+++ b/man3/setlocale.3
@@ -199,19 +199,49 @@ T} Thread safety MT-Unsafe const:locale env
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
-The C standards specify only the categories
-.BR LC_ALL ,
-.BR LC_COLLATE ,
-.BR LC_CTYPE ,
-.BR LC_MONETARY ,
-.BR LC_NUMERIC ,
-and
-.BR LC_TIME .
-POSIX.1 adds
-.BR LC_MESSAGES .
-The remaining categories are GNU extensions.
+C11, POSIX.1-2008.
+.SS Categories
+.TP
+.B LC_ALL
+.TQ
+.B LC_COLLATE
+.TQ
+.B LC_CTYPE
+.TQ
+.B LC_MONETARY
+.TQ
+.B LC_NUMERIC
+.TQ
+.B LC_TIME
+C11, POSIX.1-2008.
+.TP
+.BR LC_MESSAGES
+POSIX.1-2008.
+.TP
+Others:
+GNU.
+.SH HISTORY
+POSIX.1-2001, C89.
+.SS Categories
+.TP
+.B LC_ALL
+.TQ
+.B LC_COLLATE
+.TQ
+.B LC_CTYPE
+.TQ
+.B LC_MONETARY
+.TQ
+.B LC_NUMERIC
+.TQ
+.B LC_TIME
+C89, POSIX.1-2001.
+.TP
+.BR LC_MESSAGES
+POSIX.1-2001.
+.TP
+Others:
+GNU.
.SH SEE ALSO
.BR locale (1),
.BR localedef (1),
diff --git a/man3/setlogmask.3 b/man3/setlogmask.3
index 01c8e75e4c..c5030e7e0d 100644
--- a/man3/setlogmask.3
+++ b/man3/setlogmask.3
@@ -74,7 +74,9 @@ T} Thread safety MT-Unsafe race:LogMask
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.\" Note that the description in POSIX.1-2001 is flawed.
.PP
.BR LOG_UPTO ()
diff --git a/man3/setnetgrent.3 b/man3/setnetgrent.3
index 7e324b6236..38b4920997 100644
--- a/man3/setnetgrent.3
+++ b/man3/setnetgrent.3
@@ -144,8 +144,13 @@ or
.BR endnetgrent ()
are used in parallel in different threads of a program,
then data races could occur.
+.SH VERSIONS
+In the BSD implementation,
+.BR setnetgrent ()
+returns void.
.SH STANDARDS
-These functions are not in POSIX.1, but
+None.
+.SH HISTORY
.BR setnetgrent (),
.BR endnetgrent (),
.BR getnetgrent (),
@@ -155,10 +160,6 @@ are available on most UNIX systems.
.BR getnetgrent_r ()
is not widely available on other systems.
.\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
-.SH NOTES
-In the BSD implementation,
-.BR setnetgrent ()
-returns void.
.SH SEE ALSO
.BR sethostent (3),
.BR setprotoent (3),
diff --git a/man3/shm_open.3 b/man3/shm_open.3
index e189f7c551..c888c969c1 100644
--- a/man3/shm_open.3
+++ b/man3/shm_open.3
@@ -239,18 +239,6 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH VERSIONS
-These functions are provided in glibc 2.2 and later.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.PP
-POSIX.1-2001 says that the group ownership of a newly created shared
-memory object is set to either the calling process's effective group ID
-or "a system default group ID".
-POSIX.1-2008 says that the group ownership
-may be set to either the calling process's effective group ID
-or, if the object is visible in the filesystem,
-the group ID of the parent directory.
-.SH NOTES
POSIX leaves the behavior of the combination of
.B O_RDONLY
and
@@ -264,6 +252,19 @@ of a dedicated
.BR tmpfs (5)
filesystem that is normally mounted under
.IR /dev/shm .
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.
+POSIX.1-2001.
+.PP
+POSIX.1-2001 says that the group ownership of a newly created shared
+memory object is set to either the calling process's effective group ID
+or "a system default group ID".
+POSIX.1-2008 says that the group ownership
+may be set to either the calling process's effective group ID
+or, if the object is visible in the filesystem,
+the group ID of the parent directory.
.SH EXAMPLES
The programs below employ POSIX shared memory and POSIX unnamed semaphores
to exchange a piece of data.
diff --git a/man3/siginterrupt.3 b/man3/siginterrupt.3
index e849f6e659..1712bb2805 100644
--- a/man3/siginterrupt.3
+++ b/man3/siginterrupt.3
@@ -19,7 +19,7 @@ Standard C library
.nf
.B #include <signal.h>
.PP
-.BI "int siginterrupt(int " sig ", int " flag );
+.BI "[[deprecated]] int siginterrupt(int " sig ", int " flag );
.fi
.PP
.RS -4
@@ -86,10 +86,11 @@ T}
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
4.3BSD, POSIX.1-2001.
-POSIX.1-2008 marks
-.BR siginterrupt ()
-as obsolete, recommending the use of
+Obsolete in POSIX.1-2008,
+recommending the use of
.BR sigaction (2)
with the
.B SA_RESTART
diff --git a/man3/signbit.3 b/man3/signbit.3
index 281e31ab42..4135da199c 100644
--- a/man3/signbit.3
+++ b/man3/signbit.3
@@ -72,7 +72,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
+.PP
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
.SH SEE ALSO
diff --git a/man3/significand.3 b/man3/significand.3
index 350c311e9f..1648698512 100644
--- a/man3/significand.3
+++ b/man3/significand.3
@@ -67,11 +67,14 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-These functions are nonstandard; the
-.I double
-version is available on a number of other systems.
-.\" .SH HISTORY
-.\" This function came from BSD.
+None.
+.TP
+.BR significand ()
+BSD.
+.SH HISTORY
+.TP
+.BR significand ()
+BSD.
.SH SEE ALSO
.BR ilogb (3),
.BR scalb (3)
diff --git a/man3/sigpause.3 b/man3/sigpause.3
index 78b0608b23..bbe743462e 100644
--- a/man3/sigpause.3
+++ b/man3/sigpause.3
@@ -13,9 +13,9 @@ Standard C library
.nf
.B #include <signal.h>
.PP
-.BI "int sigpause(int " sigmask "); /* BSD (but see NOTES) */"
+.BI "[[deprecated]] int sigpause(int " sigmask "); /* BSD (but see NOTES) */"
.PP
-.BI "int sigpause(int " sig "); /* System V / UNIX 95 */"
+.BI "[[deprecated]] int sigpause(int " sig "); /* POSIX.1 / SysV / UNIX 95 */"
.fi
.SH DESCRIPTION
Don't use this function.
@@ -62,29 +62,7 @@ T} Thread safety MT-Safe
.\" glibc manual says /!linux!bsd indicate the preceding marker only applies
.\" when the underlying kernel is neither Linux nor a BSD kernel.
.\" So, it is safe in Linux kernel.
-.SH STANDARDS
-The System V version of
-.BR sigpause ()
-is standardized in POSIX.1-2001.
-It is also specified in POSIX.1-2008, where it is marked obsolete.
-.SH NOTES
-.SS History
-The classical BSD version of this function appeared in 4.2BSD.
-It sets the process's signal mask to
-.IR sigmask .
-UNIX 95 standardized the incompatible System V version of
-this function, which removes only the specified signal
-.I sig
-from the process's signal mask.
-.\" __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
-The unfortunate situation with two incompatible functions with the
-same name was solved by the
-.BR \%sigsuspend (2)
-function, that takes a
-.I "sigset_t\ *"
-argument (instead of an
-.IR int ).
-.SS Linux notes
+.SH VERSIONS
On Linux, this routine is a system call only on the Sparc (sparc64)
architecture.
.PP
@@ -119,6 +97,27 @@ should be amended to use
.\" For the BSD version, one usually uses a zero
.\" .I sigmask
.\" to indicate that no signals are to be blocked.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+Obsoleted in POSIX.1-2008.
+.PP
+The classical BSD version of this function appeared in 4.2BSD.
+It sets the process's signal mask to
+.IR sigmask .
+UNIX 95 standardized the incompatible System V version of
+this function, which removes only the specified signal
+.I sig
+from the process's signal mask.
+.\" __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
+The unfortunate situation with two incompatible functions with the
+same name was solved by the
+.BR \%sigsuspend (2)
+function, that takes a
+.I "sigset_t\ *"
+argument (instead of an
+.IR int ).
.SH SEE ALSO
.BR kill (2),
.BR sigaction (2),
diff --git a/man3/sigqueue.3 b/man3/sigqueue.3
index cfb4bc46d9..c2bff7aa37 100644
--- a/man3/sigqueue.3
+++ b/man3/sigqueue.3
@@ -115,20 +115,6 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH VERSIONS
-.BR sigqueue ()
-and the underlying
-.BR rt_sigqueueinfo (2)
-system call first appeared in Linux 2.2.
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-If this function results in the sending of a signal to the process
-that invoked it, and that signal was not blocked by the calling thread,
-and no other threads were willing to handle this signal (either by
-having it unblocked, or by waiting for it using
-.BR sigwait (3)),
-then at least some signal must be delivered to this thread before this
-function returns.
.SS C library/kernel differences
On Linux,
.BR sigqueue ()
@@ -156,6 +142,19 @@ uinfo.si_uid = getuid(); /* Real UID of sender */
uinfo.si_value = val; /* Argument supplied to sigqueue() */
.EE
.in
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+Linux 2.2.
+POSIX.1-2001.
+.SH NOTES
+If this function results in the sending of a signal to the process
+that invoked it, and that signal was not blocked by the calling thread,
+and no other threads were willing to handle this signal (either by
+having it unblocked, or by waiting for it using
+.BR sigwait (3)),
+then at least some signal must be delivered to this thread before this
+function returns.
.SH SEE ALSO
.BR kill (2),
.BR rt_sigqueueinfo (2),
diff --git a/man3/sigset.3 b/man3/sigset.3
index c1eea871b8..9e6637ef90 100644
--- a/man3/sigset.3
+++ b/man3/sigset.3
@@ -15,11 +15,11 @@ Standard C library
.PP
.B typedef void (*sighandler_t)(int);
.PP
-.BI "sighandler_t sigset(int " sig ", sighandler_t " disp );
+.BI "[[deprecated]] sighandler_t sigset(int " sig ", sighandler_t " disp );
.PP
-.BI "int sighold(int " sig );
-.BI "int sigrelse(int " sig );
-.BI "int sigignore(int " sig );
+.BI "[[deprecated]] int sighold(int " sig );
+.BI "[[deprecated]] int sigrelse(int " sig );
+.BI "[[deprecated]] int sigignore(int " sig );
.fi
.PP
.RS -4
@@ -171,15 +171,16 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-SVr4, POSIX.1-2001, POSIX.1-2008.
-These functions are obsolete: do not use them in new programs.
-POSIX.1-2008 marks
-.BR sighold (),
-.BR sigignore (),
-.BR sigpause (3),
-.BR sigrelse (),
-and
-.BR sigset ()
+POSIX.1-2008.
+.TP
+.I sighandler_t
+GNU.
+POSIX.1 uses the same type but without a
+.IR typedef .
+.SH HISTORY
+glibc 2.1.
+SVr4, POSIX.1-2001.
+POSIX.1-2008 marks these functions
as obsolete, recommending the use of
.BR sigaction (2),
.BR sigprocmask (2),
@@ -188,14 +189,6 @@ and
.BR sigsuspend (2)
instead.
.SH NOTES
-These functions appeared in glibc 2.1.
-.PP
-The
-.I sighandler_t
-type is a GNU extension; it is used on this page only to make the
-.BR sigset ()
-prototype more easily readable.
-.PP
The
.BR sigset ()
function provides reliable signal handling semantics (as when calling
diff --git a/man3/sigsetops.3 b/man3/sigsetops.3
index b49d874472..089c342567 100644
--- a/man3/sigsetops.3
+++ b/man3/sigsetops.3
@@ -135,18 +135,8 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
-When creating a filled signal set, the glibc
-.BR sigfillset ()
-function does not include the two real-time signals used internally
-by the NPTL threading implementation.
-See
-.BR nptl (7)
-for details.
-.\"
-.SS glibc extensions
+.SH VERSIONS
+.SS GNU
If the
.B _GNU_SOURCE
feature test macro is defined, then \fI<signal.h>\fP
@@ -184,6 +174,18 @@ Both functions return 0 on success, and \-1 on failure.
.PP
These functions are nonstandard (a few other systems provide similar
functions) and their use should be avoided in portable applications.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SH NOTES
+When creating a filled signal set, the glibc
+.BR sigfillset ()
+function does not include the two real-time signals used internally
+by the NPTL threading implementation.
+See
+.BR nptl (7)
+for details.
.SH SEE ALSO
.BR sigaction (2),
.BR sigpending (2),
diff --git a/man3/sigvec.3 b/man3/sigvec.3
index 8a0484ca5f..6865b9a76e 100644
--- a/man3/sigvec.3
+++ b/man3/sigvec.3
@@ -13,13 +13,14 @@ Standard C library
.nf
.B #include <signal.h>
.PP
-.BI "int sigvec(int " sig ", const struct sigvec *" vec ", struct sigvec *" ovec );
+.BI "[[deprecated]] int sigvec(int " sig ", const struct sigvec *" vec ,
+.BI " struct sigvec *" ovec );
.PP
-.BI "int sigmask(int " signum );
+.BI "[[deprecated]] int sigmask(int " signum );
.PP
-.BI "int sigblock(int " mask );
-.BI "int sigsetmask(int " mask );
-.B int siggetmask(void);
+.BI "[[deprecated]] int sigblock(int " mask );
+.BI "[[deprecated]] int sigsetmask(int " mask );
+.B [[deprecated]] int siggetmask(void);
.fi
.PP
.RS -4
@@ -229,19 +230,24 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-Starting with glibc 2.21, the GNU C library no longer exports the
-.BR sigvec ()
-function as part of the ABI.
-(To ensure backward compatibility,
-the glibc symbol versioning scheme continues to export the interface
-to binaries linked against older versions of the library.)
.SH STANDARDS
-All of these functions were in
-4.3BSD, except
-.BR siggetmask (),
-whose origin is unclear.
-These functions are obsolete: do not use them in new programs.
+None.
+.SH HISTORY
+.TP
+.BR sigvec ()
+.TQ
+.BR sigblock ()
+.TQ
+.BR sigmask ()
+.TQ
+.BR sigsetmask ()
+4.3BSD.
+.TP
+.BR siggetmask ()
+Unclear origin.
+.TP
+.BR sigvec ()
+Removed in glibc 2.21.
.SH NOTES
On 4.3BSD, the
.BR signal ()
diff --git a/man3/sigwait.3 b/man3/sigwait.3
index 321a182fec..3f1df3e279 100644
--- a/man3/sigwait.3
+++ b/man3/sigwait.3
@@ -81,9 +81,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
.BR sigwait ()
is implemented using
.BR sigtimedwait (2).
@@ -95,6 +93,10 @@ are used internally by the NPTL threading implementation.
See
.BR nptl (7)
for details.
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
See
.BR pthread_sigmask (3).
diff --git a/man3/sin.3 b/man3/sin.3
index 65386e10aa..3b403ff3b1 100644
--- a/man3/sin.3
+++ b/man3/sin.3
@@ -99,7 +99,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/sincos.3 b/man3/sincos.3
index 7e0f564ac8..6e05c9f00f 100644
--- a/man3/sincos.3
+++ b/man3/sincos.3
@@ -86,10 +86,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-These functions are GNU extensions.
+GNU.
+.SH HISTORY
+glibc 2.1.
.SH NOTES
To see the performance advantage of
.BR sincos (),
diff --git a/man3/sinh.3 b/man3/sinh.3
index 80eb79a6e5..ebb8bbb7e4 100644
--- a/man3/sinh.3
+++ b/man3/sinh.3
@@ -115,7 +115,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/sleep.3 b/man3/sleep.3
index 387f87e43f..4d2d4e5814 100644
--- a/man3/sleep.3
+++ b/man3/sleep.3
@@ -43,9 +43,7 @@ T} Thread safety MT-Unsafe sig:SIGCHLD/linux
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On Linux,
.BR sleep ()
is implemented via
@@ -53,7 +51,7 @@ is implemented via
See the
.BR nanosleep (2)
man page for a discussion of the clock used.
-.SS Portability notes
+.PP
On some systems,
.BR sleep ()
may be implemented using
@@ -66,7 +64,11 @@ mixing calls to
and
.BR sleep ()
is a bad idea.
-.PP
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SH CAVEATS
Using
.BR longjmp (3)
from a signal handler or modifying the handling of
diff --git a/man3/slist.3 b/man3/slist.3
index 030972f7a5..2aa31865c4 100644
--- a/man3/slist.3
+++ b/man3/slist.3
@@ -241,9 +241,9 @@ structure, respectively.
returns an initializer that can be assigned to the list
.IR head .
.SH STANDARDS
-Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
-Present on the BSDs
-(SLIST macros first appeared in 4.4BSD).
+BSD.
+.SH HISTORY
+4.4BSD.
.SH BUGS
.BR SLIST_FOREACH ()
doesn't allow
diff --git a/man3/sockatmark.3 b/man3/sockatmark.3
index b55e4fe95c..254145cfc4 100644
--- a/man3/sockatmark.3
+++ b/man3/sockatmark.3
@@ -70,11 +70,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR sockatmark ()
-was added in glibc 2.2.4.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.2.4.
+POSIX.1-2001.
.SH NOTES
If
.BR sockatmark ()
diff --git a/man3/sqrt.3 b/man3/sqrt.3
index 7fb9a58db4..010d305619 100644
--- a/man3/sqrt.3
+++ b/man3/sqrt.3
@@ -98,7 +98,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/sscanf.3 b/man3/sscanf.3
index 308bf42c41..4269eda27c 100644
--- a/man3/sscanf.3
+++ b/man3/sscanf.3
@@ -558,7 +558,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-These functions conform to C99 and POSIX.1-2001.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.PP
The
.B q
diff --git a/man3/stailq.3 b/man3/stailq.3
index 13a154f07c..ddbcccc83f 100644
--- a/man3/stailq.3
+++ b/man3/stailq.3
@@ -284,11 +284,7 @@ structure, respectively.
.BR STAILQ_HEAD_INITIALIZER ()
returns an initializer that can be assigned to the queue
.IR head .
-.SH STANDARDS
-Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
-Present on the BSDs
-(STAILQ macros first appeared in 4.4BSD).
-.SH NOTES
+.SH VERSIONS
Some BSDs provide SIMPLEQ instead of STAILQ.
They are identical, but for historical reasons
they were named differently on different BSDs.
@@ -309,6 +305,10 @@ fixes this limitation by allowing
.I var
to safely be removed from the list and freed from within the loop
without interfering with the traversal.
+.SH STANDARDS
+BSD.
+.SH HISTORY
+4.4BSD.
.SH EXAMPLES
.\" SRC BEGIN (stailq.c)
.EX
diff --git a/man3/statvfs.3 b/man3/statvfs.3
index fb2899abcc..b1f0e7545a 100644
--- a/man3/statvfs.3
+++ b/man3/statvfs.3
@@ -191,9 +191,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.PP
+.SH VERSIONS
Only the
.B ST_NOSUID
and
@@ -210,22 +208,6 @@ and
.BR fstatfs (2)
to support this library call.
.PP
-Before glibc 2.13,
-.\" glibc commit 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
-.BR statvfs ()
-populated the bits of the
-.I f_flag
-field by scanning the mount options shown in
-.IR /proc/mounts .
-However, starting with Linux 2.6.36, the underlying
-.BR statfs (2)
-system call provides the necessary information via the
-.I f_flags
-field, and since glibc 2.13, the
-.BR statvfs ()
-function will use information from that field rather than scanning
-.IR /proc/mounts .
-.PP
The glibc implementations of
.PP
.in +4n
@@ -245,5 +227,25 @@ fields returned by a call to
.BR statvfs ()
with the argument
.IR path .
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.PP
+Before glibc 2.13,
+.\" glibc commit 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
+.BR statvfs ()
+populated the bits of the
+.I f_flag
+field by scanning the mount options shown in
+.IR /proc/mounts .
+However, starting with Linux 2.6.36, the underlying
+.BR statfs (2)
+system call provides the necessary information via the
+.I f_flags
+field, and since glibc 2.13, the
+.BR statvfs ()
+function will use information from that field rather than scanning
+.IR /proc/mounts .
.SH SEE ALSO
.BR statfs (2)
diff --git a/man3/stdarg.3 b/man3/stdarg.3
index 3a66019139..59af5d58e4 100644
--- a/man3/stdarg.3
+++ b/man3/stdarg.3
@@ -224,16 +224,19 @@ T} Thread safety MT-Safe race:ap
.ad
.sp 1
.SH STANDARDS
-The
-.BR va_start (),
-.BR va_arg (),
-and
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR va_start ()
+.TQ
+.BR va_arg ()
+.TQ
.BR va_end ()
-macros conform to C89.
-C99 defines the
+C89, POSIX.1-2001.
+.TP
.BR va_copy ()
-macro.
-.SH BUGS
+C99, POSIX.1-2001.
+.SH CAVEATS
Unlike the historical
.B varargs
macros, the
diff --git a/man3/stdin.3 b/man3/stdin.3
index caa65a40fd..e80f482819 100644
--- a/man3/stdin.3
+++ b/man3/stdin.3
@@ -114,14 +114,12 @@ The standard streams are closed by a call to
.BR exit (3)
and by normal program termination.
.SH STANDARDS
-The
-.IR stdin ,
-.IR stdout ,
-and
-.I stderr
-macros conform to C89
-and this standard also stipulates that these three
+C11, POSIX.1-2008.
+.PP
+The standards also stipulate that these three
streams shall be open at program startup.
+.SH HISTORY
+C89, POSIX.1-2001.
.SH NOTES
The stream
.I stderr
diff --git a/man3/stdio.3 b/man3/stdio.3
index 628f9b6900..fb99cdd218 100644
--- a/man3/stdio.3
+++ b/man3/stdio.3
@@ -333,9 +333,9 @@ T}
.ad
.hy
.SH STANDARDS
-The
-.I stdio
-library conforms to C89.
+C11, POSIX.1-2008.
+.SH HISTORY
+C89, POSIX.1-2001.
.SH SEE ALSO
.BR close (2),
.BR open (2),
diff --git a/man3/stpncpy.3 b/man3/stpncpy.3
index 70e80195c1..8e2af8c77b 100644
--- a/man3/stpncpy.3
+++ b/man3/stpncpy.3
@@ -16,10 +16,10 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "char *stpncpy(char " dst "[restrict ." sz "], \
+.BI "char *strncpy(char " dst "[restrict ." sz "], \
const char *restrict " src ,
.BI " size_t " sz );
-.BI "char *strncpy(char " dst "[restrict ." sz "], \
+.BI "char *stpncpy(char " dst "[restrict ." sz "], \
const char *restrict " src ,
.BI " size_t " sz );
.fi
@@ -52,29 +52,29 @@ An implementation of these functions might be:
.in +4n
.EX
char *
-stpncpy(char *restrict dst, const char *restrict src, size_t sz)
+strncpy(char *restrict dst, const char *restrict src, size_t sz)
{
- bzero(dst, sz);
- return mempcpy(dst, src, strnlen(src, sz));
+ stpncpy(dst, src, sz);
+ return dst;
}
char *
-strncpy(char *restrict dst, const char *restrict src, size_t sz)
+stpncpy(char *restrict dst, const char *restrict src, size_t sz)
{
- stpncpy(dst, src, sz);
- return dst;
+ bzero(dst, sz);
+ return mempcpy(dst, src, strnlen(src, sz));
}
.EE
.in
.SH RETURN VALUE
.TP
-.BR stpncpy ()
-returns a pointer to
-one after the last character in the destination character sequence.
-.TP
.BR strncpy ()
returns
.IR dst .
+.TP
+.BR stpncpy ()
+returns a pointer to
+one after the last character in the destination character sequence.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -95,13 +95,19 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
.TP
+.BR strncpy ()
+C11, POSIX.1-2008.
+.TP
.BR stpncpy ()
POSIX.1-2008.
-.\" Before that, it was a GNU extension.
-.\" It first appeared in glibc 1.07 in 1993.
+.SH STANDARDS
.TP
.BR strncpy ()
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C89, POSIX.1-2001, SVr4, 4.3BSD.
+.TP
+.BR stpncpy ()
+glibc 1.07.
+POSIX.1-2008.
.SH CAVEATS
The name of these functions is confusing.
These functions produce a null-padded character sequence,
@@ -134,14 +140,6 @@ main(void)
char buf2[20];
size_t len;
- if (sizeof(buf1) < strlen("Hello world!"))
- warnx("stpncpy: truncating character sequence");
- p = stpncpy(buf1, "Hello world!", sizeof(buf1));
- len = p \- buf1;
-
- printf("[len = %zu]: ", len);
- printf("%.*s\en", (int) len, buf1); // "Hello world!"
-
if (sizeof(buf2) < strlen("Hello world!"))
warnx("strncpy: truncating character sequence");
strncpy(buf2, "Hello world!", sizeof(buf2));
@@ -150,6 +148,14 @@ main(void)
printf("[len = %zu]: ", len);
printf("%.*s\en", (int) len, buf2); // "Hello world!"
+ if (sizeof(buf1) < strlen("Hello world!"))
+ warnx("stpncpy: truncating character sequence");
+ p = stpncpy(buf1, "Hello world!", sizeof(buf1));
+ len = p \- buf1;
+
+ printf("[len = %zu]: ", len);
+ printf("%.*s\en", (int) len, buf1); // "Hello world!"
+
exit(EXIT_SUCCESS);
}
.EE
diff --git a/man3/strcasecmp.3 b/man3/strcasecmp.3
index 146ecfcbe9..7bebe7a53d 100644
--- a/man3/strcasecmp.3
+++ b/man3/strcasecmp.3
@@ -77,8 +77,10 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-4.4BSD, POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+4.4BSD, POSIX.1-2001.
+.PP
The
.BR strcasecmp ()
and
diff --git a/man3/strchr.3 b/man3/strchr.3
index 5952009c96..d3d88beebf 100644
--- a/man3/strchr.3
+++ b/man3/strchr.3
@@ -101,16 +101,24 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR strchrnul ()
-was added in glibc 2.1.1.
.SH STANDARDS
-.BR strchr (),
-.BR strrchr ():
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.PP
+.TP
+.BR strchr ()
+.TQ
+.BR strrchr ()
+C11, POSIX.1-2008.
+.TP
+.BR strchrnul ()
+GNU.
+.SH HISTORY
+.TP
+.BR strchr ()
+.TQ
+.BR strrchr ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
.BR strchrnul ()
-is a GNU extension.
+glibc 2.1.1.
.SH SEE ALSO
.BR memchr (3),
.BR string (3),
diff --git a/man3/strcmp.3 b/man3/strcmp.3
index 63de49e18a..2a58c37e0c 100644
--- a/man3/strcmp.3
+++ b/man3/strcmp.3
@@ -94,9 +94,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
+.SH VERSIONS
POSIX.1 specifies only that:
.RS
.PP
@@ -114,6 +112,10 @@ the last compared byte in
from the last compared byte in
.IR s1 .
(If the two characters are equal, this difference is 0.)
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH EXAMPLES
The program below can be used to demonstrate the operation of
.BR strcmp ()
diff --git a/man3/strcoll.3 b/man3/strcoll.3
index 6ebbadcb02..56c2fc435b 100644
--- a/man3/strcoll.3
+++ b/man3/strcoll.3
@@ -68,7 +68,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH NOTES
In the
.I "POSIX"
diff --git a/man3/strcpy.3 b/man3/strcpy.3
index 02b6fbd8ca..03ffeaedc6 100644
--- a/man3/strcpy.3
+++ b/man3/strcpy.3
@@ -123,7 +123,16 @@ POSIX.1-2008.
.BR strcpy ()
.TQ
.BR strcat ()
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH STANDARDS
+.TP
+.BR stpcpy ()
+POSIX.1-2008.
+.TP
+.BR strcpy ()
+.TQ
+.BR strcat ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
The strings
.I src
diff --git a/man3/strdup.3 b/man3/strdup.3
index 0e928b909c..82d438b5e8 100644
--- a/man3/strdup.3
+++ b/man3/strdup.3
@@ -116,15 +116,28 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.\" 4.3BSD-Reno, not (first) 4.3BSD.
+.TP
.BR strdup ()
-conforms to SVr4, 4.3BSD, POSIX.1-2001.
+.TQ
.BR strndup ()
-conforms to POSIX.1-2008.
+POSIX.1-2008.
+.TP
.BR strdupa ()
-and
+.TQ
+.BR strndupa ()
+GNU.
+.SH HISTORY
+.TP
+.BR strdup ()
+SVr4, 4.3BSD-Reno, POSIX.1-2001.
+.TP
+.BR strndup ()
+POSIX.1-2008.
+.TP
+.BR strdupa ()
+.TQ
.BR strndupa ()
-are GNU extensions.
+GNU.
.SH SEE ALSO
.BR alloca (3),
.BR calloc (3),
diff --git a/man3/strerror.3 b/man3/strerror.3
index cd9f468407..1c80449d37 100644
--- a/man3/strerror.3
+++ b/man3/strerror.3
@@ -243,35 +243,24 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR strerror_l ()
-function first appeared in glibc 2.6.
-.PP
-The
-.BR strerrorname_np ()
-and
-.BR strerrordesc_np ()
-functions first appeared in glibc 2.32.
.SH STANDARDS
+.TP
.BR strerror ()
-is specified by POSIX.1-2001, POSIX.1-2008, C89, and C99.
+C11, POSIX.1-2008.
+.TP
.BR strerror_r ()
-is specified by POSIX.1-2001 and POSIX.1-2008.
.\" FIXME . for later review when Issue 8 is one day released...
.\" A future POSIX.1 may remove strerror_r()
.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
.\" http://austingroupbugs.net/view.php?id=508
-.PP
+.TQ
.BR strerror_l ()
-is specified in POSIX.1-2008.
-.PP
-The GNU-specific functions
-.BR strerror_r (),
-.BR strerrorname_np (),
-and
+POSIX.1-2008.
+.TP
+.BR strerrorname_np ()
+.TQ
.BR strerrordesc_np ()
-are nonstandard extensions.
+GNU.
.PP
POSIX.1-2001 permits
.BR strerror ()
@@ -292,6 +281,22 @@ to
.B EINVAL
if the error number is unknown.
C99 and POSIX.1-2008 require the return value to be non-NULL.
+.SH HISTORY
+.TP
+.BR strerror ()
+POSIX.1-2001, C89.
+.TP
+.BR strerror_r ()
+POSIX.1-2001.
+.TP
+.BR strerror_l ()
+glibc 2.6.
+POSIX.1-2008.
+.TP
+.BR strerrorname_np ()
+.TQ
+.BR strerrordesc_np ()
+glibc 2.32.
.SH NOTES
The GNU C Library uses a buffer of 1024 characters for
.BR strerror ().
diff --git a/man3/strfmon.3 b/man3/strfmon.3
index dc1ce38479..a7f7333a2f 100644
--- a/man3/strfmon.3
+++ b/man3/strfmon.3
@@ -163,7 +163,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH EXAMPLES
The call
.PP
diff --git a/man3/strfromd.3 b/man3/strfromd.3
index a6db6922c9..6101af75c7 100644
--- a/man3/strfromd.3
+++ b/man3/strfromd.3
@@ -174,22 +174,18 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
Note: these attributes are preliminary.
+.SH STANDARDS
+ISO/IEC TS 18661-1.
.SH VERSIONS
-The
-.BR strfromd (),
-.BR strfromf (),
-and
+.TP
+.BR strfromd ()
+.TQ
+.BR strfromf ()
+.TQ
.BR strfroml ()
-functions are available since glibc 2.25.
-.SH STANDARDS
-C99, ISO/IEC TS 18661-1.
+glibc 2.25.
.SH NOTES
-The
-.BR strfromd (),
-.BR strfromf (),
-and
-.BR strfroml ()
-functions take account of the
+These functions take account of the
.B LC_NUMERIC
category of the current locale.
.SH EXAMPLES
diff --git a/man3/strfry.3 b/man3/strfry.3
index 1ba870b8b3..f1f539ea0d 100644
--- a/man3/strfry.3
+++ b/man3/strfry.3
@@ -52,10 +52,7 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The
-.BR strfry ()
-function is unique to the
-GNU C Library.
+GNU.
.SH SEE ALSO
.BR memfrob (3),
.BR string (3)
diff --git a/man3/strftime.3 b/man3/strftime.3
index b820abf700..38bb8814bd 100644
--- a/man3/strftime.3
+++ b/man3/strftime.3
@@ -541,17 +541,23 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-.BR strftime ():
-SVr4, C89, C99.
-.PD 0
-.PP
-.PD
-.BR strftime_l ():
+.TP
+.BR strftime ()
+C11, POSIX.1-2008.
+.TP
+.BR strftime_l ()
POSIX.1-2008.
-.PP
+.SH HISTORY
+.TP
+.BR strftime ()
+SVr4, C89.
.\" FIXME strftime() is in POSIX.1-2001 and POSIX.1-2008, but the details
.\" in the standards changed across versions. Investigate and
.\" write up.
+.TP
+.BR strftime_l ()
+POSIX.1-2008.
+.PP
There are strict inclusions between the set of conversions
given in ANSI C (unmarked), those given in the Single UNIX Specification
(marked SU), those given in Olson's timezone package (marked TZ),
diff --git a/man3/strlen.3 b/man3/strlen.3
index f8c9bc0c61..ac587a48fd 100644
--- a/man3/strlen.3
+++ b/man3/strlen.3
@@ -49,7 +49,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, C11, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH NOTES
In cases where the input buffer may not contain
a terminating null byte,
diff --git a/man3/strncat.3 b/man3/strncat.3
index af5027c09c..9a9fa4f4d2 100644
--- a/man3/strncat.3
+++ b/man3/strncat.3
@@ -66,7 +66,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
The name of this function is confusing.
This function has no relation to
diff --git a/man3/strnlen.3 b/man3/strnlen.3
index 528754d8ee..9f922f6cac 100644
--- a/man3/strnlen.3
+++ b/man3/strnlen.3
@@ -80,5 +80,7 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2008.
.SH SEE ALSO
.BR strlen (3)
diff --git a/man3/strpbrk.3 b/man3/strpbrk.3
index f81a263af9..9d4ac93277 100644
--- a/man3/strpbrk.3
+++ b/man3/strpbrk.3
@@ -55,7 +55,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR memchr (3),
.BR strchr (3),
diff --git a/man3/strptime.3 b/man3/strptime.3
index d470d726c3..69996f3989 100644
--- a/man3/strptime.3
+++ b/man3/strptime.3
@@ -279,7 +279,9 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SUSv2.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SUSv2.
.SH NOTES
In principle, this function does not initialize
.I tm
diff --git a/man3/strsep.3 b/man3/strsep.3
index 103d9b7886..6d7c661769 100644
--- a/man3/strsep.3
+++ b/man3/strsep.3
@@ -83,8 +83,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.4BSD.
-.SH NOTES
+.PP
The
.BR strsep ()
function was introduced as a replacement for
diff --git a/man3/strsignal.3 b/man3/strsignal.3
index 77c68037fd..03b437ac6a 100644
--- a/man3/strsignal.3
+++ b/man3/strsignal.3
@@ -132,29 +132,32 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
+.SH STANDARDS
+.TP
+.BR strsignal ()
+POSIX.1-2008.
+.TP
.BR sigdescr_np ()
-and
+.TQ
.BR sigabbrev_np ()
-first appeared in glibc 2.32.
-.PP
-Starting with glibc 2.32,
-.\" glibc commit b1ccfc061feee9ce616444ded8e1cd5acf9fa97f
-the
+GNU.
+.TP
.I sys_siglist
-symbol is no longer exported by glibc.
-.SH STANDARDS
-.BR strsignal ():
+None.
+.\" glibc commit b1ccfc061feee9ce616444ded8e1cd5acf9fa97f
+.SH HISTORY
+.TP
+.BR strsignal ()
POSIX.1-2008.
-Present on Solaris and the BSDs.
-.PP
+Solaris, BSD.
+.TP
.BR sigdescr_np ()
-and
+.TQ
.BR sigabbrev_np ()
-are GNU extensions.
-.PP
+glibc 2.32.
+.TP
.I sys_siglist
-is nonstandard, but present on many other systems.
+Removed in glibc 2.32.
.SH NOTES
.BR sigdescr_np ()
and
diff --git a/man3/strspn.3 b/man3/strspn.3
index fbb0b40434..941d310d7f 100644
--- a/man3/strspn.3
+++ b/man3/strspn.3
@@ -73,7 +73,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR memchr (3),
.BR strchr (3),
diff --git a/man3/strstr.3 b/man3/strstr.3
index 2f41cd1628..53eee80802 100644
--- a/man3/strstr.3
+++ b/man3/strstr.3
@@ -73,12 +73,19 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-.BR strstr ():
-POSIX.1-2001, POSIX.1-2008, C89, C99.
-.PP
-The
+.TP
+.BR strstr ()
+C11, POSIX.1-2008.
+.TP
+.BR strcasestr ()
+GNU.
+.SH HISTORY
+.TP
+.BR strstr ()
+POSIX.1-2001, C89.
+.TP
.BR strcasestr ()
-function is a nonstandard extension.
+GNU.
.SH SEE ALSO
.BR memchr (3),
.BR memmem (3),
diff --git a/man3/strtod.3 b/man3/strtod.3
index eb1dd650c2..9d7ab11a80 100644
--- a/man3/strtod.3
+++ b/man3/strtod.3
@@ -156,21 +156,7 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
-.PP
-.BR strtod ()
-was also described in C89.
-.SH NOTES
-Since
-0 can legitimately be returned
-on both success and failure, the calling program should set
-.I errno
-to 0 before the call,
-and then determine if an error occurred by checking whether
-.I errno
-has a nonzero value after the call.
-.PP
+.SH VERSIONS
In the glibc implementation, the
.I n-char-sequence
that optionally follows "NAN"
@@ -185,6 +171,26 @@ mantissa component of the returned value.
.\" something similar.
.\" C11 says: "An implementation may use the n-char sequence to determine
.\" extra information to be represented in the NaN's significant."
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR strtod ()
+C89, POSIX.1-2001.
+.TP
+.BR strtof ()
+.TQ
+.BR strtold ()
+C99, POSIX.1-2001.
+.SH NOTES
+Since
+0 can legitimately be returned
+on both success and failure, the calling program should set
+.I errno
+to 0 before the call,
+and then determine if an error occurred by checking whether
+.I errno
+has a nonzero value after the call.
.SH EXAMPLES
See the example on the
.BR strtol (3)
diff --git a/man3/strtoimax.3 b/man3/strtoimax.3
index ca2c4dc402..541e7e481f 100644
--- a/man3/strtoimax.3
+++ b/man3/strtoimax.3
@@ -60,7 +60,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR imaxabs (3),
.BR imaxdiv (3),
diff --git a/man3/strtok.3 b/man3/strtok.3
index db52fb25c9..e990921106 100644
--- a/man3/strtok.3
+++ b/man3/strtok.3
@@ -171,14 +171,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-.TP
-.BR strtok ()
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.TP
-.BR strtok_r ()
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
On some implementations,
.\" Tru64, according to its manual page
.I *saveptr
@@ -186,6 +179,20 @@ is required to be NULL on the first call to
.BR strtok_r ()
that is being used to parse
.IR str .
+.SH STANDARDS
+.TP
+.BR strtok ()
+C11, POSIX.1-2008.
+.TP
+.BR strtok_r ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR strtok ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
+.BR strtok_r ()
+POSIX.1-2001.
.SH BUGS
Be cautious when using these functions.
If you do use them, note that:
diff --git a/man3/strtol.3 b/man3/strtol.3
index 34eb63414a..3c5ddddb30 100644
--- a/man3/strtol.3
+++ b/man3/strtol.3
@@ -160,11 +160,14 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-.BR strtol ():
-POSIX.1-2001, POSIX.1-2008, C89, C99 SVr4, 4.3BSD.
-.PP
-.BR strtoll ():
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR strtol ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
+.BR strtoll ()
+POSIX.1-2001, C99.
.SH NOTES
Since
.BR strtol ()
diff --git a/man3/strtoul.3 b/man3/strtoul.3
index b43a0b1dd3..14c72fb774 100644
--- a/man3/strtoul.3
+++ b/man3/strtoul.3
@@ -160,11 +160,14 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-.BR strtoul ():
-POSIX.1-2001, POSIX.1-2008, C89, C99 SVr4.
-.PP
-.BR strtoull ():
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR strtoul ()
+POSIX.1-2001, C89, SVr4.
+.TP
+.BR strtoull ()
+POSIX.1-2001, C99.
.SH NOTES
Since
.BR strtoul ()
diff --git a/man3/strverscmp.3 b/man3/strverscmp.3
index ac06c4d8a1..ad781ab9a2 100644
--- a/man3/strverscmp.3
+++ b/man3/strverscmp.3
@@ -99,7 +99,7 @@ T} Thread safety MT-Safe
.\" we may call isdigit() in macro, then strverscmp() should not have locale
.\" problem.
.SH STANDARDS
-This function is a GNU extension.
+GNU.
.SH EXAMPLES
The program below can be used to demonstrate the behavior of
.BR strverscmp ().
diff --git a/man3/strxfrm.3 b/man3/strxfrm.3
index 59f96fd94d..4c92fea4d1 100644
--- a/man3/strxfrm.3
+++ b/man3/strxfrm.3
@@ -77,7 +77,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR memcmp (3),
.BR setlocale (3),
diff --git a/man3/swab.3 b/man3/swab.3
index 55564efe7f..2f7a3236b9 100644
--- a/man3/swab.3
+++ b/man3/swab.3
@@ -72,6 +72,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
.BR bstring (3)
diff --git a/man3/sysconf.3 b/man3/sysconf.3
index 2650cfa860..a15e1483a3 100644
--- a/man3/sysconf.3
+++ b/man3/sysconf.3
@@ -370,7 +370,9 @@ T} Thread safety MT-Safe env
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH BUGS
It is difficult to use
.B ARG_MAX
diff --git a/man3/syslog.3 b/man3/syslog.3
index e971417acd..6fa3a1b3f1 100644
--- a/man3/syslog.3
+++ b/man3/syslog.3
@@ -281,14 +281,35 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-The functions
-.BR openlog (),
-.BR closelog (),
-and
+.TP
+.BR syslog ()
+.TQ
+.BR openlog ()
+.TQ
+.BR closelog ()
+POSIX.1-2008.
+.TP
+.BR vsyslog ()
+None.
+.SH HISTORY
+.TP
.BR syslog ()
-(but not
-.BR vsyslog ())
-are specified in SUSv2, POSIX.1-2001, and POSIX.1-2008.
+4.2BSD, SUSv2, POSIX.1-2001.
+.TP
+.BR openlog ()
+.TQ
+.BR closelog ()
+4.3BSD, SUSv2, POSIX.1-2001.
+.\" .SH HISTORY
+.\" 4.3BSD documents
+.\" .BR setlogmask ().
+.TP
+.BR vsyslog ()
+4.3BSD-Reno.
+.\" Of course early v* functions used the
+.\" .I <varargs.h>
+.\" mechanism, which is not compatible with
+.\" .IR <stdarg.h> .
.PP
POSIX.1-2001 specifies only the
.B LOG_USER
@@ -310,22 +331,6 @@ value for
.I option
is not specified by POSIX.1-2001 or POSIX.1-2008, but is available
in most versions of UNIX.
-.\" .SH HISTORY
-.\" A
-.\" .BR syslog ()
-.\" function call appeared in 4.2BSD.
-.\" 4.3BSD documents
-.\" .BR openlog (),
-.\" .BR syslog (),
-.\" .BR closelog (),
-.\" and
-.\" .BR setlogmask ().
-.\" 4.3BSD-Reno also documents
-.\" .BR vsyslog ().
-.\" Of course early v* functions used the
-.\" .I <varargs.h>
-.\" mechanism, which is not compatible with
-.\" .IR <stdarg.h> .
.SH NOTES
The argument
.I ident
diff --git a/man3/system.3 b/man3/system.3
index a66ddfa372..867632bb3e 100644
--- a/man3/system.3
+++ b/man3/system.3
@@ -119,7 +119,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89.
.SH NOTES
.BR system ()
provides simplicity and convenience:
diff --git a/man3/sysv_signal.3 b/man3/sysv_signal.3
index c80b1b8caf..aa75609b82 100644
--- a/man3/sysv_signal.3
+++ b/man3/sysv_signal.3
@@ -59,9 +59,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-This function is nonstandard.
-.SH NOTES
+.SH VERSIONS
Use of
.BR sysv_signal ()
should be avoided; use
@@ -86,6 +84,8 @@ this type is defined only if
the
.B _GNU_SOURCE
feature test macro is defined.
+.SH STANDARDS
+None.
.SH SEE ALSO
.BR sigaction (2),
.BR signal (2),
diff --git a/man3/tailq.3 b/man3/tailq.3
index 2474a674c9..e57dd6438e 100644
--- a/man3/tailq.3
+++ b/man3/tailq.3
@@ -315,10 +315,10 @@ structure, respectively.
returns an initializer that can be assigned to the queue
.IR head .
.SH STANDARDS
-Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
-Present on the BSDs.
-(TAILQ functions first appeared in 4.4BSD).
-.SH BUGS
+BSD.
+.SH HISTORY
+4.4BSD.
+.SH CAVEATS
.BR TAILQ_FOREACH ()
and
.BR TAILQ_FOREACH_REVERSE ()
diff --git a/man3/tan.3 b/man3/tan.3
index ff8de23086..e4afae40df 100644
--- a/man3/tan.3
+++ b/man3/tan.3
@@ -124,7 +124,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/tanh.3 b/man3/tanh.3
index 6846196bca..c9bff10b57 100644
--- a/man3/tanh.3
+++ b/man3/tanh.3
@@ -91,7 +91,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+C99, POSIX.1-2001.
.PP
The variant returning
.I double
diff --git a/man3/tcgetpgrp.3 b/man3/tcgetpgrp.3
index 2c1409f4a9..edf50a80f8 100644
--- a/man3/tcgetpgrp.3
+++ b/man3/tcgetpgrp.3
@@ -109,15 +109,17 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+.SH VERSIONS
These functions are implemented via the
.B TIOCGPGRP
and
.B TIOCSPGRP
ioctls.
-.SS History
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.PP
The ioctls appeared in 4.2BSD.
The functions are POSIX inventions.
.SH SEE ALSO
diff --git a/man3/tcgetsid.3 b/man3/tcgetsid.3
index b560a884a1..9ea42bbda4 100644
--- a/man3/tcgetsid.3
+++ b/man3/tcgetsid.3
@@ -61,12 +61,12 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR tcgetsid ()
-is provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
+.PP
This function is implemented via the
.B TIOCGSID
.BR ioctl (2),
diff --git a/man3/telldir.3 b/man3/telldir.3
index 42d8b1a7b9..60b4f784af 100644
--- a/man3/telldir.3
+++ b/man3/telldir.3
@@ -67,8 +67,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.3BSD.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.3BSD.
+.PP
Up to glibc 2.1.1, the return type of
.BR telldir ()
was
diff --git a/man3/tempnam.3 b/man3/tempnam.3
index 2d46f09601..1b517659d6 100644
--- a/man3/tempnam.3
+++ b/man3/tempnam.3
@@ -109,10 +109,10 @@ T} Thread safety MT-Safe env
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
-POSIX.1-2008 marks
-.BR tempnam ()
-as obsolete.
+Obsoleted in POSIX.1-2008.
.SH NOTES
Although
.BR tempnam ()
diff --git a/man3/termios.3 b/man3/termios.3
index 2d7fc69a51..05d342c7ab 100644
--- a/man3/termios.3
+++ b/man3/termios.3
@@ -1126,23 +1126,59 @@ T} Thread safety MT-Safe
.\" So, it is safety in Linux kernel.
.hy
.SH STANDARDS
-.BR tcgetattr (),
-.BR tcsetattr (),
-.BR tcsendbreak (),
-.BR tcdrain (),
-.BR tcflush (),
-.BR tcflow (),
-.BR cfgetispeed (),
-.BR cfgetospeed (),
-.BR cfsetispeed (),
-and
+.TP
+.BR tcgetattr ()
+.TQ
+.BR tcsetattr ()
+.TQ
+.BR tcsendbreak ()
+.TQ
+.BR tcdrain ()
+.TQ
+.BR tcflush ()
+.TQ
+.BR tcflow ()
+.TQ
+.BR cfgetispeed ()
+.TQ
+.BR cfgetospeed ()
+.TQ
+.BR cfsetispeed ()
+.TQ
.BR cfsetospeed ()
-are specified in POSIX.1-2001.
-.PP
+POSIX.1-2008.
+.TP
.BR cfmakeraw ()
-and
+.TQ
+.BR cfsetspeed ()
+BSD.
+.SH HISTORY
+.TP
+.BR tcgetattr ()
+.TQ
+.BR tcsetattr ()
+.TQ
+.BR tcsendbreak ()
+.TQ
+.BR tcdrain ()
+.TQ
+.BR tcflush ()
+.TQ
+.BR tcflow ()
+.TQ
+.BR cfgetispeed ()
+.TQ
+.BR cfgetospeed ()
+.TQ
+.BR cfsetispeed ()
+.TQ
+.BR cfsetospeed ()
+POSIX.1-2001.
+.TP
+.BR cfmakeraw ()
+.TQ
.BR cfsetspeed ()
-are nonstandard, but available on the BSDs.
+BSD.
.SH NOTES
UNIX\ V7 and several later systems have a list of baud rates
where after the values
diff --git a/man3/tgamma.3 b/man3/tgamma.3
index 298e6f1096..9a4c8d1dd7 100644
--- a/man3/tgamma.3
+++ b/man3/tgamma.3
@@ -175,10 +175,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH NOTES
This function had to be called "true gamma function"
since there is already a function
diff --git a/man3/timegm.3 b/man3/timegm.3
index b67e1ed365..ed207d93ae 100644
--- a/man3/timegm.3
+++ b/man3/timegm.3
@@ -13,7 +13,7 @@ Standard C library
.nf
.B #include <time.h>
.PP
-.BI "time_t timelocal(struct tm *" tm );
+.BI "[[deprecated]] time_t timelocal(struct tm *" tm );
.BI "time_t timegm(struct tm *" tm );
.PP
.fi
@@ -79,9 +79,10 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-These functions are nonstandard GNU extensions
-that are also present on the BSDs.
-.SH NOTES
+BSD.
+.SH HISTORY
+GNU, BSD.
+.PP
The
.BR timelocal ()
function is equivalent to the POSIX standard function
diff --git a/man3/timeradd.3 b/man3/timeradd.3
index 2185edca3e..cf23d6cf2f 100644
--- a/man3/timeradd.3
+++ b/man3/timeradd.3
@@ -135,8 +135,9 @@ return true (nonzero) or false (0).
.SH ERRORS
No errors are defined.
.SH STANDARDS
-Not in POSIX.1.
-Present on most BSD derivatives.
+None.
+.SH HISTORY
+BSD.
.SH SEE ALSO
.BR gettimeofday (2),
.BR time (7)
diff --git a/man3/tmpfile.3 b/man3/tmpfile.3
index fd39b6e1d7..cbb59b9e09 100644
--- a/man3/tmpfile.3
+++ b/man3/tmpfile.3
@@ -77,15 +77,7 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD, SUSv2.
-.SH NOTES
-POSIX.1-2001 specifies:
-an error message may be written to
-.I stdout
-if the stream
-cannot be opened.
-.PP
+.SH VERSIONS
The standard does not specify the directory that
.BR tmpfile ()
will use.
@@ -96,6 +88,16 @@ in
.IR <stdio.h> ,
and if that fails, then the directory
.IR /tmp .
+.SH STANDARDS
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C89, SVr4, 4.3BSD, SUSv2.
+.SH NOTES
+POSIX.1-2001 specifies:
+an error message may be written to
+.I stdout
+if the stream
+cannot be opened.
.SH SEE ALSO
.BR exit (3),
.BR mkstemp (3),
diff --git a/man3/tmpnam.3 b/man3/tmpnam.3
index 8f9a2af5b4..a8e93a0838 100644
--- a/man3/tmpnam.3
+++ b/man3/tmpnam.3
@@ -15,8 +15,8 @@ Standard C library
.nf
.B #include <stdio.h>
.PP
-.BI "char *tmpnam(char *" s );
-.BI "char *tmpnam_r(char *" s );
+.BI "[[deprecated]] char *tmpnam(char *" s );
+.BI "[[deprecated]] char *tmpnam_r(char *" s );
.fi
.PP
.RS -4
@@ -106,16 +106,20 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR tmpnam ():
-SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
-POSIX.1-2008 marks
+.TP
.BR tmpnam ()
-as obsolete.
-.PP
+C11, POSIX.1-2008.
+.TP
+.BR tmpnam_r ()
+None.
+.SH HISTORY
+.TP
+.BR tmpnam ()
+SVr4, 4.3BSD, C89, POSIX.1-2001.
+Obsolete in POSIX.1-2008.
+.TP
.BR tmpnam_r ()
-is a nonstandard extension that is also available
-.\" Appears to be on Solaris
-on a few other systems.
+Solaris.
.SH NOTES
The
.BR tmpnam ()
diff --git a/man3/toascii.3 b/man3/toascii.3
index e056b23ba9..f37562580f 100644
--- a/man3/toascii.3
+++ b/man3/toascii.3
@@ -57,10 +57,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
SVr4, BSD, POSIX.1-2001.
-POSIX.1-2008 marks
-.BR toascii ()
-as obsolete,
+Obsolete in POSIX.1-2008,
noting that it cannot be used portably in a localized application.
.SH BUGS
Many people will be unhappy if you use this function.
diff --git a/man3/toupper.3 b/man3/toupper.3
index 0df8209d92..fa3d685121 100644
--- a/man3/toupper.3
+++ b/man3/toupper.3
@@ -112,12 +112,26 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-.BR toupper (),
-.BR tolower ():
-C89, C99, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
-.PP
-.BR toupper_l (),
-.BR tolower_l ():
+.TP
+.BR toupper ()
+.TQ
+.BR tolower ()
+C11, POSIX.1-2008.
+.TP
+.BR toupper_l ()
+.TQ
+.BR tolower_l ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR toupper ()
+.TQ
+.BR tolower ()
+C89, 4.3BSD, POSIX.1-2001.
+.TP
+.BR toupper_l ()
+.TQ
+.BR tolower_l ()
POSIX.1-2008.
.SH NOTES
The standards require that the argument
diff --git a/man3/towctrans.3 b/man3/towctrans.3
index 6165818dff..b8dca62ac4 100644
--- a/man3/towctrans.3
+++ b/man3/towctrans.3
@@ -69,7 +69,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR towctrans ()
diff --git a/man3/towlower.3 b/man3/towlower.3
index edc6b573c9..64377c7616 100644
--- a/man3/towlower.3
+++ b/man3/towlower.3
@@ -102,16 +102,21 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
+.SH STANDARDS
+.TP
+.BR towlower ()
+C11, POSIX.1-2008 (XSI).
+.TP
.BR towlower_l ()
-function first appeared in glibc 2.3.
+POSIX.1-2008.
.SH STANDARDS
-.BR towlower ():
-C99, POSIX.1-2001 (XSI);
-present as an XSI extension in POSIX.1-2008, but marked obsolete.
-.PP
-.BR towlower_l ():
+.TP
+.BR towlower ()
+C99, POSIX.1-2001 (XSI).
+Obsolete in POSIX.1-2008 (XSI).
+.TP
+.BR towlower_l ()
+glibc 2.3.
POSIX.1-2008.
.SH NOTES
The behavior of these functions depends on the
diff --git a/man3/towupper.3 b/man3/towupper.3
index e0a943a2e5..7d9aabed9a 100644
--- a/man3/towupper.3
+++ b/man3/towupper.3
@@ -101,17 +101,22 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR towupper_l ()
-function first appeared in glibc 2.3.
.SH STANDARDS
-.BR towupper ():
-C99, POSIX.1-2001 (XSI);
-present as an XSI extension in POSIX.1-2008, but marked obsolete.
-.PP
-.BR towupper_l ():
+.TP
+.BR towupper ()
+C11, POSIX.1-2008 (XSI).
+.TP
+.BR towupper_l ()
+POSIX.1-2008.
+.SH HISTORY
+.TP
+.BR towupper ()
+C99, POSIX.1-2001 (XSI).
+Obsolete in POSIX.1-2008 (XSI).
+.TP
+.BR towupper_l ()
POSIX.1-2008.
+glibc 2.3.
.SH NOTES
The behavior of these functions depends on the
.B LC_CTYPE
diff --git a/man3/trunc.3 b/man3/trunc.3
index bb2a125ad0..42071922ae 100644
--- a/man3/trunc.3
+++ b/man3/trunc.3
@@ -63,10 +63,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-These functions were added in glibc 2.1.
.SH STANDARDS
-C99, POSIX.1-2001, POSIX.1-2008.
+C11, POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+C99, POSIX.1-2001.
.SH NOTES
The integral value returned by these functions may be too large
to store in an integer type
diff --git a/man3/tsearch.3 b/man3/tsearch.3
index 91fc90bbda..35b0528861 100644
--- a/man3/tsearch.3
+++ b/man3/tsearch.3
@@ -220,16 +220,34 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR twalk_r ()
-is available since glibc 2.30.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4.
-The functions
+.TP
+.BR tsearch ()
+.TQ
+.BR tfind ()
+.TQ
+.BR tdelete ()
+.TQ
+.BR twalk ()
+POSIX.1-2008.
+.TP
.BR tdestroy ()
-and
+.TQ
+.BR twalk_r ()
+GNU.
+.SH HISTORY
+.TP
+.BR tsearch ()
+.TQ
+.BR tfind ()
+.TQ
+.BR tdelete ()
+.TQ
+.BR twalk ()
+POSIX.1-2001, POSIX.1-2008, SVr4.
+.TP
.BR twalk_r ()
-are GNU extensions.
+glibc 2.30.
.SH NOTES
.BR twalk ()
takes a pointer to the root, while the other functions
diff --git a/man3/ttyname.3 b/man3/ttyname.3
index 4bd7b15edd..60f9c9cb2e 100644
--- a/man3/ttyname.3
+++ b/man3/ttyname.3
@@ -83,7 +83,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, 4.2BSD.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, 4.2BSD.
.SH NOTES
A process that keeps a file descriptor that refers to a
.BR pts (4)
diff --git a/man3/ttyslot.3 b/man3/ttyslot.3
index 358b9d4fa9..36946bb94d 100644
--- a/man3/ttyslot.3
+++ b/man3/ttyslot.3
@@ -122,14 +122,16 @@ T} Thread safety MT-Unsafe
.hy
.ad
.sp 1
-.SH STANDARDS
-SUSv1; marked as LEGACY in SUSv2; removed in POSIX.1-2001.
-SUSv2 requires \-1 on error.
-.SH NOTES
+.SH VERSIONS
The utmp file is found in various places on various systems, such as
.IR /etc/utmp ,
.IR /var/adm/utmp ,
.IR /var/run/utmp .
+.SH STANDARDS
+None.
+.SH HISTORY
+SUSv1; marked as LEGACY in SUSv2; removed in POSIX.1-2001.
+SUSv2 requires \-1 on error.
.PP
The glibc2 implementation of this function reads the file
.BR _PATH_TTYS ,
diff --git a/man3/tzset.3 b/man3/tzset.3
index 1b44c5a71a..d7faf8b986 100644
--- a/man3/tzset.3
+++ b/man3/tzset.3
@@ -227,8 +227,10 @@ T} Thread safety MT-Safe env locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
-.SH NOTES
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.3BSD.
+.PP
4.3BSD had a function
.BI "char *timezone(" zone ", " dst )
that returned the
diff --git a/man3/ualarm.3 b/man3/ualarm.3
index 50b48efe68..f66d85b3dc 100644
--- a/man3/ualarm.3
+++ b/man3/ualarm.3
@@ -84,14 +84,14 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD, POSIX.1-2001.
-POSIX.1-2001 marks
-.BR ualarm ()
-as obsolete.
-POSIX.1-2008 removes the specification of
-.BR ualarm ().
+POSIX.1-2001 marks it as obsolete.
+Removed in POSIX.1-2008.
+.PP
4.3BSD, SUSv2, and POSIX do not define any errors.
-.SH NOTES
+.PP
POSIX.1-2001 does not specify what happens if the
.I usecs
argument is 0.
diff --git a/man3/ulimit.3 b/man3/ulimit.3
index b9dffa7f56..5f7671d87a 100644
--- a/man3/ulimit.3
+++ b/man3/ulimit.3
@@ -79,10 +79,10 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
SVr4, POSIX.1-2001.
-POSIX.1-2008 marks
-.BR ulimit ()
-as obsolete.
+POSIX.1-2008 marks it as obsolete.
.SH SEE ALSO
.BR bash (1),
.BR getrlimit (2),
diff --git a/man3/ungetwc.3 b/man3/ungetwc.3
index 43d59f7822..924dd99cbe 100644
--- a/man3/ungetwc.3
+++ b/man3/ungetwc.3
@@ -91,7 +91,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR ungetwc ()
diff --git a/man3/unlocked_stdio.3 b/man3/unlocked_stdio.3
index 89c761cb31..faab29f066 100644
--- a/man3/unlocked_stdio.3
+++ b/man3/unlocked_stdio.3
@@ -159,16 +159,28 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The four functions
-.BR getc_unlocked (),
-.BR getchar_unlocked (),
-.BR putc_unlocked (),
+.TP
+.BR getc_unlocked ()
+.TQ
+.BR getchar_unlocked ()
+.TQ
+.BR putc_unlocked ()
+.TQ
.BR putchar_unlocked ()
-are in POSIX.1-2001 and POSIX.1-2008.
-.PP
-The nonstandard
-.BR *_unlocked ()
-variants occur on a few UNIX systems, and are available in recent glibc.
+POSIX.1-2008.
+.TP
+Others:
+None.
+.SH HISTORY
+.TP
+.BR getc_unlocked ()
+.TQ
+.BR getchar_unlocked ()
+.TQ
+.BR putc_unlocked ()
+.TQ
+.BR putchar_unlocked ()
+POSIX.1-2001.
.\" E.g., in HP-UX 10.0. In HP-UX 10.30 they are called obsolescent, and
.\" moved to a compatibility library.
.\" Available in HP-UX 10.0: clearerr_unlocked, fclose_unlocked,
@@ -180,7 +192,6 @@ variants occur on a few UNIX systems, and are available in recent glibc.
.\" putchar_unlocked, puts_unlocked, putws_unlocked, putw_unlocked,
.\" putwc_unlocked, putwchar_unlocked, rewind_unlocked, setvbuf_unlocked,
.\" ungetc_unlocked, ungetwc_unlocked.
-They should probably not be used.
.SH SEE ALSO
.BR flockfile (3),
.BR stdio (3)
diff --git a/man3/unlockpt.3 b/man3/unlockpt.3
index c93a3f267c..73b6ef8c15 100644
--- a/man3/unlockpt.3
+++ b/man3/unlockpt.3
@@ -74,11 +74,11 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-.BR unlockpt ()
-is provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
diff --git a/man3/updwtmp.3 b/man3/updwtmp.3
index 44d5bb6b56..c5373e772c 100644
--- a/man3/updwtmp.3
+++ b/man3/updwtmp.3
@@ -57,10 +57,7 @@ T} Thread safety MT-Unsafe sig:ALRM timer
.hy
.ad
.sp 1
-.SH STANDARDS
-Not in POSIX.1.
-Present on Solaris, NetBSD, and perhaps other systems.
-.SH NOTES
+.SH VERSIONS
For consistency with the other "utmpx" functions (see
.BR getutxent (3)),
glibc provides (since glibc 2.1):
@@ -78,6 +75,10 @@ This function performs the same task as
but differs in that it takes a
.I utmpx
structure as its last argument.
+.SH STANDARDS
+None.
+.SH HISTORY
+Solaris, NetBSD.
.SH SEE ALSO
.BR getutxent (3),
.BR wtmp (5)
diff --git a/man3/uselocale.3 b/man3/uselocale.3
index a813fdc0a2..e9c930077f 100644
--- a/man3/uselocale.3
+++ b/man3/uselocale.3
@@ -70,12 +70,11 @@ to indicate the error.
.B EINVAL
.I newloc
does not refer to a valid locale object.
-.SH VERSIONS
-The
-.BR uselocale ()
-function first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
+.SH HISTORY
+glibc 2.3.
+POSIX.1-2008.
.SH NOTES
Unlike
.BR setlocale (3),
diff --git a/man3/usleep.3 b/man3/usleep.3
index 07c7e68a50..03804d4366 100644
--- a/man3/usleep.3
+++ b/man3/usleep.3
@@ -81,12 +81,13 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
+None.
+.SH HISTORY
4.3BSD, POSIX.1-2001.
-POSIX.1-2001 declares this function obsolete; use
+POSIX.1-2001 declares it obsolete, suggesting
.BR nanosleep (2)
instead.
-POSIX.1-2008 removes the specification of
-.BR usleep ().
+Removed in POSIX.1-2008.
.PP
On the original BSD implementation,
and before glibc 2.2.2, the return type of this function is
@@ -98,7 +99,7 @@ and this is also the prototype used since glibc 2.2.2.
Only the
.B EINVAL
error return is documented by SUSv2 and POSIX.1-2001.
-.SH NOTES
+.SH CAVEATS
The interaction of this function with the
.B SIGALRM
signal, and with other timer functions such as
diff --git a/man3/wcrtomb.3 b/man3/wcrtomb.3
index 01e870737f..2f1df9a026 100644
--- a/man3/wcrtomb.3
+++ b/man3/wcrtomb.3
@@ -128,7 +128,9 @@ T} Thread safety MT-Unsafe race:wcrtomb/!ps
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wcrtomb ()
diff --git a/man3/wcscasecmp.3 b/man3/wcscasecmp.3
index 5153a09adb..7f4812b4a0 100644
--- a/man3/wcscasecmp.3
+++ b/man3/wcscasecmp.3
@@ -86,14 +86,10 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR wcscasecmp ()
-function is provided since glibc 2.1.
.SH STANDARDS
POSIX.1-2008.
-This function is not specified in POSIX.1-2001,
-and is not widely available on other systems.
+.SH HISTORY
+glibc 2.1.
.SH NOTES
The behavior of
.BR wcscasecmp ()
diff --git a/man3/wcscat.3 b/man3/wcscat.3
index 170c391f2d..597b72a1a0 100644
--- a/man3/wcscat.3
+++ b/man3/wcscat.3
@@ -63,7 +63,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strcat (3),
.BR wcpcpy (3),
diff --git a/man3/wcschr.3 b/man3/wcschr.3
index daf6375098..da39a356df 100644
--- a/man3/wcschr.3
+++ b/man3/wcschr.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strchr (3),
.BR wcspbrk (3),
diff --git a/man3/wcscmp.3 b/man3/wcscmp.3
index 65cbda96cb..7530fae458 100644
--- a/man3/wcscmp.3
+++ b/man3/wcscmp.3
@@ -73,7 +73,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strcmp (3),
.BR wcscasecmp (3),
diff --git a/man3/wcscpy.3 b/man3/wcscpy.3
index fdaf5550f2..9cc5f7a283 100644
--- a/man3/wcscpy.3
+++ b/man3/wcscpy.3
@@ -64,7 +64,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strcpy (3),
.BR wcpcpy (3),
diff --git a/man3/wcscspn.3 b/man3/wcscspn.3
index 810c1ec75f..e118336730 100644
--- a/man3/wcscspn.3
+++ b/man3/wcscspn.3
@@ -75,7 +75,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strcspn (3),
.BR wcspbrk (3),
diff --git a/man3/wcsdup.3 b/man3/wcsdup.3
index ce52d6dec3..fc259fbd0a 100644
--- a/man3/wcsdup.3
+++ b/man3/wcsdup.3
@@ -79,9 +79,8 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
POSIX.1-2008.
-This function is not specified in POSIX.1-2001,
-and is not widely available on other systems.
-.\" present in libc5 and glibc 2.0 and later
+.SH HISTORY
+libc5, glibc 2.0.
.SH SEE ALSO
.BR strdup (3),
.BR wcscpy (3)
diff --git a/man3/wcslen.3 b/man3/wcslen.3
index 0d0d22aa92..477053a95f 100644
--- a/man3/wcslen.3
+++ b/man3/wcslen.3
@@ -56,7 +56,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
In cases where the input buffer may not contain
a terminating null wide character,
diff --git a/man3/wcsncasecmp.3 b/man3/wcsncasecmp.3
index 13cdcedbd9..f474fb09dd 100644
--- a/man3/wcsncasecmp.3
+++ b/man3/wcsncasecmp.3
@@ -92,14 +92,10 @@ T} Thread safety MT-Safe locale
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR wcsncasecmp ()
-function is provided since glibc 2.1.
.SH STANDARDS
POSIX.1-2008.
-This function is not specified in POSIX.1-2001,
-and is not widely available on other systems.
+.SH HISTORY
+glibc 2.1.
.SH NOTES
The behavior of
.BR wcsncasecmp ()
diff --git a/man3/wcsncat.3 b/man3/wcsncat.3
index 0b2ccd274c..f7bae08816 100644
--- a/man3/wcsncat.3
+++ b/man3/wcsncat.3
@@ -67,7 +67,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strncat (3),
.BR wcscat (3)
diff --git a/man3/wcsncmp.3 b/man3/wcsncmp.3
index 670a8ef683..f3dbc1eded 100644
--- a/man3/wcsncmp.3
+++ b/man3/wcsncmp.3
@@ -88,7 +88,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strncmp (3),
.BR wcsncasecmp (3)
diff --git a/man3/wcsncpy.3 b/man3/wcsncpy.3
index 882650e3d8..8f9b07db14 100644
--- a/man3/wcsncpy.3
+++ b/man3/wcsncpy.3
@@ -85,6 +85,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strncpy (3)
diff --git a/man3/wcsnlen.3 b/man3/wcsnlen.3
index 339f6c15f0..64a7c4d47f 100644
--- a/man3/wcsnlen.3
+++ b/man3/wcsnlen.3
@@ -85,12 +85,10 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
-.SH VERSIONS
-The
-.BR wcsnlen ()
-function is provided since glibc 2.1.
.SH STANDARDS
POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
.SH SEE ALSO
.BR strnlen (3),
.BR wcslen (3)
diff --git a/man3/wcspbrk.3 b/man3/wcspbrk.3
index c89b6df2d1..6d557bd1b2 100644
--- a/man3/wcspbrk.3
+++ b/man3/wcspbrk.3
@@ -63,7 +63,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strpbrk (3),
.BR wcschr (3),
diff --git a/man3/wcsrchr.3 b/man3/wcsrchr.3
index acb16cae8b..ec1973687a 100644
--- a/man3/wcsrchr.3
+++ b/man3/wcsrchr.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strrchr (3),
.BR wcschr (3)
diff --git a/man3/wcsrtombs.3 b/man3/wcsrtombs.3
index 5503b99c5e..df094abc21 100644
--- a/man3/wcsrtombs.3
+++ b/man3/wcsrtombs.3
@@ -143,7 +143,9 @@ T}
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wcsrtombs ()
diff --git a/man3/wcsspn.3 b/man3/wcsspn.3
index 7283bfd23e..8c62063d0f 100644
--- a/man3/wcsspn.3
+++ b/man3/wcsspn.3
@@ -73,7 +73,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strspn (3),
.BR wcscspn (3)
diff --git a/man3/wcsstr.3 b/man3/wcsstr.3
index 454a69a381..175395a97c 100644
--- a/man3/wcsstr.3
+++ b/man3/wcsstr.3
@@ -70,7 +70,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR strstr (3),
.BR wcschr (3)
diff --git a/man3/wcstoimax.3 b/man3/wcstoimax.3
index ccf229ebc0..566dcdb76f 100644
--- a/man3/wcstoimax.3
+++ b/man3/wcstoimax.3
@@ -48,7 +48,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR imaxabs (3),
.BR imaxdiv (3),
diff --git a/man3/wcstok.3 b/man3/wcstok.3
index 4a58f5957a..4cbcc31707 100644
--- a/man3/wcstok.3
+++ b/man3/wcstok.3
@@ -94,7 +94,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The original
.I wcs
diff --git a/man3/wcstombs.3 b/man3/wcstombs.3
index f13218d97d..39381005ae 100644
--- a/man3/wcstombs.3
+++ b/man3/wcstombs.3
@@ -105,8 +105,14 @@ T} Thread safety MT-Safe
.hy
.ad
.sp 1
+.SH VERSIONS
+The function
+.BR wcsrtombs (3)
+provides a better interface to the same functionality.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wcstombs ()
@@ -114,10 +120,6 @@ depends on the
.B LC_CTYPE
category of the
current locale.
-.PP
-The function
-.BR wcsrtombs (3)
-provides a better interface to the same functionality.
.SH SEE ALSO
.BR mblen (3),
.BR mbstowcs (3),
diff --git a/man3/wcswidth.3 b/man3/wcswidth.3
index 6bf797c268..4e9b190620 100644
--- a/man3/wcswidth.3
+++ b/man3/wcswidth.3
@@ -61,7 +61,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.SH NOTES
The behavior of
.BR wcswidth ()
diff --git a/man3/wctob.3 b/man3/wctob.3
index 9afb512dcd..23bfd222aa 100644
--- a/man3/wctob.3
+++ b/man3/wctob.3
@@ -64,7 +64,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wctob ()
diff --git a/man3/wctomb.3 b/man3/wctomb.3
index cff05d4708..c5c437720b 100644
--- a/man3/wctomb.3
+++ b/man3/wctomb.3
@@ -97,8 +97,15 @@ T} Thread safety MT-Unsafe race
.hy
.ad
.sp 1
+.SH VERSIONS
+The function
+.BR wcrtomb (3)
+provides
+a better interface to the same functionality.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wctomb ()
@@ -106,11 +113,6 @@ depends on the
.B LC_CTYPE
category of the
current locale.
-.PP
-The function
-.BR wcrtomb (3)
-provides
-a better interface to the same functionality.
.SH SEE ALSO
.BR MB_CUR_MAX (3),
.BR mblen (3),
diff --git a/man3/wctrans.3 b/man3/wctrans.3
index b88876d214..cacf05ea50 100644
--- a/man3/wctrans.3
+++ b/man3/wctrans.3
@@ -77,7 +77,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wctrans ()
diff --git a/man3/wctype.3 b/man3/wctype.3
index b03c412bcf..f2b1429bf7 100644
--- a/man3/wctype.3
+++ b/man3/wctype.3
@@ -89,7 +89,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wctype ()
diff --git a/man3/wcwidth.3 b/man3/wcwidth.3
index 31452654fc..2bf243b08e 100644
--- a/man3/wcwidth.3
+++ b/man3/wcwidth.3
@@ -59,7 +59,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
.PP
Note that before glibc 2.2.5, glibc used the prototype
.PP
diff --git a/man3/wmemchr.3 b/man3/wmemchr.3
index dad8051bbd..8add6a473c 100644
--- a/man3/wmemchr.3
+++ b/man3/wmemchr.3
@@ -65,7 +65,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR memchr (3),
.BR wcschr (3)
diff --git a/man3/wmemcmp.3 b/man3/wmemcmp.3
index 40b3cbccaf..9f470209fd 100644
--- a/man3/wmemcmp.3
+++ b/man3/wmemcmp.3
@@ -85,7 +85,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR memcmp (3),
.BR wcscmp (3)
diff --git a/man3/wmemcpy.3 b/man3/wmemcpy.3
index 04d43bd5ed..e667dd9724 100644
--- a/man3/wmemcpy.3
+++ b/man3/wmemcpy.3
@@ -68,7 +68,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR memcpy (3),
.BR wcscpy (3),
diff --git a/man3/wmemmove.3 b/man3/wmemmove.3
index 98376d201a..a2aba5b9e6 100644
--- a/man3/wmemmove.3
+++ b/man3/wmemmove.3
@@ -65,7 +65,9 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR memmove (3),
.BR wmemcpy (3)
diff --git a/man3/wmemset.3 b/man3/wmemset.3
index 9d460a48b8..385ebf77c2 100644
--- a/man3/wmemset.3
+++ b/man3/wmemset.3
@@ -57,6 +57,8 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH SEE ALSO
.BR memset (3)
diff --git a/man3/wordexp.3 b/man3/wordexp.3
index 9350fd63c0..1a1f284bb1 100644
--- a/man3/wordexp.3
+++ b/man3/wordexp.3
@@ -208,13 +208,11 @@ then data races could occur.
.BR wordexp ()
calls those functions,
so we use race:utent to remind users.
-.SH VERSIONS
-.BR wordexp ()
-and
-.BR wordfree ()
-are provided since glibc 2.1.
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008.
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+glibc 2.1.
.SH EXAMPLES
The output of the following example program
is approximately that of "ls [a-c]*.c".
diff --git a/man3/wprintf.3 b/man3/wprintf.3
index a496e76c42..16ffb9e439 100644
--- a/man3/wprintf.3
+++ b/man3/wprintf.3
@@ -226,7 +226,9 @@ T} Thread safety MT-Safe locale
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C99.
+C11, POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, C99.
.SH NOTES
The behavior of
.BR wprintf ()
diff --git a/man3/y0.3 b/man3/y0.3
index a2c9e2174d..861b6f40b5 100644
--- a/man3/y0.3
+++ b/man3/y0.3
@@ -224,11 +224,28 @@ T} Thread safety MT-Safe
.ad
.sp 1
.SH STANDARDS
-The functions returning
-.I double
-conform to SVr4, 4.3BSD,
-POSIX.1-2001, POSIX.1-2008.
-The others are nonstandard functions that also exist on the BSDs.
+.TP
+.BR y0 ()
+.TQ
+.BR y1 ()
+.TQ
+.BR yn ()
+POSIX.1-2008.
+.TP
+Others:
+BSD.
+.SH HISTORY
+.TP
+.BR y0 ()
+.TQ
+.BR y1 ()
+.TQ
+.BR yn ()
+SVr4, 4.3BSD,
+POSIX.1-2001.
+.TP
+Others:
+BSD.
.SH BUGS
Before glibc 2.19,
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6807