strtod: Add safety check.
[gnulib.git] / MODULES.html.sh
index 8000e77..b0fbe39 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (C) 2002-2008 Free Software Foundation, Inc.
+# Copyright (C) 2002-2010 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-# Usage: MODULES.html.sh [--cvs-urls|--git-urls] > MODULES.html
+# Usage: MODULES.html.sh [--git-urls] > MODULES.html
 
 # Extend the PATH so that gnulib-tool is found.
 PATH=`dirname "$0"`:$PATH; export PATH
 
 POSIX2001_URL='http://www.opengroup.org/susv3'
-case $USER in
-  bruno )
-    POSIX2001_URL='file:/packages/www/www.opengroup.org/susv3' ;;
-esac
+POSIX2008_URL='http://www.opengroup.org/onlinepubs/9699919799'
 
 repo_url_prefix=
 repo_url_suffix=
 if test $# != 0; then
   case "$1" in
-    --cvs-urls)
-      # Generate URLs to the official gnulib CVS repository.
-      repo_url_prefix='http://cvs.sv.gnu.org/viewcvs/*checkout*/gnulib/'
-      repo_url_suffix='?root=gnulib&content-type=text/plain'
-      ;;
     --git-urls)
       # Generate URLs to the official gnulib git repository.
       repo_url_prefix='http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f='
@@ -118,7 +110,6 @@ sys/socket
 sys/stat
 sys/statvfs
 sys/time
-sys/timeb
 sys/times
 sys/types
 sys/uio
@@ -131,7 +122,6 @@ termios
 tgmath
 time
 trace
-ucontext
 ulimit
 unistd
 utime
@@ -140,6 +130,10 @@ wchar
 wctype
 wordexp
 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
+posix2001_headers=`echo '
+sys/timeb
+ucontext
+' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
 posix_functions=`echo '
 FD_CLR
 FD_ISSET
@@ -170,6 +164,7 @@ aio_return
 aio_suspend
 aio_write
 alarm
+alphasort
 asctime
 asctime_r
 asin
@@ -194,13 +189,9 @@ atoi
 atol
 atoll
 basename
-bcmp
-bcopy
 bind
-bsd_signal
 bsearch
 btowc
-bzero
 cabs
 cabsf
 cabsl
@@ -321,16 +312,18 @@ dbm_nextkey
 dbm_open
 dbm_store
 difftime
+dirfd
 dirname
 div
 dlclose
 dlerror
 dlopen
 dlsym
+dprintf
 drand48
 dup
 dup2
-ecvt
+duplocale
 encrypt
 endgrent
 endhostent
@@ -367,19 +360,22 @@ expm1l
 fabs
 fabsf
 fabsl
+faccessat
 fattach
 fchdir
 fchmod
+fchmodat
 fchown
+fchownat
 fclose
 fcntl
-fcvt
 fdatasync
 fdetach
 fdim
 fdimf
 fdiml
 fdopen
+fdopendir
 feclearexcept
 fegetenv
 fegetexceptflag
@@ -393,6 +389,7 @@ fesetexceptflag
 fesetround
 fetestexcept
 feupdateenv
+fexecve
 fflush
 ffs
 fgetc
@@ -401,6 +398,7 @@ fgets
 fgetwc
 fgetws
 fileno
+flock
 flockfile
 floor
 floorf
@@ -411,6 +409,7 @@ fmal
 fmax
 fmaxf
 fmaxl
+fmemopen
 fmin
 fminf
 fminl
@@ -431,6 +430,7 @@ fputws
 fread
 free
 freeaddrinfo
+freelocale
 freopen
 frexp
 frexpf
@@ -440,30 +440,31 @@ fseek
 fseeko
 fsetpos
 fstat
+fstatat
 fstatvfs
 fsync
 ftell
 ftello
-ftime
 ftok
 ftruncate
 ftrylockfile
 ftw
 funlockfile
+futimens
 fwide
 fwprintf
 fwrite
 fwscanf
 gai_strerror
-gcvt
 getaddrinfo
 getc
 getc_unlocked
 getchar
 getchar_unlocked
-getcontext
 getcwd
 getdate
+getdate_err
+getdelim
 getegid
 getenv
 geteuid
@@ -474,12 +475,11 @@ getgrgid_r
 getgrnam
 getgrnam_r
 getgroups
-gethostbyaddr
-gethostbyname
 gethostent
 gethostid
 gethostname
 getitimer
+getline
 getlogin
 getlogin_r
 getmsg
@@ -520,13 +520,11 @@ getutxid
 getutxline
 getwc
 getwchar
-getwd
 glob
 globfree
 gmtime
 gmtime_r
 grantpt
-h_errno
 hcreate
 hdestroy
 hsearch
@@ -547,7 +545,6 @@ ilogbf
 ilogbl
 imaxabs
 imaxdiv
-index
 inet_addr
 inet_ntoa
 inet_ntop
@@ -556,15 +553,21 @@ initstate
 insque
 ioctl
 isalnum
+isalnum_l
 isalpha
+isalpha_l
 isascii
 isastream
 isatty
 isblank
+isblank_l
 iscntrl
+iscntrl_l
 isdigit
+isdigit_l
 isfinite
 isgraph
+isgraph_l
 isgreater
 isgreaterequal
 isinf
