Blob Blame History Raw
From d44624018bd0af4f5452fb29168e4ca061e7295c Mon Sep 17 00:00:00 2001
From: Jan Chaloupka <jchaloup@redhat.com>
Date: Fri, 11 Sep 2015 18:55:28 +0200
Subject: [PATCH] Backport thread-safety information

---
 man-pages/en/man3/encrypt.3                    | 26 ++++++-----
 man-pages/en/man3/fclose.3                     | 14 +++++-
 man-pages/en/man3/fflush.3                     | 15 +++++--
 man-pages/en/man3/lockf.3                      | 14 +++++-
 man-pages/en/man3/rand.3                       | 18 +++++++-
 man-pages/en/man3/strtok.3                     | 20 ++++++---
 man-pages/en/man3/toupper.3                    | 18 +++++++-
 man-pages/man3/a64l.3                          | 19 +++++---
 man-pages/man3/abort.3                         | 12 +++++
 man-pages/man3/abs.3                           | 16 +++++--
 man-pages/man3/acos.3                          | 14 ++++++
 man-pages/man3/acosh.3                         | 14 ++++++
 man-pages/man3/addseverity.3                   | 12 +++++
 man-pages/man3/adjtime.3                       | 12 +++++
 man-pages/man3/aio_cancel.3                    | 12 +++++
 man-pages/man3/aio_error.3                     | 13 ++++--
 man-pages/man3/aio_fsync.3                     | 12 +++++
 man-pages/man3/aio_read.3                      | 12 +++++
 man-pages/man3/aio_return.3                    | 13 ++++--
 man-pages/man3/aio_suspend.3                   | 12 +++++
 man-pages/man3/aio_write.3                     | 12 +++++
 man-pages/man3/alloca.3                        | 12 +++++
 man-pages/man3/argz_add.3                      | 29 ++++++++++++
 man-pages/man3/asin.3                          | 14 ++++++
 man-pages/man3/asinh.3                         | 14 ++++++
 man-pages/man3/assert.3                        | 13 ++++++
 man-pages/man3/assert_perror.3                 | 13 ++++++
 man-pages/man3/atan.3                          | 14 ++++++
 man-pages/man3/atan2.3                         | 14 ++++++
 man-pages/man3/atanh.3                         | 14 ++++++
 man-pages/man3/atof.3                          | 12 +++++
 man-pages/man3/atoi.3                          | 14 ++++++
 man-pages/man3/backtrace.3                     | 16 +++++++
 man-pages/man3/basename.3                      | 13 ++++++
 man-pages/man3/bcmp.3                          | 12 +++++
 man-pages/man3/bcopy.3                         | 12 +++++
 man-pages/man3/bindresvport.3                  | 26 +++++++----
 man-pages/man3/bsd_signal.3                    | 12 +++++
 man-pages/man3/btowc.3                         | 12 +++++
 man-pages/man3/byteorder.3                     | 15 +++++++
 man-pages/man3/bzero.3                         | 12 +++++
 man-pages/man3/cabs.3                          | 14 ++++++
 man-pages/man3/cacos.3                         | 14 ++++++
 man-pages/man3/cacosh.3                        | 14 ++++++
 man-pages/man3/canonicalize_file_name.3        | 12 +++++
 man-pages/man3/carg.3                          | 14 ++++++
 man-pages/man3/casin.3                         | 14 ++++++
 man-pages/man3/casinh.3                        | 14 ++++++
 man-pages/man3/catan.3                         | 14 ++++++
 man-pages/man3/catanh.3                        | 14 ++++++
 man-pages/man3/catgets.3                       | 12 +++++
 man-pages/man3/catopen.3                       | 15 +++++++
 man-pages/man3/cbrt.3                          | 14 ++++++
 man-pages/man3/ceil.3                          | 14 ++++--
 man-pages/man3/cfree.3                         | 12 +++++
 man-pages/man3/cimag.3                         | 14 ++++--
 man-pages/man3/clock_getcpuclockid.3           | 13 ++++--
 man-pages/man3/clog.3                          | 14 ++++++
 man-pages/man3/clog10.3                        | 14 ++++++
 man-pages/man3/closedir.3                      | 12 +++++
 man-pages/man3/confstr.3                       | 12 +++++
 man-pages/man3/conj.3                          | 14 ++++--
 man-pages/man3/copysign.3                      | 14 ++++++
 man-pages/man3/cos.3                           | 14 ++++++
 man-pages/man3/cosh.3                          | 14 ++++++
 man-pages/man3/cpow.3                          | 14 ++++++
 man-pages/man3/cproj.3                         | 14 ++++++
 man-pages/man3/creal.3                         | 14 ++++++
 man-pages/man3/crypt.3                         | 18 +++++---
 man-pages/man3/ctermid.3                       | 14 ++++--
 man-pages/man3/daemon.3                        | 13 ++++++
 man-pages/man3/des_crypt.3                     | 14 ++++++
 man-pages/man3/difftime.3                      | 12 +++++
 man-pages/man3/dirfd.3                         | 13 ++++--
 man-pages/man3/div.3                           | 14 ++++--
 man-pages/man3/drand48.3                       | 19 ++++++--
 man-pages/man3/drand48_r.3                     | 22 +++++++++
 man-pages/man3/dysize.3                        | 12 +++++
 man-pages/man3/ecvt.3                          | 16 +++++--
 man-pages/man3/ecvt_r.3                        | 16 +++++++
 man-pages/man3/encrypt.3                       | 24 +++++-----
 man-pages/man3/envz_add.3                      | 20 +++++++++
 man-pages/man3/erf.3                           | 14 ++++++
 man-pages/man3/erfc.3                          | 14 ++++++
 man-pages/man3/euidaccess.3                    | 13 ++++++
 man-pages/man3/exec.3                          | 19 ++++++++
 man-pages/man3/exit.3                          | 17 +++++++
 man-pages/man3/exp.3                           | 14 ++++++
 man-pages/man3/exp10.3                         | 14 ++++++
 man-pages/man3/exp2.3                          | 14 ++++++
 man-pages/man3/expm1.3                         | 15 +++++++
 man-pages/man3/fabs.3                          | 14 ++++--
 man-pages/man3/fclose.3                        | 12 +++++
 man-pages/man3/fcloseall.3                     | 13 +++++-
 man-pages/man3/fdim.3                          | 14 ++++--
 man-pages/man3/fenv.3                          | 62 ++++++++++++++++++++++++++
 man-pages/man3/ferror.3                        | 15 +++++--
 man-pages/man3/fflush.3                        | 13 ++++--
 man-pages/man3/ffs.3                           | 14 ++++++
 man-pages/man3/fgetwc.3                        | 13 ++++++
 man-pages/man3/fgetws.3                        | 12 +++++
 man-pages/man3/finite.3                        | 16 +++++--
 man-pages/man3/flockfile.3                     | 14 ++++--
 man-pages/man3/floor.3                         | 14 ++++--
 man-pages/man3/fma.3                           | 14 ++++++
 man-pages/man3/fmax.3                          | 14 ++++++
 man-pages/man3/fmin.3                          | 14 ++++++
 man-pages/man3/fmod.3                          | 14 ++++++
 man-pages/man3/fmtmsg.3                        | 17 ++++++-
 man-pages/man3/fnmatch.3                       | 12 +++++
 man-pages/man3/fopen.3                         | 14 ++++++
 man-pages/man3/fopencookie.3                   | 12 +++++
 man-pages/man3/fpclassify.3                    | 18 ++++++++
 man-pages/man3/fread.3                         | 13 ++++++
 man-pages/man3/frexp.3                         | 14 ++++++
 man-pages/man3/ftime.3                         | 13 ++++++
 man-pages/man3/ftok.3                          | 12 +++++
 man-pages/man3/futimes.3                       | 13 ++++++
 man-pages/man3/gamma.3                         | 14 ++++++
 man-pages/man3/getauxval.3                     | 12 +++++
 man-pages/man3/getcontext.3                    | 13 ++++++
 man-pages/man3/getcwd.3                        | 16 +++++++
 man-pages/man3/getdate.3                       | 18 +++++---
 man-pages/man3/getdirentries.3                 | 12 +++++
 man-pages/man3/getdtablesize.3                 | 12 +++++
 man-pages/man3/getenv.3                        | 13 ++++++
 man-pages/man3/getfsent.3                      | 21 +++++++++
 man-pages/man3/getgrent.3                      | 33 ++++++++++++++
 man-pages/man3/getgrnam.3                      | 25 +++++++----
 man-pages/man3/getgrouplist.3                  | 12 +++++
 man-pages/man3/getloadavg.3                    | 12 +++++
 man-pages/man3/getlogin.3                      | 49 +++++++++++++++-----
 man-pages/man3/getopt.3                        | 14 ++++++
 man-pages/man3/getpass.3                       | 13 ++++--
 man-pages/man3/getpt.3                         | 12 +++++
 man-pages/man3/getpwent.3                      | 34 ++++++++++++++
 man-pages/man3/getpwnam.3                      | 42 +++++++++++++----
 man-pages/man3/gets.3                          | 13 ++++++
 man-pages/man3/getsubopt.3                     | 12 +++++
 man-pages/man3/getttyent.3                     | 28 ++++++------
 man-pages/man3/getusershell.3                  | 17 ++++---
 man-pages/man3/getutmp.3                       | 13 ++++++
 man-pages/man3/getw.3                          | 13 ++++++
 man-pages/man3/gnu_get_libc_version.3          | 13 ++++++
 man-pages/man3/grantpt.3                       | 13 ++++++
 man-pages/man3/hsearch.3                       | 22 +++++----
 man-pages/man3/iconv.3                         | 13 ++++++
 man-pages/man3/if_nametoindex.3                | 13 ++++++
 man-pages/man3/ilogb.3                         | 14 ++++++
 man-pages/man3/index.3                         | 13 ++++++
 man-pages/man3/inet.3                          | 22 +++++++++
 man-pages/man3/inet_pton.3                     | 12 +++++
 man-pages/man3/isalpha.3                       | 43 ++++++++++++++++++
 man-pages/man3/isatty.3                        | 12 +++++
 man-pages/man3/isgreater.3                     | 19 ++++++++
 man-pages/man3/iswalnum.3                      | 12 +++++
 man-pages/man3/iswalpha.3                      | 12 +++++
 man-pages/man3/iswblank.3                      | 12 +++++
 man-pages/man3/iswcntrl.3                      | 12 +++++
 man-pages/man3/iswctype.3                      | 12 +++++
 man-pages/man3/iswlower.3                      | 12 +++++
 man-pages/man3/iswprint.3                      | 12 +++++
 man-pages/man3/iswpunct.3                      | 12 +++++
 man-pages/man3/iswspace.3                      | 12 +++++
 man-pages/man3/iswupper.3                      | 12 +++++
 man-pages/man3/iswxdigit.3                     | 12 +++++
 man-pages/man3/j0.3                            | 24 ++++++++++
 man-pages/man3/ldexp.3                         | 14 ++++++
 man-pages/man3/lio_listio.3                    | 13 ++++++
 man-pages/man3/localeconv.3                    | 14 ++++--
 man-pages/man3/lockf.3                         | 12 +++++
 man-pages/man3/log10.3                         | 14 ++++++
 man-pages/man3/log1p.3                         | 14 ++++++
 man-pages/man3/logb.3                          | 14 ++++++
 man-pages/man3/lrint.3                         | 18 ++++++++
 man-pages/man3/lround.3                        | 18 ++++++++
 man-pages/man3/makecontext.3                   | 15 +++++++
 man-pages/man3/makedev.3                       | 14 ++++++
 man-pages/man3/malloc.3                        | 15 +++++++
 man-pages/man3/malloc_usable_size.3            | 12 +++++
 man-pages/man3/mblen.3                         | 13 ++++--
 man-pages/man3/mbrlen.3                        | 14 ++++--
 man-pages/man3/mbrtowc.3                       | 14 ++++--
 man-pages/man3/mbsinit.3                       | 12 +++++
 man-pages/man3/mbstowcs.3                      | 12 +++++
 man-pages/man3/mbtowc.3                        | 12 +++++
 man-pages/man3/memccpy.3                       | 12 +++++
 man-pages/man3/memchr.3                        | 14 ++++++
 man-pages/man3/memcmp.3                        | 12 +++++
 man-pages/man3/memcpy.3                        | 12 +++++
 man-pages/man3/memfrob.3                       | 12 +++++
 man-pages/man3/memmem.3                        | 12 +++++
 man-pages/man3/memmove.3                       | 12 +++++
 man-pages/man3/mempcpy.3                       | 13 ++++++
 man-pages/man3/memset.3                        | 12 +++++
 man-pages/man3/mkdtemp.3                       | 12 +++++
 man-pages/man3/mkfifo.3                        | 13 ++++++
 man-pages/man3/mkstemp.3                       | 16 +++++++
 man-pages/man3/mktemp.3                        | 12 +++++
 man-pages/man3/modf.3                          | 14 ++++--
 man-pages/man3/mq_close.3                      | 12 +++++
 man-pages/man3/mq_getattr.3                    | 13 ++++++
 man-pages/man3/mq_open.3                       | 12 +++++
 man-pages/man3/mq_receive.3                    | 13 ++++++
 man-pages/man3/mq_send.3                       | 13 ++++++
 man-pages/man3/mq_unlink.3                     | 12 +++++
 man-pages/man3/mtrace.3                        | 13 ++++++
 man-pages/man3/nan.3                           | 14 ++++++
 man-pages/man3/nextafter.3                     | 19 ++++++++
 man-pages/man3/nl_langinfo.3                   | 13 +++++-
 man-pages/man3/opendir.3                       | 13 ++++++
 man-pages/man3/posix_fallocate.3               | 12 +++++
 man-pages/man3/posix_openpt.3                  | 12 +++++
 man-pages/man3/pow.3                           | 14 ++++++
 man-pages/man3/pow10.3                         | 14 ++++++
 man-pages/man3/pthread_attr_setdetachstate.3   | 13 ++++++
 man-pages/man3/pthread_attr_setguardsize.3     | 13 ++++++
 man-pages/man3/pthread_attr_setinheritsched.3  | 13 ++++++
 man-pages/man3/pthread_attr_setschedparam.3    | 13 ++++++
 man-pages/man3/pthread_attr_setschedpolicy.3   | 13 ++++++
 man-pages/man3/pthread_attr_setscope.3         | 13 ++++++
 man-pages/man3/pthread_attr_setstack.3         | 13 ++++++
 man-pages/man3/pthread_attr_setstackaddr.3     | 13 ++++++
 man-pages/man3/pthread_attr_setstacksize.3     | 13 ++++++
 man-pages/man3/pthread_equal.3                 | 12 +++++
 man-pages/man3/pthread_exit.3                  | 12 +++++
 man-pages/man3/pthread_getcpuclockid.3         | 12 +++++
 man-pages/man3/pthread_kill.3                  | 12 +++++
 man-pages/man3/pthread_kill_other_threads_np.3 | 12 +++++
 man-pages/man3/pthread_self.3                  | 12 +++++
 man-pages/man3/pthread_setaffinity_np.3        | 13 ++++++
 man-pages/man3/pthread_setcancelstate.3        | 24 ++++++++++
 man-pages/man3/pthread_setconcurrency.3        | 13 ++++++
 man-pages/man3/pthread_setschedparam.3         | 13 ++++++
 man-pages/man3/pthread_setschedprio.3          | 12 +++++
 man-pages/man3/pthread_sigmask.3               | 12 +++++
 man-pages/man3/pthread_sigqueue.3              | 12 +++++
 man-pages/man3/pthread_testcancel.3            | 12 +++++
 man-pages/man3/pthread_yield.3                 | 12 +++++
 man-pages/man3/ptsname.3                       | 18 +++++---
 man-pages/man3/putenv.3                        | 12 +++++
 man-pages/man3/puts.3                          | 16 +++++++
 man-pages/man3/putwchar.3                      | 12 +++++
 man-pages/man3/qecvt.3                         | 21 ++++++---
 man-pages/man3/raise.3                         | 12 +++++
 man-pages/man3/rand.3                          | 16 ++++++-
 man-pages/man3/random.3                        | 16 +++++++
 man-pages/man3/random_r.3                      | 16 +++++++
 man-pages/man3/re_comp.3                       | 16 ++++---
 man-pages/man3/readdir.3                       | 18 +++++---
 man-pages/man3/realpath.3                      | 12 +++++
 man-pages/man3/regex.3                         | 19 ++++++++
 man-pages/man3/remainder.3                     | 19 ++++++++
 man-pages/man3/remove.3                        | 12 +++++
 man-pages/man3/remquo.3                        | 14 ++++++
 man-pages/man3/rewinddir.3                     | 12 +++++
 man-pages/man3/rexec.3                         | 16 ++++---
 man-pages/man3/rint.3                          | 19 ++++++++
 man-pages/man3/round.3                         | 14 ++++--
 man-pages/man3/scalb.3                         | 14 ++++++
 man-pages/man3/scalbln.3                       | 15 +++++--
 man-pages/man3/sched_getcpu.3                  | 12 +++++
 man-pages/man3/seekdir.3                       | 12 +++++
 man-pages/man3/sem_destroy.3                   | 12 +++++
 man-pages/man3/sem_getvalue.3                  | 12 +++++
 man-pages/man3/sem_init.3                      | 12 +++++
 man-pages/man3/sem_post.3                      | 12 +++++
 man-pages/man3/sem_unlink.3                    | 12 +++++
 man-pages/man3/sem_wait.3                      | 14 ++++++
 man-pages/man3/setbuf.3                        | 16 +++++++
 man-pages/man3/setenv.3                        | 13 ++++++
 man-pages/man3/siginterrupt.3                  | 12 +++++
 man-pages/man3/signbit.3                       | 13 ++++--
 man-pages/man3/sigpause.3                      | 12 +++++
 man-pages/man3/sigqueue.3                      | 12 +++++
 man-pages/man3/sigset.3                        | 16 +++++++
 man-pages/man3/sigsetops.3                     | 22 +++++++++
 man-pages/man3/sigvec.3                        | 23 ++++++++++
 man-pages/man3/sigwait.3                       | 12 +++++
 man-pages/man3/sin.3                           | 14 ++++++
 man-pages/man3/sincos.3                        | 14 ++++++
 man-pages/man3/sinh.3                          | 14 ++++++
 man-pages/man3/sockatmark.3                    | 12 +++++
 man-pages/man3/sqrt.3                          | 14 ++++++
 man-pages/man3/statvfs.3                       | 13 ++++++
 man-pages/man3/stdarg.3                        | 17 +++++++
 man-pages/man3/stdio_ext.3                     | 27 ++++++-----
 man-pages/man3/stpcpy.3                        | 12 +++++
 man-pages/man3/stpncpy.3                       | 12 +++++
 man-pages/man3/strcasecmp.3                    | 13 ++++++
 man-pages/man3/strcat.3                        | 13 ++++++
 man-pages/man3/strchr.3                        | 14 ++++++
 man-pages/man3/strcmp.3                        | 13 ++++++
 man-pages/man3/strcpy.3                        | 13 ++++++
 man-pages/man3/strerror.3                      | 20 +++++++++
 man-pages/man3/strfmon.3                       | 13 ++++++
 man-pages/man3/strfry.3                        | 12 +++++
 man-pages/man3/strftime.3                      | 12 +++++
 man-pages/man3/strlen.3                        | 12 +++++
 man-pages/man3/strnlen.3                       | 12 +++++
 man-pages/man3/strpbrk.3                       | 12 +++++
 man-pages/man3/strptime.3                      | 12 +++++
 man-pages/man3/strsep.3                        | 12 +++++
 man-pages/man3/strspn.3                        | 13 ++++++
 man-pages/man3/strstr.3                        | 15 +++++++
 man-pages/man3/strtod.3                        | 14 ++++++
 man-pages/man3/strtoimax.3                     | 13 ++++++
 man-pages/man3/strtok.3                        | 18 +++++---
 man-pages/man3/strtol.3                        | 14 ++++++
 man-pages/man3/strtoul.3                       | 14 ++++++
 man-pages/man3/strverscmp.3                    | 12 +++++
 man-pages/man3/strxfrm.3                       | 12 +++++
 man-pages/man3/swab.3                          | 12 +++++
 man-pages/man3/syslog.3                        | 17 +++++++
 man-pages/man3/system.3                        | 12 +++++
 man-pages/man3/sysv_signal.3                   | 12 +++++
 man-pages/man3/tan.3                           | 14 ++++++
 man-pages/man3/tanh.3                          | 14 ++++++
 man-pages/man3/tcgetpgrp.3                     | 13 ++++++
 man-pages/man3/tcgetsid.3                      | 12 +++++
 man-pages/man3/telldir.3                       | 12 +++++
 man-pages/man3/tempnam.3                       | 12 +++++
 man-pages/man3/termios.3                       | 29 ++++++++++++
 man-pages/man3/tgamma.3                        | 14 ++++++
 man-pages/man3/timegm.3                        | 13 ++++++
 man-pages/man3/tmpfile.3                       | 12 +++++
 man-pages/man3/tmpnam.3                        | 19 +++++---
 man-pages/man3/toascii.3                       | 12 +++++
 man-pages/man3/toupper.3                       | 16 +++++++
 man-pages/man3/towctrans.3                     | 12 +++++
 man-pages/man3/towlower.3                      | 19 ++++++++
 man-pages/man3/towupper.3                      | 19 ++++++++
 man-pages/man3/trunc.3                         | 14 ++++--
 man-pages/man3/tsearch.3                       | 21 +++++++++
 man-pages/man3/ttyname.3                       | 18 +++++---
 man-pages/man3/ttyslot.3                       | 15 ++++---
 man-pages/man3/tzset.3                         | 12 +++++
 man-pages/man3/ualarm.3                        | 12 +++++
 man-pages/man3/ungetwc.3                       | 12 +++++
 man-pages/man3/unlockpt.3                      | 12 +++++
 man-pages/man3/usleep.3                        | 12 +++++
 man-pages/man3/wcpcpy.3                        | 12 +++++
 man-pages/man3/wcpncpy.3                       | 12 +++++
 man-pages/man3/wcscasecmp.3                    | 12 +++++
 man-pages/man3/wcscat.3                        | 12 +++++
 man-pages/man3/wcschr.3                        | 12 +++++
 man-pages/man3/wcscmp.3                        | 12 +++++
 man-pages/man3/wcscpy.3                        | 12 +++++
 man-pages/man3/wcscspn.3                       | 12 +++++
 man-pages/man3/wcsdup.3                        | 13 ++++++
 man-pages/man3/wcslen.3                        | 12 +++++
 man-pages/man3/wcsncasecmp.3                   | 12 +++++
 man-pages/man3/wcsncat.3                       | 12 +++++
 man-pages/man3/wcsncmp.3                       | 12 +++++
 man-pages/man3/wcsncpy.3                       | 12 +++++
 man-pages/man3/wcsnlen.3                       | 12 +++++
 man-pages/man3/wcspbrk.3                       | 12 +++++
 man-pages/man3/wcsrchr.3                       | 12 +++++
 man-pages/man3/wcsspn.3                        | 12 +++++
 man-pages/man3/wcsstr.3                        | 12 +++++
 man-pages/man3/wcstoimax.3                     | 13 ++++++
 man-pages/man3/wcstok.3                        | 12 +++++
 man-pages/man3/wcswidth.3                      | 12 +++++
 man-pages/man3/wctomb.3                        | 12 +++++
 man-pages/man3/wctrans.3                       | 12 +++++
 man-pages/man3/wctype.3                        | 12 +++++
 man-pages/man3/wcwidth.3                       | 12 +++++
 man-pages/man3/wmemchr.3                       | 12 +++++
 man-pages/man3/wmemcmp.3                       | 12 +++++
 man-pages/man3/wmemcpy.3                       | 12 +++++
 man-pages/man3/wmemmove.3                      | 12 +++++
 man-pages/man3/wmemset.3                       | 12 +++++
 man-pages/man3/y0.3                            | 24 ++++++++++
 man-pages/man7/man-pages.7                     |  1 +
 man-pages/man7/pthreads.7                      |  1 +
 man-pages/man7/standards.7                     |  1 +
 376 files changed, 5119 insertions(+), 293 deletions(-)

diff --git a/man-pages/en/man3/encrypt.3 b/man-pages/en/man3/encrypt.3
index 138db03..4f0f2a8 100644
--- a/man-pages/en/man3/encrypt.3
+++ b/man-pages/en/man3/encrypt.3
@@ -1,4 +1,4 @@
-.\" Copyright 2000 Nicolás Lichtmaier <nick@debian.org>
+.\" Copyright 2000 Nicolás Lichtmaier <nick@debian.org>
 .\" Created 2000-07-22 00:52-0300
 .\"
 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
