Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 20 Oct 1998 21:18:11 +0000 (21:18 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 20 Oct 1998 21:18:11 +0000 (21:18 +0000)
* math/tgmath.h: Make nested function calls work.

ChangeLog
FAQ
FAQ.in
INTERFACE [new file with mode: 0644]
NEWS
math/tgmath.h

index e15f954..7021012 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 1998-10-19  Ulrich Drepper  <drepper@cygnus.com>
 
+       * math/tgmath.h: Make nested function calls work.
+
        * include/ldsodefs.h: Fix typo.
 
        * posix/Makefile (tests): Add tst-preadwrite.
diff --git a/FAQ b/FAQ
index 1709786..7dd9567 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -89,6 +89,7 @@ please let me know.
        which is not acceptable for me.  What can I do?
 2.22.  I just upgraded my Linux system to glibc and now I get
        errors whenever I try to link any program.
+2.23.  When I use nscd the machine freezes.
 
 3. Source and binary incompatibilities, and what to do about them
 
@@ -223,16 +224,16 @@ to them.
 
 1.5.   Which compiler should I use for powerpc?
 
-{GK} You want to use egcs 1.0.1 or later (together with the right versions
+{GK} You want to use egcs 1.1 or later (together with the right versions
 of all the other tools, of course).
 
-In fact, egcs 1.0.1 has a serious bug that prevents a clean make, relating
-to switch statement folding.  It also causes the resulting shared libraries
-to use more memory than they should.  There is a patch at:
+In fact, egcs 1.1 has a bug that causes linuxthreads to be
+miscompiled, resulting in segmentation faults when using condition
+variables.  There is a temporary patch at:
 
-<http://discus.anu.edu.au/~geoffk/egcs-1.0.1-geoffk.diff>
+<http://discus.anu.edu.au/~geoffk/egcs-3.diff>
 
-Later versions of egcs may fix these problems.
+Later versions of egcs may fix this problem.
 
 
 1.6.   Do I need some more things to compile GNU C Library?
@@ -889,6 +890,19 @@ an installation of glibc that is configured with --prefix=/usr should help
 detect these situations.  If the script reports problems, something is
 really screwed up.
 
+
+2.23.  When I use nscd the machine freezes.
+
+{UD} It is well known that you cannot use nscd with Linux 2.0.*.  There
+is functionality missing in the kernel and work-arounds are not suitable.
+Beside this some parts of the kernel are too buggy when it comes to using
+threads.
+
+So you have the possibilities to run Linux 2.0.* or update to a higher
+version and start using nscd.
+
+Note that I have at this point no information about any other platform.
+
 \f
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 
diff --git a/FAQ.in b/FAQ.in
index 197d5a6..bdab8de 100644 (file)
--- a/FAQ.in
+++ b/FAQ.in
@@ -731,6 +731,18 @@ an installation of glibc that is configured with --prefix=/usr should help
 detect these situations.  If the script reports problems, something is
 really screwed up.
 
+??     When I use nscd the machine freezes.
+
+{UD} It is well known that you cannot use nscd with Linux 2.0.*.  There
+is functionality missing in the kernel and work-arounds are not suitable.
+Beside this some parts of the kernel are too buggy when it comes to using
+threads.
+
+So you have the possibilities to run Linux 2.0.* or update to a higher
+version and start using nscd.
+
+Note that I have at this point no information about any other platform.
+
 ? Source and binary incompatibilities, and what to do about them
 
 ??     I expect GNU libc to be 100% source code compatible with
diff --git a/INTERFACE b/INTERFACE
new file mode 100644 (file)
index 0000000..0cce007
--- /dev/null
+++ b/INTERFACE
@@ -0,0 +1,1508 @@
+2.0.7-19981020                 2.0.98-19981020
+===============================================================================
+
+a64l                           a64l
+abort                          abort
+abs                            abs
+accept                         accept
+access                         access
+acct                           acct
+acos                           acos
+acosf                          acosf
+acosh                          acosh
+acoshf                         acoshf
+acoshl                         acoshl
+acosl                          acosl
+addmntent                      addmntent
+                             > addseverity                     NEW: fmtmsg
+adjtime                                adjtime
+adjtimex                       adjtimex
+advance                                advance
+alarm                          alarm
+alphasort                      alphasort
+                             > alphasort64                     NEW: LFS
+                             > argp_err_exit_status            NEW: argp
+                             > argp_error                      NEW: argp
+                             > argp_failure                    NEW: argp
+                             > argp_help                       NEW: argp
+                             > argp_parse                      NEW: argp
+                             > argp_program_bug_address        NEW: argp
+                             > argp_program_version            NEW: argp
+                             > argp_program_version_hook       NEW: argp
+                             > argp_state_help                 NEW: argp
+                             > argp_usage                      NEW: argp
+argz_add                       argz_add
+argz_add_sep                   argz_add_sep
+argz_append                    argz_append
+argz_count                     argz_count
+argz_create                    argz_create
+argz_create_sep                        argz_create_sep
+argz_delete                    argz_delete
+argz_extract                   argz_extract
+argz_insert                    argz_insert
+argz_next                      argz_next
+argz_replace                   argz_replace
+argz_stringify                 argz_stringify
+asctime                                asctime
+asctime_r                      asctime_r
+asin                           asin
+asinf                          asinf
+asinh                          asinh
+asinhf                         asinhf
+asinhl                         asinhl
+asinl                          asinl
+asprintf                       asprintf
+atan                           atan
+atan2                          atan2
+atan2f                         atan2f
+atan2l                         atan2l
+atanf                          atanf
+atanh                          atanh
+atanhf                         atanhf
+atanhl                         atanhl
+atanl                          atanl
+atexit                         atexit
+atof                           atof
+atoi                           atoi
+atol                           atol
+atoll                          atoll
+                             > authdes_create                  NEW: NIS+
+                             > authdes_getucred                NEW: NIS+
+                             > authdes_pk_create               NEW: NIS+
+authnone_create                        authnone_create
+authunix_create                        authunix_create
+authunix_create_default                authunix_create_default
+                             > backtrace                       NEW: GNU ext.
+                             > backtrace_symbols               NEW: GNU ext.
+                             > backtrace_symbols_fd            NEW: GNU ext.
+basename                       basename
+bcmp                           bcmp
+bcopy                          bcopy
+bdflush                                bdflush
+bind                           bind
+bindresvport                   bindresvport
+bindtextdomain                 bindtextdomain
+brk                            brk
+bsd_signal                     bsd_signal
+bsearch                                bsearch
+btowc                          btowc
+bzero                          bzero
+cabs                           cabs
+cabsf                          cabsf
+cabsl                          cabsl
+                             > cacos                           NEW: ISO C 9x
+                             > cacosf                          NEW: ISO C 9x
+                             > cacosh                          NEW: ISO C 9x
+                             > cacoshf                         NEW: ISO C 9x
+                             > cacoshl                         NEW: ISO C 9x
+                             > cacosl                          NEW: ISO C 9x
+calloc                         calloc
+callrpc                                callrpc
+canonicalize_file_name         canonicalize_file_name
+                             > capget                          NEW: kernel
+                             > capset                          NEW: kernel
+                             > carg                            NEW: ISO C 9x
+                             > cargf                           NEW: ISO C 9x
+                             > cargl                           NEW: ISO C 9x
+                             > casin                           NEW: ISO C 9x
+                             > casinf                          NEW: ISO C 9x
+                             > casinh                          NEW: ISO C 9x
+                             > casinhf                         NEW: ISO C 9x
+                             > casinhl                         NEW: ISO C 9x
+                             > casinl                          NEW: ISO C 9x
+                             > catan                           NEW: ISO C 9x
+                             > catanf                          NEW: ISO C 9x
+                             > catanh                          NEW: ISO C 9x
+                             > catanhf                         NEW: ISO C 9x
+                             > catanhl                         NEW: ISO C 9x
+                             > catanl                          NEW: ISO C 9x
+catclose                       catclose
+catgets                                catgets
+catopen                                catopen
+                             > cbc_crypt                       NEW: NIS+
+cbrt                           cbrt
+cbrtf                          cbrtf
+cbrtl                          cbrtl
+                             > ccos                            NEW: ISO C 9x
+                             > ccosf                           NEW: ISO C 9x
+                             > ccosh                           NEW: ISO C 9x
+                             > ccoshf                          NEW: ISO C 9x
+                             > ccoshl                          NEW: ISO C 9x
+                             > ccosl                           NEW: ISO C 9x
+ceil                           ceil
+ceilf                          ceilf
+ceill                          ceill
+                             > cexp                            NEW: ISO C 9x
+                             > cexpf                           NEW: ISO C 9x
+                             > cexpl                           NEW: ISO C 9x
+cfgetispeed                    cfgetispeed
+cfgetospeed                    cfgetospeed
+cfmakeraw                      cfmakeraw
+cfree                          cfree
+cfsetispeed                    cfsetispeed
+cfsetospeed                    cfsetospeed
+cfsetspeed                     cfsetspeed
+chdir                          chdir
+chflags                                chflags
+chmod                          chmod
+chown                          chown
+chroot                         chroot
+                             > cimag                           NEW: ISO C 9x
+                             > cimagf                          NEW: ISO C 9x
+                             > cimagl                          NEW: ISO C 9x
+clearenv                       clearenv
+clearerr                       clearerr
+clearerr_locked                      <                                 REMOVED
+clearerr_unlocked              clearerr_unlocked
+clnt_broadcast                 clnt_broadcast
+clnt_create                    clnt_create
+clnt_pcreateerror              clnt_pcreateerror
+clnt_perrno                    clnt_perrno
+clnt_perror                    clnt_perror
+clnt_spcreateerror             clnt_spcreateerror
+clnt_sperrno                   clnt_sperrno
+clnt_sperror                   clnt_sperror
+clntraw_create                 clntraw_create
+clnttcp_create                 clnttcp_create
+clntudp_bufcreate              clntudp_bufcreate
+clntudp_create                 clntudp_create
+                             > clntunix_create                 NEW: sunrpc ext
+clock                          clock
+                             > clog                            NEW: ISO C 9x
+                             > clog10                          NEW: ISO C 9x
+                             > clog10f                         NEW: ISO C 9x
+                             > clog10l                         NEW: ISO C 9x
+                             > clogf                           NEW: ISO C 9x
+                             > clogl                           NEW: ISO C 9x
+clone                          clone
+close                          close
+closedir                       closedir
+closelog                       closelog
+confstr                                confstr
+                             > conj                            NEW: ISO C 9x
+                             > conjf                           NEW: ISO C 9x
+                             > conjl                           NEW: ISO C 9x
+connect                                connect
+copysign                       copysign
+copysignf                      copysignf
+copysignl                      copysignl
+cos                            cos
+cosf                           cosf
+cosh                           cosh
+coshf                          coshf
+coshl                          coshl
+cosl                           cosl
+                             > cpow                            NEW: ISO C 9x
+                             > cpowf                           NEW: ISO C 9x
+                             > cpowl                           NEW: ISO C 9x
+                             > cproj                           NEW: ISO C 9x
+                             > cprojf                          NEW: ISO C 9x
+                             > cprojl                          NEW: ISO C 9x
+                             > creal                           NEW: ISO C 9x
+                             > crealf                          NEW: ISO C 9x
+                             > creall                          NEW: ISO C 9x
+creat                          creat
+                             > creat64                         NEW: LFS
+create_module                  create_module
+                             > csin                            NEW: ISO C 9x
+                             > csinf                           NEW: ISO C 9x
+                             > csinh                           NEW: ISO C 9x
+                             > csinhf                          NEW: ISO C 9x
+                             > csinhl                          NEW: ISO C 9x
+                             > csinl                           NEW: ISO C 9x
+                             > csqrt                           NEW: ISO C 9x
+                             > csqrtf                          NEW: ISO C 9x
+                             > csqrtl                          NEW: ISO C 9x
+                             > ctan                            NEW: ISO C 9x
+                             > ctanf                           NEW: ISO C 9x
+                             > ctanh                           NEW: ISO C 9x
+                             > ctanhf                          NEW: ISO C 9x
+                             > ctanhl                          NEW: ISO C 9x
+                             > ctanl                           NEW: ISO C 9x
+ctermid                                ctermid
+ctime                          ctime
+ctime_r                                ctime_r
+cuserid                                cuserid
+daemon                         daemon
+daylight                       daylight
+dcgettext                      dcgettext
+delete_module                  delete_module
+                             > des_setparity                   NEW: NIS+
+dgettext                       dgettext
+difftime                       difftime
+dirfd                          dirfd
+dirname                                dirname
+div                            div
+dprintf                                dprintf
+drand48                                drand48
+drand48_r                      drand48_r
+drem                           drem
+dremf                          dremf
+dreml                          dreml
+dup                            dup
+dup2                           dup2
+dysize                         dysize
+                             > ecb_crypt                       NEW: NIS+
+ecvt                           ecvt
+ecvt_r                         ecvt_r
+endaliasent                    endaliasent
+endfsent                       endfsent
+endgrent                       endgrent
+endhostent                     endhostent
+endmntent                      endmntent
+endnetent                      endnetent
+endnetgrent                    endnetgrent
+endprotoent                    endprotoent
+endpwent                       endpwent
+endrpcent                      endrpcent
+endservent                     endservent
+endspent                       endspent
+endttyent                      endttyent
+endusershell                   endusershell
+endutent                       endutent
+                             > endutxent                       NEW: utmpx
+environ                                environ
+envz_add                       envz_add
+envz_entry                     envz_entry
+envz_get                       envz_get
+envz_merge                     envz_merge
+envz_remove                    envz_remove
+envz_strip                     envz_strip
+erand48                                erand48
+erand48_r                      erand48_r
+erf                            erf
+erfc                           erfc
+erfcf                          erfcf
+erfcl                          erfcl
+erff                           erff
+erfl                           erfl
+err                            err
+errno                          errno
+error                          error
+error_at_line                  error_at_line
+error_message_count            error_message_count
+error_one_per_line             error_one_per_line
+error_print_progname           error_print_progname
+errx                           errx
+ether_aton                     ether_aton
+ether_aton_r                   ether_aton_r
+ether_hostton                  ether_hostton
+ether_line                     ether_line
+ether_ntoa                     ether_ntoa
+ether_ntoa_r                   ether_ntoa_r
+ether_ntohost                  ether_ntohost
+euidaccess                     euidaccess
+execl                          execl
+execle                         execle
+execlp                         execlp
+execv                          execv
+execve                         execve
+execvp                         execvp
+exit                           exit
+exp                            exp
+                             > exp10                           NEW: ISO C 9x
+                             > exp10f                          NEW: ISO C 9x
+                             > exp10l                          NEW: ISO C 9x
+                             > exp2                            NEW: ISO C 9x
+                             > exp2f                           NEW: ISO C 9x
+                             > exp2l                           NEW: ISO C 9x
+expf                           expf
+expl                           expl
+expm1                          expm1
+expm1f                         expm1f
+expm1l                         expm1l
+fabs                           fabs
+fabsf                          fabsf
+fabsl                          fabsl
+                             > fattach                         NEW: STREAMS
+fchdir                         fchdir
+fchflags                       fchflags
+fchmod                         fchmod
+fchown                         fchown
+fclose                         fclose
+fcloseall                      fcloseall
+fcntl                          fcntl
+fcvt                           fcvt
+fcvt_r                         fcvt_r
+fdatasync                      fdatasync
+                             > fdetach                         NEW: STREAMS
+                             > fdim                            NEW: ISO C 9x
+                             > fdimf                           NEW: ISO C 9x
+                             > fdiml                           NEW: ISO C 9x
+fdopen                         fdopen
+                             > feclearexcept                   NEW: ISO C 9x
+                             > fegetenv                        NEW: ISO C 9x
+                             > fegetexceptflag                 NEW: ISO C 9x
+                             > fegetround                      NEW: ISO C 9x
+                             > feholdexcept                    NEW: ISO C 9x
+feof                           feof
+feof_locked                  <                                 REMOVED
+feof_unlocked                  feof_unlocked
+                             > feraiseexcept                   NEW: ISO C 9x
+ferror                         ferror
+ferror_locked                <                                 REMOVED
+ferror_unlocked                        ferror_unlocked
+                             > fesetenv                        NEW: ISO C 9x
+                             > fesetexceptflag                 NEW: ISO C 9x
+                             > fesetround                      NEW: ISO C 9x
+                             > fetestexcept                    NEW: ISO C 9x
+                             > feupdateenv                     NEW: ISO C 9x
+fexecve                                fexecve
+fflush                         fflush
+fflush_locked                <                                 REMOVED
+fflush_unlocked                        fflush_unlocked
+ffs                            ffs
+                             > ffsl                            NEW: GNU ext.
+                             > ffsll                           NEW: GNU ext.
+fgetc                          fgetc
+fgetgrent                      fgetgrent
+fgetgrent_r                    fgetgrent_r
+fgetpos                                fgetpos
+                             > fgetpos64                       NEW: LFS
+fgetpwent                      fgetpwent
+fgetpwent_r                    fgetpwent_r
+fgets                          fgets
+                             > fgets_unlocked                  NEW: GNU ext.
+fgetspent                      fgetspent
+fgetspent_r                    fgetspent_r
+fileno                         fileno
+fileno_locked                <                                 REMOVED
+fileno_unlocked                        fileno_unlocked
+finite                         finite
+finitef                                finitef
+finitel                                finitel
+flock                          flock
+flockfile                      flockfile
+floor                          floor
+floorf                         floorf
+floorl                         floorl
+                             > fma                             NEW: ISO C 9x
+                             > fmaf                            NEW: ISO C 9x
+                             > fmal                            NEW: ISO C 9x
+                             > fmax                            NEW: ISO C 9x
+                             > fmaxf                           NEW: ISO C 9x
+                             > fmaxl                           NEW: ISO C 9x
+                             > fmin                            NEW: ISO C 9x
+                             > fminf                           NEW: ISO C 9x
+                             > fminl                           NEW: ISO C 9x
+fmod                           fmod
+fmodf                          fmodf
+fmodl                          fmodl
+                             > fmtmsg                          NEW: fmtmsg
+fnmatch                                fnmatch
+fopen                          fopen
+                             > fopen64                         NEW: LFS
+fopencookie                    fopencookie
+fork                           fork
+fpathconf                      fpathconf
+fprintf                                fprintf
+fputc                          fputc
+fputc_locked                 <                                 REMOVED
+fputc_unlocked                 fputc_unlocked
+fputs                          fputs
+                             > fputs_unlocked                  NEW: GNU ext.
+fread                          fread
+                             > fread_unlocked                  NEW: GNU ext.
+free                           free
+freeaddrinfo                   freeaddrinfo
+freopen                                freopen
+                             > freopen64                       NEW: LFS
+frexp                          frexp
+frexpf                         frexpf
+frexpl                         frexpl
+fscanf                         fscanf
+fseek                          fseek
+                             > fseeko                          NEW: Unix98
+                             > fseeko64
+fsetpos                                fsetpos
+                             > fsetpos64                       NEW: LFS
+fstatfs                                fstatfs
+                             > fstatfs64                       NEW: LFS
+                             > fstatvfs                        NEW: Unix98
+                             > fstatvfs64                      NEW: LFS
+fsync                          fsync
+ftell                          ftell
+                             > ftello                          NEW: Unix98
+                             > ftello64                        NEW: LFS
+ftime                          ftime
+ftok                           ftok
+ftruncate                      ftruncate
+                             > ftruncate64                     NEW: LFS
+ftrylockfile                   ftrylockfile
+fts_children                   fts_children
+fts_close                      fts_close
+fts_open                       fts_open
+fts_read                       fts_read
+fts_set                                fts_set
+ftw                            ftw
+                             > ftw64                           NEW: LFS
+funlockfile                    funlockfile
+fwrite                         fwrite
+                             > fwrite_unlocked                 NEW: GNU ext.
+                             > gai_strerror                    NEW: IPv6
+gamma                          gamma
+gamma_r                              <                                 REMOVED
+gammaf                         gammaf
+gammaf_r                     <                                 REMOVED
+gammal                         gammal
+gammal_r                     <                                 REMOVED
+gcvt                           gcvt
+get_avphys_pages               get_avphys_pages
+get_current_dir_name           get_current_dir_name
+get_kernel_syms                        get_kernel_syms
+get_myaddress                  get_myaddress
+get_nprocs                     get_nprocs
+get_nprocs_conf                        get_nprocs_conf
+get_phys_pages                 get_phys_pages
+getaddrinfo                    getaddrinfo
+getaliasbyname                 getaliasbyname
+getaliasbyname_r               getaliasbyname_r
+getaliasent                    getaliasent
+getaliasent_r                  getaliasent_r
+getc                           getc
+getc_locked                  <                                 REMOVE
+getc_unlocked                  getc_unlocked
+getchar                                getchar
+getchar_locked               <                                 REMOVED
+getchar_unlocked               getchar_unlocked
+                             > getcontext
+getcwd                         getcwd
+                             > getdate                         NEW: Unix98
+                             > getdate_err                     NEW: Unix98
+                             > getdate_r                       NEW: GNU ext.
+getdelim                       getdelim
+getdirentries                  getdirentries
+getdomainname                  getdomainname
+getdtablesize                  getdtablesize
+getegid                                getegid
+getenv                         getenv
+geteuid                                geteuid
+getfsent                       getfsent
+getfsfile                      getfsfile
+getfsspec                      getfsspec
+getgid                         getgid
+getgrent                       getgrent
+getgrent_r                     getgrent_r
+getgrgid                       getgrgid
+getgrgid_r                     getgrgid_r
+getgrnam                       getgrnam
+getgrnam_r                     getgrnam_r
+getgroups                      getgroups
+gethostbyaddr                  gethostbyaddr
+gethostbyaddr_r                        gethostbyaddr_r
+gethostbyname                  gethostbyname
+gethostbyname2                 gethostbyname2
+gethostbyname2_r               gethostbyname2_r
+gethostbyname_r                        gethostbyname_r
+gethostent                     gethostent
+gethostent_r                   gethostent_r
+gethostid                      gethostid
+gethostname                    gethostname
+getitimer                      getitimer
+getline                                getline
+getlogin                       getlogin
+getlogin_r                     getlogin_r
+getmntent                      getmntent
+getmntent_r                    getmntent_r
+                             > getmsg                          NEW: STREAMS
+                             > getnameinfo                     NEW: IPv6
+getnetbyaddr                   getnetbyaddr
+getnetbyaddr_r                 getnetbyaddr_r
+getnetbyname                   getnetbyname
+getnetbyname_r                 getnetbyname_r
+getnetent                      getnetent
+getnetent_r                    getnetent_r
+getnetgrent                    getnetgrent
+getnetgrent_r                  getnetgrent_r
+                             > getnetname                      NEW: IPv6
+getopt                         getopt
+getopt_long                    getopt_long
+getopt_long_only               getopt_long_only
+getpagesize                    getpagesize
+getpass                                getpass
+getpeername                    getpeername
+getpgid                                getpgid
+getpgrp                                getpgrp
+getpid                         getpid
+                             > getpmsg                         NEW: STREAMS
+getppid                                getppid
+getpriority                    getpriority
+getprotobyname                 getprotobyname
+getprotobyname_r               getprotobyname_r
+getprotobynumber               getprotobynumber
+getprotobynumber_r             getprotobynumber_r
+getprotoent                    getprotoent
+getprotoent_r                  getprotoent_r
+                             > getpt                           NEW: Unix98 PTY
+getpublickey                   getpublickey
+getpw                          getpw
+getpwent                       getpwent
+getpwent_r                     getpwent_r
+getpwnam                       getpwnam
+getpwnam_r                     getpwnam_r
+getpwuid                       getpwuid
+getpwuid_r                     getpwuid_r
+getresgid                      getresgid
+getresuid                      getresuid
+getrlimit                      getrlimit
+                             > getrlimit64                     NEW: LFS
+getrpcbyname                   getrpcbyname
+getrpcbyname_r                 getrpcbyname_r
+getrpcbynumber                 getrpcbynumber
+getrpcbynumber_r               getrpcbynumber_r
+getrpcent                      getrpcent
+getrpcent_r                    getrpcent_r
+getrpcport                     getrpcport
+getrusage                      getrusage
+gets                           gets
+getsecretkey                   getsecretkey
+getservbyname                  getservbyname
+getservbyname_r                        getservbyname_r
+getservbyport                  getservbyport
+getservbyport_r                        getservbyport_r
+getservent                     getservent
+getservent_r                   getservent_r
+getsid                         getsid
+getsockname                    getsockname
+getsockopt                     getsockopt
+getspent                       getspent
+getspent_r                     getspent_r
+getspnam                       getspnam
+getspnam_r                     getspnam_r
+getsubopt                      getsubopt
+gettext                                gettext
+gettimeofday                   gettimeofday
+getttyent                      getttyent
+getttynam                      getttynam
+getuid                         getuid
+getusershell                   getusershell
+getutent                       getutent
+getutent_r                     getutent_r
+getutid                                getutid
+getutid_r                      getutid_r
+getutline                      getutline
+getutline_r                    getutline_r
+                             > getutxent                       NEW: utmpx
+                             > getutxid                        NEW: utmpx
+                             > getutxline                      NEW: utmpx
+getw                           getw
+getwd                          getwd
+glob                           glob
+                             > glob64                          NEW: GNU ext.
+glob_pattern_p                 glob_pattern_p
+globfree                       globfree
+                             > globfree64                      NEW: GNU ext.
+gmtime                         gmtime
+gmtime_r                       gmtime_r
+                             > gnu_get_libc_release            NEW: GNU ext.
+                             > gnu_get_libc_version            NEW: GNU ext.
+                             > grantpt                         NEW: Unix98 PTY
+group_member                   group_member
+gsignal                                gsignal
+gtty                           gtty
+h_errlist                      h_errlist
+h_errno                                h_errno
+h_nerr                         h_nerr
+hasmntopt                      hasmntopt
+hcreate                                hcreate
+hcreate_r                      hcreate_r
+hdestroy                       hdestroy
+hdestroy_r                     hdestroy_r
+herror                         herror
+                             > host2netname                    NEW: IPv6
+hsearch                                hsearch
+hsearch_r                      hsearch_r
+hstrerror                      hstrerror
+htonl                          htonl
+htons                          htons
+hypot                          hypot
+hypotf                         hypotf
+hypotl                         hypotl
+                             > iconv                           NEW: iconv
+                             > iconv_close                     NEW: iconv
+                             > iconv_open                      NEW: iconv
+                             > if_freenameindex                NEW: IPv6
+                             > if_indextoname                  NEW: IPv6
+                             > if_nameindex                    NEW: IPv6
+                             > if_nametoindex                  NEW: IPv6
+ilogb                          ilogb
+ilogbf                         ilogbf
+ilogbl                         ilogbl
+                             > in6addr_any                     NEW: IPv6
+                             > in6addr_loopback                NEW: IPv6
+index                          index
+                             > inet6_isipv4mapped              NEW: IPv6
+inet_addr                      inet_addr
+inet_aton                      inet_aton
+inet_lnaof                     inet_lnaof
+inet_makeaddr                  inet_makeaddr
+inet_netof                     inet_netof
+inet_network                   inet_network
+inet_nsap_addr                 inet_nsap_addr
+inet_nsap_ntoa                 inet_nsap_ntoa
+inet_ntoa                      inet_ntoa
+inet_ntop                      inet_ntop
+inet_pton                      inet_pton
+init_module                    init_module
+initgroups                     initgroups
+initstate                      initstate
+initstate_r                    initstate_r
+innetgr                                innetgr
+insque                         insque
+ioctl                          ioctl
+ioperm                         ioperm
+iopl                           iopl
+iruserok                       iruserok
+isalnum                                isalnum
+isalpha                                isalpha
+isascii                                isascii
+                             > isastream                       NEW: STREAMS
+isatty                         isatty
+isblank                                isblank
+iscntrl                                iscntrl
+isdigit                                isdigit
+isfdtype                       isfdtype
+isgraph                                isgraph
+isinf                          isinf
+isinff                         isinff
+isinfl                         isinfl
+islower                                islower
+isnan                          isnan
+isnanf                         isnanf
+isnanl                         isnanl
+isprint                                isprint
+ispunct                                ispunct
+isspace                                isspace
+isupper                                isupper
+iswalnum                       iswalnum
+iswalpha                       iswalpha
+                             > iswblank                        NEW: GNU ext.
+iswcntrl                       iswcntrl
+iswctype                       iswctype
+iswdigit                       iswdigit
+iswgraph                       iswgraph
+iswlower                       iswlower
+iswprint                       iswprint
+iswpunct                       iswpunct
+iswspace                       iswspace
+iswupper                       iswupper
+iswxdigit                      iswxdigit
+isxdigit                       isxdigit
+j0                             j0
+j0f                            j0f
+j0l                            j0l
+j1                             j1
+j1f                            j1f
+j1l                            j1l
+jn                             jn
+jnf                            jnf
+jnl                            jnl
+jrand48                                jrand48
+jrand48_r                      jrand48_r
+                             > key_decryptsession              NEW: NIS+
+                             > key_decryptsession_pk           NEW: NIS+
+                             > key_encryptsession              NEW: NIS+
+                             > key_encryptsession_pk           NEW: NIS+
+                             > key_gendes                      NEW: NIS+
+                             > key_get_conv                    NEW: NIS+
+                             > key_secretkey_is_set            NEW: NIS+
+                             > key_setnet                      NEW: NIS+
+                             > key_setsecret                   NEW: NIS+
+kill                           kill
+killpg                         killpg
+klogctl                                klogctl
+l64a                           l64a
+labs                           labs
+lchown                         lchown
+lckpwdf                                lckpwdf
+lcong48                                lcong48
+lcong48_r                      lcong48_r
+ldexp                          ldexp
+ldexpf                         ldexpf
+ldexpl                         ldexpl
+ldiv                           ldiv
+lfind                          lfind
+lgamma                         lgamma
+lgamma_r                       lgamma_r
+lgammaf                                lgammaf
+lgammaf_r                      lgammaf_r
+lgammal                                lgammal
+lgammal_r                      lgammal_r
+link                           link
+listen                         listen
+llabs                          llabs
+lldiv                          lldiv
+                             > llrint                          NEW: ISO C 9x
+                             > llrintf                         NEW: ISO C 9x
+                             > llrintl                         NEW: ISO C 9x
+                             > llround                         NEW: ISO C 9x
+                             > llroundf                        NEW: ISO C 9x
+                             > llroundl                        NEW: ISO C 9x
+llseek                         llseek
+loc1                           loc1
+loc2                           loc2
+localeconv                     localeconv
+localtime                      localtime
+localtime_r                    localtime_r
+lockf                          lockf
+locs                           locs
+log                            log
+log10                          log10
+log10f                         log10f
+log10l                         log10l
+log1p                          log1p
+log1pf                         log1pf
+log1pl                         log1pl
+                             > log2                            NEW: ISO C 9x
+                             > log2f                           NEW: ISO C 9x
+                             > log2l                           NEW: ISO C 9x
+logb                           logb
+logbf                          logbf
+logbl                          logbl
+logf                           logf
+logl                           logl
+longjmp                                longjmp
+lrand48                                lrand48
+lrand48_r                      lrand48_r
+                             > lrint                           NEW: ISO C 9x
+                             > lrintf                          NEW: ISO C 9x
+                             > lrintl                          NEW: ISO C 9x
+                             > lround                          NEW: ISO C 9x
+                             > lroundf                         NEW: ISO C 9x
+                             > lroundl                         NEW: ISO C 9x
+lsearch                                lsearch
+lseek                          lseek
+                             > lseek64                         NEW: LFS
+madvise                                madvise
+                             > makecontext                     NEW: Unix98
+mallinfo                       mallinfo
+malloc                         malloc
+malloc_get_state               malloc_get_state
+malloc_set_state               malloc_set_state
+malloc_stats                   malloc_stats
+malloc_trim                    malloc_trim
+malloc_usable_size             malloc_usable_size
+mallopt                                mallopt
+mallwatch                      mallwatch
+matherr                                matherr
+mblen                          mblen
+mbrlen                         mbrlen
+mbrtowc                                mbrtowc
+mbsinit                                mbsinit
+mbsnrtowcs                     mbsnrtowcs
+mbsrtowcs                      mbsrtowcs
+mbstowcs                       mbstowcs
+mbtowc                         mbtowc
+mcheck                         mcheck
+mcount                         mcount
+memalign                       memalign
+memccpy                                memccpy
+memchr                         memchr
+memcmp                         memcmp
+memcpy                         memcpy
+memfrob                                memfrob
+memmem                         memmem
+memmove                                memmove
+                             > mempcpy                         NEW: GNU ext.
+memset                         memset
+mkdir                          mkdir
+mkfifo                         mkfifo
+mkstemp                                mkstemp
+mktemp                         mktemp
+mktime                         mktime
+mlock                          mlock
+mlockall                       mlockall
+mmap                           mmap
+                             > mmap64                          NEW: LFS
+modf                           modf
+modff                          modff
+modfl                          modfl
+moncontrol                   <                                 REMOVED
+                             > modify_ldt                      NEW: kernel
+monstartup                     monstartup
+mount                          mount
+mprobe                         mprobe
+mprotect                       mprotect
+mrand48                                mrand48
+mrand48_r                      mrand48_r
+mremap                         mremap
+msgctl                         msgctl
+msgget                         msgget
+msgrcv                         msgrcv
+msgsnd                         msgsnd
+msync                          msync
+mtrace                         mtrace
+munlock                                munlock
+munlockall                     munlockall
+munmap                         munmap
+muntrace                       muntrace
+                             > nan                             NEW: ISO C 9x
+                             > nanf                            NEW: ISO C 9x
+                             > nanl                            NEW: ISO C 9x
+nanosleep                      nanosleep
+                             > nearbyint                       NEW: ISO C 9x
+                             > nearbyintf                      NEW: ISO C 9x
+                             > nearbyintl                      NEW: ISO C 9x
+                             > netname2host                    NEW: IPv6
+                             > netname2user                    NEW: IPv6
+nextafter                      nextafter
+nextafterf                     nextafterf
+nextafterl                     nextafterl
+                             > nextafterx                      NEW: ISO C 9x
+                             > nextafterxf                     NEW: ISO C 9x
+nfsservctl                     nfsservctl
+                             > nftw                            NEW: Unix98
+                             > nftw64                          NEW: LFS
+nice                           nice
+nl_langinfo                    nl_langinfo
+nrand48                                nrand48
+nrand48_r                      nrand48_r
+ntohl                          ntohl
+ntohs                          ntohs
+obstack_alloc_failed_handler   obstack_alloc_failed_handler
+obstack_exit_failure           obstack_exit_failure
+obstack_free                   obstack_free
+obstack_printf                 obstack_printf
+obstack_vprintf                        obstack_vprintf
+on_exit                                on_exit
+open                           open
+                             > open64                          NEW: LFS
+open_memstream                 open_memstream
+opendir                                opendir
+openlog                                openlog
+optarg                         optarg
+opterr                         opterr
+optind                         optind
+optopt                         optopt
+parse_printf_format            parse_printf_format
+                             > passwd2des                      NEW: NIS+
+pathconf                       pathconf
+pause                          pause
+pclose                         pclose
+perror                         perror
+personality                    personality
+pipe                           pipe
+pmap_getmaps                   pmap_getmaps
+pmap_getport                   pmap_getport
+pmap_rmtcall                   pmap_rmtcall
+pmap_set                       pmap_set
+pmap_unset                     pmap_unset
+poll                           poll
+popen                          popen
+pow                            pow
+                             > pow10                           NEW: GNU ext.
+                             > pow10f                          NEW: GNU ext.
+                             > pow10l                          NEW: GNU ext.
+powf                           powf
+powl                           powl
+prctl                          prctl
+                             > pread                           NEW: Unix98
+                             > pread64                         NEW: LFS
+printf                         printf
+                             > printf_size                     NEW: GNU ext.
+                             > printf_size_info                NEW: GNU ext.
+profil                         profil
+profil_counter               <                                 REMOVED
+program_invocation_name                program_invocation_name
+program_invocation_short_name  program_invocation_short_name
+pselect                                pselect
+psignal                                psignal
+pthread_attr_destroy           pthread_attr_destroy
+pthread_attr_getdetachstate    pthread_attr_getdetachstate
+pthread_attr_getinheritsched   pthread_attr_getinheritsched
+pthread_attr_getschedparam     pthread_attr_getschedparam
+pthread_attr_getschedpolicy    pthread_attr_getschedpolicy
+pthread_attr_getscope          pthread_attr_getscope
+pthread_attr_init              pthread_attr_init
+pthread_attr_setdetachstate    pthread_attr_setdetachstate
+pthread_attr_setinheritsched   pthread_attr_setinheritsched
+pthread_attr_setschedparam     pthread_attr_setschedparam
+pthread_attr_setschedpolicy    pthread_attr_setschedpolicy
+pthread_attr_setscope          pthread_attr_setscope
+pthread_cond_broadcast         pthread_cond_broadcast
+pthread_cond_destroy           pthread_cond_destroy
+pthread_cond_init              pthread_cond_init
+pthread_cond_signal            pthread_cond_signal
+pthread_cond_wait              pthread_cond_wait
+pthread_condattr_destroy       pthread_condattr_destroy
+pthread_condattr_init          pthread_condattr_init
+pthread_equal                  pthread_equal
+pthread_exit                   pthread_exit
+pthread_getschedparam          pthread_getschedparam
+pthread_mutex_destroy          pthread_mutex_destroy
+pthread_mutex_init             pthread_mutex_init
+pthread_mutex_lock             pthread_mutex_lock
+pthread_mutex_unlock           pthread_mutex_unlock
+pthread_mutexattr_getkind_np  <                                        REPLACED
+pthread_mutexattr_setkind_np  <                                        REPLACED
+pthread_self                   pthread_self
+pthread_setcancelstate         pthread_setcancelstate
+pthread_setcanceltype          pthread_setcanceltype
+pthread_setschedparam          pthread_setschedparam
+ptrace                         ptrace
+                             > ptsname                         NEW: Unix98 PTY
+                             > ptsname_r                       NEW: Unix98 PTY
+putc                           putc
+putc_locked                  <                                 REMOVED
+putc_unlocked                  putc_unlocked
+putchar                                putchar
+putchar_locked               <                                 REMOVED
+putchar_unlocked               putchar_unlocked
+putenv                         putenv
+                             > putgrent                        NEW: GNU ext.
+                             > putmsg                          NEW: STREAMS
+                             > putpmsg                         NEW: STREAMS
+putpwent                       putpwent
+puts                           puts
+putspent                       putspent
+pututline                      pututline
+                             > pututxline                      NEW: utmpx
+putw                           putw
+pvalloc                                pvalloc
+                             > pwrite                          NEW: Unix98
+                             > pwrite64                        NEW: LFS
+qecvt                          qecvt
+qecvt_r                                qecvt_r
+qfcvt                          qfcvt
+qfcvt_r                                qfcvt_r
+qgcvt                          qgcvt
+qsort                          qsort
+query_module                   query_module
+quotactl                       quotactl
+raise                          raise
+rand                           rand
+rand_r                         rand_r
+random                         random
+random_r                       random_r
+rcmd                           rcmd
+re_comp                                re_comp
+re_compile_fastmap             re_compile_fastmap
+re_compile_pattern             re_compile_pattern
+re_exec                                re_exec
+re_match                       re_match
+re_match_2                     re_match_2
+re_max_failures                        re_max_failures
+re_search                      re_search
+re_search_2                    re_search_2
+re_set_registers               re_set_registers
+re_set_syntax                  re_set_syntax
+re_syntax_options              re_syntax_options
+read                           read
+readdir                                readdir
+                             > readdir64                       NEW: LFS
+                             > readdir64_r                     NEW: LFS
+readdir_r                      readdir_r
+readlink                       readlink
+readv                          readv
+realloc                                realloc
+realpath                       realpath
+reboot                         reboot
+recv                           recv
+recvfrom                       recvfrom
+recvmsg                                recvmsg
+regcomp                                regcomp
+regerror                       regerror
+regexec                                regexec
+regfree                                regfree
+register_printf_function       register_printf_function
+registerrpc                    registerrpc
+remainder                      remainder
+remainderf                     remainderf
+remainderl                     remainderl
+remove                         remove
+remque                         remque
+                             > remquo                          NEW: ISO C 9x
+                             > remquof                         NEW: ISO C 9x
+                             > remquol                         NEW: ISO C 9x
+rename                         rename
+res_init                       res_init
+revoke                         revoke
+rewind                         rewind
+rewinddir                      rewinddir
+rexec                          rexec
+rexecoptions                   rexecoptions
+rindex                         rindex
+rint                           rint
+rintf                          rintf
+rintl                          rintl
+rmdir                          rmdir
+                             > round                           NEW: ISO C 9x
+                             > roundf                          NEW: ISO C 9x
+                             > roundl                          NEW: ISO C 9x
+rpc_createerr                  rpc_createerr
+rpmatch                                rpmatch
+rresvport                      rresvport
+                             > rtime                           NEW: GNU ext.
+ruserok                                ruserok
+ruserpass                      ruserpass
+sbrk                           sbrk
+scalb                          scalb
+scalbf                         scalbf
+scalbl                         scalbl
+                             > scalbln                         NEW: ISO C 9x
+                             > scalblnf                        NEW: ISO C 9x
+                             > scalblnl                        NEW: ISO C 9x
+scalbn                         scalbn
+scalbnf                                scalbnf
+scalbnl                                scalbnl
+scandir                                scandir
+                             > scandir64                       NEW: LFS
+scanf                          scanf
+sched_get_priority_max         sched_get_priority_max
+sched_get_priority_min         sched_get_priority_min
+sched_getparam                 sched_getparam
+sched_getscheduler             sched_getscheduler
+sched_rr_get_interval          sched_rr_get_interval
+sched_setparam                 sched_setparam
+sched_setscheduler             sched_setscheduler
+sched_yield                    sched_yield
+seed48                         seed48
+seed48_r                       seed48_r
+seekdir                                seekdir
+select                         select
+semctl                         semctl
+semget                         semget
+semop                          semop
+send                           send
+                             > sendfile                        NEW: kernel
+sendmsg                                sendmsg
+sendto                         sendto
+setaliasent                    setaliasent
+setbuf                         setbuf
+setbuffer                      setbuffer
+                             > setcontext                      NEW: Unix98
+setdomainname                  setdomainname
+setegid                                setegid
+setenv                         setenv
+seteuid                                seteuid
+setfsent                       setfsent
+setfsgid                       setfsgid
+setfsuid                       setfsuid
+setgid                         setgid
+setgrent                       setgrent
+setgroups                      setgroups
+sethostent                     sethostent
+sethostid                      sethostid
+sethostname                    sethostname
+setitimer                      setitimer
+setjmp                         setjmp
+setlinebuf                     setlinebuf
+setlocale                      setlocale
+setlogin                       setlogin
+setlogmask                     setlogmask
+setmntent                      setmntent
+setnetent                      setnetent
+setnetgrent                    setnetgrent
+setpgid                                setpgid
+setpgrp                                setpgrp
+setpriority                    setpriority
+setprotoent                    setprotoent
+setpwent                       setpwent
+setregid                       setregid
+setresgid                      setresgid
+setresuid                      setresuid
+setreuid                       setreuid
+setrlimit                      setrlimit
+                             > setrlimit64                     NEW: LFS
+setrpcent                      setrpcent
+setservent                     setservent
+setsid                         setsid
+setsockopt                     setsockopt
+setspent                       setspent
+setstate                       setstate
+setstate_r                     setstate_r
+settimeofday                   settimeofday
+setttyent                      setttyent
+setuid                         setuid
+setusershell                   setusershell
+setutent                       setutent
+                             > setutxent                       NEW: utmpx
+setvbuf                                setvbuf
+sgetspent                      sgetspent
+sgetspent_r                    sgetspent_r
+shmat                          shmat
+shmctl                         shmctl
+shmdt                          shmdt
+shmget                         shmget
+shutdown                       shutdown
+sigaction                      sigaction
+sigaddset                      sigaddset
+sigaltstack                    sigaltstack
+sigandset                      sigandset
+sigblock                       sigblock
+sigdelset                      sigdelset
+sigemptyset                    sigemptyset
+sigfillset                     sigfillset
+siggetmask                     siggetmask
+                             > sighold                         NEW: Unix98
+                             > sigignore                       NEW: Unix98
+siginterrupt                   siginterrupt
+sigisemptyset                  sigisemptyset
+sigismember                    sigismember
+siglongjmp                     siglongjmp
+signal                         signal
+signgam                                signgam
+significand                    significand
+significandf                   significandf
+significandl                   significandl
+sigorset                       sigorset
+sigpause                       sigpause
+sigpending                     sigpending
+sigprocmask                    sigprocmask
+                             > sigqueue                        NEW: POSIX.1b
+                             > sigrelse                        NEW: Unix98
+sigreturn                      sigreturn
+                             > sigset                          NEW: POSIX.1b
+sigsetmask                     sigsetmask
+sigstack                       sigstack
+sigsuspend                     sigsuspend
+                             > sigtimedwait                    NEW: POSIX.1b
+sigvec                         sigvec
+sigwait                                sigwait
+                             > sigwaitinfo                     NEW: POSIX.1b
+sin                            sin
+                             > sincos                          NEW: GNU ext.
+                             > sincosf                         NEW: GNU ext.
+                             > sincosl                         NEW: GNU ext.
+sinf                           sinf
+sinh                           sinh
+sinhf                          sinhf
+sinhl                          sinhl
+sinl                           sinl
+sleep                          sleep
+snprintf                       snprintf
+socket                         socket
+socketpair                     socketpair
+sprintf                                sprintf
+sqrt                           sqrt
+sqrtf                          sqrtf
+sqrtl                          sqrtl
+srand                          srand
+srand48                                srand48
+srand48_r                      srand48_r
+srandom                                srandom
+srandom_r                      srandom_r
+sscanf                         sscanf
+ssignal                                ssignal
+sstk                           sstk
+statfs                         statfs
+                             > statfs64                        NEW: LFS
+                             > statvfs                         NEW: Unix98
+                             > statvfs64                       NEW: LFS
+stderr                         stderr
+stdin                          stdin
+stdout                         stdout
+step                           step
+stime                          stime
+stpcpy                         stpcpy
+stpncpy                                stpncpy
+strcasecmp                     strcasecmp
+                             > strcasestr                      NEW: GNU ext.
+strcat                         strcat
+strchr                         strchr
+strcmp                         strcmp
+strcoll                                strcoll
+strcpy                         strcpy
+strcspn                                strcspn
+strdup                         strdup
+strerror                       strerror
+strerror_r                     strerror_r
+strfmon                                strfmon
+strfry                         strfry
+strftime                       strftime
+                             > strfxtime                       NEW: ISO C 9x
+strlen                         strlen
+strncasecmp                    strncasecmp
+strncat                                strncat
+strncmp                                strncmp
+strncpy                                strncpy
+strndup                                strndup
+strnlen                                strnlen
+strpbrk                                strpbrk
+strptime                       strptime
+strrchr                                strrchr
+strsep                         strsep
+strsignal                      strsignal
+strspn                         strspn
+strstr                         strstr
+strtod                         strtod
+strtof                         strtof
+                             > strtoimax                       NEW: ISO C 9x
+strtok                         strtok
+strtok_r                       strtok_r
+strtol                         strtol
+strtold                                strtold
+strtoll                                strtoll
+strtoq                         strtoq
+strtoul                                strtoul
+strtoull                       strtoull
+                             > strtoumax                       NEW: ISO C 9x
+strtouq                                strtouq
+                             > strverscmp                      NEW: GNU ext.
+strxfrm                                strxfrm
+stty                           stty
+svc_exit                       svc_exit
+svc_fdset                      svc_fdset
+svc_getreq                     svc_getreq
+svc_getreqset                  svc_getreqset
+svc_register                   svc_register
+svc_run                                svc_run
+svc_sendreply                  svc_sendreply
+svc_unregister                 svc_unregister
+                             > svcauthdes_stats                NEW: NIS+
+svcerr_auth                    svcerr_auth
+svcerr_decode                  svcerr_decode
+svcerr_noproc                  svcerr_noproc
+svcerr_noprog                  svcerr_noprog
+svcerr_progvers                        svcerr_progvers
+svcerr_systemerr               svcerr_systemerr
+svcerr_weakauth                        svcerr_weakauth
+svcfd_create                   svcfd_create
+svcraw_create                  svcraw_create
+svctcp_create                  svctcp_create
+svcudp_bufcreate               svcudp_bufcreate
+svcudp_create                  svcudp_create
+svcudp_enablecache             svcudp_enablecache
+                             > svcunix_create                  NEW: sunrpc etx
+                             > svcunixfd_create                NEW: sunrpc ext
+swab                           swab
+                             > swapcontext                     NEW: Unix98
+swapoff                                swapoff
+swapon                         swapon
+symlink                                symlink
+sync                           sync
+sys_errlist                    sys_errlist
+sys_nerr                       sys_nerr
+sys_sigabbrev                  sys_sigabbrev
+sys_siglist                    sys_siglist
+syscall                                syscall
+sysconf                                sysconf
+sysctl                         sysctl
+sysinfo                                sysinfo
+syslog                         syslog
+system                         system
+sysv_signal                    sysv_signal
+tan                            tan
+tanf                           tanf
+tanh                           tanh
+tanhf                          tanhf
+tanhl                          tanhl
+tanl                           tanl
+tcdrain                                tcdrain
+tcflow                         tcflow
+tcflush                                tcflush
+tcgetattr                      tcgetattr
+tcgetpgrp                      tcgetpgrp
+                             > tcgetsid                        NEW: Unix98 PTY
+tcsendbreak                    tcsendbreak
+tcsetattr                      tcsetattr
+tcsetpgrp                      tcsetpgrp
+tdelete                                tdelete
+                             > tdestroy                        NEW: GNU ext.
+telldir                                telldir
+tempnam                                tempnam
+textdomain                     textdomain
+tfind                          tfind
+                             > tgamma                          NEW: ISO C 9x
+                             > tgammaf                         NEW: ISO C 9x
+                             > tgammal                         NEW: ISO C 9x
+time                           time
+timegm                         timegm
+timelocal                      timelocal
+times                          times
+timezone                       timezone
+tmpfile                                tmpfile
+                             > tmpfile64                       NEW: LFS
+tmpnam                         tmpnam
+tmpnam_r                       tmpnam_r
+toascii                                toascii
+tolower                                tolower
+toupper                                toupper
+towctrans                      towctrans
+towlower                       towlower
+towupper                       towupper
+tr_break                       tr_break
+                             > trunc                           NEW: ISO C 9x
+truncate                       truncate
+                             > truncate64                      NEW: LFS
+                             > truncf                          NEW: ISO C 9x
+                             > truncl                          NEW: ISO C 9x
+tsearch                                tsearch
+ttyname                                ttyname
+ttyname_r                      ttyname_r
+ttyslot                                ttyslot
+twalk                          twalk
+tzname                         tzname
+tzset                          tzset
+ualarm                         ualarm
+ulckpwdf                       ulckpwdf
+ulimit                         ulimit
+umask                          umask
+umount                         umount
+                             > umount2                         NEW: kernel
+uname                          uname
+ungetc                         ungetc
+unlink                         unlink
+                             > unlockpt                        NEW: Unix98 PTY
+unsetenv                       unsetenv
+updwtmp                                updwtmp
+                             > updwtmpx                        NEW: utmpx
+uselib                         uselib
+                             > user2netname                    NEW: IPv6
+usleep                         usleep
+ustat                          ustat
+utime                          utime
+utimes                         utimes
+utmpname                       utmpname
+                             > utmpxname                       NEW: utmpx
+valloc                         valloc
+vasprintf                      vasprintf
+vdprintf                       vdprintf
+verr                           verr
+verrx                          verrx
+                             > versionsort                     NEW: GNU ext.
+                             > versionsort64                   NEW: LFS
+vfork                          vfork
+vfprintf                       vfprintf
+vfscanf                                vfscanf
+vhangup                                vhangup
+vlimit                         vlimit
+vm86                           vm86
+vprintf                                vprintf
+vscanf                         vscanf
+vsnprintf                      vsnprintf
+vsprintf                       vsprintf
+vsscanf                                vsscanf
+vsyslog                                vsyslog
+vtimes                         vtimes
+vwarn                          vwarn
+vwarnx                         vwarnx
+wait                           wait
+wait3                          wait3
+wait4                          wait4
+                             > waitid                          NEW: Unix98
+waitpid                                waitpid
+warn                           warn
+warnx                          warnx
+wcpcpy                         wcpcpy
+wcpncpy                                wcpncpy
+wcrtomb                                wcrtomb
+                             > wcscasecmp                      NEW: GNU ext.
+wcscat                         wcscat
+wcschr                         wcschr
+wcscmp                         wcscmp
+wcscoll                                wcscoll
+wcscpy                         wcscpy
+wcscspn                                wcscspn
+wcsdup                         wcsdup
+wcslen                         wcslen
+                             > wcsncasecmp                     NEW: GNU ext.
+wcsncat                                wcsncat
+wcsncmp                                wcsncmp
+wcsncpy                                wcsncpy
+                             > wcsnlen                         NEW: GNU ext.
+wcsnrtombs                     wcsnrtombs
+wcspbrk                                wcspbrk
+wcsrchr                                wcsrchr
+wcsrtombs                      wcsrtombs
+wcsspn                         wcsspn
+wcsstr                         wcsstr
+wcstod                         wcstod
+wcstof                         wcstof
+                             > wcstoimax                       NEW: ISO C 9x
+wcstok                         wcstok
+wcstol                         wcstol
+wcstold                                wcstold
+                             > wcstoll                         NEW: ISO C 9x
+wcstombs                       wcstombs
+wcstoq                         wcstoq
+wcstoul                                wcstoul
+                             > wcstoull                        NEW: ISO C 9x
+                             > wcstoumax                       NEW: ISO C 9x
+wcstouq                                wcstouq
+                             > wcswcs                          NEW: Unix98
+wcswidth                       wcswidth
+wcsxfrm                                wcsxfrm
+wctob                          wctob
+wctomb                         wctomb
+wctrans                                wctrans
+wctype                         wctype
+wcwidth                                wcwidth
+wmemchr                                wmemchr
+wmemcmp                                wmemcmp
+wmemcpy                                wmemcpy
+wmemmove                       wmemmove
+wmemset                                wmemset
+                             > wordexp                         NEW: POSIX.2
+                             > wordfree                        NEW: POSIX.2
+write                          write
+write_profiling                      <                                 REMOVED
+writev                         writev
+                             > xdecrypt                        NEW: NIS+
+xdr_accepted_reply             xdr_accepted_reply
+xdr_array                      xdr_array
+                             > xdr_authdes_cred                NEW: NIS+
+                             > xdr_authdes_verf                NEW: NIS+
+xdr_authunix_parms             xdr_authunix_parms
+xdr_bool                       xdr_bool
+xdr_bytes                      xdr_bytes
+xdr_callhdr                    xdr_callhdr
+xdr_callmsg                    xdr_callmsg
+xdr_char                       xdr_char
+                             > xdr_cryptkeyarg                 NEW: NIS+
+                             > xdr_cryptkeyarg2                NEW: NIS+
+                             > xdr_cryptkeyres                 NEW: NIS+
+xdr_des_block                  xdr_des_block
+xdr_double                     xdr_double
+xdr_enum                       xdr_enum
+xdr_float                      xdr_float
+xdr_free                       xdr_free
+                             > xdr_getcredres                  NEW: NIS+
+xdr_int                                xdr_int
+                             > xdr_key_netstarg                NEW: NIS+
+                             > xdr_key_netstres                NEW: NIS+
+                             > xdr_keybuf                      NEW: NIS+
+                             > xdr_keystatus                   NEW: NIS+
+xdr_long                       xdr_long
+                             > xdr_netnamestr                  NEW: NIS+
+xdr_netobj                     xdr_netobj
+xdr_opaque                     xdr_opaque
+xdr_opaque_auth                        xdr_opaque_auth
+xdr_pmap                       xdr_pmap
+xdr_pmaplist                   xdr_pmaplist
+xdr_pointer                    xdr_pointer
+xdr_reference                  xdr_reference
+xdr_rejected_reply             xdr_rejected_reply
+xdr_replymsg                   xdr_replymsg
+xdr_rmtcall_args               xdr_rmtcall_args
+xdr_rmtcallres                 xdr_rmtcallres
+xdr_short                      xdr_short
+                             > xdr_sizeof                      NEW: NIS+
+xdr_string                     xdr_string
+xdr_u_char                     xdr_u_char
+xdr_u_int                      xdr_u_int
+xdr_u_long                     xdr_u_long
+xdr_u_short                    xdr_u_short
+xdr_union                      xdr_union
+                             > xdr_unixcred                    NEW: sunrpc ext
+xdr_vector                     xdr_vector
+xdr_void                       xdr_void
+xdr_wrapstring                 xdr_wrapstring
+xdrmem_create                  xdrmem_create
+xdrrec_create                  xdrrec_create
+xdrrec_endofrecord             xdrrec_endofrecord
+xdrrec_eof                     xdrrec_eof
+xdrrec_skiprecord              xdrrec_skiprecord
+xdrstdio_create                        xdrstdio_create
+                             > xencrypt                        NEW: NIS+
+xprt_register                  xprt_register
+xprt_unregister                        xprt_unregister
+y0                             y0
+y0f                            y0f
+y0l                            y0l
+y1                             y1
+y1f                            y1f
+y1l                            y1l
+yn                             yn
+ynf                            ynf
+ynl                            ynl
diff --git a/NEWS b/NEWS
index 86d94f3..8794dfc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -55,8 +55,30 @@ Version 2.1
 
 * An implementation of profiling shared libraries was added by Ulrich Drepper.
 
-* Thorsten Kukuk provided an implementation for a caching daemon for NSS
-  (nscd).
+* Thorsten Kukuk and Ulrich Drepper provided an implementation for a caching
+  daemon for NSS (nscd).
+
+  Missing a better place here are some numbers on improvements.  Under
+  Linux 2.1.125 un-tar-ing the kernel sources takes
+
+                               user    system  wall
+
+    using local files          12.19s   6.88s  22.91s
+
+    using NIS                  13.92s   8.91s  26.34s
+
+    using NIS & nscd           10.37s   7.34s  25.30s
+
+    using NIS & old nscd [1]   13.83s   8.32s  29.60s
+
+  When NIS+ is used instead of NIS the benefit from using nscd is much bigger.
+  Keep in mind that non-namelookup related operations dominate above times.
+  It was just a common complain that using NIS+ unpacking the kernel is
+  horribly slow.  When using nscd unpacking is now even faster than using
+  NIS.
+
+  [1] The old nscd implementation is not anymore available since it was
+  distributed with glibc up to version 2.0.98.
 
 * Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
 
@@ -66,6 +88,340 @@ Version 2.1
   and $PLATFORM) in RPATHs and similar strings (Ulrich Drepper).
 
 * rcmd can now handle netgroups (Dick Streefland).
+
+* Interface changes relative to the latest 2.0.x release:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+addseverity                    NEW: fmtmsg
+alphasort64                    NEW: LFS
+argp_err_exit_status           NEW: argp
+argp_error                     NEW: argp
+argp_failure                   NEW: argp
+argp_help                      NEW: argp
+argp_parse                     NEW: argp
+argp_program_bug_address       NEW: argp
+argp_program_version           NEW: argp
+argp_program_version_hook      NEW: argp
+argp_state_help                        NEW: argp
+argp_usage                     NEW: argp
+authdes_create                 NEW: NIS+
+authdes_getucred               NEW: NIS+
+authdes_pk_create              NEW: NIS+
+backtrace                      NEW: GNU ext.
+backtrace_symbols              NEW: GNU ext.
+backtrace_symbols_fd           NEW: GNU ext.
+cacos                          NEW: ISO C 9x
+cacosf                         NEW: ISO C 9x
+cacosh                         NEW: ISO C 9x
+cacoshf                                NEW: ISO C 9x
+cacoshl                                NEW: ISO C 9x
+cacosl                         NEW: ISO C 9x
+capget                         NEW: kernel
+capset                         NEW: kernel
+carg                           NEW: ISO C 9x
+cargf                          NEW: ISO C 9x
+cargl                          NEW: ISO C 9x
+casin                          NEW: ISO C 9x
+casinf                         NEW: ISO C 9x
+casinh                         NEW: ISO C 9x
+casinhf                                NEW: ISO C 9x
+casinhl                                NEW: ISO C 9x
+casinl                         NEW: ISO C 9x
+catan                          NEW: ISO C 9x
+catanf                         NEW: ISO C 9x
+catanh                         NEW: ISO C 9x
+catanhf                                NEW: ISO C 9x
+catanhl                                NEW: ISO C 9x
+catanl                         NEW: ISO C 9x
+cbc_crypt                      NEW: NIS+
+ccos                           NEW: ISO C 9x
+ccosf                          NEW: ISO C 9x
+ccosh                          NEW: ISO C 9x
+ccoshf                         NEW: ISO C 9x
+ccoshl                         NEW: ISO C 9x
+ccosl                          NEW: ISO C 9x
+cexp                           NEW: ISO C 9x
+cexpf                          NEW: ISO C 9x
+cexpl                          NEW: ISO C 9x
+cimag                          NEW: ISO C 9x
+cimagf                         NEW: ISO C 9x
+cimagl                         NEW: ISO C 9x
+clearerr_locked                        REMOVED
+clntunix_create                        NEW: sunrpc ext
+clog                           NEW: ISO C 9x
+clog10                         NEW: ISO C 9x
+clog10f                                NEW: ISO C 9x
+clog10l                                NEW: ISO C 9x
+clogf                          NEW: ISO C 9x
+clogl                          NEW: ISO C 9x
+conj                           NEW: ISO C 9x
+conjf                          NEW: ISO C 9x
+conjl                          NEW: ISO C 9x
+cpow                           NEW: ISO C 9x
+cpowf                          NEW: ISO C 9x
+cpowl                          NEW: ISO C 9x
+cproj                          NEW: ISO C 9x
+cprojf                         NEW: ISO C 9x
+cprojl                         NEW: ISO C 9x
+creal                          NEW: ISO C 9x
+crealf                         NEW: ISO C 9x
+creall                         NEW: ISO C 9x
+creat64                                NEW: LFS
+csin                           NEW: ISO C 9x
+csinf                          NEW: ISO C 9x
+csinh                          NEW: ISO C 9x
+csinhf                         NEW: ISO C 9x
+csinhl                         NEW: ISO C 9x
+csinl                          NEW: ISO C 9x
+csqrt                          NEW: ISO C 9x
+csqrtf                         NEW: ISO C 9x
+csqrtl                         NEW: ISO C 9x
+ctan                           NEW: ISO C 9x
+ctanf                          NEW: ISO C 9x
+ctanh                          NEW: ISO C 9x
+ctanhf                         NEW: ISO C 9x
+ctanhl                         NEW: ISO C 9x
+ctanl                          NEW: ISO C 9x
+des_setparity                  NEW: NIS+
+ecb_crypt                      NEW: NIS+
+endutxent                      NEW: utmpx
+exp10                          NEW: ISO C 9x
+exp10f                         NEW: ISO C 9x
+exp10l                         NEW: ISO C 9x
+exp2                           NEW: ISO C 9x
+exp2f                          NEW: ISO C 9x
+exp2l                          NEW: ISO C 9x
+fattach                                NEW: STREAMS
+fdetach                                NEW: STREAMS
+fdim                           NEW: ISO C 9x
+fdimf                          NEW: ISO C 9x
+fdiml                          NEW: ISO C 9x
+feclearexcept                  NEW: ISO C 9x
+fegetenv                       NEW: ISO C 9x
+fegetexceptflag                        NEW: ISO C 9x
+fegetround                     NEW: ISO C 9x
+feholdexcept                   NEW: ISO C 9x
+feof_locked                    REMOVED
+feraiseexcept                  NEW: ISO C 9x
+ferror_locked                  REMOVED
+fesetenv                       NEW: ISO C 9x
+fesetexceptflag                        NEW: ISO C 9x
+fesetround                     NEW: ISO C 9x
+fetestexcept                   NEW: ISO C 9x
+feupdateenv                    NEW: ISO C 9x
+fflush_locked                  REMOVED
+ffsl                           NEW: GNU ext.
+ffsll                          NEW: GNU ext.
+fgetpos64                      NEW: LFS
+fgets_unlocked                 NEW: GNU ext.
+fileno_locked                  REMOVED
+fma                            NEW: ISO C 9x
+fmaf                           NEW: ISO C 9x
+fmal                           NEW: ISO C 9x
+fmax                           NEW: ISO C 9x
+fmaxf                          NEW: ISO C 9x
+fmaxl                          NEW: ISO C 9x
+fmin                           NEW: ISO C 9x
+fminf                          NEW: ISO C 9x
+fminl                          NEW: ISO C 9x
+fmtmsg                         NEW: fmtmsg
+fopen64                                NEW: LFS
+fputc_locked                   REMOVED
+fputs_unlocked                 NEW: GNU ext.
+fread_unlocked                 NEW: GNU ext.
+freopen64                      NEW: LFS
+fseeko                         NEW: Unix98
+fsetpos64                      NEW: LFS
+fstatfs64                      NEW: LFS
+fstatvfs                       NEW: Unix98
+fstatvfs64                     NEW: LFS
+ftello                         NEW: Unix98
+ftello64                       NEW: LFS
+ftruncate64                    NEW: LFS
+ftw64                          NEW: LFS
+fwrite_unlocked                        NEW: GNU ext.
+gai_strerror                   NEW: IPv6
+gamma_r                                REMOVED
+gammaf_r                       REMOVED
+gammal_r                       REMOVED
+getchar_locked                 REMOVED
+getdate                                NEW: Unix98
+getdate_err                    NEW: Unix98
+getdate_r                      NEW: GNU ext.
+getmsg                         NEW: STREAMS
+getnameinfo                    NEW: IPv6
+getnetname                     NEW: IPv6
+getpmsg                                NEW: STREAMS
+getpt                          NEW: Unix98 PTY
+getrlimit64                    NEW: LFS
+getutxent                      NEW: utmpx
+getutxid                       NEW: utmpx
+getutxline                     NEW: utmpx
+glob64                         NEW: GNU ext.
+globfree64                     NEW: GNU ext.
+gnu_get_libc_release           NEW: GNU ext.
+gnu_get_libc_version           NEW: GNU ext.
+grantpt                                NEW: Unix98 PTY
+host2netname                   NEW: IPv6
+iconv                          NEW: iconv
+iconv_close                    NEW: iconv
+iconv_open                     NEW: iconv
+if_freenameindex               NEW: IPv6
+if_indextoname                 NEW: IPv6
+if_nameindex                   NEW: IPv6
+if_nametoindex                 NEW: IPv6
+in6addr_any                    NEW: IPv6
+in6addr_loopback               NEW: IPv6
+inet6_isipv4mapped             NEW: IPv6
+isastream                      NEW: STREAMS
+iswblank                       NEW: GNU ext.
+key_decryptsession             NEW: NIS+
+key_decryptsession_pk          NEW: NIS+
+key_encryptsession             NEW: NIS+
+key_encryptsession_pk          NEW: NIS+
+key_gendes                     NEW: NIS+
+key_get_conv                   NEW: NIS+
+key_secretkey_is_set           NEW: NIS+
+key_setnet                     NEW: NIS+
+key_setsecret                  NEW: NIS+
+llrint                         NEW: ISO C 9x
+llrintf                                NEW: ISO C 9x
+llrintl                                NEW: ISO C 9x
+llround                                NEW: ISO C 9x
+llroundf                       NEW: ISO C 9x
+llroundl                       NEW: ISO C 9x
+log2                           NEW: ISO C 9x
+log2f                          NEW: ISO C 9x
+log2l                          NEW: ISO C 9x
+lrint                          NEW: ISO C 9x
+lrintf                         NEW: ISO C 9x
+lrintl                         NEW: ISO C 9x
+lround                         NEW: ISO C 9x
+lroundf                                NEW: ISO C 9x
+lroundl                                NEW: ISO C 9x
+lseek64                                NEW: LFS
+makecontext                    NEW: Unix98
+mempcpy                                NEW: GNU ext.
+mmap64                         NEW: LFS
+moncontrol                     REMOVED
+modify_ldt                     NEW: kernel
+nan                            NEW: ISO C 9x
+nanf                           NEW: ISO C 9x
+nanl                           NEW: ISO C 9x
+nearbyint                      NEW: ISO C 9x
+nearbyintf                     NEW: ISO C 9x
+nearbyintl                     NEW: ISO C 9x
+netname2host                   NEW: IPv6
+netname2user                   NEW: IPv6
+nextafterx                     NEW: ISO C 9x
+nextafterxf                    NEW: ISO C 9x
+nftw                           NEW: Unix98
+nftw64                         NEW: LFS
+open64                         NEW: LFS
+passwd2des                     NEW: NIS+
+pow10                          NEW: GNU ext.
+pow10f                         NEW: GNU ext.
+pow10l                         NEW: GNU ext.
+pread                          NEW: Unix98
+pread64                                NEW: LFS
+printf_size                    NEW: GNU ext.
+printf_size_info               NEW: GNU ext.
+profil_counter                 REMOVED
+pthread_mutexattr_getkind_np   REPLACED
+pthread_mutexattr_setkind_np   REPLACED
+ptsname                                NEW: Unix98 PTY
+ptsname_r                      NEW: Unix98 PTY
+putc_locked                    REMOVED
+putchar_locked                 REMOVED
+putgrent                       NEW: GNU ext.
+putmsg                         NEW: STREAMS
+putpmsg                                NEW: STREAMS
+pututxline                     NEW: utmpx
+pwrite                         NEW: Unix98
+pwrite64                       NEW: LFS
+readdir64                      NEW: LFS
+readdir64_r                    NEW: LFS
+remquo                         NEW: ISO C 9x
+remquof                                NEW: ISO C 9x
+remquol                                NEW: ISO C 9x
+round                          NEW: ISO C 9x
+roundf                         NEW: ISO C 9x
+roundl                         NEW: ISO C 9x
+rtime                          NEW: GNU ext.
+scalbln                                NEW: ISO C 9x
+scalblnf                       NEW: ISO C 9x
+scalblnl                       NEW: ISO C 9x
+scandir64                      NEW: LFS
+sendfile                       NEW: kernel
+setcontext                     NEW: Unix98
+setrlimit64                    NEW: LFS
+setutxent                      NEW: utmpx
+sighold                                NEW: Unix98
+sigignore                      NEW: Unix98
+sigqueue                       NEW: POSIX.1b
+sigrelse                       NEW: Unix98
+sigset                         NEW: POSIX.1b
+sigtimedwait                   NEW: POSIX.1b
+sigwaitinfo                    NEW: POSIX.1b
+sincos                         NEW: GNU ext.
+sincosf                                NEW: GNU ext.
+sincosl                                NEW: GNU ext.
+statfs64                       NEW: LFS
+statvfs                                NEW: Unix98
+statvfs64                      NEW: LFS
+strcasestr                     NEW: GNU ext.
+strfxtime                      NEW: ISO C 9x
+strtoimax                      NEW: ISO C 9x
+strtoumax                      NEW: ISO C 9x
+strverscmp                     NEW: GNU ext.
+svcauthdes_stats               NEW: NIS+
+svcunix_create                 NEW: sunrpc etx
+svcunixfd_create               NEW: sunrpc ext
+swapcontext                    NEW: Unix98
+tcgetsid                       NEW: Unix98 PTY
+tdestroy                       NEW: GNU ext.
+tgamma                         NEW: ISO C 9x
+tgammaf                                NEW: ISO C 9x
+tgammal                                NEW: ISO C 9x
+tmpfile64                      NEW: LFS
+trunc                          NEW: ISO C 9x
+truncate64                     NEW: LFS
+truncf                         NEW: ISO C 9x
+truncl                         NEW: ISO C 9x
+umount2                                NEW: kernel
+unlockpt                       NEW: Unix98 PTY
+updwtmpx                       NEW: utmpx
+user2netname                   NEW: IPv6
+utmpxname                      NEW: utmpx
+versionsort                    NEW: GNU ext.
+versionsort64                  NEW: LFS
+waitid                         NEW: Unix98
+wcscasecmp                     NEW: GNU ext.
+wcsncasecmp                    NEW: GNU ext.
+wcsnlen                                NEW: GNU ext.
+wcstoimax                      NEW: ISO C 9x
+wcstoll                                NEW: ISO C 9x
+wcstoull                       NEW: ISO C 9x
+wcstoumax                      NEW: ISO C 9x
+wcswcs                         NEW: Unix98
+wordexp                                NEW: POSIX.2
+wordfree                       NEW: POSIX.2
+write_profiling                        REMOVED
+xdecrypt                       NEW: NIS+
+xdr_authdes_cred               NEW: NIS+
+xdr_authdes_verf               NEW: NIS+
+xdr_cryptkeyarg                        NEW: NIS+
+xdr_cryptkeyarg2               NEW: NIS+
+xdr_cryptkeyres                        NEW: NIS+
+xdr_getcredres                 NEW: NIS+
+xdr_key_netstarg               NEW: NIS+
+xdr_key_netstres               NEW: NIS+
+xdr_keybuf                     NEW: NIS+
+xdr_keystatus                  NEW: NIS+
+xdr_netnamestr                 NEW: NIS+
+xdr_sizeof                     NEW: NIS+
+xdr_unixcred                   NEW: sunrpc ext
+xencrypt                       NEW: NIS+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \f
 Version 2.0.5
 
index 76513f7..d15a75d 100644 (file)
    only defined on real valued parameters and those which are defined
    for complex functions as well.  */
 # define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \
-     (__extension__ (sizeof (Val) == sizeof (double)                         \
-                    ? Fct (Val)                                              \
-                    : (sizeof (Val) == sizeof (long double)                  \
-                       ? Fct##l (Val)                                        \
-                       : Fct##f (Val))))
+     (__extension__ ({ __typeof__ (Val) __tgmres;                            \
+                      if (sizeof (Val) == sizeof (double))                   \
+                        __tgmres = Fct (Val);                                \
+                      else if (sizeof (Val) == sizeof (float))               \
+                        __tgmres = Fct##f (Val);                             \
+                      else                                                   \
+                        __tgmres = Fct##l (Val);                             \
+                      __tgmres; }))
 
 # define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \
-     (__extension__ (sizeof (Val1) > sizeof (double)                         \
-                    ? Fct##l (Val1, Val2)                                    \
-                    : (sizeof (Val1) == sizeof (double)                      \
-                       ? Fct (Val1, Val2)                                    \
-                       : Fct##f (Val1, Val2))))
+     (__extension__ ({ __typeof__ (Val1) __tgmres;                           \
+                      if (sizeof (Val1) == sizeof (double))                  \
+                        __tgmres = Fct (Val1, Val2);                         \
+                      else if (sizeof (Val1) == sizeof (float))              \
+                        __tgmres = Fct##f (Val1, Val2);                      \
+                      else                                                   \
+                        __tgmres = Fct##l (Val1, Val2);                      \
+                      __tgmres; }))
 
 # define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \
-     (__extension__ (sizeof (Val1) > sizeof (double)                         \
-                    || sizeof (Val2) > sizeof (double)                       \
-                    ? Fct##l (Val1, Val2)                                    \
-                    : (sizeof (Val1) == sizeof (double)                      \
-                       || sizeof (Val2) == sizeof (double)                   \
-                       ? Fct (Val1, Val2)                                    \
-                       : Fct##f (Val1, Val2))))
+     (__extension__ ({ __typeof__ ((Val1) + (Val2)) __tgmres;                \
+                      if (sizeof (Val1) > sizeof (double)                    \
+                          || sizeof (Val2) > sizeof (double))                \
+                        __tgmres = Fct##l (Val1, Val2);                      \
+                      else if (sizeof (Val1) == sizeof (double)              \
+                               || sizeof (Val2) == sizeof (double))          \
+                        __tgmres = Fct (Val1, Val2);                         \
+                      else                                                   \
+                        __tgmres = Fct (Val1, Val2);                         \
+                      __tgmres; }))
 
 # define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \
-     (__extension__ (sizeof (Val1) > sizeof (double)                         \
-                    || sizeof (Val2) > sizeof (double)                       \
-                    ? Fct##l (Val1, Val2, Val3)                              \
-                    : (sizeof (Val1) == sizeof (double)                      \
-                       || sizeof (Val2) == sizeof (double)                   \
-                       ? Fct (Val1, Val2, Val3)                              \
-                       : Fct##f (Val1, Val2, Val3))))
+     (__extension__ ({ __typeof__ ((Val1) + (Val2)) __tgmres;                \
+                      if (sizeof (Val1) > sizeof (double)                    \
+                          || sizeof (Val2) > sizeof (double))                \
+                        __tgmres = Fct##l (Val1, Val2, Val3);                \
+                      else if (sizeof (Val1) == sizeof (double)              \
+                               || sizeof (Val2) == sizeof (double))          \
+                        __tgmres = Fct (Val1, Val2, Val3);                   \
+                      else                                                   \
+                        __tgmres = Fct (Val1, Val2, Val3);                   \
+                      __tgmres; }))
 
 # define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \
-     (__extension__ (sizeof (Val1) > sizeof (double)                         \
-                    || sizeof (Val2) > sizeof (double)                       \
-                    || sizeof (Val3) > sizeof (double)                       \
-                    ? Fct##l (Val1, Val2, Val3)                              \
-                    : (sizeof (Val1) == sizeof (double)                      \
-                       || sizeof (Val2) == sizeof (double)                   \
-                       || sizeof (Val3) == sizeof (double)                   \
-                       ? Fct (Val1, Val2, Val3)                              \
-                       : Fct##f (Val1, Val2, Val3))))
+     (__extension__ ({ __typeof__ ((Val1) + (Val2) + (Val3)) __tgmres;       \
+                      if (sizeof (Val1) > sizeof (double)                    \
+                          || sizeof (Val2) > sizeof (double)                 \
+                          || sizeof (Val3) > sizeof (double))                \
+                        __tgmres = Fct##l (Val1, Val2, Val3);                \
+                      else if (sizeof (Val1) == sizeof (double)              \
+                               || sizeof (Val2) == sizeof (double)           \
+                               || sizeof (Val3) == sizeof (double))          \
+                        __tgmres = Fct (Val1, Val2, Val3);                   \
+                      else                                                   \
+                        __tgmres = Fct (Val1, Val2, Val3);                   \
+                      __tgmres; }))
 
+/* XXX This definition has to be changed as soon as the compiler understands
+   the imaginary keyword.  */
 # define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \
-     (__extension__ (sizeof (__real__ (Val)) > sizeof (double)               \
-                    ? (sizeof (__real__ (Val)) == sizeof (Val)               \
-                       ? Fct##l (Val)                                        \
-                       : Cfct##l (Val))                                      \
-                    : (sizeof (__real__ (Val)) == sizeof (double)            \
-                       ? (sizeof (__real__ (Val)) == sizeof (Val)            \
-                          ? Fct (Val)                                        \
-                          : Cfct (Val))                                      \
-                       : (sizeof (__real__ (Val)) == sizeof (Val)            \
-                          ? Fct##f (Val)                                     \
-                          : Cfct##f (Val)))))
+     (__extension__ ({ __typeof__ (Val) __tgmres;                            \
+                      if (sizeof (__real__ (Val)) > sizeof (double))         \
+                        {                                                    \
+                          if (sizeof (__real__ (Val)) == sizeof (Val))       \
+                            __tgmres = Fct##l (Val);                         \
+                          else                                               \
+                            __tgmres = Cfct##l (Val);                        \
+                        }                                                    \
+                      else if (sizeof (__real__ (Val)) == sizeof (double))   \
+                        {                                                    \
+                          if (sizeof (__real__ (Val)) == sizeof (Val))       \
+                            __tgmres = Fct (Val);                            \
+                          else                                               \
+                            __tgmres = Cfct (Val);                           \
+                        }                                                    \
+                      else                                                   \
+                        {                                                    \
+                          if (sizeof (__real__ (Val)) == sizeof (Val))       \
+                            __tgmres = Fct##f (Val);                         \
+                          else                                               \
+                            __tgmres = Cfct##f (Val);                        \
+                        }                                                    \
+                      __tgmres; }))
 
 /* XXX This definition has to be changed as soon as the compiler understands
    the imaginary keyword.  */
 # define __TGMATH_UNARY_IMAG_ONLY(Val, Fct) \
-     (__extension__ (sizeof (Val) > sizeof (__complex__ double)                      \
-                    ? Fct##l (Val)                                           \
-                    : (sizeof (Val) == sizeof (__complex__ double)           \
-                       ? Fct (Val)                                           \
-                       : Fct##f (Val))))
+     (__extension__ ({ __typeof__ (Val) __tgmres;                            \
+                      if (sizeof (Val) == sizeof (__complex__ double))       \
+                        __tgmres = Fct (Val);                                \
+                      else if (sizeof (Val) == sizeof (__complex__ float))   \
+                        __tgmres = Fct##f (Val);                             \
+                      else                                                   \
+                        __tgmres = Fct##l (Val);                             \
+                      __tgmres; }))
 
+/* XXX This definition has to be changed as soon as the compiler understands
+   the imaginary keyword.  */
 # define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \
-     (__extension__ (sizeof (__real__ (Val1)) > sizeof (double)                      \
-                    || sizeof (__real__ (Val2)) > sizeof (double)            \
-                    ? (sizeof (__real__ (Val1)) == sizeof (Val1)             \
-                       && sizeof (__real__ (Val2)) == sizeof (Val2)          \
-                       ? Fct##l (Val1, Val2)                                 \
-                       : Cfct##l (Val1, Val2))                               \
-                    : (sizeof (__real__ (Val1)) == sizeof (double)           \
-                       || sizeof (__real__ (Val2)) == sizeof (double)        \
-                       ? (sizeof (__real__ (Val1)) == sizeof (Val1)          \
-                          && sizeof (__real__ (Val2)) == sizeof (Val2)       \
-                          ? Fct (Val1, Val2)                                 \
-                          : Cfct (Val1, Val2))                               \
-                       : (sizeof (__real__ (Val1)) == sizeof (Val1)          \
-                          && sizeof (__real__ (Val2)) == sizeof (Val2)       \
-                          ? Fct##f (Val1, Val2)                              \
-                          : Cfct##f (Val1, Val2)))))
+     (__extension__ ({ __typeof__ ((Val1) + (Val2)) __tgmres;                \
+                      if (sizeof (__real__ (Val1)) > sizeof (double)         \
+                          || sizeof (__real__ (Val2)) > sizeof (double))     \
+                        {                                                    \
+                          if (sizeof (__real__ (Val1)) == sizeof (Val1)      \
+                              && sizeof (__real__ (Val2)) == sizeof (Val2))  \
+                            __tgmres = Fct##l (Val1, Val2);                  \
+                          else                                               \
+                            __tgmres = Cfct##l (Val1, Val2);                 \
+                        }                                                    \
+                      else if (sizeof (__real__ (Val1)) == sizeof (double)   \
+                               || sizeof (__real__ (Val2)) == sizeof(double))\
+                        {                                                    \
+                          if (sizeof (__real__ (Val1)) == sizeof (Val1)      \
+                              && sizeof (__real__ (Val2)) == sizeof (Val2))  \
+                            __tgmres = Fct (Val1, Val2);                     \
+                          else                                               \
+                            __tgmres = Cfct (Val1, Val2);                    \
+                        }                                                    \
+                      else                                                   \
+                        {                                                    \
+                          if (sizeof (__real__ (Val1)) == sizeof (Val1)      \
+                              && sizeof (__real__ (Val2)) == sizeof (Val2))  \
+                            __tgmres = Fct##f (Val1, Val2);                  \
+                          else                                               \
+                            __tgmres = Cfct##f (Val1, Val2);                 \
+                        }                                                    \
+                      __tgmres; }))
 #else
 # error "Unsupported compiler; you cannot use <tgmath.h>"
 #endif