@@ -572,27 +575,46 @@ isless
 islessequal
 islessgreater
 islower
+islower_l
 isnan
 isnormal
 isprint
+isprint_l
 ispunct
+ispunct_l
 isspace
+isspace_l
 isunordered
 isupper
+isupper_l
 iswalnum
+iswalnum_l
 iswalpha
+iswalpha_l
 iswblank
+iswblank_l
 iswcntrl
+iswcntrl_l
 iswctype
+iswctype_l
 iswdigit
+iswdigit_l
 iswgraph
+iswgraph_l
 iswlower
+iswlower_l
 iswprint
+iswprint_l
 iswpunct
+iswpunct_l
 iswspace
+iswspace_l
 iswupper
+iswupper_l
 iswxdigit
+iswxdigit_l
 isxdigit
+isxdigit_l
 j0
 j1
 jn
@@ -612,6 +634,7 @@ lgamma
 lgammaf
 lgammal
 link
+linkat
 lio_listio
 listen
 llabs
@@ -652,12 +675,12 @@ lroundl
 lsearch
 lseek
 lstat
-makecontext
 malloc
 mblen
 mbrlen
 mbrtowc
 mbsinit
+mbsnrtowcs
 mbsrtowcs
 mbstowcs
 mbtowc
@@ -668,10 +691,13 @@ memcpy
 memmove
 memset
 mkdir
+mkdirat
+mkdtemp
 mkfifo
+mkfifoat
 mknod
+mknodat
 mkstemp
-mktemp
 mktime
 mlock
 mlockall
@@ -706,6 +732,7 @@ nanosleep
 nearbyint
 nearbyintf
 nearbyintl
+newlocale
 nextafter
 nextafterf
 nextafterl
@@ -715,13 +742,20 @@ nexttowardl
 nftw
 nice
 nl_langinfo
+nl_langinfo_l
 nrand48
 ntohl
 ntohs
 open
+open_memstream
+open_wmemstream
+openat
 opendir
 openlog
 optarg
+opterr
+optind
+optopt
 pathconf
 pause
 pclose
@@ -814,6 +848,8 @@ powl
 pread
 printf
 pselect
+psiginfo
+psignal
 pthread_atfork
 pthread_attr_destroy
 pthread_attr_getdetachstate
@@ -823,7 +859,6 @@ pthread_attr_getschedparam
 pthread_attr_getschedpolicy
 pthread_attr_getscope
 pthread_attr_getstack
-pthread_attr_getstackaddr
 pthread_attr_getstacksize
 pthread_attr_init
 pthread_attr_setdetachstate
@@ -833,7 +868,6 @@ pthread_attr_setschedparam
 pthread_attr_setschedpolicy
 pthread_attr_setscope
 pthread_attr_setstack
-pthread_attr_setstackaddr
 pthread_attr_setstacksize
 pthread_barrier_destroy
 pthread_barrier_init
@@ -869,6 +903,7 @@ pthread_join
 pthread_key_create
 pthread_key_delete
 pthread_kill
+pthread_mutex_consistent
 pthread_mutex_destroy
 pthread_mutex_getprioceiling
 pthread_mutex_init
@@ -881,11 +916,13 @@ pthread_mutexattr_destroy
 pthread_mutexattr_getprioceiling
 pthread_mutexattr_getprotocol
 pthread_mutexattr_getpshared
+pthread_mutexattr_getrobust
 pthread_mutexattr_gettype
 pthread_mutexattr_init
 pthread_mutexattr_setprioceiling
 pthread_mutexattr_setprotocol
 pthread_mutexattr_setpshared
+pthread_mutexattr_setrobust
 pthread_mutexattr_settype
 pthread_once
 pthread_rwlock_destroy
@@ -937,6 +974,7 @@ read
 readdir
 readdir_r
 readlink
+readlinkat
 readv
 realloc
 realpath
@@ -956,9 +994,9 @@ remquo
 remquof
 remquol
 rename
+renameat
 rewind
 rewinddir
-rindex
 rint
 rintf
 rintl
@@ -966,15 +1004,16 @@ rmdir
 round
 roundf
 roundl
-scalb
 scalbln
 scalblnf
 scalblnl
 scalbn
 scalbnf
 scalbnl
+scandir
 scanf
 sched_get_priority_max
+sched_get_priority_min
 sched_getparam
 sched_getscheduler
 sched_rr_get_interval
@@ -1001,7 +1040,6 @@ send
 sendmsg
 sendto
 setbuf
-setcontext
 setegid
 setenv
 seteuid
@@ -1049,6 +1087,7 @@ sigismember
 siglongjmp
 signal
 signbit
+signgam
 sigpause
 sigpending
 sigprocmask
@@ -1081,27 +1120,40 @@ srandom
 sscanf
 stat
 statvfs
+stderr
 stdin
+stdout
+stpcpy
+stpncpy
 strcasecmp
+strcasecmp_l
 strcat
 strchr
 strcmp
 strcoll
+strcoll_l
 strcpy
 strcspn
 strdup
 strerror
+strerror_l
 strerror_r
 strfmon
+strfmon_l
 strftime
+strftime_l
 strlen
 strncasecmp
+strncasecmp_l
 strncat
 strncmp
 strncpy