@@ -122,18 +122,22 @@ On success, it is unchanged.
 The function is not provided.
 (For example because of former USA export restrictions.)
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR encrypt ()
-and
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR encrypt (),
 .BR setkey ()
-functions are not thread-safe.
-.LP
-The
-.BR encrypt_r ()
-and
+T}	Thread safety	MT-Unsafe race:crypt
+T{
+.BR encrypt_r (),
 .BR setkey_r ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions
 .BR encrypt ()
diff --git a/man-pages/en/man3/fclose.3 b/man-pages/en/man3/fclose.3
index d39415a..5465b6b 100644
--- a/man-pages/en/man3/fclose.3
+++ b/man-pages/en/man3/fclose.3
@@ -39,7 +39,7 @@
 .\"
 .\" Converted for Linux, Mon Nov 29 15:19:14 1993, faith@cs.unc.edu
 .\"
-.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
 .\"
 .TH FCLOSE 3  2009-02-23 "GNU" "Linux Programmer's Manual"
 .SH NAME
@@ -87,6 +87,18 @@ for any of the errors specified for the routines
 .BR write (2)
 or
 .BR fflush (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fclose ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99.
 .SH NOTES
diff --git a/man-pages/en/man3/fflush.3 b/man-pages/en/man3/fflush.3
index 563a9f5..fa9ff4e 100644
--- a/man-pages/en/man3/fflush.3
+++ b/man-pages/en/man3/fflush.3
@@ -39,7 +39,7 @@
 .\"
 .\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu
 .\"
-.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
 .\" Modified 2001-10-16 by John Levon <moz@compsoc.man.ac.uk>
 .\"
 .TH FFLUSH 3  2013-07-15 "GNU" "Linux Programmer's Manual"
@@ -91,10 +91,17 @@ may also fail and set
 for any of the errors specified for
 .BR write (2).
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR fflush ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, POSIX.1-2001, POSIX.1-2008.
 
diff --git a/man-pages/en/man3/lockf.3 b/man-pages/en/man3/lockf.3
index 54e6c37..7509bc2 100644
--- a/man-pages/en/man3/lockf.3
+++ b/man-pages/en/man3/lockf.3
@@ -1,4 +1,4 @@
-.\" Copyright 1997 Nicolás Lichtmaier <nick@debian.org>
+.\" Copyright 1997 Nicolás Lichtmaier <nick@debian.org>
 .\" Created Thu Aug  7 00:44:00 ART 1997
 .\"
 .\" %%%LICENSE_START(GPLv2+_DOC_FULL)
@@ -151,6 +151,18 @@ An invalid operation was specified in
 .TP
 .B ENOLCK
 Too many segment locks open, lock table is full.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR lockf ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/en/man3/rand.3 b/man-pages/en/man3/rand.3
index f31e4bf..f6de7f8 100644
--- a/man-pages/en/man3/rand.3
+++ b/man-pages/en/man3/rand.3
@@ -33,7 +33,7 @@
 .\" Modified 1995-05-18, Rik Faith (faith@cs.unc.edu) to add
 .\"          better discussion of problems with rand on other systems.
 .\"          (Thanks to Esa Hyyti{ (ehyytia@snakemail.hut.fi).)
-.\" Modified 1998-04-10, Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 1998-04-10, Nicolás Lichtmaier <nick@debian.org>
 .\"          with contribution from Francesco Potorti <F.Potorti@cnuce.cnr.it>
 .\" Modified 2003-11-15, aeb, added rand_r
 .\" 2010-09-13, mtk, added example program
@@ -81,7 +81,7 @@ function is automatically seeded with a value of 1.
 .PP
 The function
 .BR rand ()
-is not reentrant or thread-safe, since it
+is not reentrant, since it
 uses hidden state that is modified on each call.
 This might just be the seed value to be used by the next call,
 or it might be something more elaborate.
@@ -126,6 +126,20 @@ functions return a value between 0 and
 The
 .BR srand ()
 function returns no value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR rand (),
+.BR rand_r (),
+.BR srand ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions
 .BR rand ()
diff --git a/man-pages/en/man3/strtok.3 b/man-pages/en/man3/strtok.3
index 4bc9727..b836310 100644
--- a/man-pages/en/man3/strtok.3
+++ b/man-pages/en/man3/strtok.3
@@ -25,7 +25,7 @@
 .\" %%%LICENSE_END
 .\"
 .\" Rewritten old page, 960210, aeb@cwi.nl
-.\" Updated, added strtok_r. 2000-02-13 Nicolás Lichtmaier <nick@debian.org>
+.\" Updated, added strtok_r. 2000-02-13 Nicolás Lichtmaier <nick@debian.org>
 .\" 2005-11-17, mtk: Substantial parts rewritten
 .\" 2013-05-19, mtk: added much further detail on the operation of strtok()
 .\"
@@ -167,14 +167,20 @@ and
 functions return a pointer to
 the next token, or NULL if there are no more tokens.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR strtok ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:strtok
+T{
 .BR strtok_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .TP
 .BR strtok ()
diff --git a/man-pages/en/man3/toupper.3 b/man-pages/en/man3/toupper.3
index 1be88cd..abc0c0f 100644
--- a/man-pages/en/man3/toupper.3
+++ b/man-pages/en/man3/toupper.3
@@ -23,7 +23,7 @@
 .\" %%%LICENSE_END
 .\"
 .\" Modified Sat Jul 24 17:45:39 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified 2000-02-13 by Nicolás Lichtmaier <nick@debian.org>
+.\" Modified 2000-02-13 by Nicolás Lichtmaier <nick@debian.org>
 .TH TOUPPER 3  1993-04-04 "GNU" "Linux Programmer's Manual"
 .SH NAME
 toupper, tolower \- convert letter to upper or lower case
@@ -58,6 +58,22 @@ is undefined.
 The value returned is that of the converted letter, or
 .I c
 if the conversion was not possible.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR toupper (),
+.BR tolower (),
+.br
+.BR toupper_l (),
+.BR tolower_l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, 4.3BSD.
 .SH BUGS
diff --git a/man-pages/man3/a64l.3 b/man-pages/man3/a64l.3
index 377a89c..291682b 100644
--- a/man-pages/man3/a64l.3
+++ b/man-pages/man3/a64l.3
@@ -1,3 +1,4 @@
+\t
 .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
 .\"
 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
@@ -60,14 +61,20 @@ a-z	represent 38-63
 .RE
 So 123 = 59*64^0 + 1*64^1 = "v/".
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR l64a ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:l64a
+T{
 .BR a64l ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/abort.3 b/man-pages/man3/abort.3
index 9a3a697..efaf9aa 100644
--- a/man-pages/man3/abort.3
+++ b/man-pages/man3/abort.3
@@ -69,6 +69,18 @@ and then raising the signal for a second time.
 The
 .BR abort ()
 function never returns.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	 Value
+T{
+ .BR abort ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/abs.3 b/man-pages/man3/abs.3
index ee75184..3d95a40 100644
--- a/man-pages/man3/abs.3
+++ b/man-pages/man3/abs.3
@@ -80,14 +80,22 @@ appropriate integer type for the function.
 Returns the absolute value of the integer argument, of the appropriate
 integer type for the function.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR abs (),
 .BR labs (),
 .BR llabs (),
-and
 .BR imaxabs ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
+.ad
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD, C99.
 .\" POSIX.1 (1996 edition) requires only the
diff --git a/man-pages/man3/acos.3 b/man-pages/man3/acos.3
index 9519675..273867b 100644
--- a/man-pages/man3/acos.3
+++ b/man-pages/man3/acos.3
@@ -110,6 +110,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR acos (),
+.BR acosf (),
+.BR acosl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/acosh.3 b/man-pages/man3/acosh.3
index 7c42471..1c5b28e 100644
--- a/man-pages/man3/acosh.3
+++ b/man-pages/man3/acosh.3
@@ -117,6 +117,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR acosh (),
+.BR acoshf (),
+.BR acoshl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/addseverity.3 b/man-pages/man3/addseverity.3
index 2457ffe..f2b135c 100644
--- a/man-pages/man3/addseverity.3
+++ b/man-pages/man3/addseverity.3
@@ -57,6 +57,18 @@ nonexistent or default severity class.
 .SH VERSIONS
 .BR addseverity ()
 is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR addseverity ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is not specified in the X/Open Portability Guide
 although the
diff --git a/man-pages/man3/adjtime.3 b/man-pages/man3/adjtime.3
index ada10da..5fa8b89 100644
--- a/man-pages/man3/adjtime.3
+++ b/man-pages/man3/adjtime.3
@@ -99,6 +99,18 @@ The caller does not have sufficient privilege to adjust the time.
 Under Linux the
 .B CAP_SYS_TIME
 capability is required.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR adjtime ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, System V.
 .SH NOTES
diff --git a/man-pages/man3/aio_cancel.3 b/man-pages/man3/aio_cancel.3
index 5f60253..7bdb733 100644
--- a/man-pages/man3/aio_cancel.3
+++ b/man-pages/man3/aio_cancel.3
@@ -111,6 +111,18 @@ is not implemented.
 The
 .BR aio_cancel ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR aio_cancel ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH EXAMPLE
diff --git a/man-pages/man3/aio_error.3 b/man-pages/man3/aio_error.3
index f0d4601..21099ac 100644
--- a/man-pages/man3/aio_error.3
+++ b/man-pages/man3/aio_error.3
@@ -80,10 +80,17 @@ The
 .BR aio_error ()
 function is available since glibc 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR aio_error ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH EXAMPLE
diff --git a/man-pages/man3/aio_fsync.3 b/man-pages/man3/aio_fsync.3
index 8a1a7b6..3e43184 100644
--- a/man-pages/man3/aio_fsync.3
+++ b/man-pages/man3/aio_fsync.3
@@ -100,6 +100,18 @@ is not implemented.
 The
 .BR aio_fsync ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR aio_fsync ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH SEE ALSO
diff --git a/man-pages/man3/aio_read.3 b/man-pages/man3/aio_read.3
index 0cff75c..e989f69 100644
--- a/man-pages/man3/aio_read.3
+++ b/man-pages/man3/aio_read.3
@@ -129,6 +129,18 @@ the maximum offset for this file.
 The
 .BR aio_read ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR aio_read ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH NOTES
diff --git a/man-pages/man3/aio_return.3 b/man-pages/man3/aio_return.3
index 764ff65..f397567 100644
--- a/man-pages/man3/aio_return.3
+++ b/man-pages/man3/aio_return.3
@@ -75,10 +75,17 @@ The
 .BR aio_return ()
 function is available since glibc 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR aio_return ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH EXAMPLE
diff --git a/man-pages/man3/aio_suspend.3 b/man-pages/man3/aio_suspend.3
index 599fd70..52ce1b5 100644
--- a/man-pages/man3/aio_suspend.3
+++ b/man-pages/man3/aio_suspend.3
@@ -104,6 +104,18 @@ is not implemented.
 The
 .BR aio_suspend ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR aio_suspend ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH NOTES
diff --git a/man-pages/man3/aio_write.3 b/man-pages/man3/aio_write.3
index 5b68326..4b3c712 100644
--- a/man-pages/man3/aio_write.3
+++ b/man-pages/man3/aio_write.3
@@ -134,6 +134,18 @@ is not implemented.
 The
 .BR aio_write ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR aio_write ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH NOTES
diff --git a/man-pages/man3/alloca.3 b/man-pages/man3/alloca.3
index c1d9672..168ac19 100644
--- a/man-pages/man3/alloca.3
+++ b/man-pages/man3/alloca.3
@@ -62,6 +62,18 @@ The
 .BR alloca ()
 function returns a pointer to the beginning of the allocated space.
 If the allocation causes stack overflow, program behavior is undefined.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR alloca ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is not in POSIX.1-2001.
 
diff --git a/man-pages/man3/argz_add.3 b/man-pages/man3/argz_add.3
index 407de8c..137d5a4 100644
--- a/man-pages/man3/argz_add.3
+++ b/man-pages/man3/argz_add.3
@@ -195,6 +195,35 @@ All argz functions that do memory allocation have a return type of
 and return 0 for success, and
 .B ENOMEM
 if an allocation error occurs.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR argz_add (),
+.BR argz_add_sep (),
+.br
+.BR argz_append (),
+.BR argz_count (),
+.br
+.BR argz_create (),
+.BR argz_create_sep (),
+.br
+.BR argz_delete (),
+.BR argz_extract (),
+.br
+.BR argz_insert (),
+.BR argz_next (),
+.br
+.BR argz_replace (),
+.BR argz_stringify ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 These functions are a GNU extension.
 Handle with care.
diff --git a/man-pages/man3/asin.3 b/man-pages/man3/asin.3
index fee2f20..f4a03fa 100644
--- a/man-pages/man3/asin.3
+++ b/man-pages/man3/asin.3
@@ -108,6 +108,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR asin (),
+.BR asinf (),
+.BR asinl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/asinh.3 b/man-pages/man3/asinh.3
index ab2ec80..1f9ed24 100644
--- a/man-pages/man3/asinh.3
+++ b/man-pages/man3/asinh.3
@@ -102,6 +102,20 @@ positive infinity (negative infinity) is returned.
 .\" glibc 2.8 does not do this.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR asinh (),
+.BR asinhf (),
+.BR asinhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/assert.3 b/man-pages/man3/assert.3
index e6033e2..505531c 100644
--- a/man-pages/man3/assert.3
+++ b/man-pages/man3/assert.3
@@ -56,6 +56,19 @@ The message "assertion failed in file foo.c, function
 do_bar(), line 1287" is of no help at all to a user.
 .SH RETURN VALUE
 No value is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR assert ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 POSIX.1-2001, C89, C99.
 In C89,
diff --git a/man-pages/man3/assert_perror.3 b/man-pages/man3/assert_perror.3
index e1fd0a9..e84508b 100644
--- a/man-pages/man3/assert_perror.3
+++ b/man-pages/man3/assert_perror.3
@@ -56,6 +56,19 @@ line number of the macro call, and the output of
 .IR strerror(errnum) .
 .SH RETURN VALUE
 No value is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR assert_perror ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 This is a GNU extension.
 .SH BUGS
diff --git a/man-pages/man3/atan.3 b/man-pages/man3/atan.3
index 098c7af..a12f249 100644
--- a/man-pages/man3/atan.3
+++ b/man-pages/man3/atan.3
@@ -93,6 +93,20 @@ is positive infinity (negative infinity), +pi/2 (\-pi/2) is returned.
 .\" glibc 2.8 does not do this.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR atan (),
+.BR atanf (),
+.BR atanl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/atan2.3 b/man-pages/man3/atan2.3
index b7cd08b..e0db75e 100644
--- a/man-pages/man3/atan2.3
+++ b/man-pages/man3/atan2.3
@@ -163,6 +163,20 @@ is positive infinity, +pi/4 (\-pi/4) is returned.
 No errors occur.
 .\" POSIX.1 documents an optional underflow error
 .\" glibc 2.8 does not do this.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR atan2 (),
+.BR atan2f (),
+.BR atan2l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/atanh.3 b/man-pages/man3/atanh.3
index 56211f6..07bd826 100644
--- a/man-pages/man3/atanh.3
+++ b/man-pages/man3/atanh.3
@@ -136,6 +136,20 @@ is set to
 A divide-by-zero floating-point exception
 .RB ( FE_DIVBYZERO )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR atanh (),
+.BR atanhf (),
+.BR atanhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/atof.3 b/man-pages/man3/atof.3
index 62d151f..8ba930f 100644
--- a/man-pages/man3/atof.3
+++ b/man-pages/man3/atof.3
@@ -54,6 +54,18 @@ except that
 does not detect errors.
 .SH RETURN VALUE
 The converted value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+ .BR atof ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/atoi.3 b/man-pages/man3/atoi.3
index 8f9c1ea..99eee1c 100644
--- a/man-pages/man3/atoi.3
+++ b/man-pages/man3/atoi.3
@@ -90,6 +90,20 @@ is an obsolete name for
 .BR atoll ().
 .SH RETURN VALUE
 The converted value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR atoi (),
+.BR atol (),
+.BR atoll ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD, C99.
 C89 and
diff --git a/man-pages/man3/backtrace.3 b/man-pages/man3/backtrace.3
index e8e9da9..79e1aec 100644
--- a/man-pages/man3/backtrace.3
+++ b/man-pages/man3/backtrace.3
@@ -140,6 +140,22 @@ on error, NULL is returned.
 and
 .BR backtrace_symbols_fd ()
 are provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR backtrace (),
+.br
+.BR backtrace_symbols (),
+.br
+.BR backtrace_symbols_fd ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are GNU extensions.
 .SH NOTES
diff --git a/man-pages/man3/basename.3 b/man-pages/man3/basename.3
index 1cca6d8..5c87942 100644
--- a/man-pages/man3/basename.3
+++ b/man-pages/man3/basename.3
@@ -126,6 +126,19 @@ and
 return pointers to null-terminated strings.
 (Do not pass these pointers to
 .BR free (3).)
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR basename (),
+.BR dirname ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/bcmp.3 b/man-pages/man3/bcmp.3
index ef964a1..293b25a 100644
--- a/man-pages/man3/bcmp.3
+++ b/man-pages/man3/bcmp.3
@@ -58,6 +58,18 @@ The
 .BR bcmp ()
 function returns 0 if the byte sequences are equal,
 otherwise a nonzero result is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR bcmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 This function is deprecated (marked as LEGACY in POSIX.1-2001): use
diff --git a/man-pages/man3/bcopy.3 b/man-pages/man3/bcopy.3
index 13baa05..26d10fe 100644
--- a/man-pages/man3/bcopy.3
+++ b/man-pages/man3/bcopy.3
@@ -51,6 +51,18 @@ to
 The result is correct, even when both areas overlap.
 .SH RETURN VALUE
 None.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR bcopy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 This function is deprecated (marked as LEGACY in POSIX.1-2001): use
diff --git a/man-pages/man3/bindresvport.3 b/man-pages/man3/bindresvport.3
index 8c5979b..5615e69 100644
--- a/man-pages/man3/bindresvport.3
+++ b/man-pages/man3/bindresvport.3
@@ -90,17 +90,27 @@ is not NULL and
 is not
 .BR AF_INET .
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-Before glibc 2.17, the
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l lw23.
+Interface	Attribute	Value
+T{
 .BR bindresvport ()
-function uses a static variable that is not protected,
-so it is not thread-safe.
-
-Since glibc 2.17,
+T}	Thread safety	T{
+glibc >= 2.17: MT-Safe
 .\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5
-the
+.br
+glibc < 2.17: MT-Unsafe
+T}
+.TE
+.PP
+The
 .BR bindresvport ()
-function uses a lock to protect static variable, so it is thread-safe.
+function uses a static variable that was not protected by a lock
+before glibc 2.17, rendering the function MT-Unsafe.
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 Present on the BSDs, Solaris, and many other systems.
diff --git a/man-pages/man3/bsd_signal.3 b/man-pages/man3/bsd_signal.3
index 2ecec66..1f6270a 100644
--- a/man-pages/man3/bsd_signal.3
+++ b/man-pages/man3/bsd_signal.3
@@ -60,6 +60,18 @@ on error.
 .SH ERRORS
 As for
 .BR signal (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR bsd_signal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.2BSD, POSIX.1-2001.
 POSIX.1-2008 removes the specification of
diff --git a/man-pages/man3/btowc.3 b/man-pages/man3/btowc.3
index ce96dbb..c93b58e 100644
--- a/man-pages/man3/btowc.3
+++ b/man-pages/man3/btowc.3
@@ -46,6 +46,18 @@ If \fIc\fP is
 or not a valid multibyte sequence of length 1,
 it returns
 .BR WEOF .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR btowc ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/byteorder.3 b/man-pages/man3/byteorder.3
index 5c0cc00..5d31bcf 100644
--- a/man-pages/man3/byteorder.3
+++ b/man-pages/man3/byteorder.3
@@ -73,6 +73,21 @@ from network byte order to host byte order.
 On the i386 the host byte order is Least Significant Byte first,
 whereas the network byte order, as used on the Internet, is Most
 Significant Byte first.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw34 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR htonl (),
+.BR htons (),
+.BR ntohl (),
+.BR ntohs ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 
diff --git a/man-pages/man3/bzero.3 b/man-pages/man3/bzero.3
index 35bc1f0..e94c75a 100644
--- a/man-pages/man3/bzero.3
+++ b/man-pages/man3/bzero.3
@@ -47,6 +47,18 @@ bytes of the area starting at
 to zero (bytes containing \(aq\\0\(aq).
 .SH RETURN VALUE
 None.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR bzero ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 This function is deprecated (marked as LEGACY in POSIX.1-2001): use
diff --git a/man-pages/man3/cabs.3 b/man-pages/man3/cabs.3
index 4c24a68..b0df7f2 100644
--- a/man-pages/man3/cabs.3
+++ b/man-pages/man3/cabs.3
@@ -25,6 +25,20 @@ function returns the absolute value of the complex number
 The result is a real number.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cabs (),
+.BR cabsf (),
+.BR cabsl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/cacos.3 b/man-pages/man3/cacos.3
index f5a140a..314b811 100644
--- a/man-pages/man3/cacos.3
+++ b/man-pages/man3/cacos.3
@@ -35,6 +35,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cacos (),
+.BR cacosf (),
+.BR cacosl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH EXAMPLE
diff --git a/man-pages/man3/cacosh.3 b/man-pages/man3/cacosh.3
index 7f33e55..bdf2c72 100644
--- a/man-pages/man3/cacosh.3
+++ b/man-pages/man3/cacosh.3
@@ -38,6 +38,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cacosh (),
+.BR cacoshf (),
+.BR cacoshl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH EXAMPLE
diff --git a/man-pages/man3/canonicalize_file_name.3 b/man-pages/man3/canonicalize_file_name.3
index 0aeef85..d9595a3 100644
--- a/man-pages/man3/canonicalize_file_name.3
+++ b/man-pages/man3/canonicalize_file_name.3
@@ -70,6 +70,18 @@ to indicate the error.
 .SH ERRORS
 See
 .BR realpath (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see 
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR canonicalize_file_name ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH SEE ALSO
diff --git a/man-pages/man3/carg.3 b/man-pages/man3/carg.3
index e00479b..7e8bada 100644
--- a/man-pages/man3/carg.3
+++ b/man-pages/man3/carg.3
@@ -54,6 +54,20 @@ One has:
 The return value is the range of [\-pi,pi].
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR carg (),
+.BR cargf (),
+.BR cargl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/casin.3 b/man-pages/man3/casin.3
index ea65d1e..9e75602 100644
--- a/man-pages/man3/casin.3
+++ b/man-pages/man3/casin.3
@@ -34,6 +34,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR casin (),
+.BR casinf (),
+.BR casinl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/casinh.3 b/man-pages/man3/casinh.3
index 1e0fee3..67bfe2e 100644
--- a/man-pages/man3/casinh.3
+++ b/man-pages/man3/casinh.3
@@ -34,6 +34,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR casinh (),
+.BR casinhf (),
+.BR casinhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/catan.3 b/man-pages/man3/catan.3
index c25c979..f89dc37 100644
--- a/man-pages/man3/catan.3
+++ b/man-pages/man3/catan.3
@@ -33,6 +33,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR catan (),
+.BR catanf (),
+.BR catanl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH EXAMPLE
diff --git a/man-pages/man3/catanh.3 b/man-pages/man3/catanh.3
index 7f1861c..d88766e 100644
--- a/man-pages/man3/catanh.3
+++ b/man-pages/man3/catanh.3
@@ -35,6 +35,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR catanh (),
+.BR catanhf (),
+.BR catanhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH EXAMPLE
diff --git a/man-pages/man3/catgets.3 b/man-pages/man3/catgets.3
index 17eca22..e46714a 100644
--- a/man-pages/man3/catgets.3
+++ b/man-pages/man3/catgets.3
@@ -66,6 +66,18 @@ On failure,
 .BR catgets ()
 returns the value
 .IR message .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR catgets ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/catopen.3 b/man-pages/man3/catopen.3
index 74ac4d2..b1ada5c 100644
--- a/man-pages/man3/catopen.3
+++ b/man-pages/man3/catopen.3
@@ -143,6 +143,21 @@ is set to
 The language to use if
 .I flag
 is 0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR catopen ()
+T}	Thread safety	MT-Safe env
+T{
+.BR catclose ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .\" In XPG 1987, Vol. 3 it says:
diff --git a/man-pages/man3/cbrt.3 b/man-pages/man3/cbrt.3
index 6378e37..55bf515 100644
--- a/man-pages/man3/cbrt.3
+++ b/man-pages/man3/cbrt.3
@@ -87,6 +87,20 @@ is +0, \-0, positive infinity, negative infinity, or NaN,
 is returned.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cbrt (),
+.BR cbrtf (),
+.BR cbrtl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .\" .BR cbrt ()
diff --git a/man-pages/man3/ceil.3 b/man-pages/man3/ceil.3
index 8bf43e2..6fc8148 100644
--- a/man-pages/man3/ceil.3
+++ b/man-pages/man3/ceil.3
@@ -79,13 +79,19 @@ itself is returned.
 No errors occur.
 POSIX.1-2001 documents a range error for overflows, but see NOTES.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ceil (),
 .BR ceilf (),
-and
 .BR ceill ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/cfree.3 b/man-pages/man3/cfree.3
index 1177758..b84feab 100644
--- a/man-pages/man3/cfree.3
+++ b/man-pages/man3/cfree.3
@@ -109,6 +109,18 @@ was not a pointer to a block previously allocated by
 one of the routines in the
 .BR malloc (3)
 family.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cfree ()
+T}	Thread safety	MT-Safe /* In glibc */
+.TE
 .SH CONFORMING TO
 The 3-argument version of
 .BR cfree ()
diff --git a/man-pages/man3/cimag.3 b/man-pages/man3/cimag.3
index 66d8c8d..1540300 100644
--- a/man-pages/man3/cimag.3
+++ b/man-pages/man3/cimag.3
@@ -31,13 +31,19 @@ One has:
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR cimag (),
 .BR cimagf (),
-and
 .BR cimagl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/clock_getcpuclockid.3 b/man-pages/man3/clock_getcpuclockid.3
index c07955d..4dd1111 100644
--- a/man-pages/man3/clock_getcpuclockid.3
+++ b/man-pages/man3/clock_getcpuclockid.3
@@ -86,10 +86,17 @@ The
 .BR clock_getcpuclockid ()
 function is available in glibc since version 2.2.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR clock_getcpuclockid ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/clog.3 b/man-pages/man3/clog.3
index c14e19b..35fe44a 100644
--- a/man-pages/man3/clog.3
+++ b/man-pages/man3/clog.3
@@ -38,6 +38,20 @@ Note that
 close to zero will cause an overflow.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR clog (),
+.BR clogf (),
+.BR clogl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/clog10.3 b/man-pages/man3/clog10.3
index ac96dbb..790c8f5 100644
--- a/man-pages/man3/clog10.3
+++ b/man-pages/man3/clog10.3
@@ -34,6 +34,20 @@ Note that
 close to zero will cause an overflow.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR clog10 (),
+.BR clog10f (),
+.BR clog10l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 It is reserved for future use in C99.
diff --git a/man-pages/man3/closedir.3 b/man-pages/man3/closedir.3
index 1cfa9f4..64cc5c2 100644
--- a/man-pages/man3/closedir.3
+++ b/man-pages/man3/closedir.3
@@ -64,6 +64,18 @@ is set appropriately.
 .B EBADF
 Invalid directory stream descriptor
 .IR dirp .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR closedir ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD.
 .SH SEE ALSO
diff --git a/man-pages/man3/confstr.3 b/man-pages/man3/confstr.3
index 4732964..7200f62 100644
--- a/man-pages/man3/confstr.3
+++ b/man-pages/man3/confstr.3
@@ -124,6 +124,18 @@ is set to
 If the value of
 .I name
 is invalid.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR confstr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH EXAMPLE
diff --git a/man-pages/man3/conj.3 b/man-pages/man3/conj.3
index 9d7bda8..de8167e 100644
--- a/man-pages/man3/conj.3
+++ b/man-pages/man3/conj.3
@@ -32,13 +32,19 @@ One has:
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR conj (),
 .BR conjf (),
-and
 .BR conjl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/copysign.3 b/man-pages/man3/copysign.3
index 5559abf..c5a6fcd 100644
--- a/man-pages/man3/copysign.3
+++ b/man-pages/man3/copysign.3
@@ -89,6 +89,20 @@ a NaN with the sign bit of
 is returned.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw36 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR copysign (),
+.BR copysignf (),
+.BR copysignl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .\" 4.3BSD.
diff --git a/man-pages/man3/cos.3 b/man-pages/man3/cos.3
index 779b186..355dfa9 100644
--- a/man-pages/man3/cos.3
+++ b/man-pages/man3/cos.3
@@ -101,6 +101,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cos (),
+.BR cosf (),
+.BR cosl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/cosh.3 b/man-pages/man3/cosh.3
index 488af51..030c16c 100644
--- a/man-pages/man3/cosh.3
+++ b/man-pages/man3/cosh.3
@@ -116,6 +116,20 @@ is set to
 An overflow floating-point exception
 .RB ( FE_OVERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cosh (),
+.BR coshf (),
+.BR coshl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/cpow.3 b/man-pages/man3/cpow.3
index d9b1b8d..a9c0189 100644
--- a/man-pages/man3/cpow.3
+++ b/man-pages/man3/cpow.3
@@ -30,6 +30,20 @@ raised to the power
 along the negative real axis.)
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cpow (),
+.BR cpowf (),
+.BR cpowl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/cproj.3 b/man-pages/man3/cproj.3
index 3d59fd6..8a19712 100644
--- a/man-pages/man3/cproj.3
+++ b/man-pages/man3/cproj.3
@@ -29,6 +29,20 @@ Every complex infinite value is projected to a single infinite value,
 namely to positive infinity on the real axis.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR cproj (),
+.BR cprojf (),
+.BR cprojl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/creal.3 b/man-pages/man3/creal.3
index cde28a2..54d98c0 100644
--- a/man-pages/man3/creal.3
+++ b/man-pages/man3/creal.3
@@ -30,6 +30,20 @@ One has:
 .fi
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR creal (),
+.BR crealf (),
+.BR creall ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/crypt.3 b/man-pages/man3/crypt.3
index 38e2293..4f04b97 100644
--- a/man-pages/man3/crypt.3
+++ b/man-pages/man3/crypt.3
@@ -161,14 +161,20 @@ function was not implemented, probably because of U.S.A. export restrictions.
 .\" Making encrypted data computed using crypt() publicly available has
 .\" to be considered insecure for the given reasons.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR crypt ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:crypt
+T{
 .BR crypt_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR crypt ():
 SVr4, 4.3BSD, POSIX.1-2001.
diff --git a/man-pages/man3/ctermid.3 b/man-pages/man3/ctermid.3
index 6a982d4..9eb4a2b 100644
--- a/man-pages/man3/ctermid.3
+++ b/man-pages/man3/ctermid.3
@@ -59,11 +59,17 @@ is the maximum number of characters in the returned pathname.
 .SH RETURN VALUE
 The pointer to the pathname.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ctermid ()
-function is thread-safe with exceptions.
-It is not thread-safe if called with a NULL parameter.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 Svr4, POSIX.1-2001.
 .SH BUGS
diff --git a/man-pages/man3/daemon.3 b/man-pages/man3/daemon.3
index 0f7c87f..d9b1134 100644
--- a/man-pages/man3/daemon.3
+++ b/man-pages/man3/daemon.3
@@ -88,6 +88,19 @@ to any of the errors specified for the
 .BR fork (2)
 and
 .BR setsid (2).
+
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR daemon ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 A similar function appears on the BSDs.
diff --git a/man-pages/man3/des_crypt.3 b/man-pages/man3/des_crypt.3
index 706c6e8..b60336e 100644
--- a/man-pages/man3/des_crypt.3
+++ b/man-pages/man3/des_crypt.3
@@ -131,6 +131,20 @@ is false only for the first two statuses.
 .SH VERSIONS
 These routines are present in libc 4.6.27 and later, and in
 glibc 2.1 and later.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ecb_crypt (),
+.BR cbc_crypt ()
+.BR des_setparity ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 Not in POSIX.1-2001.
diff --git a/man-pages/man3/difftime.3 b/man-pages/man3/difftime.3
index d2d5042..980a1e3 100644
--- a/man-pages/man3/difftime.3
+++ b/man-pages/man3/difftime.3
@@ -45,6 +45,18 @@ between time \fItime1\fP and time \fItime0\fP, represented as a
 Each of the times is specified in calendar time, which means its
 value is a measurement (in seconds) relative to the
 Epoch, 1970-01-01 00:00:00 +0000 (UTC).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR difftime ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/dirfd.3 b/man-pages/man3/dirfd.3
index 9142c7d..3e8d4e6 100644
--- a/man-pages/man3/dirfd.3
+++ b/man-pages/man3/dirfd.3
@@ -85,10 +85,17 @@ does not refer to a valid directory stream.
 The implementation does not support the association of a file
 descriptor with a directory.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR dirfd ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 This function was a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD.
diff --git a/man-pages/man3/div.3 b/man-pages/man3/div.3
index 56dea09..faef9c8 100644
--- a/man-pages/man3/div.3
+++ b/man-pages/man3/div.3
@@ -89,14 +89,20 @@ of the same type as the function arguments.
 .SH RETURN VALUE
 The \fIdiv_t\fP (etc.) structure.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR div (),
 .BR ldiv (),
 .BR lldiv (),
-and
 .BR imaxdiv ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89. C99.
 The functions
diff --git a/man-pages/man3/drand48.3 b/man-pages/man3/drand48.3
index 272b3b8..3953f99 100644
--- a/man-pages/man3/drand48.3
+++ b/man-pages/man3/drand48.3
@@ -243,8 +243,15 @@ will restore the standard values of
 and
 .IR c .
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lb lb lb
+lw32 l l.
+Interface	Attribute	Value
+T{
 .BR drand48 (),
 .BR erand48 (),
 .BR lrand48 (),
@@ -253,8 +260,14 @@ The
 .BR jrand48 (),
 .BR srand48 (),
 .BR seed48 (),
-and
 .BR lcong48 ()
+T}	Thread safety	T{
+MT-Unsafe race:drand48
+T}
+.TE
+.ad
+.PP
+The above
 functions record global state information for the random number generator,
 so they are not thread-safe.
 .SH CONFORMING TO
diff --git a/man-pages/man3/drand48_r.3 b/man-pages/man3/drand48_r.3
index 94e16ea..ee07801 100644
--- a/man-pages/man3/drand48_r.3
+++ b/man-pages/man3/drand48_r.3
@@ -95,6 +95,28 @@ or
 .BR lcong48_r ().
 .SH RETURN VALUE
 The return value is 0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lbw38 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR drand48_r (),
+.BR erand48_r (),
+.BR lrand48_r (),
+.BR nrand48_r (),
+.BR mrand48_r (),
+.BR jrand48_r (),
+.BR srand48_r (),
+.BR seed48_r (),
+.BR lcong48_r ()
+T}	Thread safety	MT-Safe race:buffer
+.TE
+.ad
 .SH CONFORMING TO
 These functions are GNU extensions and are not portable.
 .SH SEE ALSO
diff --git a/man-pages/man3/dysize.3 b/man-pages/man3/dysize.3
index b9b577b..1c9c525 100644
--- a/man-pages/man3/dysize.3
+++ b/man-pages/man3/dysize.3
@@ -48,6 +48,18 @@ The formula is defined in the macro
 .I __isleap(year)
 also found in
 .IR <time.h> .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR dysize ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function occurs in SunOS 4.x.
 .SH NOTES
diff --git a/man-pages/man3/ecvt.3 b/man-pages/man3/ecvt.3
index 956b807..7e38d18 100644
--- a/man-pages/man3/ecvt.3
+++ b/man-pages/man3/ecvt.3
@@ -108,12 +108,20 @@ The static string is overwritten by each call to
 or
 .BR fcvt ().
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ecvt ()
-and
+T}	Thread safety	MT-Unsafe race:ecvt
+T{
 .BR fcvt ()
-functions are not thread-safe.
+T}	Thread safety	MT-Unsafe race:fcvt
+.TE
 .SH CONFORMING TO
 SVr2;
 marked as LEGACY in POSIX.1-2001.
diff --git a/man-pages/man3/ecvt_r.3 b/man-pages/man3/ecvt_r.3
index f53e822..da121c1 100644
--- a/man-pages/man3/ecvt_r.3
+++ b/man-pages/man3/ecvt_r.3
@@ -85,6 +85,22 @@ and
 .BR qecvt (3).
 .SH RETURN VALUE
 These functions return 0 on success, and \-1 otherwise.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ecvt_r (),
+.BR fcvt_r (),
+.br
+.BR qecvt_r (),
+.BR qfcvt_r ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are GNU extensions.
 .SH NOTES
diff --git a/man-pages/man3/encrypt.3 b/man-pages/man3/encrypt.3
index 75bde23..4f0f2a8 100644
--- a/man-pages/man3/encrypt.3
+++ b/man-pages/man3/encrypt.3
@@ -122,18 +122,22 @@ On success, it is unchanged.
 The function is not provided.
 (For example because of former USA export restrictions.)
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR encrypt ()
-and
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR encrypt (),
 .BR setkey ()
-functions are not thread-safe.
-.LP
-The
-.BR encrypt_r ()
-and
+T}	Thread safety	MT-Unsafe race:crypt
+T{
+.BR encrypt_r (),
 .BR setkey_r ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions
 .BR encrypt ()
diff --git a/man-pages/man3/envz_add.3 b/man-pages/man3/envz_add.3
index 18d64aa..e8ce9af 100644
--- a/man-pages/man3/envz_add.3
+++ b/man-pages/man3/envz_add.3
@@ -115,6 +115,26 @@ All envz functions that do memory allocation have a return type of
 and return 0 for success, and
 .B ENOMEM
 if an allocation error occurs.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR envz_add (),
+.BR envz_entry (),
+.br
+.BR envz_get (),
+.BR envz_merge (),
+.br
+.BR envz_remove (),
+.BR envz_strip ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 These functions are a GNU extension.
 Handle with care.
diff --git a/man-pages/man3/erf.3 b/man-pages/man3/erf.3
index 37d912c..e8ac953 100644
--- a/man-pages/man3/erf.3
+++ b/man-pages/man3/erf.3
@@ -123,6 +123,20 @@ These functions do not set
 .IR errno .
 .\" FIXME . Is it intentional that these functions do not set errno?
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6785
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR erf (),
+.BR erff (),
+.BR erfl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/erfc.3 b/man-pages/man3/erfc.3
index 922e3fc..6f0677a 100644
--- a/man-pages/man3/erfc.3
+++ b/man-pages/man3/erfc.3
@@ -119,6 +119,20 @@ These functions do not set
 .IR errno .
 .\" FIXME . Is it intentional that these functions do not set errno?
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6785
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR erfc (),
+.BR erfcf (),
+.BR erfcl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/euidaccess.3 b/man-pages/man3/euidaccess.3
index 5a06e21..02dd52a 100644
--- a/man-pages/man3/euidaccess.3
+++ b/man-pages/man3/euidaccess.3
@@ -70,6 +70,19 @@ As for
 The
 .BR eaccess ()
 function was added to glibc in version 2.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR euidaccess (),
+.BR eaccess ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are nonstandard.
 Some other systems have an
diff --git a/man-pages/man3/exec.3 b/man-pages/man3/exec.3
index 46accc1..20204f0 100644
--- a/man-pages/man3/exec.3
+++ b/man-pages/man3/exec.3
@@ -196,6 +196,25 @@ for any of the errors specified for
 The
 .BR execvpe ()
 function first appeared in glibc 2.11.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR execl (),
+.BR execle (),
+.BR execv ()
+T}	Thread safety	MT-Safe
+T{
+.BR execlp (),
+.BR execvp (),
+.BR execvpe ()
+T}	Thread safety	MT-Safe env
+.TE
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 
diff --git a/man-pages/man3/exit.3 b/man-pages/man3/exit.3
index 079b64d..f7976c5 100644
--- a/man-pages/man3/exit.3
+++ b/man-pages/man3/exit.3
@@ -87,6 +87,23 @@ termination, respectively.
 The
 .BR exit ()
 function does not return.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR exit ()
+T}	Thread safety	MT-Unsafe race:exit
+.TE
+.PP
+The
+.BR exit ()
+function uses a global variable that is not protected,
+so it is not thread-safe.
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001, C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/exp.3 b/man-pages/man3/exp.3
index 714ddd7..c4ff8e3 100644
--- a/man-pages/man3/exp.3
+++ b/man-pages/man3/exp.3
@@ -125,6 +125,20 @@ is set to
 An underflow floating-point exception
 .RB ( FE_UNDERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR exp (),
+.BR expf (),
+.BR expl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/exp10.3 b/man-pages/man3/exp10.3
index 182eff0..7054b67 100644
--- a/man-pages/man3/exp10.3
+++ b/man-pages/man3/exp10.3
@@ -74,6 +74,20 @@ For a discussion of the errors that can occur for these functions, see
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6787
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR exp10 (),
+.BR exp10f (),
+.BR exp10l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are GNU extensions.
 .SH SEE ALSO
diff --git a/man-pages/man3/exp2.3 b/man-pages/man3/exp2.3
index a8a6e32..b22ec01 100644
--- a/man-pages/man3/exp2.3
+++ b/man-pages/man3/exp2.3
@@ -88,6 +88,20 @@ For a discussion of the errors that can occur for these functions, see
 .BR exp (3).
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR exp2 (),
+.BR exp2f (),
+.BR exp2l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/expm1.3 b/man-pages/man3/expm1.3
index c166e59..2e9412b 100644
--- a/man-pages/man3/expm1.3
+++ b/man-pages/man3/expm1.3
@@ -133,6 +133,21 @@ is raised.
 .\"
 .\" POSIX.1 specifies an optional range error (underflow) if
 .\" x is subnormal.  Glibc does not implement this.
+
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR expm1 (),
+.BR expm1f (),
+.BR expm1l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .\" BSD.
diff --git a/man-pages/man3/fabs.3 b/man-pages/man3/fabs.3
index 2d41435..3f5de66 100644
--- a/man-pages/man3/fabs.3
+++ b/man-pages/man3/fabs.3
@@ -83,13 +83,19 @@ is negative infinity or positive infinity, positive infinity is returned.
 .SH ERRORS
 No errors occur.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR fabs (),
 .BR fabsf (),
-and
 .BR fabsl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/fclose.3 b/man-pages/man3/fclose.3
index 49b67bf..5465b6b 100644
--- a/man-pages/man3/fclose.3
+++ b/man-pages/man3/fclose.3
@@ -87,6 +87,18 @@ for any of the errors specified for the routines
 .BR write (2)
 or
 .BR fflush (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fclose ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/fcloseall.3 b/man-pages/man3/fcloseall.3
index 02fdcf9..d92e1bc 100644
--- a/man-pages/man3/fcloseall.3
+++ b/man-pages/man3/fcloseall.3
@@ -53,7 +53,18 @@ on error,
 .B EOF
 is returned.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fcloseall ()
+T}	Thread safety	MT-Unsafe race:streams
+.TE
+.PP
 The
 .BR fcloseall ()
 function does not lock the streams, so it is not thread-safe.
diff --git a/man-pages/man3/fdim.3 b/man-pages/man3/fdim.3
index a1da15f..3c5023e 100644
--- a/man-pages/man3/fdim.3
+++ b/man-pages/man3/fdim.3
@@ -79,13 +79,19 @@ These functions do not set
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR fdim (),
 .BR fdimf (),
-and
 .BR fdiml ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/fenv.3 b/man-pages/man3/fenv.3
index 4d06888..80af589 100644
--- a/man-pages/man3/fenv.3
+++ b/man-pages/man3/fenv.3
@@ -262,6 +262,68 @@ These functions return zero on success and nonzero if an error occurred.
 .\" of the C99 Standard.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.nh
+.ad l
+.TS
+allbox;
+lb lb lb
+lw38 l l.
+Interface	Attribute	Value
+T{
+.BR feclearexcept (),
+.BR fegetexceptflag (),
+.BR fegetexceptflag (),
+.BR fesetexceptflag (),
+.BR fetestexcept (),
+.BR fegetround (),
+.BR fesetround (),
+.BR fegetenv (),
+.BR feholdexcept (),
+.BR fesetenv (),
+.BR feupdateenv (),
+.BR feenableexcept (),
+.BR fedisableexcept (),
+.BR fegetexcept ()
+T}	Thread safety	T{
+MT-Safe
+T}
+.TE
+.ad
+.hy
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.nh
+.ad l
+.TS
+allbox;
+lb lb lb
+lw35 l l.
+Interface	Attribute	Value
+T{
+.BR feclearexcept (),
+.BR fegetexceptflag (),
+.BR feraiseexcept (),
+.BR fesetexceptflag (),
+.BR fetestexcept (),
+.BR fegetround (),
+.BR fesetround (),
+.BR fegetenv (),
+.BR feholdexcept (),
+.BR fesetenv (),
+.BR feupdateenv (),
+.BR feenableexcept (),
+.BR fedisableexcept (),
+.BR fegetexcept ()
+T}	Thread safety	T{
+MT-Safe
+T}
+.TE
+.ad
+.hy
 .SH CONFORMING TO
 IEC 60559 (IEC 559:1989), ANSI/IEEE 854, C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/ferror.3 b/man-pages/man3/ferror.3
index e17c04a..e984de7 100644
--- a/man-pages/man3/ferror.3
+++ b/man-pages/man3/ferror.3
@@ -104,14 +104,21 @@ return \-1 and set
 to
 .BR EBADF .)
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR clearerr (),
 .BR feof (),
+.br
 .BR ferror (),
-and
 .BR fileno ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions
 .BR clearerr (),
diff --git a/man-pages/man3/fflush.3 b/man-pages/man3/fflush.3
index c77f6c9..fa9ff4e 100644
--- a/man-pages/man3/fflush.3
+++ b/man-pages/man3/fflush.3
@@ -91,10 +91,17 @@ may also fail and set
 for any of the errors specified for
 .BR write (2).
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR fflush ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, POSIX.1-2001, POSIX.1-2008.
 
diff --git a/man-pages/man3/ffs.3 b/man-pages/man3/ffs.3
index 1127bd0..bf3bd23 100644
--- a/man-pages/man3/ffs.3
+++ b/man-pages/man3/ffs.3
@@ -88,6 +88,20 @@ arguments of possibly different size.
 These functions return the position of the first bit set,
 or 0 if no bits are set in
 .IR i .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ffs (),
+.BR ffsl (),
+.BR ffsll ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR ffs ():
 4.3BSD, POSIX.1-2001.
diff --git a/man-pages/man3/fgetwc.3 b/man-pages/man3/fgetwc.3
index 1cff7c5..2e13f81 100644
--- a/man-pages/man3/fgetwc.3
+++ b/man-pages/man3/fgetwc.3
@@ -67,6 +67,19 @@ Apart from the usual ones, there is
 .B EILSEQ
 The data obtained from the input stream does not
 form a valid character.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw17 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fgetwc (),
+.BR getwc ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/fgetws.3 b/man-pages/man3/fgetws.3
index c02010e..fcd9667 100644
--- a/man-pages/man3/fgetws.3
+++ b/man-pages/man3/fgetws.3
@@ -49,6 +49,18 @@ The
 function, if successful, returns \fIws\fP.
 If end of stream
 was already reached or if an error occurred, it returns NULL.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fgetws ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/finite.3 b/man-pages/man3/finite.3
index aabe810..8f5fb52 100644
--- a/man-pages/man3/finite.3
+++ b/man-pages/man3/finite.3
@@ -119,19 +119,27 @@ is positive infinity, \-1 if
 .I x
 is negative infinity, and 0 otherwise.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR finite (),
 .BR finitef (),
 .BR finitel (),
+.br
 .BR isinf (),
 .BR isinff (),
 .BR isinfl (),
+.br
 .BR isnan (),
 .BR isnanf (),
-and
 .BR isnanl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH NOTES
 Note that these functions are obsolete.
 C99 defines macros
diff --git a/man-pages/man3/flockfile.3 b/man-pages/man3/flockfile.3
index eca296f..d6f51a7 100644
--- a/man-pages/man3/flockfile.3
+++ b/man-pages/man3/flockfile.3
@@ -125,13 +125,19 @@ function returns zero for success
 .SH ERRORS
 None.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR flockfile (),
 .BR ftrylockfile (),
-and
 .BR funlockfile ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH AVAILABILITY
diff --git a/man-pages/man3/floor.3 b/man-pages/man3/floor.3
index dddfce2..15c9423 100644
--- a/man-pages/man3/floor.3
+++ b/man-pages/man3/floor.3
@@ -78,13 +78,19 @@ itself is returned.
 No errors occur.
 POSIX.1-2001 documents a range error for overflows, but see NOTES.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR floor (),
 .BR floorf (),
-and
 .BR floorl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/fma.3 b/man-pages/man3/fma.3
index 6083e98..1af3deb 100644
--- a/man-pages/man3/fma.3
+++ b/man-pages/man3/fma.3
@@ -153,6 +153,20 @@ These functions do not set
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6801
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fma (),
+.BR fmaf (),
+.BR fmal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/fmax.3 b/man-pages/man3/fmax.3
index 810d5b2..3b38940 100644
--- a/man-pages/man3/fmax.3
+++ b/man-pages/man3/fmax.3
@@ -55,6 +55,20 @@ If both arguments are NaN, a NaN is returned.
 No errors occur.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fma (),
+.BR fmaf (),
+.BR fmal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/fmin.3 b/man-pages/man3/fmin.3
index c7b8e27..aee17a5 100644
--- a/man-pages/man3/fmin.3
+++ b/man-pages/man3/fmin.3
@@ -55,6 +55,20 @@ If both arguments are NaN, a NaN is returned.
 No errors occur.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fmin (),
+.BR fminf (),
+.BR fminl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/fmod.3 b/man-pages/man3/fmod.3
index f645f48..50a8434 100644
--- a/man-pages/man3/fmod.3
+++ b/man-pages/man3/fmod.3
@@ -143,6 +143,20 @@ An invalid floating-point exception
 is raised.
 .\" POSIX.1 documents an optional underflow error, but AFAICT it doesn't
 .\" (can't?) occur -- mtk, Jul 2008
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fmod (),
+.BR fmodf (),
+.BR fmodl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/fmtmsg.3 b/man-pages/man3/fmtmsg.3
index 462a543..d2e6eb4 100644
--- a/man-pages/man3/fmtmsg.3
+++ b/man-pages/man3/fmtmsg.3
@@ -223,7 +223,22 @@ is the string printed when a message of this class is processed by
 .BR fmtmsg ()
 is provided in glibc since version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lbw23
+l l l.
+Interface	Attribute	Value
+T{
+.BR fmtmsg ()
+T}	Thread safety	T{
+glibc >= 2.16: MT-Safe
+.br
+glibc < 2.16: MT-Unsafe
+T}
+.TE
+.PP
 Before glibc 2.16, the
 .BR fmtmsg ()
 function uses a static variable that is not protected,
diff --git a/man-pages/man3/fnmatch.3 b/man-pages/man3/fnmatch.3
index 700ed70..3e33fd6 100644
--- a/man-pages/man3/fnmatch.3
+++ b/man-pages/man3/fnmatch.3
@@ -93,6 +93,18 @@ matches
 .IR pattern ,
 .B FNM_NOMATCH
 if there is no match or another nonzero value if there is an error.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fnmatch ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 POSIX.2.
 The
diff --git a/man-pages/man3/fopen.3 b/man-pages/man3/fopen.3
index a6b8f73..1c0ddf0 100644
--- a/man-pages/man3/fopen.3
+++ b/man-pages/man3/fopen.3
@@ -243,6 +243,20 @@ for any of the errors specified for the routines
 .BR fclose (3)
 and
 .BR fflush (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fopen (),
+.BR fdopen (),
+.BR freopen ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR fopen ()
diff --git a/man-pages/man3/fopencookie.3 b/man-pages/man3/fopencookie.3
index 4ab4617..3b3b3a8 100644
--- a/man-pages/man3/fopencookie.3
+++ b/man-pages/man3/fopencookie.3
@@ -242,6 +242,18 @@ returns a pointer to the new stream.
 On error, NULL is returned.
 .\" .SH ERRORS
 .\" It's not clear if errno ever gets set...
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fopencookie ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a nonstandard GNU extension.
 .SH EXAMPLE
diff --git a/man-pages/man3/fpclassify.3 b/man-pages/man3/fpclassify.3
index 235b05f..b2b297e 100644
--- a/man-pages/man3/fpclassify.3
+++ b/man-pages/man3/fpclassify.3
@@ -115,6 +115,24 @@ returns 1 if
 is positive infinity, and \-1 if
 .I x
 is negative infinity.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fpclassify (),
+.BR isfinite (),
+.BR isnormal (),
+.BR isnan (),
+.BR isinf ()
+T}	Thread safety	MT-Safe
+.TE
+.ad
 .SH CONFORMING TO
 C99, POSIX.1.
 
diff --git a/man-pages/man3/fread.3 b/man-pages/man3/fread.3
index 2294ee0..e3dd15a 100644
--- a/man-pages/man3/fread.3
+++ b/man-pages/man3/fread.3
@@ -100,6 +100,19 @@ does not distinguish between end-of-file and error, and callers must use
 and
 .BR ferror (3)
 to determine which occurred.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw17 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fread (),
+.BR fwrite ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/frexp.3 b/man-pages/man3/frexp.3
index ecb4105..99b1b0a 100644
--- a/man-pages/man3/frexp.3
+++ b/man-pages/man3/frexp.3
@@ -105,6 +105,20 @@ positive infinity (negative infinity) is returned, and the value of
 is unspecified.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR frexp (),
+.BR frexpf (),
+.BR frexpl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/ftime.3 b/man-pages/man3/ftime.3
index 0395d78..8df54eb 100644
--- a/man-pages/man3/ftime.3
+++ b/man-pages/man3/ftime.3
@@ -67,6 +67,19 @@ fields are unspecified; avoid relying on them.
 .SH RETURN VALUE
 This function always returns 0.
 (POSIX.1-2001 specifies, and some systems document, a \-1 error return.)
+
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ftime ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.2BSD, POSIX.1-2001.
 POSIX.1-2008 removes the specification of
diff --git a/man-pages/man3/ftok.3 b/man-pages/man3/ftok.3
index d90aa50..fe4704c 100644
--- a/man-pages/man3/ftok.3
+++ b/man-pages/man3/ftok.3
@@ -67,6 +67,18 @@ On failure \-1 is returned, with
 indicating the error as for the
 .BR stat (2)
 system call.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ftok ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/futimes.3 b/man-pages/man3/futimes.3
index 0005611..773669b 100644
--- a/man-pages/man3/futimes.3
+++ b/man-pages/man3/futimes.3
@@ -90,6 +90,19 @@ is available since glibc 2.3.
 is available since glibc 2.6, and is implemented using the
 .BR utimensat (2)
 system call, which is supported since kernel 2.6.22.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR futimes (),
+.BR lutimes ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are not specified in any standard.
 Other than Linux, they are available only on the BSDs.
diff --git a/man-pages/man3/gamma.3 b/man-pages/man3/gamma.3
index a528b23..8b11b3c 100644
--- a/man-pages/man3/gamma.3
+++ b/man-pages/man3/gamma.3
@@ -62,6 +62,20 @@ See
 .SH ERRORS
 See
 .BR lgamma (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR gamma (),
+.BR gammaf (),
+.BR gammal ()
+T}	Thread safety	MT-Unsafe race:signgam
+.TE
 .SH CONFORMING TO
 Because of historical variations in behavior across systems,
 this function is not specified in any standard.
diff --git a/man-pages/man3/getauxval.3 b/man-pages/man3/getauxval.3
index 1752385..94925bb 100644
--- a/man-pages/man3/getauxval.3
+++ b/man-pages/man3/getauxval.3
@@ -182,6 +182,18 @@ No errors are diagnosed.
 The
 .BR getauxval ()
 function was added to glibc in version 2.16.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getauxval ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a nonstandard glibc extension.
 .SH NOTES
diff --git a/man-pages/man3/getcontext.3 b/man-pages/man3/getcontext.3
index e1e582d..a9df6a3 100644
--- a/man-pages/man3/getcontext.3
+++ b/man-pages/man3/getcontext.3
@@ -150,6 +150,19 @@ On error, both return \-1 and set
 appropriately.
 .SH ERRORS
 None defined.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getcontext (),
+.BR setcontext ()
+T}	Thread safety	MT-Safe race:ucp
+.TE
 .SH CONFORMING TO
 SUSv2, POSIX.1-2001.
 POSIX.1-2008 removes the specification of
diff --git a/man-pages/man3/getcwd.3 b/man-pages/man3/getcwd.3
index 1ece72f..4cabd6e 100644
--- a/man-pages/man3/getcwd.3
+++ b/man-pages/man3/getcwd.3
@@ -205,6 +205,22 @@ The
 argument is less than the length of the absolute pathname of the
 working directory, including the terminating null byte.
 You need to allocate a bigger array and try again.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getcwd (),
+.BR getwd ()
+T}	Thread safety	MT-Safe
+T{
+.BR get_current_dir_name ()
+T}	Thread safety	MT-Safe env
+.TE
 .SH CONFORMING TO
 .BR getcwd ()
 conforms to POSIX.1-2001.
diff --git a/man-pages/man3/getdate.3 b/man-pages/man3/getdate.3
index 78e38a9..d0ce800 100644
--- a/man-pages/man3/getdate.3
+++ b/man-pages/man3/getdate.3
@@ -193,14 +193,20 @@ File containing format patterns.
 Variables used by
 .BR strptime (3).
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getdate ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:getdate env locale
+T{
 .BR getdate_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/getdirentries.3 b/man-pages/man3/getdirentries.3
index ec4abcb..ad18c62 100644
--- a/man-pages/man3/getdirentries.3
+++ b/man-pages/man3/getdirentries.3
@@ -61,6 +61,18 @@ If an error occurs, \-1 is returned, and
 is set appropriately.
 .SH ERRORS
 See the Linux library source code for details.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getdirentries ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 Present on the BSDs, and a few other systems.
diff --git a/man-pages/man3/getdtablesize.3 b/man-pages/man3/getdtablesize.3
index 693b202..cbab25a 100644
--- a/man-pages/man3/getdtablesize.3
+++ b/man-pages/man3/getdtablesize.3
@@ -66,6 +66,18 @@ On Linux,
 can return any of the errors described for
 .BR getrlimit (2);
 see NOTES below.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getdtablesize ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.4BSD (the
 .BR getdtablesize ()
diff --git a/man-pages/man3/getenv.3 b/man-pages/man3/getenv.3
index ec45247..ccb7de8 100644
--- a/man-pages/man3/getenv.3
+++ b/man-pages/man3/getenv.3
@@ -93,6 +93,19 @@ environment, or NULL if there is no match.
 .SH VERSIONS
 .BR secure_getenv ()
 first appeared in glibc 2.17.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getenv (),
+.BR secure_getenv ()
+T}	Thread safety	MT-Safe env
+.TE
 .SH CONFORMING TO
 .BR getenv ():
 SVr4, POSIX.1-2001, 4.3BSD, C89, C99.
diff --git a/man-pages/man3/getfsent.3 b/man-pages/man3/getfsent.3
index ebb2d1e..0554f22 100644
--- a/man-pages/man3/getfsent.3
+++ b/man-pages/man3/getfsent.3
@@ -112,6 +112,27 @@ Upon failure or end-of-file, these functions return NULL and 0, respectively.
 .\" 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).
+.TS
+allbox;
+lb lb lbw24
+l l l.
+Interface	Attribute	Value
+T{
+.BR endfsent (),
+.br
+.BR setfsent ()
+T}	Thread safety	MT-Unsafe race:fsent
+T{
+.BR getfsent (),
+.br
+.BR getfsspec (),
+.br
+.BR getfsfile ()
+T}	Thread safety	MT-Unsafe race:fsent locale
+.TE
 .SH CONFORMING TO
 These functions are not in POSIX.1-2001.
 Several operating systems have them,
diff --git a/man-pages/man3/getgrent.3 b/man-pages/man3/getgrent.3
index d0b5a97..eafbbc7 100644
--- a/man-pages/man3/getgrent.3
+++ b/man-pages/man3/getgrent.3
@@ -163,6 +163,39 @@ The
 and
 .BR endgrent()
 functions are thread-safe.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw11 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getgrent ()
+T}	Thread safety	T{
+MT-Unsafe race:grent
+.br
+race:grentbuf locale
+T}
+T{
+.BR setgrent (),
+.BR endgrent ()
+T}	Thread safety	MT-Unsafe race:grent locale
+.TE
+
+[[
+In the above table,
+.I grent
+in
+.I race:grent
+signifies that if any of the functions
+.BR setgrent (),
+.BR getgrent (),
+or
+.BR endgrent ()
+are used in parallel in different threads of a program, then data races could occur.
+]]
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/getgrnam.3 b/man-pages/man3/getgrnam.3
index 792a3da..3a53ab8 100644
--- a/man-pages/man3/getgrnam.3
+++ b/man-pages/man3/getgrnam.3
@@ -208,18 +208,25 @@ Insufficient buffer space supplied.
 .I /etc/group
 local group database file
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getgrnam ()
-and
+T}	Thread safety	MT-Unsafe race:grnam locale
+T{
 .BR getgrgid ()
-functions are not thread-safe.
-.LP
-The
-.BR getgrnam_r ()
-and
+T}	Thread safety	MT-Unsafe race:grgid locale
+T{
+.BR getgrnam_r (),
+.br
 .BR getgrgid_r ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/getgrouplist.3 b/man-pages/man3/getgrouplist.3
index bf3d41c..ae1f128 100644
--- a/man-pages/man3/getgrouplist.3
+++ b/man-pages/man3/getgrouplist.3
@@ -95,6 +95,18 @@ can be used to resize the buffer passed to a further call
 .BR getgrouplist ().
 .SH VERSIONS
 This function is present since glibc 2.2.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getgrouplist ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 This function is nonstandard; it appears on most BSDs.
 .SH BUGS
diff --git a/man-pages/man3/getloadavg.3 b/man-pages/man3/getloadavg.3
index c3254a6..b58073c 100644
--- a/man-pages/man3/getloadavg.3
+++ b/man-pages/man3/getloadavg.3
@@ -62,6 +62,18 @@ the number of samples actually retrieved is returned.
 .\" 4.3BSD Reno .
 .SH VERSIONS
 This function is available in glibc since version 2.2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getloadavg ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 Present on the BSDs and Solaris.
diff --git a/man-pages/man3/getlogin.3 b/man-pages/man3/getlogin.3
index b384d68..15e2e8a 100644
--- a/man-pages/man3/getlogin.3
+++ b/man-pages/man3/getlogin.3
@@ -138,19 +138,48 @@ password database file
 (traditionally \fI/etc/utmp\fP;
 some libc versions used \fI/var/adm/utmp\fP)
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getlogin ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	T{
+MT-Unsafe race:getlogin race:utent
+.br
+sig:ALRM timer locale
+T}
+T{
 .BR getlogin_r ()
-function is thread-safe.
-.LP
-The
+T}	Thread safety	T{
+MT-Unsafe race:utent sig:ALRM timer
+.br
+locale
+T}
+T{
 .BR cuserid ()
-function is thread-safe with exceptions.
-It is not thread-safe if called with a NULL parameter.
+T}	Thread safety	MT-Unsafe race:cuserid/!string locale
+.TE
+
+In the above table,
+.I utent
+in
+.I race:utent
+signifies that if any of the functions
+.BR setutent (3), 
+.BR getutent (3), 
+or
+.BR endutent (3)
+are used in parallel in different threads of a program,
+then data races could occur.
+.BR getlogin ()
+and
+.BR getlogin_r ()
+call those functions,
+so we use race:utent to remind users.
 .SH CONFORMING TO
 .BR getlogin ()
 and
diff --git a/man-pages/man3/getopt.3 b/man-pages/man3/getopt.3
index 83bb44f..808e4b0 100644
--- a/man-pages/man3/getopt.3
+++ b/man-pages/man3/getopt.3
@@ -315,6 +315,20 @@ wildcard expansion and so should not be considered as options.
 This behavior was removed in
 .BR bash (1)
 version 2.01, but the support remains in glibc.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getopt (),
+.BR getopt_long (),
+.BR getopt_long_only ()
+T}	Thread safety	MT-Unsafe race:getopt env
+.TE
 .SH CONFORMING TO
 .TP
 .BR getopt ():
diff --git a/man-pages/man3/getpass.3 b/man-pages/man3/getpass.3
index 7d59d16..73d5035 100644
--- a/man-pages/man3/getpass.3
+++ b/man-pages/man3/getpass.3
@@ -94,10 +94,17 @@ The process does not have a controlling terminal.
 .\" .BR getpass ()
 .\" function appeared in Version 7 AT&T UNIX.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getpass ()
-function is not thread-safe.
+T}	Thread safety	MT-Unsafe term
+.TE
 .SH CONFORMING TO
 Present in SUSv2, but marked LEGACY.
 Removed in POSIX.1-2001.
diff --git a/man-pages/man3/getpt.3 b/man-pages/man3/getpt.3
index 13e6daa..542fa8f 100644
--- a/man-pages/man3/getpt.3
+++ b/man-pages/man3/getpt.3
@@ -39,6 +39,18 @@ can fail with various errors described in
 .SH VERSIONS
 .BR getpt ()
 is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getpt ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR getpt ()
 is glibc-specific;
diff --git a/man-pages/man3/getpwent.3 b/man-pages/man3/getpwent.3
index 968c0d9..29a9417 100644
--- a/man-pages/man3/getpwent.3
+++ b/man-pages/man3/getpwent.3
@@ -162,6 +162,40 @@ The
 and
 .BR endpwent()
 functions are thread-safe.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw11 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getpwent ()
+T}	Thread safety	T{
+MT-Unsafe race:pwent
+.br
+race:pwentbuf locale
+T}
+T{
+.BR setpwent (),
+.br
+.BR endpwent ()
+T}	Thread safety	MT-Unsafe race:pwent locale
+.TE
+
+[[
+In the above table,
+.I pwent
+in
+.I race:pwent
+signifies that if any of the functions
+.BR setpwent (),
+.BR getpwent (),
+or
+.BR endpwent ()
+are used in parallel in different threads of a program, then data races could occur.
+]]
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 The
diff --git a/man-pages/man3/getpwnam.3 b/man-pages/man3/getpwnam.3
index 19dc54b..d196bf0 100644
--- a/man-pages/man3/getpwnam.3
+++ b/man-pages/man3/getpwnam.3
@@ -215,18 +215,42 @@ Insufficient buffer space supplied.
 .I /etc/passwd
 local password database file
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getpwnam (),
+.BR getpwuid ()
+T}	Thread safety	MT-Unsafe
+T{
+.BR getpwnam_r (),
+.BR getpwuid_r ()
+T}	Thread safety	MT-Safe
+.TE
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getpwnam ()
-and
+T}	Thread safety	MT-Unsafe race:pwnam locale
+T{
 .BR getpwuid ()
-functions are not thread-safe.
-.LP
-The
-.BR getpwnam_r ()
-and
+T}	Thread safety	MT-Unsafe race:pwuid locale
+T{
+.BR getpwnam_r (),
+.br
 .BR getpwuid_r ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 The
diff --git a/man-pages/man3/gets.3 b/man-pages/man3/gets.3
index 1399a1d..9645360 100644
--- a/man-pages/man3/gets.3
+++ b/man-pages/man3/gets.3
@@ -135,6 +135,19 @@ returns
 on success, or
 .B EOF
 on error.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR gets ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 C89, C99, POSIX.1-2001.
 
diff --git a/man-pages/man3/getsubopt.3 b/man-pages/man3/getsubopt.3
index c32ff55..8dac94a 100644
--- a/man-pages/man3/getsubopt.3
+++ b/man-pages/man3/getsubopt.3
@@ -126,6 +126,18 @@ is changed, the first suboption before the call to
 .BR getsubopt ()
 is not (necessarily) the same as the first suboption after
 .BR getsubopt ().
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getsubopt ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/getttyent.3 b/man-pages/man3/getttyent.3
index 1ae7c08..bb04a46 100644
--- a/man-pages/man3/getttyent.3
+++ b/man-pages/man3/getttyent.3
@@ -70,22 +70,20 @@ can be:
 #define TTY_SECURE 0x02  /* allow UID 0 to login */
 .fi
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR getttyent ()
-function returns a pointer to a static variable, so it is not thread-safe.
-.LP
-The
-.BR setttyent ()
-and
-.BR endttyent ()
-functions use a static variable, so they are not thread-safe.
-.LP
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getttyent (),
+.BR setttyent (),
+.BR endttyent (),
 .BR getttynam ()
-function calls thread-unsafe function
-.BR getttyent ()
-so it is not thread-safe.
+T}	Thread safety	MT-Unsafe race:ttyent
+.TE
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 Present on the BSDs, and perhaps other systems.
diff --git a/man-pages/man3/getusershell.3 b/man-pages/man3/getusershell.3
index f4032a9..e291872 100644
--- a/man-pages/man3/getusershell.3
+++ b/man-pages/man3/getusershell.3
@@ -91,13 +91,20 @@ function returns a NULL pointer on end-of-file.
 /etc/shells
 .fi
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR getusershell (),
-.BR setusershell ()
-and
+.BR setusershell (),
+.br
 .BR endusershell ()
-functions are not thread-safe.
+T}	Thread safety	MT-Unsafe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 .SH SEE ALSO
diff --git a/man-pages/man3/getutmp.3 b/man-pages/man3/getutmp.3
index 89f7a5f..0fa3db3 100644
--- a/man-pages/man3/getutmp.3
+++ b/man-pages/man3/getutmp.3
@@ -52,6 +52,19 @@ function performs the converse operation.
 These functions do not return a value.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getutmp (),
+.BR getutmpx ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are nonstandard, but appear on a few other systems,
 such as Solaris and NetBSD.
diff --git a/man-pages/man3/getw.3 b/man-pages/man3/getw.3
index 6216a7f..23c7016 100644
--- a/man-pages/man3/getw.3
+++ b/man-pages/man3/getw.3
@@ -77,6 +77,19 @@ returns the word read, and
 .BR putw ()
 returns 0.
 On error, they return \fBEOF\fP.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw14 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR getw (),
+.BR putw ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, SUSv2.  Not present in POSIX.1-2001.
 .SH BUGS
diff --git a/man-pages/man3/gnu_get_libc_version.3 b/man-pages/man3/gnu_get_libc_version.3
index f1710c9..5e9db1e 100644
--- a/man-pages/man3/gnu_get_libc_version.3
+++ b/man-pages/man3/gnu_get_libc_version.3
@@ -46,6 +46,19 @@ This will be a string such as
 .IR "stable" .
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR gnu_get_libc_version (),
+.BR gnu_get_libc_release ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are glibc-specific.
 .SH EXAMPLE