+strndup
+strnlen
 strpbrk
 strptime
 strrchr
+strsignal
 strspn
 strstr
 strtod
@@ -1116,11 +1168,12 @@ strtoul
 strtoull
 strtoumax
 strxfrm
+strxfrm_l
 swab
-swapcontext
 swprintf
 swscanf
 symlink
+symlinkat
 sync
 sysconf
 syslog
@@ -1151,6 +1204,7 @@ time
 timer_create
 timer_delete
 timer_getoverrun
+timer_gettime
 timer_settime
 times
 timezone
@@ -1158,10 +1212,15 @@ tmpfile
 tmpnam
 toascii
 tolower
+tolower_l
 toupper
+toupper_l
 towctrans
+towctrans_l
 towlower
+towlower_l
 towupper
+towupper_l
 trunc
 truncate
 truncf
@@ -1172,23 +1231,24 @@ ttyname_r
 twalk
 tzname
 tzset
-ualarm
 ulimit
 umask
 uname
 ungetc
 ungetwc
 unlink
+unlinkat
 unlockpt
 unsetenv
-usleep
+uselocale
 utime
+utimensat
 utimes
 va_arg
 va_copy
 va_end
 va_start
-vfork
+vdprintf
 vfprintf
 vfscanf
 vfwprintf
@@ -1205,18 +1265,28 @@ vwscanf
 wait
 waitid
 waitpid
+wcpcpy
+wcpncpy
 wcrtomb
+wcscasecmp
+wcscasecmp_l
 wcscat
 wcschr
 wcscmp
 wcscoll
+wcscoll_l
 wcscpy
 wcscspn
+wcsdup
 wcsftime
 wcslen
+wcsncasecmp
+wcsncasecmp_l
 wcsncat
 wcsncmp
 wcsncpy
+wcsnlen
+wcsnrtombs
 wcspbrk
 wcsrchr
 wcsrtombs
@@ -1233,13 +1303,15 @@ wcstombs
 wcstoul
 wcstoull
 wcstoumax
-wcswcs
 wcswidth
 wcsxfrm
+wcsxfrm_l
 wctob
 wctomb
 wctrans
+wctrans_l
 wctype
+wctype_l
 wcwidth
 wmemchr
 wmemcmp
@@ -1256,6 +1328,35 @@ y0
 y1
 yn
 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
+posix2001_functions=`echo '
+bcmp
+bcopy
+bsd_signal
+bzero
+ecvt
+fcvt
+ftime
+gcvt
+getcontext
+gethostbyaddr
+gethostbyname
+getwd
+h_errno
+index
+makecontext
+mktemp
+pread
+pthread_attr_getstackaddr
+pthread_attr_setstackaddr
+rindex
+scalb
+setcontext
+swapcontext
+ualarm
+usleep
+vfork
+wcswcs
+' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
 
 indent=""
 seen_modules=
@@ -1414,9 +1515,12 @@ func_module ()
     element=`gnulib-tool --extract-description $1 \
              | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
                    -e 's,^, ,' -e 's,$, ,' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
-                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
+                   -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
                    -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)() \(function\|macro\),\1\2 \3,g' \
                    -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)(),\1\2 <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
                    -e 's, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), <CODE>\1</CODE>\2,g' \