diff --git a/man-pages/man3/grantpt.3 b/man-pages/man3/grantpt.3
index 1d76d57..68a1165 100644
--- a/man-pages/man3/grantpt.3
+++ b/man-pages/man3/grantpt.3
@@ -53,6 +53,19 @@ argument is valid but not associated with a master pseudoterminal.
 .SH VERSIONS
 .BR grantpt ()
 is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR grantpt ()
+T}	Thread safety	MT-Safe locale
+.TE
+
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/hsearch.3 b/man-pages/man3/hsearch.3
index ef02541..4ec8705 100644
--- a/man-pages/man3/hsearch.3
+++ b/man-pages/man3/hsearch.3
@@ -229,20 +229,26 @@ POSIX.1-2001 specifies only the
 .B ENOMEM
 error.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR hcreate (),
 .BR hsearch (),
-and
+.br
 .BR hdestroy ()
-functions use a global space for storing the table, so they are not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:hsearch
+T{
 .BR hcreate_r (),
 .BR hsearch_r (),
-and
+.br
 .BR hdestroy_r ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe race:htab
+.TE
 .SH CONFORMING TO
 The functions
 .BR hcreate (),
diff --git a/man-pages/man3/iconv.3 b/man-pages/man3/iconv.3
index 97159b4..a513290 100644
--- a/man-pages/man3/iconv.3
+++ b/man-pages/man3/iconv.3
@@ -139,6 +139,19 @@ An invalid multibyte sequence has been encountered in the input.
 An incomplete multibyte sequence has been encountered in the input.
 .SH VERSIONS
 This function is available in glibc since version 2.1.
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iconv ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/if_nametoindex.3 b/man-pages/man3/if_nametoindex.3
index fe4cf2d..95da792 100644
--- a/man-pages/man3/if_nametoindex.3
+++ b/man-pages/man3/if_nametoindex.3
@@ -82,6 +82,19 @@ may also fail for any of the errors specified for
 .BR socket (2)
 or
 .BR ioctl (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw34 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR if_nametoindex (),
+.BR if_indextoname ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 RFC\ 3493, POSIX.1-2001.
 
diff --git a/man-pages/man3/ilogb.3 b/man-pages/man3/ilogb.3
index 2990e8f..87b72b5 100644
--- a/man-pages/man3/ilogb.3
+++ b/man-pages/man3/ilogb.3
@@ -143,6 +143,20 @@ or raise an exception for this case.
 .\" or raise an exception?
 .\" log(), log2(), log10() do set errno
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6794
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ilogb (),
+.BR ilogbf (),
+.BR ilogbl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/index.3 b/man-pages/man3/index.3
index c206dca..64a5fdf 100644
--- a/man-pages/man3/index.3
+++ b/man-pages/man3/index.3
@@ -59,6 +59,19 @@ and
 .BR rindex ()
 functions return a pointer to
 the matched character or NULL if the character is not found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR index (),
+.BR rindex ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD; marked as LEGACY in POSIX.1-2001.
 POSIX.1-2008 removes the specifications of
diff --git a/man-pages/man3/inet.3 b/man-pages/man3/inet.3
index 2f4b5ac..430075a 100644
--- a/man-pages/man3/inet.3
+++ b/man-pages/man3/inet.3
@@ -207,6 +207,28 @@ struct in_addr {
 };
 .fi
 .in
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR inet_aton (),
+.BR inet_addr (),
+.br
+.BR inet_network (),
+.BR inet_ntoa ()
+T}	Thread safety	MT-Safe locale
+T{
+.BR inet_makeaddr (),
+.BR inet_lnaof (),
+.br
+.BR inet_netof ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 .BR inet_addr ()
diff --git a/man-pages/man3/inet_pton.3 b/man-pages/man3/inet_pton.3
index b80cf37..4562b56 100644
--- a/man-pages/man3/inet_pton.3
+++ b/man-pages/man3/inet_pton.3
@@ -126,6 +126,18 @@ does not contain a valid address family, \-1 is returned and
 .I errno
 is set to
 .BR EAFNOSUPPORT .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR inet_pton ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/isalpha.3 b/man-pages/man3/isalpha.3
index ec047c5..b7e00b6 100644
--- a/man-pages/man3/isalpha.3
+++ b/man-pages/man3/isalpha.3
@@ -162,6 +162,49 @@ The values returned are nonzero if the character
 .I c
 falls into the tested class, and a zero value
 if not.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR isalnum (),
+.BR isalpha (),
+.BR isascii (),
+.BR isblank (),
+.BR iscntrl (),
+.BR isdigit (),
+.BR isgraph (),
+.BR islower (),
+.BR isprint (),
+.BR ispunct (),
+.BR isspace (),
+.BR isupper (),
+.BR isxdigit ()
+T}	Thread safety	MT-Safe
+.TE
+.ad
+.\" 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 CONFORMING TO
 C99, 4.3BSD.
 C89 specifies all of these functions except
diff --git a/man-pages/man3/isatty.3 b/man-pages/man3/isatty.3
index 77480c2..344dc39 100644
--- a/man-pages/man3/isatty.3
+++ b/man-pages/man3/isatty.3
@@ -59,6 +59,18 @@ POSIX.1-2001 specifies the error
 .BR ENOTTY
 .\" FIXME File a bug for this?
 for this case.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR isatty ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/isgreater.3 b/man-pages/man3/isgreater.3
index 0af7505..7107fb7 100644
--- a/man-pages/man3/isgreater.3
+++ b/man-pages/man3/isgreater.3
@@ -122,6 +122,25 @@ or
 is NaN and 0 otherwise.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR isgreater (),
+.BR isgreaterequal (),
+.BR isless (),
+.BR islessequal (),
+.BR islessgreater (),
+.BR isunordered ()
+T}	Thread safety	MT-Safe
+.TE
+.ad
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/iswalnum.3 b/man-pages/man3/iswalnum.3
index e023743..bd3b3f9 100644
--- a/man-pages/man3/iswalnum.3
+++ b/man-pages/man3/iswalnum.3
@@ -63,6 +63,18 @@ if
 is a wide character
 belonging to the wide-character class "alnum".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswalnum ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswalpha.3 b/man-pages/man3/iswalpha.3
index 0e148bf..d3c8970 100644
--- a/man-pages/man3/iswalpha.3
+++ b/man-pages/man3/iswalpha.3
@@ -67,6 +67,18 @@ if
 is a wide character
 belonging to the wide-character class "alpha".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswalpha ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswblank.3 b/man-pages/man3/iswblank.3
index deee7d9..6f4200f 100644
--- a/man-pages/man3/iswblank.3
+++ b/man-pages/man3/iswblank.3
@@ -66,6 +66,18 @@ function returns nonzero
 if \fIwc\fP is a wide character
 belonging to the wide-character class "blank".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswblank ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/iswcntrl.3 b/man-pages/man3/iswcntrl.3
index e99afd3..84428fc 100644
--- a/man-pages/man3/iswcntrl.3
+++ b/man-pages/man3/iswcntrl.3
@@ -51,6 +51,18 @@ function returns nonzero if
 is a
 wide character belonging to the wide-character class "cntrl".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswcntrl ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswctype.3 b/man-pages/man3/iswctype.3
index 2873494..f4b4270 100644
--- a/man-pages/man3/iswctype.3
+++ b/man-pages/man3/iswctype.3
@@ -54,6 +54,18 @@ the
 has the designated
 property.
 Otherwise it returns 0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswctype ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswlower.3 b/man-pages/man3/iswlower.3
index 00eaa4b..7813d3f 100644
--- a/man-pages/man3/iswlower.3
+++ b/man-pages/man3/iswlower.3
@@ -73,6 +73,18 @@ if
 is a wide character
 belonging to the wide-character class "lower".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswlower ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswprint.3 b/man-pages/man3/iswprint.3
index 43bf0ec..15d3f7a 100644
--- a/man-pages/man3/iswprint.3
+++ b/man-pages/man3/iswprint.3
@@ -45,6 +45,18 @@ function returns nonzero if
 is a
 wide character belonging to the wide-character class "print".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswprint ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswpunct.3 b/man-pages/man3/iswpunct.3
index c629b98..9f2d0c8 100644
--- a/man-pages/man3/iswpunct.3
+++ b/man-pages/man3/iswpunct.3
@@ -57,6 +57,18 @@ if
 is a wide-character
 belonging to the wide-character class "punct".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswpunct ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswspace.3 b/man-pages/man3/iswspace.3
index bbdfc62..83a3896 100644
--- a/man-pages/man3/iswspace.3
+++ b/man-pages/man3/iswspace.3
@@ -53,6 +53,18 @@ function returns nonzero if
 is a wide character
 belonging to the wide-character class "space".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswspace ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswupper.3 b/man-pages/man3/iswupper.3
index 0383f52..0e1e3ca 100644
--- a/man-pages/man3/iswupper.3
+++ b/man-pages/man3/iswupper.3
@@ -67,6 +67,18 @@ function returns nonzero if
 is a wide character
 belonging to the wide-character class "upper".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswupper ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/iswxdigit.3 b/man-pages/man3/iswxdigit.3
index 2c21b39..5714eeb 100644
--- a/man-pages/man3/iswxdigit.3
+++ b/man-pages/man3/iswxdigit.3
@@ -58,6 +58,18 @@ function returns nonzero if
 is a wide character
 belonging to the wide-character class "xdigit".
 Otherwise it returns zero.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR iswxdigit ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/j0.3 b/man-pages/man3/j0.3
index f2e3365..bc0637c 100644
--- a/man-pages/man3/j0.3
+++ b/man-pages/man3/j0.3
@@ -147,6 +147,30 @@ These functions do not raise exceptions for
 .\" FIXME . Is it intentional that these functions do not raise exceptions?
 .\" e.g., j0(1.5e16)
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6805
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR j0 (),
+.BR j0f (),
+.BR j0l ()
+T}	Thread safety	MT-Safe
+T{
+.BR j1 (),
+.BR j1f (),
+.BR j1l ()
+T}	Thread safety	MT-Safe
+T{
+.BR jn (),
+.BR jnf (),
+.BR jnl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions returning
 .I double
diff --git a/man-pages/man3/ldexp.3 b/man-pages/man3/ldexp.3
index 07d3e2a..15bf899 100644
--- a/man-pages/man3/ldexp.3
+++ b/man-pages/man3/ldexp.3
@@ -126,6 +126,20 @@ is set to
 An underflow floating-point exception
 .RB ( FE_UNDERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ldexp (),
+.BR ldexpf (),
+.BR ldexpl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/lio_listio.3 b/man-pages/man3/lio_listio.3
index 3881ccb..96eb394 100644
--- a/man-pages/man3/lio_listio.3
+++ b/man-pages/man3/lio_listio.3
@@ -202,6 +202,19 @@ then none of the I/O operations has been initiated.
 The
 .BR lio_listio ()
 function is available since glibc 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR lio_listio ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 POSIX.1-2001, POSIX.1-2008.
 .SH NOTES
diff --git a/man-pages/man3/localeconv.3 b/man-pages/man3/localeconv.3
index 1a66878..7d87a34 100644
--- a/man-pages/man3/localeconv.3
+++ b/man-pages/man3/localeconv.3
@@ -63,11 +63,17 @@ The
 .BR localeconv ()
 function always succeeds.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR localeconv ()
-function is not thread-safe, since it returns a pointer to a structure which
-might be overwritten by subsequent calls.
+T}	Thread safety	MT-Unsafe race:localeconv locale
+.TE
 .SH CONFORMING TO
 C89, C99.
 .SH BUGS
diff --git a/man-pages/man3/lockf.3 b/man-pages/man3/lockf.3
index c618c2a..7509bc2 100644
--- a/man-pages/man3/lockf.3
+++ b/man-pages/man3/lockf.3
@@ -151,6 +151,18 @@ An invalid operation was specified in
 .TP
 .B ENOLCK
 Too many segment locks open, lock table is full.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR lockf ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/log10.3 b/man-pages/man3/log10.3
index 437f03b..3c28cfc 100644
--- a/man-pages/man3/log10.3
+++ b/man-pages/man3/log10.3
@@ -86,6 +86,20 @@ when calling these functions.
 
 For a discussion of the errors that can occur for these functions, see
 .BR log (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR log10 (),
+.BR log10f (),
+.BR log10l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/log1p.3 b/man-pages/man3/log1p.3
index d0164d3..e175ea8 100644
--- a/man-pages/man3/log1p.3
+++ b/man-pages/man3/log1p.3
@@ -139,6 +139,20 @@ These functions do not set
 .\" FIXME . Is it intentional that these functions do not set errno?
 .\" log(), log2(), log10() do set errno
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6792
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR log1p (),
+.BR log1pf (),
+.BR log1pl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .\" BSD
diff --git a/man-pages/man3/logb.3 b/man-pages/man3/logb.3
index 77e9f74..6309710 100644
--- a/man-pages/man3/logb.3
+++ b/man-pages/man3/logb.3
@@ -140,6 +140,20 @@ These functions do not set
 .\" .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).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR logb (),
+.BR logbf (),
+.BR logbl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/lrint.3 b/man-pages/man3/lrint.3
index ffb24e2..97efc54 100644
--- a/man-pages/man3/lrint.3
+++ b/man-pages/man3/lrint.3
@@ -106,6 +106,24 @@ These functions do not set
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6798
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR lrint (),
+.BR lrintf (),
+.BR lrintl (),
+.br
+.BR llrint (),
+.BR llrintf (),
+.BR llrintl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/lround.3 b/man-pages/man3/lround.3
index e9bacac..fb65128 100644
--- a/man-pages/man3/lround.3
+++ b/man-pages/man3/lround.3
@@ -109,6 +109,24 @@ These functions do not set
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6797
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR lround (),
+.BR lroundf (),
+.BR lroundl (),
+.br
+.BR llround (),
+.BR llroundf (),
+.BR llroundl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/makecontext.3 b/man-pages/man3/makecontext.3
index 9a8b7a8..d125581 100644
--- a/man-pages/man3/makecontext.3
+++ b/man-pages/man3/makecontext.3
@@ -102,6 +102,21 @@ Insufficient stack space left.
 and
 .BR swapcontext ()
 are provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR makecontext ()
+T}	Thread safety	MT-Safe race:ucp
+T{
+.BR swapcontext ()
+T}	Thread safety	MT-Safe race:oucp race:ucp
+.TE
 .SH CONFORMING TO
 SUSv2, POSIX.1-2001.
 POSIX.1-2008 removes the specifications of
diff --git a/man-pages/man3/makedev.3 b/man-pages/man3/makedev.3
index d093f3d..a03345d 100644
--- a/man-pages/man3/makedev.3
+++ b/man-pages/man3/makedev.3
@@ -59,6 +59,20 @@ they return, respectively, the major and minor components.
 These macros can be useful to, for example,
 decompose the device IDs in the structure returned by
 .BR stat (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR makedev (),
+.BR major (),
+.BR minor ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR makedev (),
diff --git a/man-pages/man3/malloc.3 b/man-pages/man3/malloc.3
index 1526d2a..c8b7228 100644
--- a/man-pages/man3/malloc.3
+++ b/man-pages/man3/malloc.3
@@ -165,6 +165,21 @@ is returned.
 If
 .BR realloc ()
 fails the original block is left untouched; it is not freed or moved.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw38 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR malloc (),
+.BR free (),
+.BR calloc (),
+.BR realloc ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/malloc_usable_size.3 b/man-pages/man3/malloc_usable_size.3
index c873411..cdd171a 100644
--- a/man-pages/man3/malloc_usable_size.3
+++ b/man-pages/man3/malloc_usable_size.3
@@ -45,6 +45,18 @@ the block of allocated memory pointed to by
 If
 .I ptr
 is NULL, 0 is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR malloc_usable_size ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH NOTES
diff --git a/man-pages/man3/mblen.3 b/man-pages/man3/mblen.3
index ca1e275..c78c359 100644
--- a/man-pages/man3/mblen.3
+++ b/man-pages/man3/mblen.3
@@ -85,10 +85,17 @@ It returns \-1, if an
 invalid multibyte sequence was encountered or if it couldn't parse a complete
 multibyte character.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR mblen ()
-function is not thread-safe.
+T}	Thread safety	MT-Unsafe race
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/mbrlen.3 b/man-pages/man3/mbrlen.3
index e5ecbca..925c93f 100644
--- a/man-pages/man3/mbrlen.3
+++ b/man-pages/man3/mbrlen.3
@@ -102,11 +102,17 @@ character, meaning that
 .I n
 should be increased.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR mbrlen ()
-function is thread-safe with exceptions.
-It is not thread-safe if called with a NULL \fIps\fP parameter.
+T}	Thread safety	MT-Unsafe race:mbrlen/!ps
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/mbrtowc.3 b/man-pages/man3/mbrtowc.3
index db32b8b..31f91db 100644
--- a/man-pages/man3/mbrtowc.3
+++ b/man-pages/man3/mbrtowc.3
@@ -172,11 +172,17 @@ character, meaning that
 .I n
 should be increased.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR mbrtowc ()
-function is thread-safe with exceptions.
-It is not thread-safe if called with a NULL \fIps\fP parameter.
+T}	Thread safety	MT-Unsafe race:mbrtowc/!ps
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/mbsinit.3 b/man-pages/man3/mbsinit.3
index 3f11733..24bb575 100644
--- a/man-pages/man3/mbsinit.3
+++ b/man-pages/man3/mbsinit.3
@@ -81,6 +81,18 @@ is an initial state, or if
 .I ps
 is a NULL pointer.
 Otherwise it returns 0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mbsinit ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/mbstowcs.3 b/man-pages/man3/mbstowcs.3
index 7ddff2a..a5ceac3 100644
--- a/man-pages/man3/mbstowcs.3
+++ b/man-pages/man3/mbstowcs.3
@@ -90,6 +90,18 @@ If an invalid multibyte sequence was
 encountered,
 .I (size_t)\ \-1
 is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mbstowcs ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/mbtowc.3 b/man-pages/man3/mbtowc.3
index a871de3..5e8794a 100644
--- a/man-pages/man3/mbtowc.3
+++ b/man-pages/man3/mbtowc.3
@@ -111,6 +111,18 @@ is NULL, the
 function
 returns nonzero if the encoding
 has nontrivial shift state, or zero if the encoding is stateless.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mbtowc ()
+T}	Thread safety	MT-Unsafe race
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/memccpy.3 b/man-pages/man3/memccpy.3
index fd8b409..f5a91c1 100644
--- a/man-pages/man3/memccpy.3
+++ b/man-pages/man3/memccpy.3
@@ -67,6 +67,18 @@ first
 .I n
 characters of
 .IR src .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memccpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/memchr.3 b/man-pages/man3/memchr.3
index 26b7ce7..3bf2be8 100644
--- a/man-pages/man3/memchr.3
+++ b/man-pages/man3/memchr.3
@@ -121,6 +121,20 @@ first appeared in glibc in version 2.1.
 
 .BR memrchr ()
 first appeared in glibc in version 2.2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw32 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memchr (),
+.BR memrchr (),
+.BR rawmemchr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR memchr ()
diff --git a/man-pages/man3/memcmp.3 b/man-pages/man3/memcmp.3
index b843c34..d5838b9 100644
--- a/man-pages/man3/memcmp.3
+++ b/man-pages/man3/memcmp.3
@@ -57,6 +57,18 @@ that differ in
 .I s1
 and
 .IR s2 .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memcmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/memcpy.3 b/man-pages/man3/memcpy.3
index c63db2c..96a3623 100644
--- a/man-pages/man3/memcpy.3
+++ b/man-pages/man3/memcpy.3
@@ -49,6 +49,18 @@ if the memory areas do overlap.
 The
 .BR memcpy ()
 function returns a pointer to \fIdest\fP.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memcpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/memfrob.3 b/man-pages/man3/memfrob.3
index 84dd60b..666832f 100644
--- a/man-pages/man3/memfrob.3
+++ b/man-pages/man3/memfrob.3
@@ -55,6 +55,18 @@ The
 .BR memfrob ()
 function returns a pointer to the encrypted memory
 area.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memfrob ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR memfrob ()
diff --git a/man-pages/man3/memmem.3 b/man-pages/man3/memmem.3
index f3bc9b8..8118676 100644
--- a/man-pages/man3/memmem.3
+++ b/man-pages/man3/memmem.3
@@ -56,6 +56,18 @@ The
 .BR memmem ()
 function returns a pointer to the beginning of the
 substring, or NULL if the substring is not found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memmem ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH BUGS
diff --git a/man-pages/man3/memmove.3 b/man-pages/man3/memmove.3
index ab503ed..1b27956 100644
--- a/man-pages/man3/memmove.3
+++ b/man-pages/man3/memmove.3
@@ -59,6 +59,18 @@ The
 .BR memmove ()
 function returns a pointer to
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memmove ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/mempcpy.3 b/man-pages/man3/mempcpy.3
index 3a4bb2d..c169f34 100644
--- a/man-pages/man3/mempcpy.3
+++ b/man-pages/man3/mempcpy.3
@@ -57,6 +57,19 @@ wide characters.
 .SH VERSIONS
 .BR mempcpy ()
 first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mempcpy (),
+.BR wmempcpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH EXAMPLE
diff --git a/man-pages/man3/memset.3 b/man-pages/man3/memset.3
index 46f5580..aef3c4f 100644
--- a/man-pages/man3/memset.3
+++ b/man-pages/man3/memset.3
@@ -51,6 +51,18 @@ The
 .BR memset ()
 function returns a pointer to the memory area
 .IR s .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR memset ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/mkdtemp.3 b/man-pages/man3/mkdtemp.3
index ad8429f..cd2e484 100644
--- a/man-pages/man3/mkdtemp.3
+++ b/man-pages/man3/mkdtemp.3
@@ -83,6 +83,18 @@ Also see
 for other possible values for \fIerrno\fP.
 .SH VERSIONS
 Available since glibc 2.1.91.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mkdtemp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 This function is present on the BSDs.
diff --git a/man-pages/man3/mkfifo.3 b/man-pages/man3/mkfifo.3
index 5272d16..0cea17d 100644
--- a/man-pages/man3/mkfifo.3
+++ b/man-pages/man3/mkfifo.3
@@ -101,6 +101,19 @@ directory.
 .TP
 .B EROFS
 \fIpathname\fP refers to a read-only file system.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mkfifo (),
+.BR mkfifoat ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/mkstemp.3 b/man-pages/man3/mkstemp.3
index fbd5809..d58eb73 100644
--- a/man-pages/man3/mkstemp.3
+++ b/man-pages/man3/mkstemp.3
@@ -173,6 +173,22 @@ is available since glibc 2.7.
 and
 .BR mkostemps ()
 are available since glibc 2.11.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mkstemp (),
+.BR mkostemp (),
+.br
+.BR mkstemps (),
+.BR mkostemps ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR mkstemp ():
 4.3BSD, POSIX.1-2001.
diff --git a/man-pages/man3/mktemp.3 b/man-pages/man3/mktemp.3
index 688aba4..ada5128 100644
--- a/man-pages/man3/mktemp.3
+++ b/man-pages/man3/mktemp.3
@@ -89,6 +89,18 @@ is set to indicate the error.
 .TP
 .B EINVAL
 The last six characters of \fItemplate\fP were not XXXXXX.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mktemp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 POSIX.1-2008 removes the specification of
diff --git a/man-pages/man3/modf.3 b/man-pages/man3/modf.3
index b997ccb..03b5144 100644
--- a/man-pages/man3/modf.3
+++ b/man-pages/man3/modf.3
@@ -93,13 +93,19 @@ is set to positive infinity (negative infinity).
 .SH ERRORS
 No errors occur.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR modf (),
 .BR modff (),
-and
 .BR modfl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/mq_close.3 b/man-pages/man3/mq_close.3
index 427aba7..f08dde1 100644
--- a/man-pages/man3/mq_close.3
+++ b/man-pages/man3/mq_close.3
@@ -56,6 +56,18 @@ set to indicate the error.
 The descriptor specified in
 .I mqdes
 is invalid.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_close ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/mq_getattr.3 b/man-pages/man3/mq_getattr.3
index 5b44472..7f65b18 100644
--- a/man-pages/man3/mq_getattr.3
+++ b/man-pages/man3/mq_getattr.3
@@ -134,6 +134,19 @@ is invalid.
 .I newattr\->mq_flags
 contained set bits other than
 .BR O_NONBLOCK .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_getattr (),
+.BR mq_setattr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/mq_open.3 b/man-pages/man3/mq_open.3
index 6bd2e77..35f2266 100644
--- a/man-pages/man3/mq_open.3
+++ b/man-pages/man3/mq_open.3
@@ -221,6 +221,18 @@ This probably occurred because the
 .I queues_max
 limit was encountered; see
 .BR mq_overview (7).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_open ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH BUGS
diff --git a/man-pages/man3/mq_receive.3 b/man-pages/man3/mq_receive.3
index b7a1554..5f8c89e 100644
--- a/man-pages/man3/mq_receive.3
+++ b/man-pages/man3/mq_receive.3
@@ -153,6 +153,19 @@ attribute of the message queue.
 .TP
 .B ETIMEDOUT
 The call timed out before a message could be transferred.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_receive (),
+.BR mq_timedreceive ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/mq_send.3 b/man-pages/man3/mq_send.3
index b99c861..e53cee7 100644
--- a/man-pages/man3/mq_send.3
+++ b/man-pages/man3/mq_send.3
@@ -158,6 +158,19 @@ attribute of the message queue.
 .TP
 .B ETIMEDOUT
 The call timed out before a message could be transferred.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_send (),
+.BR mq_timedsend ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/mq_unlink.3 b/man-pages/man3/mq_unlink.3
index 16af6bf..2b944a7 100644
--- a/man-pages/man3/mq_unlink.3
+++ b/man-pages/man3/mq_unlink.3
@@ -59,6 +59,18 @@ was too long.
 .B ENOENT
 There is no message queue with the given
 .IR name .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mq_unlink ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/mtrace.3 b/man-pages/man3/mtrace.3
index c6ad1ae..472d336 100644
--- a/man-pages/man3/mtrace.3
+++ b/man-pages/man3/mtrace.3
@@ -75,6 +75,19 @@ In set-user-ID and set-group-ID programs,
 is ignored, and
 .BR mtrace ()
 has no effect.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR mtrace (),
+.BR muntrace ()
+T}	Thread safety	MT-Unsafe
+.TE
 .SH CONFORMING TO
 These functions are GNU extensions.
 .SH NOTES
diff --git a/man-pages/man3/nan.3 b/man-pages/man3/nan.3
index cf045ce..016c1ae 100644
--- a/man-pages/man3/nan.3
+++ b/man-pages/man3/nan.3
@@ -72,6 +72,20 @@ selects one.
 On other systems it may do nothing.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR nan (),