@@ -1438,7 +1542,9 @@ func_module ()
     element=`echo "$includes" \
              | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
                    -e 's,^#include "\(.*\)"$,#include "<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>",' \
-                   -e 's,^#include &lt;'"${posix_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\&gt;,' \
+                   -e 's,^#include &lt;'"${posix_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2008_URL"'/basedefs/\1.h.html">\1.h</A>\&gt;,' \
+                   -e 's,<A HREF="'"$POSIX2008_URL"'/basedefs/\([a-zA-Z0-9_]*\)/\([a-zA-Z0-9_]*\)\.h\.html">,<A HREF="'"$POSIX2008_URL"'/basedefs/\1_\2.h.html">,' \
+                   -e 's,^#include &lt;'"${posix2001_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\&gt;,' \
                    -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
     test -n "$element" || element='---'
     func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
@@ -1491,31 +1597,39 @@ func_end_table ()
 # func_all_modules
 func_all_modules ()
 {
-  element="Support for systems lacking ANSI C 89"
-  func_section_wrap ansic_sup
+  element="Support for obsolete systems lacking ANSI C 89"
+  func_section_wrap ansic_sup_obsolete
   func_wrap H2
   func_echo "$element"
 
   func_begin_table
   func_module stdlib
   func_module exit
-  func_module atexit
-  func_module strtod
   func_module strtol
   func_module strtoul
-  func_module memchr
   func_module memcmp
   func_module memcpy
   func_module memmove
   func_module memset
   func_module strcspn
   func_module strpbrk
+  func_end_table
+
+  func_echo 'These modules are not listed among dependencies below, for simplicity.'
+  func_echo 'If your package requires portability to old, obsolete systems, you need to list these modules explicitly among the modules to import through gnulib-tool.'
+
+  element="Support for systems lacking ANSI C 89"
+  func_section_wrap ansic_sup
+  func_wrap H2
+  func_echo "$element"
+
+  func_begin_table
+  func_module atexit
+  func_module strtod
   func_module strerror
   func_module mktime
   func_end_table
 
-  func_echo 'Most of these modules are not listed among dependencies below, for simplicity.'
-
   element="Enhancements for ANSI C 89 functions"
   func_section_wrap ansic_enh
   func_wrap H2
@@ -1609,6 +1723,8 @@ func_all_modules ()
   func_module alloca-opt
   func_module malloca
   func_module xmalloca
+  func_module xmemdup0
+  func_module safe-alloc
   func_end_table
 
   element="Integer arithmetic functions <stdlib.h>"
@@ -1632,6 +1748,7 @@ func_all_modules ()
   func_begin_table
   func_module putenv
   func_module setenv
+  func_module unsetenv
   func_module xsetenv
   func_end_table
 
@@ -1653,6 +1770,7 @@ func_all_modules ()
 
   func_begin_table
   func_module bcopy
+  func_module memchr
   func_module memchr2
   func_module memmem
   func_module memmem-simple
@@ -1668,13 +1786,13 @@ func_all_modules ()
   func_module strcasestr
   func_module strcasestr-simple
   func_module strchrnul
-  func_module strdup
   func_module streq
   func_module strnlen
   func_module strnlen1
   func_module strndup
   func_module strsep
   func_module strstr
+  func_module strstr-simple
   func_module c-strstr
   func_module trim
   func_module fstrcmp
@@ -1702,6 +1820,7 @@ func_all_modules ()
   func_module c-strtold
   func_module xstrtod
   func_module xstrtol
+  func_module xstrtoll
   func_module xstrtold
   func_end_table
 
@@ -1728,6 +1847,7 @@ func_all_modules ()
   func_module fwriteerror
   func_module vasnprintf
   func_module vasprintf
+  func_module xprintf
   func_module xvasprintf
   func_end_table
 
@@ -1740,6 +1860,7 @@ func_all_modules ()
   func_begin_table
   func_module fatal-signal
   func_module raise
+  func_module strsignal
   func_end_table
 
   element="Command-line arguments"
@@ -1750,6 +1871,7 @@ func_all_modules ()
 
   func_begin_table
   func_module argmatch
+  func_module argv-iter
   func_module version-etc
   func_module version-etc-fsf
   func_module long-options
@@ -1795,6 +1917,8 @@ func_all_modules ()
   func_module crypto/md5
   func_module crypto/rijndael
   func_module crypto/sha1
+  func_module crypto/sha256
+  func_module crypto/sha512
   func_end_table
 
   element="Cryptographic computations (high-level)"
@@ -1807,6 +1931,7 @@ func_all_modules ()
   func_module crypto/gc
   func_module crypto/gc-arcfour
   func_module crypto/gc-arctwo
+  func_module crypto/gc-camellia
   func_module crypto/gc-des
   func_module crypto/gc-hmac-md5
   func_module crypto/gc-hmac-sha1
@@ -1819,6 +1944,16 @@ func_all_modules ()
   func_module crypto/gc-sha1
   func_end_table
 
+  element="Compiler warning management"
+  element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+  func_section_wrap ansic_ext_misc
+  func_wrap H3
+  func_echo "$element"
+
+  func_begin_table
+  func_module ignore-value
+  func_end_table
+
   element="Misc"
   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
   func_section_wrap ansic_ext_misc
@@ -1838,12 +1973,15 @@ func_all_modules ()
   func_module linebuffer
   func_module memxor
   func_module obstack
+  func_module obstack-printf
+  func_module obstack-printf-posix
   func_module hash-pjw
   func_module hash
   func_module readline
   func_module readtokens
   func_module readtokens0
   func_module strverscmp
+  func_module filevercmp
   func_end_table
 
   element="Support for systems lacking ISO C 99"
@@ -1860,7 +1998,10 @@ func_all_modules ()
   func_begin_table
   func_module flexmember
   func_module fpucw
+  func_module func
   func_module inline
+  func_module longlong
+  func_module va-args
   func_module vararrays
   func_end_table
 
@@ -1894,6 +2035,16 @@ func_all_modules ()
   func_module stdbool
   func_end_table
 
+  element="Basic types <stddef.h>"
+  element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+  func_section_wrap isoc_sup_stddef
+  func_wrap H3
+  func_echo "$element"
+
+  func_begin_table
+  func_module stddef
+  func_end_table
+
   element="Integer types and values <stdint.h>"
   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
   func_section_wrap isoc_sup_stdint
@@ -1949,6 +2100,14 @@ func_all_modules ()
 
   func_begin_table
   func_module wchar
+  func_module btowc
+  func_module wctob
+  func_module mbsinit
+  func_module mbrlen
+  func_module mbrtowc
+  func_module mbsrtowcs
+  func_module wcrtomb
+  func_module wcsrtombs
   func_end_table
 
   element="Wide character classification and mapping utilities <wctype.h>"
@@ -1978,15 +2137,22 @@ func_all_modules ()
   func_echo "$element"
 
   func_begin_table
+  func_module ceil
   func_module ceilf
   func_module ceill
+  func_module floor
   func_module floorf
   func_module floorl
   func_module frexp
+  func_module frexp-nolibm
   func_module frexpl
   func_module frexpl-nolibm
   func_module isfinite
+  func_module isinf
+  func_module isnan
+  func_module isnanf
   func_module isnanf-nolibm
+  func_module isnand
   func_module isnand-nolibm
   func_module isnanl
   func_module isnanl-nolibm
@@ -2058,63 +2224,138 @@ func_all_modules ()
   func_module mbfile
   func_end_table
 
-  element="Support for systems lacking POSIX:2001"
+  element="Support for obsolete systems lacking POSIX:2008"
+  func_section_wrap posix_sup_obsolete
+  func_wrap H2
+  func_echo "$element"
+
+  func_begin_table
+  func_module strdup
+  func_end_table
+
+  func_echo 'These modules are not listed among dependencies below, for simplicity.'
+  func_echo 'If your package requires portability to old, obsolete systems, you need to list these modules explicitly among the modules to import through gnulib-tool.'
+
+  element="Support for systems lacking POSIX:2008"
   func_section_wrap posix_sup
   func_wrap H2
   func_echo "$element"
 
   func_begin_table
+  func_module accept
   func_module arpa_inet
+  func_module bind
   func_module calloc-posix
   func_module chown
+  func_module close
+  func_module connect
   func_module dup2
+  func_module environ
+  func_module errno
   func_module fchdir
-  func_module fcntl
+  func_module fclose
+  func_module fcntl-h
+  func_module flock
   func_module fopen
   func_module fprintf-posix
   func_module freopen
   func_module fseek
   func_module fseeko
+  func_module fsync
   func_module ftell
   func_module ftello
   func_module ftruncate
+  func_module futimens
   func_module getaddrinfo
   func_module getcwd
   func_module getgroups
   func_module gethostname
   func_module getlogin_r
+  func_module getpeername
+  func_module getsockname
+  func_module getsockopt
   func_module getsubopt
   func_module gettimeofday
+  func_module hostent
   func_module iconv_open
   func_module inet_ntop
   func_module inet_pton
+  func_module link
+  func_module linkat
+  func_module listen
   func_module locale
   func_module lseek
   func_module lstat
   func_module malloc-posix
+  func_module mbsnrtowcs
   func_module mkdir
   func_module mkdtemp
+  func_module mkfifo
+  func_module mknod
   func_module mkstemp
+  func_module netdb
   func_module netinet_in
   func_module open
+  func_module perror
   func_module poll
+  func_module popen
+  func_module posix_spawn
+  func_module posix_spawnattr_destroy
+  func_module posix_spawnattr_getflags
+  func_module posix_spawnattr_getpgroup
+  func_module posix_spawnattr_getschedparam
+  func_module posix_spawnattr_getschedpolicy
+  func_module posix_spawnattr_getsigdefault
+  func_module posix_spawnattr_getsigmask
+  func_module posix_spawnattr_init
+  func_module posix_spawnattr_setflags
+  func_module posix_spawnattr_setpgroup
+  func_module posix_spawnattr_setschedparam
+  func_module posix_spawnattr_setschedpolicy
+  func_module posix_spawnattr_setsigdefault
+  func_module posix_spawnattr_setsigmask
+  func_module posix_spawn_file_actions_addclose
+  func_module posix_spawn_file_actions_adddup2
+  func_module posix_spawn_file_actions_addopen
+  func_module posix_spawn_file_actions_destroy
+  func_module posix_spawn_file_actions_init
+  func_module posix_spawn-internal
+  func_module posix_spawnp
   func_module printf-posix
+  func_module pthread
   func_module readlink
   func_module realloc-posix
+  func_module recv
+  func_module recvfrom
+  func_module remove
+  func_module sched
+  func_module select
+  func_module send
+  func_module sendto
+  func_module setsockopt
+  func_module shutdown
   func_module signal
   func_module sleep
   func_module snprintf-posix
+  func_module socket
+  func_module spawn
   func_module sprintf-posix
+  func_module stat
+  func_module strdup-posix
   func_module string
+  func_module strings
   func_module tempname
   func_module time
   func_module time_r
+  func_module times
   func_module timespec
   func_module nanosleep
   func_module regex
   func_module rename
+  func_module renameat
   func_module rmdir
   func_module search
+  func_module sigaction
   func_module sigprocmask
   func_module socklen
   func_module ssize_t
@@ -2124,19 +2365,24 @@ func_all_modules ()
   func_module sys_socket
   func_module sys_stat
   func_module sys_time
+  func_module sys_times
+  func_module sys_wait
   func_module tsearch
   func_module unistd
-  func_module utime
+  func_module unlink
+  func_module utimensat
   func_module vasnprintf-posix
   func_module vasprintf-posix
   func_module vfprintf-posix
   func_module vprintf-posix
   func_module vsnprintf-posix
   func_module vsprintf-posix
+  func_module wcsnrtombs
   func_module wcwidth
+  func_module write
   func_end_table
 
-  element="Compatibility checks for POSIX:2001 functions"
+  element="Compatibility checks for POSIX:2008 functions"
   func_section_wrap posix_compat
   func_wrap H2
   func_echo "$element"
@@ -2153,15 +2399,18 @@ func_all_modules ()
   func_module winsz-termios
   func_end_table
 
-  element="Enhancements for POSIX:2001 functions"
+  element="Enhancements for POSIX:2008 functions"
   func_section_wrap posix_enh
   func_wrap H2
   func_echo "$element"
 
   func_begin_table
   func_module chdir-long
+  func_module dirent-safer
   func_module dirname
+  func_module dirname-lgpl
   func_module getopt
+  func_module iconv_open-utf
   func_module unistd-safer
   func_module fnmatch
   func_module fnmatch-posix
@@ -2170,11 +2419,22 @@ func_all_modules ()
   func_module exclude
   func_end_table
 
-  element="Extra functions based on POSIX:2001"
+  element="Extra functions based on POSIX:2008"
   func_section_wrap posix_ext
   func_wrap H2
   func_echo "$element"
 
+  element="Input/output"
+  element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+  func_section_wrap posix_ext_stdio
+  func_wrap H3
+  func_echo "$element"
+
+  func_begin_table
+  func_module xprintf-posix
+  func_module xvasprintf-posix
+  func_end_table
+
   element="Numeric conversion functions"
   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
   func_section_wrap posix_ext_conv
@@ -2195,6 +2455,8 @@ func_all_modules ()
   func_module acl
   func_module areadlink
   func_module areadlink-with-size
+  func_module areadlinkat
+  func_module areadlinkat-with-size
   func_module backupfile
   func_module canonicalize
   func_module canonicalize-lgpl
@@ -2205,28 +2467,39 @@ func_all_modules ()
   func_module dirfd
   func_module double-slash-root
   func_module euidaccess
+  func_module faccessat
+  func_module fdopendir
+  func_module fdutimensat
   func_module file-type
   func_module fileblocks
   func_module filemode
   func_module filename
   func_module filenamecat
+  func_module filenamecat-lgpl
   func_module fts
-  func_module fts-lgpl
   func_module isdir
   func_module lchmod
   func_module lchown
   func_module mkancesdirs
+  func_module mkfifoat
   func_module mkdir-p
+  func_module mkostemp
+  func_module mkostemps
+  func_module mkstemps
   func_module modechange
   func_module mountlist
   func_module openat
+  func_module openat-die
   func_module pathmax
   func_module read-file
   func_module same
   func_module save-cwd
   func_module savedir
   func_module savewd
+  func_module stat-macros
   func_module stat-time
+  func_module symlink
+  func_module symlinkat
   func_module tmpdir
   func_module unlinkdir
   func_module utimecmp
@@ -2234,6 +2507,7 @@ func_all_modules ()
   func_module write-any-file
   func_module xgetcwd
   func_module xreadlink
+  func_module xreadlinkat
   func_end_table
 
   element="File system as inode set"
@@ -2259,6 +2533,7 @@ func_all_modules ()
 
   func_begin_table
   func_module fcntl-safer
+  func_module openat-safer
   func_module safe-read
   func_module safe-write
   func_module full-read
@@ -2286,12 +2561,15 @@ func_all_modules ()
   func_module freading
   func_module freadptr
   func_module freadseek
+  func_module freopen-safer
   func_module fwritable
   func_module fwriting
   func_module getpass
   func_module getpass-gnu
+  func_module popen-safer
   func_module stdlib-safer
   func_module tmpfile-safer
+  func_module xfreopen
   func_end_table
 
   element="Users and groups"
@@ -2304,6 +2582,7 @@ func_all_modules ()
   func_module getugroups
   func_module group-member
   func_module idcache
+  func_module mgetgroups
   func_module userspec
   func_end_table
 
@@ -2316,8 +2595,9 @@ func_all_modules ()
   func_begin_table
   func_module gethrxtime
   func_module gettime
-  func_module settime
   func_module posixtm
+  func_module settime
+  func_module usleep
   func_module xnanosleep
   func_end_table
 
@@ -2330,6 +2610,7 @@ func_all_modules ()
   func_begin_table
   func_module xgethostname
   func_module canon-host
+  func_module sockets
   func_end_table
 
   element="Multithreading"
@@ -2339,11 +2620,28 @@ func_all_modules ()
   func_echo "$element"
 
   func_begin_table
+  func_module threadlib
   func_module lock
   func_module tls
+  func_module thread
+  func_module yield
+  func_module cond
   func_module openmp
   func_end_table
 
+  element="Signal handling"
+  element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+  func_section_wrap posix_ext_signal
+  func_wrap H3
+  func_echo "$element"
+
+  func_begin_table
+  func_module c-stack
+  func_module libsigsegv
+  func_module sig2str
+  func_module sigpipe-die
+  func_end_table
+
   element="Internationalization functions"
   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
   func_section_wrap posix_ext_i18n
@@ -2353,6 +2651,7 @@ func_all_modules ()
   func_begin_table
   func_module gettext
   func_module gettext-h
+  func_module propername
   func_module iconv
   func_module striconv
   func_module xstriconv
@@ -2382,7 +2681,6 @@ func_all_modules ()
   func_module unicodeio
   func_module rpmatch
   func_module yesno
-  func_module linebreak
   func_module bison-i18n
   func_end_table
 
@@ -2393,6 +2691,7 @@ func_all_modules ()
   func_echo "$element"
 
   func_begin_table
+  func_module libunistring
   func_module unitypes
   func_module ucs4-utf8
   func_module ucs4-utf16
@@ -2603,6 +2902,168 @@ func_all_modules ()
   func_module unistdio/u32-u32-vsprintf
   func_module uniname/base
   func_module uniname/uniname
+  func_module unictype/base
+  func_module unictype/bidicategory-byname
+  func_module unictype/bidicategory-name
+  func_module unictype/bidicategory-of
+  func_module unictype/bidicategory-test
+  func_module unictype/bidicategory-all
+  func_module unictype/block-list
+  func_module unictype/block-of
+  func_module unictype/block-test
+  func_module unictype/block-all
+  func_module unictype/category-C
+  func_module unictype/category-Cc
+  func_module unictype/category-Cf
+  func_module unictype/category-Cn
+  func_module unictype/category-Co
+  func_module unictype/category-Cs
+  func_module unictype/category-L
+  func_module unictype/category-Ll
+  func_module unictype/category-Lm
+  func_module unictype/category-Lo
+  func_module unictype/category-Lt
+  func_module unictype/category-Lu
+  func_module unictype/category-M
+  func_module unictype/category-Mc
+  func_module unictype/category-Me
+  func_module unictype/category-Mn
+  func_module unictype/category-N
+  func_module unictype/category-Nd
+  func_module unictype/category-Nl
+  func_module unictype/category-No
+  func_module unictype/category-P
+  func_module unictype/category-Pc
+  func_module unictype/category-Pd
+  func_module unictype/category-Pe
+  func_module unictype/category-Pf
+  func_module unictype/category-Pi
+  func_module unictype/category-Po
+  func_module unictype/category-Ps
+  func_module unictype/category-S
+  func_module unictype/category-Sc
+  func_module unictype/category-Sk
+  func_module unictype/category-Sm
+  func_module unictype/category-So
+  func_module unictype/category-Z
+  func_module unictype/category-Zl
+  func_module unictype/category-Zp
+  func_module unictype/category-Zs
+  func_module unictype/category-and
+  func_module unictype/category-and-not
+  func_module unictype/category-byname
+  func_module unictype/category-name
+  func_module unictype/category-none
+  func_module unictype/category-of
+  func_module unictype/category-or
+  func_module unictype/category-test
+  func_module unictype/category-test-withtable
+  func_module unictype/category-all
+  func_module unictype/combining-class
+  func_module unictype/ctype-alnum
+  func_module unictype/ctype-alpha
+  func_module unictype/ctype-blank
+  func_module unictype/ctype-cntrl
+  func_module unictype/ctype-digit
+  func_module unictype/ctype-graph
+  func_module unictype/ctype-lower
+  func_module unictype/ctype-print
+  func_module unictype/ctype-punct
+  func_module unictype/ctype-space
+  func_module unictype/ctype-upper
+  func_module unictype/ctype-xdigit
+  func_module unictype/decimal-digit
+  func_module unictype/digit
+  func_module unictype/mirror
+  func_module unictype/numeric
+  func_module unictype/property-alphabetic
+  func_module unictype/property-ascii-hex-digit
+  func_module unictype/property-bidi-arabic-digit
+  func_module unictype/property-bidi-arabic-right-to-left
+  func_module unictype/property-bidi-block-separator
+  func_module unictype/property-bidi-boundary-neutral
+  func_module unictype/property-bidi-common-separator
+  func_module unictype/property-bidi-control
+  func_module unictype/property-bidi-embedding-or-override
+  func_module unictype/property-bidi-eur-num-separator
+  func_module unictype/property-bidi-eur-num-terminator
+  func_module unictype/property-bidi-european-digit
+  func_module unictype/property-bidi-hebrew-right-to-left
+  func_module unictype/property-bidi-left-to-right
+  func_module unictype/property-bidi-non-spacing-mark
+  func_module unictype/property-bidi-other-neutral
+  func_module unictype/property-bidi-pdf
+  func_module unictype/property-bidi-segment-separator
+  func_module unictype/property-bidi-whitespace
+  func_module unictype/property-byname
+  func_module unictype/property-combining
+  func_module unictype/property-composite
+  func_module unictype/property-currency-symbol
+  func_module unictype/property-dash
+  func_module unictype/property-decimal-digit
+  func_module unictype/property-default-ignorable-code-point
+  func_module unictype/property-deprecated
+  func_module unictype/property-diacritic
+  func_module unictype/property-extender
+  func_module unictype/property-format-control
+  func_module unictype/property-grapheme-base
+  func_module unictype/property-grapheme-extend
+  func_module unictype/property-grapheme-link
+  func_module unictype/property-hex-digit
+  func_module unictype/property-hyphen
+  func_module unictype/property-id-continue
+  func_module unictype/property-id-start
+  func_module unictype/property-ideographic
+  func_module unictype/property-ids-binary-operator
+  func_module unictype/property-ids-trinary-operator
+  func_module unictype/property-ignorable-control
+  func_module unictype/property-iso-control
+  func_module unictype/property-join-control
+  func_module unictype/property-left-of-pair
+  func_module unictype/property-line-separator
+  func_module unictype/property-logical-order-exception
+  func_module unictype/property-lowercase
+  func_module unictype/property-math
+  func_module unictype/property-non-break
+  func_module unictype/property-not-a-character
+  func_module unictype/property-numeric
+  func_module unictype/property-other-alphabetic
+  func_module unictype/property-other-default-ignorable-code-point
+  func_module unictype/property-other-grapheme-extend
+  func_module unictype/property-other-id-continue
+  func_module unictype/property-other-id-start
+  func_module unictype/property-other-lowercase
+  func_module unictype/property-other-math
+  func_module unictype/property-other-uppercase
+  func_module unictype/property-paired-punctuation
+  func_module unictype/property-paragraph-separator
+  func_module unictype/property-pattern-syntax
+  func_module unictype/property-pattern-white-space
+  func_module unictype/property-private-use
+  func_module unictype/property-punctuation
+  func_module unictype/property-quotation-mark
+  func_module unictype/property-radical
+  func_module unictype/property-sentence-terminal
+  func_module unictype/property-soft-dotted
+  func_module unictype/property-space
+  func_module unictype/property-terminal-punctuation
+  func_module unictype/property-test
+  func_module unictype/property-titlecase
+  func_module unictype/property-unassigned-code-value
+  func_module unictype/property-unified-ideograph
+  func_module unictype/property-uppercase
+  func_module unictype/property-variation-selector
+  func_module unictype/property-white-space
+  func_module unictype/property-xid-continue
+  func_module unictype/property-xid-start
+  func_module unictype/property-zero-width
+  func_module unictype/property-all
+  func_module unictype/scripts
+  func_module unictype/scripts-all
+  func_module unictype/syntax-c-ident
+  func_module unictype/syntax-c-whitespace
+  func_module unictype/syntax-java-ident
+  func_module unictype/syntax-java-whitespace
   func_module uniwidth/base
   func_module uniwidth/u8-strwidth
   func_module uniwidth/u8-width
@@ -2611,6 +3072,17 @@ func_all_modules ()
   func_module uniwidth/u32-strwidth
   func_module uniwidth/u32-width
   func_module uniwidth/width
+  func_module unilbrk/base
+  func_module unilbrk/tables
+  func_module unilbrk/ulc-common
+  func_module unilbrk/u8-possible-linebreaks
+  func_module unilbrk/u16-possible-linebreaks
+  func_module unilbrk/u32-possible-linebreaks
+  func_module unilbrk/ulc-possible-linebreaks
+  func_module unilbrk/u8-width-linebreaks
+  func_module unilbrk/u16-width-linebreaks
+  func_module unilbrk/u32-width-linebreaks
+  func_module unilbrk/ulc-width-linebreaks
   func_end_table
 
   element="Executing programs"
@@ -2666,26 +3138,33 @@ func_all_modules ()
   func_begin_table
   func_module argp
   func_module argz
+  func_module bitrotate
   func_module byteswap
   func_module exitfail
-  func_module c-stack
   func_module error
   func_module extensions
+  func_module forkpty
   func_module getdomainname
   func_module xgetdomainname
   func_module getloadavg
   func_module getpagesize
   func_module getusershell
+  func_module lib-symbol-visibility
+  func_module nproc
+  func_module openpty
   func_module physmem
   func_module posixver
   func_module progname
+  func_module pty
   func_module quotearg
   func_module quote
   func_module readutmp
-  func_module sig2str
+  func_module random_r
+  func_module selinux-h
+  func_module selinux-at
   func_module sysexits
+  func_module u64
   func_module verror
-  func_module visibility
   func_end_table
 
   element="Support for building libraries and executables"
@@ -2695,21 +3174,28 @@ func_all_modules ()
 
   func_begin_table
   func_module absolute-header
+  func_module arg-nonnull
   func_module config-h
   func_module configmake
   func_module dummy
   func_module elisp-comp
+  func_module gperf
   func_module havelib
   func_module include_next
   func_module ldd
   func_module lib-ignore
+  func_module lib-msvc-compat
+  func_module lib-symbol-versions
   func_module link-warning
+  func_module manywarnings
   func_module no-c++
   func_module relocatable-lib
   func_module relocatable-lib-lgpl
   func_module relocatable-prog
   func_module relocatable-prog-wrapper
   func_module relocatable-script
+  func_module warn-on-use
+  func_module warnings
   func_end_table
 
   element="Support for building documentation"
@@ -2718,11 +3204,14 @@ func_all_modules ()
   func_echo "$element"
 
   func_begin_table
+  func_module agpl-3.0
   func_module fdl
+  func_module fdl-1.3
   func_module gendocs
   func_module gpl-2.0
   func_module gpl-3.0
   func_module lgpl-2.1
+  func_module pmccabe2html
   func_module regexprops-generic
   func_end_table
 
@@ -2734,12 +3223,15 @@ func_all_modules ()
   func_begin_table
   func_module announce-gen
   func_module autobuild
+  func_module do-release-commit-and-tag
   func_module git-version-gen
   func_module gitlog-to-changelog
+  func_module gnu-web-doc-update
   func_module gnumakefile
   func_module gnupload
   func_module maintainer-makefile
   func_module mktempd
+  func_module update-copyright
   func_module useless-if-before-free
   func_module vc-list-files
   func_end_table
@@ -2752,6 +3244,7 @@ func_all_modules ()
   func_begin_table
   func_module gnu-make
   func_module host-os
+  func_module nocrash
   func_module perl
   func_module posix-shell
   func_module uptime