+.BR nanf (),
+.BR nanl ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 See also IEC 559 and the appendix with
diff --git a/man-pages/man3/nextafter.3 b/man-pages/man3/nextafter.3
index 7b94e23..f204e57 100644
--- a/man-pages/man3/nextafter.3
+++ b/man-pages/man3/nextafter.3
@@ -170,6 +170,25 @@ These functions do not set
 .IR errno .
 .\" FIXME . Is it intentional that these functions do not set errno?
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6799
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR nextafter (),
+.BR nextafterf (),
+.br
+.BR nextafterl (),
+.BR nexttoward (),
+.br
+.BR nexttowardf (),
+.BR nexttowardl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 This function is defined in IEC 559 (and the appendix with
diff --git a/man-pages/man3/nl_langinfo.3 b/man-pages/man3/nl_langinfo.3
index 3962a6a..4c2ce58 100644
--- a/man-pages/man3/nl_langinfo.3
+++ b/man-pages/man3/nl_langinfo.3
@@ -119,7 +119,18 @@ The Latin-1 default has historical reasons,
 since all Unix systems originally used only 8-bit character encoding.
 For more information about ISO-8859-1 see
 .BR charsets (7).
-
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR nl_langinfo ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SUSv2, POSIX.1-2001.
 .SH EXAMPLE
diff --git a/man-pages/man3/opendir.3 b/man-pages/man3/opendir.3
index 4b365d2..316dcff 100644
--- a/man-pages/man3/opendir.3
+++ b/man-pages/man3/opendir.3
@@ -115,6 +115,19 @@ Insufficient memory to complete the operation.
 .SH VERSIONS
 .BR fdopendir ()
 is available in glibc since version 2.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR opendir (),
+.BR fdopendir ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR opendir ()
 is present on SVr4, 4.3BSD, and specified in POSIX.1-2001.
diff --git a/man-pages/man3/posix_fallocate.3 b/man-pages/man3/posix_fallocate.3
index 89a6b20..f5c50ff 100644
--- a/man-pages/man3/posix_fallocate.3
+++ b/man-pages/man3/posix_fallocate.3
@@ -100,6 +100,18 @@ refers to a pipe.
 .SH VERSIONS
 .BR posix_fallocate ()
 is available since glibc 2.1.94.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR posix_fallocate ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 
diff --git a/man-pages/man3/posix_openpt.3 b/man-pages/man3/posix_openpt.3
index 5df3e79..21a24fc 100644
--- a/man-pages/man3/posix_openpt.3
+++ b/man-pages/man3/posix_openpt.3
@@ -74,6 +74,18 @@ See
 Glibc support for
 .BR posix_openpt ()
 has been provided since version 2.2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR posix_openpt ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR posix_openpt ()
 is part of the UNIX 98 pseudoterminal support (see
diff --git a/man-pages/man3/pow.3 b/man-pages/man3/pow.3
index 135318a..502de17 100644
--- a/man-pages/man3/pow.3
+++ b/man-pages/man3/pow.3
@@ -313,6 +313,20 @@ is set to
 An underflow floating-point exception
 .RB ( FE_UNDERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pow (),
+.BR powf (),
+.BR powl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/pow10.3 b/man-pages/man3/pow10.3
index 9cebc5d..8703e9b 100644
--- a/man-pages/man3/pow10.3
+++ b/man-pages/man3/pow10.3
@@ -46,6 +46,20 @@ power
 .IR x .
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pow10 (),
+.BR pow10f (),
+.BR pow10l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This is a GNU extension.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setdetachstate.3 b/man-pages/man3/pthread_attr_setdetachstate.3
index 4cd08c0..4a6acd5 100644
--- a/man-pages/man3/pthread_attr_setdetachstate.3
+++ b/man-pages/man3/pthread_attr_setdetachstate.3
@@ -84,6 +84,19 @@ can fail with the following error:
 .B EINVAL
 An invalid value was specified in
 .IR detachstate .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setdetachstate (),
+.BR pthread_attr_getdetachstate ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setguardsize.3 b/man-pages/man3/pthread_attr_setguardsize.3
index 91433d2..6161675 100644
--- a/man-pages/man3/pthread_attr_setguardsize.3
+++ b/man-pages/man3/pthread_attr_setguardsize.3
@@ -103,6 +103,19 @@ On Linux these functions always succeed
 handle a possible error return).
 .SH VERSIONS
 These functions are provided by glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setguardsize (),
+.BR pthread_attr_getguardsize ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setinheritsched.3 b/man-pages/man3/pthread_attr_setinheritsched.3
index 0128df3..f2d7e34 100644
--- a/man-pages/man3/pthread_attr_setinheritsched.3
+++ b/man-pages/man3/pthread_attr_setinheritsched.3
@@ -107,6 +107,19 @@ error ("attempt was made to set the attribute to an unsupported value") for
 .BR pthread_attr_setinheritsched ().
 .\" .SH VERSIONS
 .\" Available since glibc 2.0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setinheritsched (),
+.BR pthread_attr_getinheritsched ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH BUGS
diff --git a/man-pages/man3/pthread_attr_setschedparam.3 b/man-pages/man3/pthread_attr_setschedparam.3
index f4cf261..e012051 100644
--- a/man-pages/man3/pthread_attr_setschedparam.3
+++ b/man-pages/man3/pthread_attr_setschedparam.3
@@ -97,6 +97,19 @@ On Linux these functions always succeed
 handle a possible error return).
 .\" .SH VERSIONS
 .\" Available since glibc 2.0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setschedparam (),
+.BR pthread_attr_getschedparam ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setschedpolicy.3 b/man-pages/man3/pthread_attr_setschedpolicy.3
index 9588615..2f815d2 100644
--- a/man-pages/man3/pthread_attr_setschedpolicy.3
+++ b/man-pages/man3/pthread_attr_setschedpolicy.3
@@ -97,6 +97,19 @@ error ("attempt was made to set the attribute to an unsupported value") for
 .BR pthread_attr_setschedpolicy ().
 .\" .SH VERSIONS
 .\" Available since glibc 2.0.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setschedpolicy (),
+.BR pthread_attr_getschedpolicy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH EXAMPLE
diff --git a/man-pages/man3/pthread_attr_setscope.3 b/man-pages/man3/pthread_attr_setscope.3
index c4aa4fc..be60893 100644
--- a/man-pages/man3/pthread_attr_setscope.3
+++ b/man-pages/man3/pthread_attr_setscope.3
@@ -116,6 +116,19 @@ An invalid value was specified in
 specified the value
 .BR PTHREAD_SCOPE_PROCESS ,
 which is not supported on Linux.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setscope (),
+.BR pthread_attr_getscope ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setstack.3 b/man-pages/man3/pthread_attr_setstack.3
index 39e7797..60cc854 100644
--- a/man-pages/man3/pthread_attr_setstack.3
+++ b/man-pages/man3/pthread_attr_setstack.3
@@ -109,6 +109,19 @@ and
 is not both readable and writable by the caller.
 .SH VERSIONS
 These functions are provided by glibc since version 2.2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setstack (),
+.BR pthread_attr_getstack ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_attr_setstackaddr.3 b/man-pages/man3/pthread_attr_setstackaddr.3
index 862cd6a..d2203de 100644
--- a/man-pages/man3/pthread_attr_setstackaddr.3
+++ b/man-pages/man3/pthread_attr_setstackaddr.3
@@ -80,6 +80,19 @@ No errors are defined
 handle a possible error return).
 .SH VERSIONS
 These functions are provided by glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setstackaddr (),
+.BR pthread_attr_getstackaddr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001 specifies these functions but marks them as obsolete.
 POSIX.1-2008 removes the specification of these functions.
diff --git a/man-pages/man3/pthread_attr_setstacksize.3 b/man-pages/man3/pthread_attr_setstacksize.3
index 841b6ac..06db657 100644
--- a/man-pages/man3/pthread_attr_setstacksize.3
+++ b/man-pages/man3/pthread_attr_setstacksize.3
@@ -80,6 +80,19 @@ if
 is not a multiple of the system page size.
 .SH VERSIONS
 These functions are provided by glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_attr_setstacksize (),
+.BR pthread_attr_getstacksize ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_equal.3 b/man-pages/man3/pthread_equal.3
index b734ea8..879a056 100644
--- a/man-pages/man3/pthread_equal.3
+++ b/man-pages/man3/pthread_equal.3
@@ -44,6 +44,18 @@ If the two thread IDs are equal,
 returns a nonzero value; otherwise, it returns 0.
 .SH ERRORS
 This function always succeeds.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_equal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_exit.3 b/man-pages/man3/pthread_exit.3
index 9781327..ed8809e 100644
--- a/man-pages/man3/pthread_exit.3
+++ b/man-pages/man3/pthread_exit.3
@@ -72,6 +72,18 @@ are called.
 This function does not return to the caller.
 .SH ERRORS
 This function always succeeds.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_exit ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_getcpuclockid.3 b/man-pages/man3/pthread_getcpuclockid.3
index c2193a0..6f28122 100644
--- a/man-pages/man3/pthread_getcpuclockid.3
+++ b/man-pages/man3/pthread_getcpuclockid.3
@@ -62,6 +62,18 @@ No thread with the ID
 could be found.
 .SH VERSIONS
 This function is available in glibc since version 2.2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_getcpuclockid ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_kill.3 b/man-pages/man3/pthread_kill.3
index 0c0703a..2a841e0 100644
--- a/man-pages/man3/pthread_kill.3
+++ b/man-pages/man3/pthread_kill.3
@@ -63,6 +63,18 @@ An invalid signal was specified.
 No thread with the ID
 .I thread
 could be found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_kill ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_kill_other_threads_np.3 b/man-pages/man3/pthread_kill_other_threads_np.3
index 92c5e4e..5ba8c3f 100644
--- a/man-pages/man3/pthread_kill_other_threads_np.3
+++ b/man-pages/man3/pthread_kill_other_threads_np.3
@@ -44,6 +44,18 @@ to-be-terminated threads are ignored,
 and the cleanup handlers are not called in those threads.
 .\" .SH VERSIONS
 .\" Available since glibc 2.0
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_kill_other_threads_np ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a nonstandard GNU extension;
 hence the suffix "_np" (nonportable) in the name.
diff --git a/man-pages/man3/pthread_self.3 b/man-pages/man3/pthread_self.3
index bd06066..2753753 100644
--- a/man-pages/man3/pthread_self.3
+++ b/man-pages/man3/pthread_self.3
@@ -47,6 +47,18 @@ call that created this thread.
 This function always succeeds, returning the calling thread's ID.
 .SH ERRORS
 This function always succeeds.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_self ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_setaffinity_np.3 b/man-pages/man3/pthread_setaffinity_np.3
index 0fc7239..2200d62 100644
--- a/man-pages/man3/pthread_setaffinity_np.3
+++ b/man-pages/man3/pthread_setaffinity_np.3
@@ -118,6 +118,19 @@ No thread with the ID
 could be found.
 .SH VERSIONS
 These functions are provided by glibc since version 2.3.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_setaffinity_np (),
+.BR pthread_getaffinity_np ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 These functions are nonstandard GNU extensions;
 hence the suffix "_np" (nonportable) in the names.
diff --git a/man-pages/man3/pthread_setcancelstate.3 b/man-pages/man3/pthread_setcancelstate.3
index 06d5451..556eb31 100644
--- a/man-pages/man3/pthread_setcancelstate.3
+++ b/man-pages/man3/pthread_setcancelstate.3
@@ -110,6 +110,30 @@ Invalid value for
 .IR type .
 .\" .SH VERSIONS
 .\" Available since glibc 2.0
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lb lb lb
+lw25 l l.
+Interface	Attribute	Value
+T{
+.BR pthread_setcancelstate (),
+.BR pthread_setcanceltype ()
+T}	Thread safety	T{
+MT-Safe
+T}
+T{
+.BR pthread_setcancelstate (),
+.BR pthread_setcanceltype ()
+T}	Async-cancel-safety	T{
+AC-Safe
+T}
+.TE
+.ad
+.hy
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_setconcurrency.3 b/man-pages/man3/pthread_setconcurrency.3
index b86cd88..34d2dcb 100644
--- a/man-pages/man3/pthread_setconcurrency.3
+++ b/man-pages/man3/pthread_setconcurrency.3
@@ -80,6 +80,19 @@ error ("the value specified by
 would cause a system resource to be exceeded").
 .SH VERSIONS
 These functions are available in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_setconcurrency (),
+.BR pthread_getconcurrency ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_setschedparam.3 b/man-pages/man3/pthread_setschedparam.3
index 693122d..7c9ba7d 100644
--- a/man-pages/man3/pthread_setschedparam.3
+++ b/man-pages/man3/pthread_setschedparam.3
@@ -138,6 +138,19 @@ to an unsupported value") error for
 .BR pthread_setschedparam ().
 .\" .SH VERSIONS
 .\" Available since glibc 2.0
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_setschedparam (),
+.BR pthread_getschedparam ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_setschedprio.3 b/man-pages/man3/pthread_setschedprio.3
index 49819fc..01049e2 100644
--- a/man-pages/man3/pthread_setschedprio.3
+++ b/man-pages/man3/pthread_setschedprio.3
@@ -80,6 +80,18 @@ to an unsupported value") error for
 .BR pthread_setschedparam (3).
 .SH VERSIONS
 This function is available in glibc since version 2.3.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw22 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_setschedprio ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_sigmask.3 b/man-pages/man3/pthread_sigmask.3
index eea9c53..0f54bbd 100644
--- a/man-pages/man3/pthread_sigmask.3
+++ b/man-pages/man3/pthread_sigmask.3
@@ -54,6 +54,18 @@ on error, it returns an error number.
 .SH ERRORS
 See
 .BR sigprocmask (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_sigmask ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/pthread_sigqueue.3 b/man-pages/man3/pthread_sigqueue.3
index 19d317b..85230a2 100644
--- a/man-pages/man3/pthread_sigqueue.3
+++ b/man-pages/man3/pthread_sigqueue.3
@@ -90,6 +90,18 @@ is not valid.
 The
 .BR pthread_sigqueue ()
 function first appeared in glibc 2.11.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_sigqueue ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH SEE ALSO
diff --git a/man-pages/man3/pthread_testcancel.3 b/man-pages/man3/pthread_testcancel.3
index aa11879..45f57f6 100644
--- a/man-pages/man3/pthread_testcancel.3
+++ b/man-pages/man3/pthread_testcancel.3
@@ -55,6 +55,18 @@ to this function, then the function does not return.
 This function always succeeds.
 .\" SH VERSIONS
 .\" Available since glibc 2.0
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_testcancel ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH EXAMPLE
diff --git a/man-pages/man3/pthread_yield.3 b/man-pages/man3/pthread_yield.3
index 3bd8baa..b0b5ba7 100644
--- a/man-pages/man3/pthread_yield.3
+++ b/man-pages/man3/pthread_yield.3
@@ -50,6 +50,18 @@ on error, it returns an error number.
 On Linux, this call always succeeds
 (but portable and future-proof applications should nevertheless
 handle a possible error return).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR pthread_yield ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This call is nonstandard, but present on several other systems.
 Use the standardized
diff --git a/man-pages/man3/ptsname.3 b/man-pages/man3/ptsname.3
index 39e2458..706ef00 100644
--- a/man-pages/man3/ptsname.3
+++ b/man-pages/man3/ptsname.3
@@ -77,14 +77,20 @@ is too small.
 .BR ptsname ()
 is provided in glibc since version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ptsname ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:ptsname
+T{
 .BR ptsname_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR ptsname ()
 is part of the UNIX 98 pseudoterminal support (see
diff --git a/man-pages/man3/putenv.3 b/man-pages/man3/putenv.3
index db5412d..c2a9f67 100644
--- a/man-pages/man3/putenv.3
+++ b/man-pages/man3/putenv.3
@@ -76,6 +76,18 @@ is set to indicate the cause.
 .TP
 .B ENOMEM
 Insufficient space to allocate new environment.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR putenv ()
+T}	Thread safety	MT-Unsafe const:env
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD.
 .SH NOTES
diff --git a/man-pages/man3/puts.3 b/man-pages/man3/puts.3
index 2c91a77..2443ee3 100644
--- a/man-pages/man3/puts.3
+++ b/man-pages/man3/puts.3
@@ -100,6 +100,22 @@ and
 return a nonnegative number on success, or
 .B EOF
 on error.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR fputc (),
+.BR fputs (),
+.BR putc (),
+.BR putchar (),
+.BR puts ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99.
 .SH BUGS
diff --git a/man-pages/man3/putwchar.3 b/man-pages/man3/putwchar.3
index b3d3bfd..64db847 100644
--- a/man-pages/man3/putwchar.3
+++ b/man-pages/man3/putwchar.3
@@ -57,6 +57,18 @@ function returns
 if no error occurred, or
 .B WEOF
 to indicate an error.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR putwchar ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/qecvt.3 b/man-pages/man3/qecvt.3
index 41d0ae0..ea50ea6 100644
--- a/man-pages/man3/qecvt.3
+++ b/man-pages/man3/qecvt.3
@@ -70,16 +70,23 @@ See
 and
 .BR gcvt (3).
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR qecvt ()
-and
+T}	Thread safety	MT-Unsafe race:qecvt
+T{
 .BR qfcvt ()
-functions are not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:qfcvt
+T{
 .BR qgcvt ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4.
 Not seen in most common UNIX implementations,
diff --git a/man-pages/man3/raise.3 b/man-pages/man3/raise.3
index 6bafa7b..0f7b930 100644
--- a/man-pages/man3/raise.3
+++ b/man-pages/man3/raise.3
@@ -61,6 +61,18 @@ will return only after the signal handler has returned.
 .SH RETURN VALUE
 .BR raise ()
 returns 0 on success, and nonzero for failure.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR raise ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/rand.3 b/man-pages/man3/rand.3
index 0d47d18..f6de7f8 100644
--- a/man-pages/man3/rand.3
+++ b/man-pages/man3/rand.3
@@ -81,7 +81,7 @@ function is automatically seeded with a value of 1.
 .PP
 The function
 .BR rand ()
-is not reentrant or thread-safe, since it
+is not reentrant, since it
 uses hidden state that is modified on each call.
 This might just be the seed value to be used by the next call,
 or it might be something more elaborate.
@@ -126,6 +126,20 @@ functions return a value between 0 and
 The
 .BR srand ()
 function returns no value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR rand (),
+.BR rand_r (),
+.BR srand ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions
 .BR rand ()
diff --git a/man-pages/man3/random.3 b/man-pages/man3/random.3
index 98c6123..dbc1e93 100644
--- a/man-pages/man3/random.3
+++ b/man-pages/man3/random.3
@@ -149,6 +149,22 @@ was NULL.
 .B EINVAL
 A state array of less than 8 bytes was specified to
 .BR initstate ().
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR random (),
+.BR srandom (),
+.br
+.BR initstate (),
+.BR setstate ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/random_r.3 b/man-pages/man3/random_r.3
index 2af909c..08edca2 100644
--- a/man-pages/man3/random_r.3
+++ b/man-pages/man3/random_r.3
@@ -125,6 +125,22 @@ or
 argument to
 .BR random_r ()
 was NULL.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR random_r (),
+.BR srandom_r (),
+.br
+.BR initstate_r (),
+.BR setstate_r ()
+T}	Thread safety	MT-Safe race:buf
+.TE
 .SH CONFORMING TO
 These functions are nonstandard glibc extensions.
 .\" These functions appear to be on Tru64, but don't seem to be on
diff --git a/man-pages/man3/re_comp.3 b/man-pages/man3/re_comp.3
index 3f8039d..ba5dc95 100644
--- a/man-pages/man3/re_comp.3
+++ b/man-pages/man3/re_comp.3
@@ -64,12 +64,18 @@ otherwise it returns a pointer to an appropriate error message.
 .BR re_exec ()
 returns 1 for a successful match, zero for failure.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR re_comp ()
-and
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR re_comp (),
 .BR re_exec ()
-functions are not thread-safe.
+T}	Thread safety	MT-Unsafe
+.TE
 .SH CONFORMING TO
 4.3BSD.
 .SH NOTES
diff --git a/man-pages/man3/readdir.3 b/man-pages/man3/readdir.3
index 8c005c0..21f6c7b 100644
--- a/man-pages/man3/readdir.3
+++ b/man-pages/man3/readdir.3
@@ -145,14 +145,20 @@ returns 0, and returns NULL in
 .B EBADF
 Invalid directory stream descriptor \fIdirp\fP.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR readdir ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:dirstream
+T{
 .BR readdir_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/realpath.3 b/man-pages/man3/realpath.3
index 04bea69..3f53096 100644
--- a/man-pages/man3/realpath.3
+++ b/man-pages/man3/realpath.3
@@ -134,6 +134,18 @@ The named file does not exist.
 A component of the path prefix is not a directory.
 .SH VERSIONS
 On Linux, this function appeared in libc 4.5.21.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR realpath ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.4BSD, POSIX.1-2001.
 
diff --git a/man-pages/man3/regex.3 b/man-pages/man3/regex.3
index fd990f0..80b128e 100644
--- a/man-pages/man3/regex.3
+++ b/man-pages/man3/regex.3
@@ -301,6 +301,25 @@ The regex routines ran out of memory.
 .TP
 .B REG_ESUBREG
 Invalid back reference to a subexpression.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR regcomp (),
+.BR regexec ()
+T}	Thread safety	MT-Safe locale
+T{
+.BR regerror ()
+T}	Thread safety	MT-Safe env
+T{
+.BR regfree ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/remainder.3 b/man-pages/man3/remainder.3
index e2306b9..3dfd6f2 100644
--- a/man-pages/man3/remainder.3
+++ b/man-pages/man3/remainder.3
@@ -177,6 +177,25 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR drem (),
+.BR dremf (),
+.BR dreml (),
+.br
+.BR remainder (),
+.BR remainderf (),
+.br
+.BR remainderl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .\" IEC 60559.
 The functions
diff --git a/man-pages/man3/remove.3 b/man-pages/man3/remove.3
index 724fd5c..1d008d3 100644
--- a/man-pages/man3/remove.3
+++ b/man-pages/man3/remove.3
@@ -67,6 +67,18 @@ The errors that occur are those for
 .BR unlink (2)
 and
 .BR rmdir (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR remove ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/remquo.3 b/man-pages/man3/remquo.3
index 1478f9b..bc4bcd1 100644
--- a/man-pages/man3/remquo.3
+++ b/man-pages/man3/remquo.3
@@ -121,6 +121,20 @@ These functions do not set
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6802
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR remquo (),
+.BR remquof (),
+.BR remquol ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/rewinddir.3 b/man-pages/man3/rewinddir.3
index f02cda0..fbefa4f 100644
--- a/man-pages/man3/rewinddir.3
+++ b/man-pages/man3/rewinddir.3
@@ -50,6 +50,18 @@ to the beginning of the directory.
 The
 .BR rewinddir ()
 function returns no value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR rewinddir ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/rexec.3 b/man-pages/man3/rexec.3
index 998a766..c789034 100644
--- a/man-pages/man3/rexec.3
+++ b/man-pages/man3/rexec.3
@@ -140,12 +140,18 @@ The
 .BR rexec_af ()
 function was added to glibc in version 2.2.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR rexec ()
-and
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR rexec (),
 .BR rexec_af ()
-functions are not thread-safe.
+T}	Thread safety	MT-Unsafe
+.TE
 .SH CONFORMING TO
 These functions are not in POSIX.1-2001.
 The
diff --git a/man-pages/man3/rint.3 b/man-pages/man3/rint.3
index 4e2ed5c..133f744 100644
--- a/man-pages/man3/rint.3
+++ b/man-pages/man3/rint.3
@@ -113,6 +113,25 @@ itself is returned.
 .SH ERRORS
 No errors occur.
 POSIX.1-2001 documents a range error for overflows, but see NOTES.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR nearbyint (),
+.BR nearbyintf (),
+.br
+.BR nearbyintl (),
+.BR rint (),
+.br
+.BR rintf (),
+.BR rintl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/round.3 b/man-pages/man3/round.3
index 33948a3..5453710 100644
--- a/man-pages/man3/round.3
+++ b/man-pages/man3/round.3
@@ -86,13 +86,19 @@ POSIX.1-2001 documents a range error for overflows, but see NOTES.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR round (),
 .BR roundf (),
-and
 .BR roundl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/scalb.3 b/man-pages/man3/scalb.3
index e60abaa..ed2f224 100644
--- a/man-pages/man3/scalb.3
+++ b/man-pages/man3/scalb.3
@@ -174,6 +174,20 @@ These functions do not set
 .\" FIXME . Is it intentional that these functions do not set errno?
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6803
 .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6804
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR scalb (),
+.BR scalbf (),
+.BR scalbl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR scalb ()
 is specified in POSIX.1-2001, but marked obsolescent.
diff --git a/man-pages/man3/scalbln.3 b/man-pages/man3/scalbln.3
index 76fa828..998fb3c 100644
--- a/man-pages/man3/scalbln.3
+++ b/man-pages/man3/scalbln.3
@@ -158,16 +158,23 @@ These functions do not set
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw33 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR scalbn (),
 .BR scalbnf (),
 .BR scalbnl (),
+.br
 .BR scalbln (),
 .BR scalblnf (),
-and
 .BR scalblnl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sched_getcpu.3 b/man-pages/man3/sched_getcpu.3
index 646c2b5..7048260 100644
--- a/man-pages/man3/sched_getcpu.3
+++ b/man-pages/man3/sched_getcpu.3
@@ -69,6 +69,18 @@ This kernel does not implement
 .BR getcpu (2).
 .SH VERSIONS
 This function is available since glibc 2.6.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sched_getcpu ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR sched_getcpu ()
 is glibc specific.
diff --git a/man-pages/man3/seekdir.3 b/man-pages/man3/seekdir.3
index 9e52298..06138d0 100644
--- a/man-pages/man3/seekdir.3
+++ b/man-pages/man3/seekdir.3
@@ -61,6 +61,18 @@ argument should be a value returned by a previous call to
 The
 .BR seekdir ()
 function returns no value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR seekdir ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sem_destroy.3 b/man-pages/man3/sem_destroy.3
index 9dd3dd1..14b488d 100644
--- a/man-pages/man3/sem_destroy.3
+++ b/man-pages/man3/sem_destroy.3
@@ -63,6 +63,18 @@ is set to indicate the error.
 .B EINVAL
 .I sem
 is not a valid semaphore.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_destroy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sem_getvalue.3 b/man-pages/man3/sem_getvalue.3
index 985b2f0..658f4b6 100644
--- a/man-pages/man3/sem_getvalue.3
+++ b/man-pages/man3/sem_getvalue.3
@@ -62,6 +62,18 @@ is set to indicate the error.
 .B EINVAL
 .I sem
 is not a valid semaphore.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_getvalue ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sem_init.3 b/man-pages/man3/sem_init.3
index fcd61bc..12f3ab3 100644
--- a/man-pages/man3/sem_init.3
+++ b/man-pages/man3/sem_init.3
@@ -92,6 +92,18 @@ exceeds
 is nonzero,
 but the system does not support process-shared semaphores (see
 .BR sem_overview (7)).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_init ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sem_post.3 b/man-pages/man3/sem_post.3
index 6ec3bbe..79bdc89 100644
--- a/man-pages/man3/sem_post.3
+++ b/man-pages/man3/sem_post.3
@@ -58,6 +58,18 @@ is not a valid semaphore.
 .B EOVERFLOW
 .\" Added in POSIX.1-2008 TC1 (Austin Interpretation 213)
 The maximum allowable value for a semaphore would be exceeded.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_post ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sem_unlink.3 b/man-pages/man3/sem_unlink.3
index c3f5777..1985d2f 100644
--- a/man-pages/man3/sem_unlink.3
+++ b/man-pages/man3/sem_unlink.3
@@ -59,6 +59,18 @@ was too long.
 .B ENOENT
 There is no semaphore with the given
 .IR name .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_unlink ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/sem_wait.3 b/man-pages/man3/sem_wait.3
index 1678087..c3debd3 100644
--- a/man-pages/man3/sem_wait.3
+++ b/man-pages/man3/sem_wait.3
@@ -140,6 +140,20 @@ is less than 0, or greater than or equal to 1000 million.
 The call timed out before the semaphore could be locked.
 .\" POSIX.1-2001 also allows EDEADLK -- "A deadlock condition
 .\" was detected", but this does not occur on Linux(?).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sem_wait (),
+.BR sem_trywait (),
+.BR sem_timedwait ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/setbuf.3 b/man-pages/man3/setbuf.3
index 77afba7..cb15b4e 100644
--- a/man-pages/man3/setbuf.3
+++ b/man-pages/man3/setbuf.3
@@ -161,6 +161,22 @@ It may set
 on failure.
 
 The other functions do not return a value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR setbuf (),
+.BR setbuffer (),
+.br
+.BR setlinebuf (),
+.BR setvbuf ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR setbuf ()
diff --git a/man-pages/man3/setenv.3 b/man-pages/man3/setenv.3
index 3bad1d4..d08ca4e 100644
--- a/man-pages/man3/setenv.3
+++ b/man-pages/man3/setenv.3
@@ -124,6 +124,19 @@ or contains an \(aq=\(aq character.
 .TP
 .B ENOMEM
 Insufficient memory to add a new variable to the environment.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR setenv (),
+.BR unsetenv ()
+T}	Thread safety	MT-Unsafe const:env
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/siginterrupt.3 b/man-pages/man3/siginterrupt.3
index 1cfc638..66b121d 100644
--- a/man-pages/man3/siginterrupt.3
+++ b/man-pages/man3/siginterrupt.3
@@ -84,6 +84,18 @@ set to indicate the cause of the error.
 .TP
 .B EINVAL
 The specified signal number is invalid.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR siginterrupt ()
+T}	Thread safety	MT-Unsafe const:sigintr
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 POSIX.1-2008 marks
diff --git a/man-pages/man3/signbit.3 b/man-pages/man3/signbit.3
index 5c3be42..5dd4885 100644
--- a/man-pages/man3/signbit.3
+++ b/man-pages/man3/signbit.3
@@ -59,10 +59,17 @@ is negative; otherwise it returns zero.
 .SH ERRORS
 No errors occur.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR signbit ()
-macro is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 This function is defined in IEC 559 (and the appendix with
diff --git a/man-pages/man3/sigpause.3 b/man-pages/man3/sigpause.3
index e5109ce..31316fc 100644
--- a/man-pages/man3/sigpause.3
+++ b/man-pages/man3/sigpause.3
@@ -53,6 +53,18 @@ with
 .I errno
 set to
 .BR EINTR .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigpause ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The System V version of
 .BR sigpause ()
diff --git a/man-pages/man3/sigqueue.3 b/man-pages/man3/sigqueue.3
index 872a532..a8e421c 100644
--- a/man-pages/man3/sigqueue.3
+++ b/man-pages/man3/sigqueue.3
@@ -111,6 +111,18 @@ No process has a PID matching
 .IR pid .
 .SH VERSIONS
 This system call first appeared in Linux 2.2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigqueue ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sigset.3 b/man-pages/man3/sigset.3
index 5decb43..5e6a6d5 100644
--- a/man-pages/man3/sigset.3
+++ b/man-pages/man3/sigset.3
@@ -170,6 +170,22 @@ For
 .BR sigignore (),
 see the errors under
 .BR sigaction (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigset (),
+.BR sighold (),
+.br
+.BR sigrelse (),
+.BR sigignore ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001.
 These functions are obsolete: do not use them in new programs.
diff --git a/man-pages/man3/sigsetops.3 b/man-pages/man3/sigsetops.3
index 8711862..08dc85c 100644
--- a/man-pages/man3/sigsetops.3
+++ b/man-pages/man3/sigsetops.3
@@ -128,6 +128,28 @@ to indicate the cause.
 .B EINVAL
 .I sig
 is not a valid signal.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw31 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigemptyset (),
+.BR sigfillset (),
+.br
+.BR sigaddset (),
+.BR sigdelset (),
+.br
+.BR sigismember (),
+.BR sigisemptyset (),
+.br
+.BR sigorset (),
+.BR sigandset ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sigvec.3 b/man-pages/man3/sigvec.3
index 7b5bc72..82e0b30 100644
--- a/man-pages/man3/sigvec.3
+++ b/man-pages/man3/sigvec.3
@@ -218,6 +218,29 @@ See the ERRORS under
 .BR sigaction (2)
 and
 .BR sigprocmask (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw32 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigvec (),
+.BR sigmask (),
+.BR sigblock (),
+.BR sigsetmask (),
+.BR siggetmask ()
+T}	Thread safety	MT-Safe
+.TE
+.SH VERSIONS
+Starting with version 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 CONFORMING TO
 All of these functions were in
 4.3BSD, except
diff --git a/man-pages/man3/sigwait.3 b/man-pages/man3/sigwait.3
index 7b841bf..1550524 100644
--- a/man-pages/man3/sigwait.3
+++ b/man-pages/man3/sigwait.3
@@ -77,6 +77,18 @@ On error, it returns a positive error number (listed in ERRORS).
 .\" Does not occur for glibc.
 .I set
 contains an invalid signal number.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sigwait ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sin.3 b/man-pages/man3/sin.3
index b0c270f..6cdc901 100644
--- a/man-pages/man3/sin.3
+++ b/man-pages/man3/sin.3
@@ -105,6 +105,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sin (),
+.BR sinf (),
+.BR sinl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/sincos.3 b/man-pages/man3/sincos.3
index 0e34ab4..4f748a3 100644
--- a/man-pages/man3/sincos.3
+++ b/man-pages/man3/sincos.3
@@ -72,6 +72,20 @@ These functions do not set
 .\" those functions.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sincos (),
+.BR sincosf (),
+.BR sincosl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH SEE ALSO
diff --git a/man-pages/man3/sinh.3 b/man-pages/man3/sinh.3
index ab79609..5da26a8 100644
--- a/man-pages/man3/sinh.3
+++ b/man-pages/man3/sinh.3
@@ -121,6 +121,20 @@ is set to
 An overflow floating-point exception
 .RB ( FE_OVERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sinh (),
+.BR sinhf (),
+.BR sinhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/sockatmark.3 b/man-pages/man3/sockatmark.3
index 9e8d50c..8552f72 100644
--- a/man-pages/man3/sockatmark.3
+++ b/man-pages/man3/sockatmark.3
@@ -70,6 +70,18 @@ can be applied.
 .SH VERSIONS
 .BR sockatmark ()
 was added to glibc in version 2.2.4.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sockatmark ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sqrt.3 b/man-pages/man3/sqrt.3
index c5dd46d..d2ed9ab 100644
--- a/man-pages/man3/sqrt.3
+++ b/man-pages/man3/sqrt.3
@@ -104,6 +104,20 @@ is set to
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sqrt (),
+.BR sqrtf (),
+.BR sqrtl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/statvfs.3 b/man-pages/man3/statvfs.3
index ef5c59c..3b35f80 100644
--- a/man-pages/man3/statvfs.3
+++ b/man-pages/man3/statvfs.3
@@ -154,6 +154,19 @@ is not a directory.
 .TP
 .B EOVERFLOW
 Some values were too large to be represented in the returned struct.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR statvfs (),
+.BR fstatvfs ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/stdarg.3 b/man-pages/man3/stdarg.3
index 719aab7..4ce610d 100644
--- a/man-pages/man3/stdarg.3
+++ b/man-pages/man3/stdarg.3
@@ -226,6 +226,23 @@ Some systems that do not supply
 have
 .B __va_copy
 instead, since that was the name used in the draft proposal.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR va_start (),
+.BR va_end (),
+.BR va_copy ()
+T}	Thread safety	MT-Safe
+T{
+.BR va_arg ()
+T}	Thread safety	MT-Safe race:ap
+.TE
 .SH CONFORMING TO
 The
 .BR va_start (),
diff --git a/man-pages/man3/stdio_ext.3 b/man-pages/man3/stdio_ext.3
index 3585e75..267edd2 100644
--- a/man-pages/man3/stdio_ext.3
+++ b/man-pages/man3/stdio_ext.3
@@ -130,24 +130,31 @@ The
 .BR __fpurge ()
 function discards the contents of the stream's buffer.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw28 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR __fbufsize (),
 .BR __fpending (),
-.BR __fpurge ()
-and
+.br
+.BR __fpurge (),
 .BR __fsetlocking ()
-functions do not lock the stream, so they are not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Safe race:stream
+T{
 .BR __flbf (),
 .BR __freadable (),
+.br
 .BR __freading (),
 .BR __fwritable (),
-.BR __fwriting ()
-and
+.br
+.BR __fwriting (),
 .BR _flushlbf ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH SEE ALSO
 .BR flockfile (3),
 .BR fpurge (3)
diff --git a/man-pages/man3/stpcpy.3 b/man-pages/man3/stpcpy.3
index 3e1e67f..cd51b11 100644
--- a/man-pages/man3/stpcpy.3
+++ b/man-pages/man3/stpcpy.3
@@ -68,6 +68,18 @@ of the string
 .I dest
 (that is, the address of the terminating null byte)
 rather than the beginning.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR stpcpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function was added to POSIX.1-2008.
 Before that, it was not part of
diff --git a/man-pages/man3/stpncpy.3 b/man-pages/man3/stpncpy.3
index 3a0a400..9f10507 100644
--- a/man-pages/man3/stpncpy.3
+++ b/man-pages/man3/stpncpy.3
@@ -88,6 +88,18 @@ or, if
 .I dest
 is not null-terminated,
 .IR "dest + n" .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR stpncpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function was added to POSIX.1-2008.
 Before that, it was a GNU extension.
diff --git a/man-pages/man3/strcasecmp.3 b/man-pages/man3/strcasecmp.3
index 190ed66..5017c5a 100644
--- a/man-pages/man3/strcasecmp.3
+++ b/man-pages/man3/strcasecmp.3
@@ -73,6 +73,19 @@ an integer less than, equal to, or greater than zero if
 bytes thereof) is found, respectively, to be
 less than, to match, or be greater than
 .IR s2 .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strcasecmp (),
+.BR strncasecmp ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 4.4BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/strcat.3 b/man-pages/man3/strcat.3
index d71426c..27d20d9 100644
--- a/man-pages/man3/strcat.3
+++ b/man-pages/man3/strcat.3
@@ -127,6 +127,19 @@ and
 .BR strncat ()
 functions return a pointer to the resulting string
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strcat (),
+.BR strncat ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/strchr.3 b/man-pages/man3/strchr.3
index 25ab2c4..59005f1 100644
--- a/man-pages/man3/strchr.3
+++ b/man-pages/man3/strchr.3
@@ -104,6 +104,20 @@ if the character is not found.
 .SH VERSIONS
 .BR strchrnul ()
 first appeared in glibc in version 2.1.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw32 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strchr (),
+.BR strrchr (),
+.BR strchrnul ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .BR strchr ()
 and
diff --git a/man-pages/man3/strcmp.3 b/man-pages/man3/strcmp.3
index 5cac204..8a1bce8 100644
--- a/man-pages/man3/strcmp.3
+++ b/man-pages/man3/strcmp.3
@@ -76,6 +76,19 @@ less than, equal to, or greater than zero if
 bytes thereof) is found, respectively, to be less than, to
 match, or be greater than
 .IR s2 .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strcmp (),
+.BR strncmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/strcpy.3 b/man-pages/man3/strcpy.3
index 57ee6d0..2923b25 100644
--- a/man-pages/man3/strcpy.3
+++ b/man-pages/man3/strcpy.3
@@ -113,6 +113,19 @@ and
 functions return a pointer to
 the destination string
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strcpy (),
+.BR strncpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/strerror.3 b/man-pages/man3/strerror.3
index 41da3fb..2b12a60 100644
--- a/man-pages/man3/strerror.3
+++ b/man-pages/man3/strerror.3
@@ -181,6 +181,26 @@ function is not thread-safe.
 The
 .BR strerror_r ()
 function is thread-safe.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw26 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strerror ()
+T}	Thread safety	MT-Unsafe race:strerror
+T{
+.BR strerror_r (),
+.BR strerror_l ()
+T}	Thread safety	MT-Safe
+.TE
+.SH VERSIONS
+The
+.BR strerror_l ()
+function first appeared in glibc 2.6.
 .SH CONFORMING TO
 .BR strerror ()
 is specified by POSIX.1-2001, C89, C99.
diff --git a/man-pages/man3/strfmon.3 b/man-pages/man3/strfmon.3
index 1d55187..702b35a 100644
--- a/man-pages/man3/strfmon.3
+++ b/man-pages/man3/strfmon.3
@@ -135,6 +135,19 @@ Otherwise, it sets
 to
 .BR E2BIG ,
 returns \-1, and the contents of the array is undefined.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strfmon ()
+T}	Thread safety	MT-Safe locale
+.TE
+
 .SH CONFORMING TO
 Not in POSIX.1-2001.
 Present on several other systems.
diff --git a/man-pages/man3/strfry.3 b/man-pages/man3/strfry.3
index d53ccfd..f8d5a26 100644
--- a/man-pages/man3/strfry.3
+++ b/man-pages/man3/strfry.3
@@ -54,6 +54,18 @@ The
 .BR strfry ()
 functions returns a pointer to the randomized
 string.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strfry ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The
 .BR strfry ()
diff --git a/man-pages/man3/strftime.3 b/man-pages/man3/strftime.3
index d64c763..4d66f13 100644
--- a/man-pages/man3/strftime.3
+++ b/man-pages/man3/strftime.3
@@ -358,6 +358,18 @@ The environment variables
 and
 .B LC_TIME
 are used.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strftime ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 SVr4, C89, C99.
 There are strict inclusions between the set of conversions
diff --git a/man-pages/man3/strlen.3 b/man-pages/man3/strlen.3
index 2dc3747..e0592b4 100644
--- a/man-pages/man3/strlen.3
+++ b/man-pages/man3/strlen.3
@@ -47,6 +47,18 @@ The
 .BR strlen ()
 function returns the number of bytes in the string
 .IR s .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strlen ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/strnlen.3 b/man-pages/man3/strnlen.3
index 7f7943b..0f84109 100644
--- a/man-pages/man3/strnlen.3
+++ b/man-pages/man3/strnlen.3
@@ -68,6 +68,18 @@ if there is no null byte (\(aq\\0\(aq) among the first
 .I maxlen
 bytes pointed to by
 .IR s .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strnlen ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 .SH SEE ALSO
diff --git a/man-pages/man3/strpbrk.3 b/man-pages/man3/strpbrk.3
index 990e5af..5dd44ea 100644
--- a/man-pages/man3/strpbrk.3
+++ b/man-pages/man3/strpbrk.3
@@ -53,6 +53,18 @@ that matches one of the bytes in
 .IR accept ,
 or NULL
 if no such byte is found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strpbrk ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/strptime.3 b/man-pages/man3/strptime.3
index 7af3aad..e438400 100644
--- a/man-pages/man3/strptime.3
+++ b/man-pages/man3/strptime.3
@@ -292,6 +292,18 @@ If
 fails to match all
 of the format string and therefore an error occurred the function
 returns NULL.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strptime ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 SUSv2, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/strsep.3 b/man-pages/man3/strsep.3
index 3e84d1d..8d468ac 100644
--- a/man-pages/man3/strsep.3
+++ b/man-pages/man3/strsep.3
@@ -77,6 +77,18 @@ The
 function returns a pointer to the token,
 that is, it returns the original value of
 .IR *stringp .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strsep ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.4BSD.
 .SH NOTES
diff --git a/man-pages/man3/strspn.3 b/man-pages/man3/strspn.3
index dfd6587..42bc406 100644
--- a/man-pages/man3/strspn.3
+++ b/man-pages/man3/strspn.3
@@ -71,6 +71,19 @@ the initial segment of
 .I s
 which are not in the string
 .IR reject .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strspn (),
+.BR strcspn ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/strstr.3 b/man-pages/man3/strstr.3
index 3c7cfe6..8ebb447 100644
--- a/man-pages/man3/strstr.3
+++ b/man-pages/man3/strstr.3
@@ -62,6 +62,21 @@ but ignores the case of both arguments.
 .SH RETURN VALUE
 These functions return a pointer to the beginning of the
 substring, or NULL if the substring is not found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strstr ()
+T}	Thread safety	MT-Safe
+T{
+.BR strcasestr ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 The
 .BR strstr ()
diff --git a/man-pages/man3/strtod.3 b/man-pages/man3/strtod.3
index 65c4fef..c939f5e 100644
--- a/man-pages/man3/strtod.3
+++ b/man-pages/man3/strtod.3
@@ -157,6 +157,20 @@ is stored in
 .TP
 .B ERANGE
 Overflow or underflow occurred.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strtod (),
+.BR strtof (),
+.BR strtold ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C89 describes
 .BR strtod (),
diff --git a/man-pages/man3/strtoimax.3 b/man-pages/man3/strtoimax.3
index d39093a..5a44801 100644
--- a/man-pages/man3/strtoimax.3
+++ b/man-pages/man3/strtoimax.3
@@ -55,6 +55,19 @@ is returned, and
 .I errno
 is set to
 .BR ERANGE .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strtoimax (),
+.BR strtoumax ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/strtok.3 b/man-pages/man3/strtok.3
index 27543d1..b836310 100644
--- a/man-pages/man3/strtok.3
+++ b/man-pages/man3/strtok.3
@@ -167,14 +167,20 @@ and
 functions return a pointer to
 the next token, or NULL if there are no more tokens.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR strtok ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:strtok
+T{
 .BR strtok_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 .TP
 .BR strtok ()
diff --git a/man-pages/man3/strtol.3 b/man-pages/man3/strtol.3
index fe0aec0..abce900 100644
--- a/man-pages/man3/strtol.3
+++ b/man-pages/man3/strtol.3
@@ -158,6 +158,20 @@ to
 .B EINVAL
 in case
 no conversion was performed (no digits seen, and 0 returned).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strtol (),
+.BR strtoll (),
+.BR strtoq ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 .BR strtol ()
 conforms to SVr4, 4.3BSD, C89, C99 and POSIX.1-2001, and
diff --git a/man-pages/man3/strtoul.3 b/man-pages/man3/strtoul.3
index 89b5a39..0c1e1af 100644
--- a/man-pages/man3/strtoul.3
+++ b/man-pages/man3/strtoul.3
@@ -162,6 +162,20 @@ to
 .B EINVAL
 in case
 no conversion was performed (no digits seen, and 0 returned).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw32 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strtoul (),
+.BR strtoull (),
+.BR strtouq ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 .BR strtoul ()
 conforms to SVr4, C89, C99 and POSIX-2001, and
diff --git a/man-pages/man3/strverscmp.3 b/man-pages/man3/strverscmp.3
index e68fc04..f50882c 100644
--- a/man-pages/man3/strverscmp.3
+++ b/man-pages/man3/strverscmp.3
@@ -87,6 +87,18 @@ less than, equal to, or greater than zero if
 is found, respectively, to be earlier than, equal to,
 or later than
 .IR s2 .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strverscmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is a GNU extension.
 .SH SEE ALSO
diff --git a/man-pages/man3/strxfrm.3 b/man-pages/man3/strxfrm.3
index 8174f15..deb5a8b 100644
--- a/man-pages/man3/strxfrm.3
+++ b/man-pages/man3/strxfrm.3
@@ -73,6 +73,18 @@ or more, the
 contents of
 .I dest
 are indeterminate.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR strxfrm ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99.
 .SH NOTES
diff --git a/man-pages/man3/swab.3 b/man-pages/man3/swab.3
index 4ceb996..79c6591 100644
--- a/man-pages/man3/swab.3
+++ b/man-pages/man3/swab.3
@@ -69,6 +69,18 @@ should be even.)
 The
 .BR swab ()
 function returns no value.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR swab ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/syslog.3 b/man-pages/man3/syslog.3
index 648f657..957291c 100644
--- a/man-pages/man3/syslog.3
+++ b/man-pages/man3/syslog.3
@@ -249,6 +249,23 @@ debug-level message
 The function
 .BR setlogmask (3)
 can be used to restrict logging to specified levels only.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR openlog (),
+.BR closelog ()
+T}	Thread safety	MT-Safe
+T{
+.BR syslog (),
+.BR vsyslog ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 The functions
 .BR openlog (),
diff --git a/man-pages/man3/system.3 b/man-pages/man3/system.3
index 0240dec..13ad44f 100644
--- a/man-pages/man3/system.3
+++ b/man-pages/man3/system.3
@@ -75,6 +75,18 @@ returns nonzero if the shell is available, and zero if not.
 .PP
 .BR system ()
 does not affect the wait status of any other children.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR system ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/sysv_signal.3 b/man-pages/man3/sysv_signal.3
index 619112d..b94d8c9 100644
--- a/man-pages/man3/sysv_signal.3
+++ b/man-pages/man3/sysv_signal.3
@@ -57,6 +57,18 @@ on error.
 .SH ERRORS
 As for
 .BR signal (2).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR sysv_signal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 This function is nonstandard.
 .SH NOTES
diff --git a/man-pages/man3/tan.3 b/man-pages/man3/tan.3
index ce9eaee..4bf0da5 100644
--- a/man-pages/man3/tan.3
+++ b/man-pages/man3/tan.3
@@ -130,6 +130,20 @@ Range error: result overflow
 An overflow floating-point exception
 .RB ( FE_OVERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tan (),
+.BR tanf (),
+.BR tanl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/tanh.3 b/man-pages/man3/tanh.3
index 3ec6e18..92f46b6 100644
--- a/man-pages/man3/tanh.3
+++ b/man-pages/man3/tanh.3
@@ -97,6 +97,20 @@ is positive infinity (negative infinity),
 .\" glibc 2.8 does not do this.
 .SH ERRORS
 No errors occur.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tanh (),
+.BR tanhf (),
+.BR tanhl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 The variant returning
diff --git a/man-pages/man3/tcgetpgrp.3 b/man-pages/man3/tcgetpgrp.3
index 706789b..8a7ace7 100644
--- a/man-pages/man3/tcgetpgrp.3
+++ b/man-pages/man3/tcgetpgrp.3
@@ -106,6 +106,19 @@ of the calling process.
 .I pgrp
 has a supported value, but is not the process group ID of a
 process in the same session as the calling process.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tcgetpgrp (),
+.BR tcsetpgrp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/tcgetsid.3 b/man-pages/man3/tcgetsid.3
index a7730df..6be32cd 100644
--- a/man-pages/man3/tcgetsid.3
+++ b/man-pages/man3/tcgetsid.3
@@ -62,6 +62,18 @@ it has one but it is not described by
 .SH VERSIONS
 .BR tcgetsid ()
 is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tcgetsid ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/telldir.3 b/man-pages/man3/telldir.3
index 872fbb9..7c17eea 100644
--- a/man-pages/man3/telldir.3
+++ b/man-pages/man3/telldir.3
@@ -61,6 +61,18 @@ is set appropriately.
 .TP
 .B EBADF
 Invalid directory stream descriptor \fIdirp\fP.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR telldir ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/tempnam.3 b/man-pages/man3/tempnam.3
index f68d40b..8dcad47 100644
--- a/man-pages/man3/tempnam.3
+++ b/man-pages/man3/tempnam.3
@@ -95,6 +95,18 @@ set to indicate the cause of the error.
 .TP
 .B ENOMEM
 Allocation of storage failed.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tempnam ()
+T}	Thread safety	MT-Safe env
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, POSIX.1-2001.
 POSIX.1-2008 marks
diff --git a/man-pages/man3/termios.3 b/man-pages/man3/termios.3
index 07af8bb..6a1c36b 100644
--- a/man-pages/man3/termios.3
+++ b/man-pages/man3/termios.3
@@ -929,6 +929,35 @@ Therefore, when making multiple changes
 it may be necessary to follow this call with a further call to
 .BR tcgetattr ()
 to check that all changes have been performed successfully.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.nh
+.ad l
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tcgetattr (),
+.BR tcsetattr (),
+.BR tcsendbreak (),
+.BR tcdrain (),
+.br
+.BR tcflush (),
+.br
+.BR tcflow (),
+.BR cfmakeraw (),
+.BR cfgetispeed (),
+.BR cfgetospeed (),
+.BR cfsetispeed (),
+.BR cfsetospeed (),
+.BR cfsetspeed ()
+T}	Thread safety	MT-Safe
+.TE
+.ad
+.hy
 .SH CONFORMING TO
 .BR tcgetattr (),
 .BR tcsetattr (),
diff --git a/man-pages/man3/tgamma.3 b/man-pages/man3/tgamma.3
index 6fb6338..23dfba8 100644
--- a/man-pages/man3/tgamma.3
+++ b/man-pages/man3/tgamma.3
@@ -159,6 +159,20 @@ is not set for this case.
 .\" exception for various cases.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see 
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tgamma (),
+.BR tgammaf (),
+.BR tgammal ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/timegm.3 b/man-pages/man3/timegm.3
index aed2ba3..2a4751e 100644
--- a/man-pages/man3/timegm.3
+++ b/man-pages/man3/timegm.3
@@ -51,6 +51,19 @@ are the inverses of
 .BR localtime (3)
 and
 .BR gmtime (3).
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw21 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR timelocal (),
+.BR timegm ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 These functions are nonstandard GNU extensions
 that are also present on the BSDs.
diff --git a/man-pages/man3/tmpfile.3 b/man-pages/man3/tmpfile.3
index 7ff8b02..a7d2fc8 100644
--- a/man-pages/man3/tmpfile.3
+++ b/man-pages/man3/tmpfile.3
@@ -75,6 +75,18 @@ There was no room in the directory to add the new filename.
 .TP
 .B EROFS
 Read-only file system.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tmpfile ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/tmpnam.3 b/man-pages/man3/tmpnam.3
index 7fdfba8..b6d1014 100644
--- a/man-pages/man3/tmpnam.3
+++ b/man-pages/man3/tmpnam.3
@@ -75,15 +75,20 @@ filename, or NULL if a unique name cannot be generated.
 .SH ERRORS
 No errors are defined.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR tmpnam ()
-function is thread-safe with exceptions.
-It is not thread-safe if called with a NULL parameter.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:tmpnam/!s
+T{
 .BR tmpnam_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
 POSIX.1-2008 marks
diff --git a/man-pages/man3/toascii.3 b/man-pages/man3/toascii.3
index d4b48ff..cfe8df2 100644
--- a/man-pages/man3/toascii.3
+++ b/man-pages/man3/toascii.3
@@ -51,6 +51,18 @@ value that fits into the ASCII character set, by clearing the
 high-order bits.
 .SH RETURN VALUE
 The value returned is that of the converted character.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR toascii ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, BSD, POSIX.1-2001.
 POSIX.1-2008 marks
diff --git a/man-pages/man3/toupper.3 b/man-pages/man3/toupper.3
index 45d6bf4..abc0c0f 100644
--- a/man-pages/man3/toupper.3
+++ b/man-pages/man3/toupper.3
@@ -58,6 +58,22 @@ is undefined.
 The value returned is that of the converted letter, or
 .I c
 if the conversion was not possible.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR toupper (),
+.BR tolower (),
+.br
+.BR toupper_l (),
+.BR tolower_l ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C89, C99, 4.3BSD.
 .SH BUGS
diff --git a/man-pages/man3/towctrans.3 b/man-pages/man3/towctrans.3
index e2dcebb..c27e8d9 100644
--- a/man-pages/man3/towctrans.3
+++ b/man-pages/man3/towctrans.3
@@ -52,6 +52,18 @@ if
 .I wc
 is
 .BR WEOF .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR towctrans ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/towlower.3 b/man-pages/man3/towlower.3
index f507773..65652f2 100644
--- a/man-pages/man3/towlower.3
+++ b/man-pages/man3/towlower.3
@@ -50,6 +50,25 @@ if
 .I wc
 is
 .BR WEOF .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR towlower ()
+T}	Thread safety	MT-Safe locale
+T{
+.BR towlower_l ()
+T}	Thread safety	MT-Safe
+.TE
+.SH VERSIONS
+The
+.BR towlower_l ()
+function first appeared in glibc 2.3.
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/towupper.3 b/man-pages/man3/towupper.3
index ebdedaf..68b24e2 100644
--- a/man-pages/man3/towupper.3
+++ b/man-pages/man3/towupper.3
@@ -50,6 +50,25 @@ if
 .I wc
 is
 .BR WEOF .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR towupper ()
+T}	Thread safety	MT-Safe locale
+T{
+.BR towupper_l ()
+T}	Thread safety	MT-Safe
+.TE
+.SH VERSIONS
+The
+.BR towupper_l ()
+function first appeared in glibc 2.3.
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/trunc.3 b/man-pages/man3/trunc.3
index 5793c27..fee50d1 100644
--- a/man-pages/man3/trunc.3
+++ b/man-pages/man3/trunc.3
@@ -73,13 +73,19 @@ No errors occur.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw27 lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR trunc (),
 .BR truncf (),
-and
 .BR truncl ()
-functions are thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99, POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/tsearch.3 b/man-pages/man3/tsearch.3
index b1f0f7a..c11f21f 100644
--- a/man-pages/man3/tsearch.3
+++ b/man-pages/man3/tsearch.3
@@ -187,6 +187,27 @@ also
 return NULL if
 .IR rootp
 was NULL on entry.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tsearch (),
+.BR tfind (),
+.br
+.BR tdelete ()
+T}	Thread safety	MT-Safe race:rootp
+T{
+.BR twalk ()
+T}	Thread safety	MT-Safe race:root
+T{
+.BR tdestroy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001.
 The function
diff --git a/man-pages/man3/ttyname.3 b/man-pages/man3/ttyname.3
index bf909c3..9547440 100644
--- a/man-pages/man3/ttyname.3
+++ b/man-pages/man3/ttyname.3
@@ -72,14 +72,20 @@ File descriptor does not refer to a terminal device.
 .I buflen
 was too small to allow storing the pathname.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ttyname ()
-function is not thread-safe.
-.LP
-The
+T}	Thread safety	MT-Unsafe race:ttyname
+T{
 .BR ttyname_r ()
-function is thread-safe.
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.2BSD, POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/ttyslot.3 b/man-pages/man3/ttyslot.3
index efd6dfb..880eaa5 100644
--- a/man-pages/man3/ttyslot.3
+++ b/man-pages/man3/ttyslot.3
@@ -121,12 +121,17 @@ associated with a terminal that occurs in this data base)
 it returns 0 on UNIX V6 and V7 and BSD-like systems,
 but \-1 on System V-like systems.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
 .BR ttyslot ()
-function calls thread-unsafe function
-.BR getttyent (),
-so it is not thread-safe.
+T}	Thread safety	MT-Unsafe
+.TE
 .SH CONFORMING TO
 SUSv1; marked as LEGACY in SUSv2; removed in POSIX.1-2001.
 SUSv2 requires \-1 on error.
diff --git a/man-pages/man3/tzset.3 b/man-pages/man3/tzset.3
index 70a9bc5..175b571 100644
--- a/man-pages/man3/tzset.3
+++ b/man-pages/man3/tzset.3
@@ -213,6 +213,18 @@ Often
 is a symlink to the file
 .I localtime
 or to the correct timezone file in the system timezone directory.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR tzset ()
+T}	Thread safety	MT-Safe env locale
+.TE
 .SH CONFORMING TO
 SVr4, POSIX.1-2001, 4.3BSD.
 .SH NOTES
diff --git a/man-pages/man3/ualarm.3 b/man-pages/man3/ualarm.3
index 094506d..8c33d07 100644
--- a/man-pages/man3/ualarm.3
+++ b/man-pages/man3/ualarm.3
@@ -89,6 +89,18 @@ Interrupted by a signal.
 .B EINVAL
 \fIusecs\fP or \fIinterval\fP is not smaller than 1000000.
 (On systems where that is considered an error.)
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ualarm ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 POSIX.1-2001 marks
diff --git a/man-pages/man3/ungetwc.3 b/man-pages/man3/ungetwc.3
index 5e15976..daaa669 100644
--- a/man-pages/man3/ungetwc.3
+++ b/man-pages/man3/ungetwc.3
@@ -74,6 +74,18 @@ when successful, or
 .B WEOF
 upon
 failure.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR ungetwc ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/unlockpt.3 b/man-pages/man3/unlockpt.3
index e7067c8..3152244 100644
--- a/man-pages/man3/unlockpt.3
+++ b/man-pages/man3/unlockpt.3
@@ -43,6 +43,18 @@ argument is not associated with a master pseudoterminal.
 .SH VERSIONS
 .BR unlockpt ()
 is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR unlockpt ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH SEE ALSO
diff --git a/man-pages/man3/usleep.3 b/man-pages/man3/usleep.3
index 933a43b..f7dfa10 100644
--- a/man-pages/man3/usleep.3
+++ b/man-pages/man3/usleep.3
@@ -88,6 +88,18 @@ Interrupted by a signal; see
 .B EINVAL
 \fIusec\fP is not smaller than 1000000.
 (On systems where that is considered an error.)
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR usleep ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 POSIX.1-2001 declares this function obsolete; use
diff --git a/man-pages/man3/wcpcpy.3 b/man-pages/man3/wcpcpy.3
index 10874ef..cc6aa63 100644
--- a/man-pages/man3/wcpcpy.3
+++ b/man-pages/man3/wcpcpy.3
@@ -64,6 +64,18 @@ wide characters at
 returns a pointer to the end of the wide-character string
 .IR dest ,
 that is, a pointer to the terminating null wide character.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcpcpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcpncpy.3 b/man-pages/man3/wcpncpy.3
index 9c9eda1..a4a09e2 100644
--- a/man-pages/man3/wcpncpy.3
+++ b/man-pages/man3/wcpncpy.3
@@ -90,6 +90,18 @@ characters at
 .BR wcpncpy ()
 returns a pointer to the last wide character written, that is,
 .IR dest + n \- 1" .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcpncpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcscasecmp.3 b/man-pages/man3/wcscasecmp.3
index cc95824..2d86e75 100644
--- a/man-pages/man3/wcscasecmp.3
+++ b/man-pages/man3/wcscasecmp.3
@@ -80,6 +80,18 @@ ignoring case.
 The
 .BR wcscasecmp ()
 function is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcscasecmp ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 This function is not specified in POSIX.1-2001,
diff --git a/man-pages/man3/wcscat.3 b/man-pages/man3/wcscat.3
index 2e40bb8..0055220 100644
--- a/man-pages/man3/wcscat.3
+++ b/man-pages/man3/wcscat.3
@@ -45,6 +45,18 @@ wide characters at
 .BR wcscat ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcscat ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcschr.3 b/man-pages/man3/wcschr.3
index 93711c4..1c5af8c 100644
--- a/man-pages/man3/wcschr.3
+++ b/man-pages/man3/wcschr.3
@@ -44,6 +44,18 @@ in the wide-character string pointed to by
 or NULL if
 .I wc
 does not occur in the string.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcschr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcscmp.3 b/man-pages/man3/wcscmp.3
index 5ba42f4..ec7fc51 100644
--- a/man-pages/man3/wcscmp.3
+++ b/man-pages/man3/wcscmp.3
@@ -56,6 +56,18 @@ the corresponding wide-character
 .I s1[i]
 is less than
 .IR s2[i] .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcscmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcscpy.3 b/man-pages/man3/wcscpy.3
index 0b33a32..d4705b8 100644
--- a/man-pages/man3/wcscpy.3
+++ b/man-pages/man3/wcscpy.3
@@ -46,6 +46,18 @@ wide characters at
 .BR wcscpy ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcscpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcscspn.3 b/man-pages/man3/wcscspn.3
index 598e400..fbd1122 100644
--- a/man-pages/man3/wcscspn.3
+++ b/man-pages/man3/wcscspn.3
@@ -58,6 +58,18 @@ the wide-character string
 or
 .IR wcslen(wcs)
 if there is none.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcscspn ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsdup.3 b/man-pages/man3/wcsdup.3
index f522174..80ab229 100644
--- a/man-pages/man3/wcsdup.3
+++ b/man-pages/man3/wcsdup.3
@@ -67,6 +67,19 @@ set to indicate the cause of the error.
 .TP
 .B ENOMEM
 Insufficient memory available to allocate duplicate string.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsdup ()
+T}	Thread safety	MT-Safe
+.TE
+
 .SH CONFORMING TO
 POSIX.1-2008.
 This function is not specified in POSIX.1-2001,
diff --git a/man-pages/man3/wcslen.3 b/man-pages/man3/wcslen.3
index f58a4d5..e20788e 100644
--- a/man-pages/man3/wcslen.3
+++ b/man-pages/man3/wcslen.3
@@ -39,6 +39,18 @@ The
 function returns the
 number of wide characters in
 .IR s .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcslen ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsncasecmp.3 b/man-pages/man3/wcsncasecmp.3
index b816527..c1800bb 100644
--- a/man-pages/man3/wcsncasecmp.3
+++ b/man-pages/man3/wcsncasecmp.3
@@ -85,6 +85,18 @@ ignoring case.
 The
 .BR wcsncasecmp ()
 function is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsncasecmp ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 This function is not specified in POSIX.1-2001,
diff --git a/man-pages/man3/wcsncat.3 b/man-pages/man3/wcsncat.3
index 395b4d7..5482fb3 100644
--- a/man-pages/man3/wcsncat.3
+++ b/man-pages/man3/wcsncat.3
@@ -48,6 +48,18 @@ wide characters at
 .BR wcsncat ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsncat ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsncmp.3 b/man-pages/man3/wcsncmp.3
index e89bbd5..8ce31e9 100644
--- a/man-pages/man3/wcsncmp.3
+++ b/man-pages/man3/wcsncmp.3
@@ -70,6 +70,18 @@ wide-character
 .I s1[i]
 is less than
 .IR s2[i] .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsncmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsncpy.3 b/man-pages/man3/wcsncpy.3
index ac35b5d..f3f2482 100644
--- a/man-pages/man3/wcsncpy.3
+++ b/man-pages/man3/wcsncpy.3
@@ -66,6 +66,18 @@ characters at
 .BR wcsncpy ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsncpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsnlen.3 b/man-pages/man3/wcsnlen.3
index 5957dfa..f64b906 100644
--- a/man-pages/man3/wcsnlen.3
+++ b/man-pages/man3/wcsnlen.3
@@ -79,6 +79,18 @@ wide characters pointed to by
 The
 .BR wcsnlen ()
 function is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsnlen ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 POSIX.1-2008.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcspbrk.3 b/man-pages/man3/wcspbrk.3
index 87a1e86..6c66d69 100644
--- a/man-pages/man3/wcspbrk.3
+++ b/man-pages/man3/wcspbrk.3
@@ -46,6 +46,18 @@ of any of the characters listed in
 If
 .I wcs
 contains none of these characters, NULL is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcspbrk ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsrchr.3 b/man-pages/man3/wcsrchr.3
index 96e51c1..1d4d752 100644
--- a/man-pages/man3/wcsrchr.3
+++ b/man-pages/man3/wcsrchr.3
@@ -44,6 +44,18 @@ in the wide-character string pointed to by
 or NULL if
 .I wc
 does not occur in the string.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsrchr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsspn.3 b/man-pages/man3/wcsspn.3
index d410b0f..5540d45 100644
--- a/man-pages/man3/wcsspn.3
+++ b/man-pages/man3/wcsspn.3
@@ -57,6 +57,18 @@ contained in the wide-character string
 or
 .I wcslen(wcs)
 if there is none.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsspn ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcsstr.3 b/man-pages/man3/wcsstr.3
index 1e81324..ecd42ac 100644
--- a/man-pages/man3/wcsstr.3
+++ b/man-pages/man3/wcsstr.3
@@ -53,6 +53,18 @@ is the empty wide-character string,
 the return value is always
 .I haystack
 itself.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcsstr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcstoimax.3 b/man-pages/man3/wcstoimax.3
index c72ca1a..da4e45c 100644
--- a/man-pages/man3/wcstoimax.3
+++ b/man-pages/man3/wcstoimax.3
@@ -46,6 +46,19 @@ except that they return a value of type
 and
 .IR uintmax_t ,
 respectively.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw24 lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcstoimax (),
+.BR wcstoumax ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wcstok.3 b/man-pages/man3/wcstok.3
index 649b95b..1cde35a 100644
--- a/man-pages/man3/wcstok.3
+++ b/man-pages/man3/wcstok.3
@@ -76,6 +76,18 @@ The
 .BR wcstok ()
 function returns a pointer to the next token,
 or NULL if no further token was found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcstok ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/wcswidth.3 b/man-pages/man3/wcswidth.3
index c997ab8..fc56adb 100644
--- a/man-pages/man3/wcswidth.3
+++ b/man-pages/man3/wcswidth.3
@@ -44,6 +44,18 @@ wide-character string
 .IR s ,
 truncated to at most length
 .IR n .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcswidth ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 .SH NOTES
diff --git a/man-pages/man3/wctomb.3 b/man-pages/man3/wctomb.3
index 69fd5a5..ebd126f 100644
--- a/man-pages/man3/wctomb.3
+++ b/man-pages/man3/wctomb.3
@@ -81,6 +81,18 @@ is NULL, the
 .BR wctomb ()
 function returns nonzero if the
 encoding has nontrivial shift state, or zero if the encoding is stateless.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wctomb ()
+T}	Thread safety	MT-Unsafe race
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/wctrans.3 b/man-pages/man3/wctrans.3
index a335532..4637565 100644
--- a/man-pages/man3/wctrans.3
+++ b/man-pages/man3/wctrans.3
@@ -59,6 +59,18 @@ function returns a mapping descriptor if the
 is valid.
 Otherwise it returns
 .IR "(wctrans_t)\ 0" .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wctrans ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/wctype.3 b/man-pages/man3/wctype.3
index 220c452..f5fc559 100644
--- a/man-pages/man3/wctype.3
+++ b/man-pages/man3/wctype.3
@@ -71,6 +71,18 @@ if the
 is valid.
 Otherwise it returns
 .IR "(wctype_t) 0" .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wctype ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 C99.
 .SH NOTES
diff --git a/man-pages/man3/wcwidth.3 b/man-pages/man3/wcwidth.3
index 70999b5..acad502 100644
--- a/man-pages/man3/wcwidth.3
+++ b/man-pages/man3/wcwidth.3
@@ -42,6 +42,18 @@ The
 function returns the number of
 column positions for
 .IR c .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wcwidth ()
+T}	Thread safety	MT-Safe locale
+.TE
 .SH CONFORMING TO
 POSIX.1-2001.
 
diff --git a/man-pages/man3/wmemchr.3 b/man-pages/man3/wmemchr.3
index b594a8d..93e777e 100644
--- a/man-pages/man3/wmemchr.3
+++ b/man-pages/man3/wmemchr.3
@@ -48,6 +48,18 @@ or NULL if
 .I c
 does
 not occur among these.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wmemchr ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wmemcmp.3 b/man-pages/man3/wmemcmp.3
index 7f6bd36..04bc807 100644
--- a/man-pages/man3/wmemcmp.3
+++ b/man-pages/man3/wmemcmp.3
@@ -67,6 +67,18 @@ wide-character
 .I s1[i]
 is less than
 .IR s2[i] .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wmemcmp ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wmemcpy.3 b/man-pages/man3/wmemcpy.3
index 1ba9c49..2720d44 100644
--- a/man-pages/man3/wmemcpy.3
+++ b/man-pages/man3/wmemcpy.3
@@ -49,6 +49,18 @@ characters at
 .BR wmemcpy ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wmemcpy ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wmemmove.3 b/man-pages/man3/wmemmove.3
index 9acb453..0331a02 100644
--- a/man-pages/man3/wmemmove.3
+++ b/man-pages/man3/wmemmove.3
@@ -47,6 +47,18 @@ characters at
 .BR wmemmove ()
 returns
 .IR dest .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wmemmove ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/wmemset.3 b/man-pages/man3/wmemset.3
index c19dd0e..eef455e 100644
--- a/man-pages/man3/wmemset.3
+++ b/man-pages/man3/wmemset.3
@@ -40,6 +40,18 @@ copies of the wide character
 .BR wmemset ()
 returns
 .IR wcs .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR wmemset ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 C99.
 .SH SEE ALSO
diff --git a/man-pages/man3/y0.3 b/man-pages/man3/y0.3
index 2afebef..4a67581 100644
--- a/man-pages/man3/y0.3
+++ b/man-pages/man3/y0.3
@@ -220,6 +220,30 @@ is not set for this case.
 An overflow floating-point exception
 .RB ( FE_OVERFLOW )
 is raised.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface	Attribute	Value
+T{
+.BR y0 (),
+.BR y0f (),
+.BR y0l ()
+T}	Thread safety	MT-Safe
+T{
+.BR y1 (),
+.BR y1f (),
+.BR y1l ()
+T}	Thread safety	MT-Safe
+T{
+.BR yn (),
+.BR ynf (),
+.BR ynl ()
+T}	Thread safety	MT-Safe
+.TE
 .SH CONFORMING TO
 The functions returning
 .I double
diff --git a/man-pages/man7/man-pages.7 b/man-pages/man7/man-pages.7
index a74466d..012fe4a 100644
--- a/man-pages/man7/man-pages.7
+++ b/man-pages/man7/man-pages.7
@@ -614,6 +614,7 @@ and
 .SH SEE ALSO
 .BR man (1),
 .BR man2html (1),
+.BR attributes (7),
 .BR groff (7),
 .BR groff_man (7),
 .BR man (7),
diff --git a/man-pages/man7/pthreads.7 b/man-pages/man7/pthreads.7
index 71b04e0..a993c0e 100644
--- a/man-pages/man7/pthreads.7
+++ b/man-pages/man7/pthreads.7
@@ -899,6 +899,7 @@ bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \\
 .BR futex (2),
 .BR gettid (2),
 .BR proc (5),
+.BR attributes (7),
 .BR futex (7),
 .BR sigevent (7),
 .BR signal (7),
diff --git a/man-pages/man7/standards.7 b/man-pages/man7/standards.7
index af62d66..48f5b38 100644
--- a/man-pages/man7/standards.7
+++ b/man-pages/man7/standards.7
@@ -265,6 +265,7 @@ Further information can be found on the Austin group web site,
 .UR http://www.opengroup.org\:/austin/
 .UE .
 .SH SEE ALSO
+.BR attributes (7)
 .BR feature_test_macros (7),
 .BR libc (7),
 .BR posixoptions (7)
-- 
1.9.3