summaryrefslogtreecommitdiff
path: root/libc/ports
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ports')
-rw-r--r--libc/ports/ChangeLog4
-rw-r--r--libc/ports/ChangeLog.aarch6414
-rw-r--r--libc/ports/ChangeLog.alpha20
-rw-r--r--libc/ports/ChangeLog.arm49
-rw-r--r--libc/ports/ChangeLog.hppa4
-rw-r--r--libc/ports/ChangeLog.ia645
-rw-r--r--libc/ports/ChangeLog.m68k8
-rw-r--r--libc/ports/ChangeLog.mips124
-rw-r--r--libc/ports/ChangeLog.powerpc42
-rw-r--r--libc/ports/ChangeLog.tile9
-rw-r--r--libc/ports/sysdeps/aarch64/machine-gmon.h15
-rw-r--r--libc/ports/sysdeps/alpha/alphaev67/ffs.S1
-rw-r--r--libc/ports/sysdeps/alpha/ffs.S1
-rw-r--r--libc/ports/sysdeps/arm/__longjmp.S18
-rw-r--r--libc/ports/sysdeps/arm/armv6t2/ffs.S1
-rw-r--r--libc/ports/sysdeps/arm/armv7/multiarch/memcpy_impl.S11
-rw-r--r--libc/ports/sysdeps/arm/bits/atomic.h94
-rw-r--r--libc/ports/sysdeps/arm/include/bits/setjmp.h5
-rw-r--r--libc/ports/sysdeps/arm/jmpbuf-unwind.h13
-rw-r--r--libc/ports/sysdeps/arm/nptl/tls.h4
-rw-r--r--libc/ports/sysdeps/arm/setjmp.S17
-rw-r--r--libc/ports/sysdeps/arm/sysdep.h12
-rw-r--r--libc/ports/sysdeps/ia64/fpu/printf_fphex.c10
-rw-r--r--libc/ports/sysdeps/ia64/stackguard-macros.h3
-rw-r--r--libc/ports/sysdeps/m68k/ffs.c1
-rw-r--r--libc/ports/sysdeps/m68k/start.S21
-rw-r--r--libc/ports/sysdeps/mips/bits/atomic.h2
-rw-r--r--libc/ports/sysdeps/mips/bits/nan.h23
-rw-r--r--libc/ports/sysdeps/mips/configure160
-rw-r--r--libc/ports/sysdeps/mips/configure.in9
-rw-r--r--libc/ports/sysdeps/mips/dl-machine.h14
-rw-r--r--libc/ports/sysdeps/mips/fpu/fegetround.c2
-rw-r--r--libc/ports/sysdeps/mips/fpu/fesetround.c4
-rw-r--r--libc/ports/sysdeps/mips/fpu_control.h33
-rw-r--r--libc/ports/sysdeps/mips/math_private.h114
-rw-r--r--libc/ports/sysdeps/mips/memset.S394
-rw-r--r--libc/ports/sysdeps/mips/mips32/fpu/e_sqrt.c1
-rw-r--r--libc/ports/sysdeps/mips/mips32/fpu/e_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/mips/mips64/memset.S90
-rw-r--r--libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrt.c1
-rw-r--r--libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrt.c1
-rw-r--r--libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/mips/mips64/soft-fp/sfp-machine.h18
-rw-r--r--libc/ports/sysdeps/mips/shlib-versions4
-rw-r--r--libc/ports/sysdeps/mips/soft-fp/sfp-machine.h18
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Makefile24
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Subdirs1
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/Versions20
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c37
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c32
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c32
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetenv.c48
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c27
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fegetround.c28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c43
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fenv_const.c34
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fesetenv.c42
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fesetround.c33
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c51
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c37
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c41
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c38
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c28
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps7297
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/shlib-versions1
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/sim-full.c46
-rw-r--r--libc/ports/sysdeps/powerpc/nofpu/soft-supp.h41
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S128
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S130
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/memset.S152
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S134
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S107
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S75
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S128
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/440/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/464/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/476/Implies2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/476/memset.S152
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/Makefile8
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile11
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions8
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S107
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S38
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c47
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c31
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c59
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c59
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c30
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c30
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c26
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h76
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c44
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c36
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c56
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c45
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c49
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c32
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h2
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c5
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c5
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S103
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S43
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h12
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c700
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c27
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c493
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile4
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs1
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions19
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c28
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h65
-rw-r--r--libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c66
-rw-r--r--libc/ports/sysdeps/powerpc/preconfigure20
-rw-r--r--libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h69
-rw-r--r--libc/ports/sysdeps/tile/ffs.c1
-rw-r--r--libc/ports/sysdeps/tile/stackguard-macros.h6
-rw-r--r--libc/ports/sysdeps/unix/alpha/sysdep.h52
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h (renamed from libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h)32
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h42
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/Makefile90
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/configure171
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/configure.in23
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/dl-cache.h26
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/mips/readelflib.c35
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/Implies1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S60
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S59
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S92
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S59
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S60
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data67
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/ld.abilist17
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libBrokenLocale.abilist3
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libanl.abilist6
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libc.abilist2478
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libcrypt.abilist9
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libdl.abilist18
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libm.abilist503
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libnsl.abilist127
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libpthread.abilist277
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libresolv.abilist104
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/librt.abilist52
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libthread_db.abilist48
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libutil.abilist8
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data13
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/Implies1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data67
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/ld.abilist17
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libBrokenLocale.abilist3
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libanl.abilist6
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libc.abilist2499
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libcrypt.abilist9
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libdl.abilist18
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libm.abilist503
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libnsl.abilist127
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libpthread.abilist277
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libresolv.abilist104
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/librt.abilist52
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libthread_db.abilist48
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libutil.abilist8
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data31
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions1
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies2
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S58
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data67
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist17
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist3
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist6
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist2523
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist9
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist18
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist519
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist127
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist277
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist104
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist52
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist48
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist8
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data41
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S58
-rw-r--r--libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S58
250 files changed, 1590 insertions, 24115 deletions
diff --git a/libc/ports/ChangeLog b/libc/ports/ChangeLog
index 9b638017f..a1dd8c342 100644
--- a/libc/ports/ChangeLog
+++ b/libc/ports/ChangeLog
@@ -1,3 +1,7 @@
+2013-10-04 Alan Modra <amodra@gmail.com>
+
+ * sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change.
+
2013-09-02 Mike Frysinger <vapier@gentoo.org>
* sysdeps/unix/sysv/linux/hppa/syscalls.list (fanotify_mark): New
diff --git a/libc/ports/ChangeLog.aarch64 b/libc/ports/ChangeLog.aarch64
index 537ae601e..cebf5055d 100644
--- a/libc/ports/ChangeLog.aarch64
+++ b/libc/ports/ChangeLog.aarch64
@@ -1,3 +1,17 @@
+2013-09-30 Andrew Pinski <andrew.pinski@caviumnetworks.com>
+
+ * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SYSCALL_ERROR_HANDLER):
+ Fix store to errno to use 32bits.
+
+2013-09-24 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+
+ * sysdeps/aarch64/machine-gmon.h (__mcount): Accept parameter and
+ pass it to mcount_internal.
+
+2013-09-24 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
+
+ * sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h: New file.
+
2013-07-26 Marcus Shawcroft <marcus.shawcroft@linaro.org>
* sysdeps/aarch64/Versions: New file.
diff --git a/libc/ports/ChangeLog.alpha b/libc/ports/ChangeLog.alpha
index e5c7bc1da..68d430dc3 100644
--- a/libc/ports/ChangeLog.alpha
+++ b/libc/ports/ChangeLog.alpha
@@ -1,3 +1,23 @@
+2013-10-12 Yuri Chornoivan <yurchor@ukr.net>
+
+ * sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S: Fix typos.
+ * sysdeps/unix/sysv/linux/alpha/nptl/vfork.S: Likewise.
+
+2013-10-01 Richard Henderson <rth@redhat.com>
+
+ * sysdeps/unix/alpha/sysdep.h (PTR_MANGLE): Improve conditions under
+ which it is defined.
+
+2013-09-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/alpha/alphaev67/ffs.S (__ffs): Define as hidden.
+ * sysdeps/alpha/ffs.S (__ffs): Likewise.
+
+2013-09-11 Andreas Schwab <schwab@suse.de>
+
+ * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (__O_TMPFILE):
+ Define.
+
2013-08-30 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/alpha/alphaev67/stpncpy.S: Fix then/than typos.
diff --git a/libc/ports/ChangeLog.arm b/libc/ports/ChangeLog.arm
index 8ef09b116..6707d2ef3 100644
--- a/libc/ports/ChangeLog.arm
+++ b/libc/ports/ChangeLog.arm
@@ -1,3 +1,52 @@
+2013-10-04 Will Newton <will.newton@linaro.org>
+
+ * sysdeps/arm/__longjmp.S (NO_THUMB): Remove define.
+ (__longjmp): Use Thumb supported instructions.
+ * sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB):
+ Remove define.
+
+ * sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
+ (__sigsetjmp): Use Thumb supported instructions.
+
+2013-10-03 Will Newton <will.newton@linaro.org>
+
+ * sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp
+ and lr when restoring register values.
+ * sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Remove
+ sp and lr from list and replace fp with a4.
+ * sysdeps/arm/jmpbuf-unwind.h (_jmpbuf_sp): New function.
+ (_JMPBUF_UNWINDS_ADJ): Call _jmpbuf_sp.
+ * sysdeps/arm/setjmp.S (__sigsetjmp): Mangle fp, sp and lr
+ before storing register values.
+ * sysdeps/arm/sysdep.h (LDST_GLOBAL): New macro.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE): New macro.
+ (PTR_DEMANGLE): Likewise. (PTR_MANGLE2): Likewise.
+ (PTR_DEMANGLE2): Likewise.
+
+2013-09-24 Will Newton <will.newton@linaro.org>
+
+ * ports/sysdeps/arm/nptl/tls.h (TLS_INIT_TP_EXPENSIVE): Remove
+ macro.
+
+2013-09-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/arm/armv6t2/ffs.S (__ffs): Define as hidden.
+
+2013-09-18 Dinar Temirbulatov <dtemirbulatov@gmail.com>
+
+ [BZ #15640]
+ * sysdeps/arm/bits/atomic.h (atomic_exchange_acq, atomic_exchange_rel)
+ (atomic_compare_and_exchange_bool_acq)
+ (atomic_compare_and_exchange_val_acq)
+ (atomic_compare_and_exchange_bool_rel)
+ (atomic_compare_and_exchange_val_rel): Use __atomic_exchange_n and
+ __atomic_compare_exchange_n builtins when GCC supports them.
+
+2013-09-16 Will Newton <will.newton@linaro.org>
+
+ * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Tighten check
+ on entry to aligned copy loop to improve performance.
+
2013-08-30 Roland McGrath <roland@hack.frob.com>
* sysdeps/arm/armv6t2/strlen.S: Use sfi_pld and sfi_breg macros.
diff --git a/libc/ports/ChangeLog.hppa b/libc/ports/ChangeLog.hppa
index ea4ef886f..3e7c16221 100644
--- a/libc/ports/ChangeLog.hppa
+++ b/libc/ports/ChangeLog.hppa
@@ -1,3 +1,7 @@
+2013-09-11 Andreas Schwab <schwab@suse.de>
+
+ * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (__O_TMPFILE): Define.
+
2013-08-30 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/unix/sysv/linux/hppa/clone.S: Fix typos.
diff --git a/libc/ports/ChangeLog.ia64 b/libc/ports/ChangeLog.ia64
index efe352e6b..272f73a1b 100644
--- a/libc/ports/ChangeLog.ia64
+++ b/libc/ports/ChangeLog.ia64
@@ -1,3 +1,8 @@
+2013-09-22 Carlos O'Donell <carlos@redhat.com>
+
+ [BZ #15754]
+ * sysdeps/ia64/stackguard-macros.h: Define POINTER_CHK_GUARD.
+
2013-08-30 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/ia64/fpu/libm_reduce.S: Fix typos.
diff --git a/libc/ports/ChangeLog.m68k b/libc/ports/ChangeLog.m68k
index ba9865a9d..5bcd94541 100644
--- a/libc/ports/ChangeLog.m68k
+++ b/libc/ports/ChangeLog.m68k
@@ -1,3 +1,11 @@
+2013-10-08 Andreas Schwab <schwab@suse.de>
+
+ * sysdeps/m68k/start.S [SHARED]: Use PIC.
+
+2013-09-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/m68k/ffs.c (__ffs): Define as hidden.
+
2013-09-04 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/m68k/mmap64.c: New file.
diff --git a/libc/ports/ChangeLog.mips b/libc/ports/ChangeLog.mips
index 5844bf589..eaa6ade59 100644
--- a/libc/ports/ChangeLog.mips
+++ b/libc/ports/ChangeLog.mips
@@ -1,3 +1,127 @@
+2013-09-26 Steve Ellcey <sellcey@mips.com>
+
+ [BZ #15632]
+ * sysdeps/mips/mips32/fpu/e_sqrt.c: New.
+ * sysdeps/mips/mips32/fpu/e_sqrtf.c: New.
+ * sysdeps/mips/mips64/n32/fpu/e_sqrt.c: New.
+ * sysdeps/mips/mips64/n32/fpu/e_sqrtf.c: New.
+ * sysdeps/mips/mips64/n64/fpu/e_sqrt.c: New.
+ * sysdeps/mips/mips64/n64/fpu/e_sqrtf.c: New.
+
+2013-09-23 Steve Ellcey <sellcey@mips.com>
+
+ * sysdeps/mips/math_private.h (libc_feholdexcept_mips): New function.
+ (libc_feholdexcept): New macro.
+ (libc_feholdexceptf): New macro.
+ (libc_feholdexceptl): New macro.
+ (libc_fesetround_mips): New function.
+ (libc_fesetround): New macro.
+ (libc_fesetroundf): New macro.
+ (libc_fesetroundl): New macro.
+ (libc_feholdexcept_setround_mips): New function.
+ (libc_feholdexcept_setround): New macro.
+ (libc_feholdexcept_setroundf): New macro.
+ (libc_feholdexcept_setroundl): New macro.
+ (libc_fesetenv_mips): New function.
+ (libc_fesetenv): New macro.
+ (libc_fesetenvf): New macro.
+ (libc_fesetenvl): New macro.
+ (libc_feupdateenv_mips): New function.
+ (libc_feupdateenv): New macro.
+ (libc_feupdateenvf): New macro.
+ (libc_feupdateenvl): New macro.
+
+2013-09-23 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * sysdeps/mips/bits/atomic.h: Fix comment typo.
+
+2013-09-23 Steve Ellcey <sellcey@mips.com>
+
+ * sysdeps/mips/fpu/fegetround.c (fegetround): Use _FPU_RC_MASK.
+ * sysdeps/mips/fpu/fesetround.c (fesetround): Use _FPU_RC_MASK.
+
+2013-09-23 Steve Ellcey <sellcey@mips.com>
+
+ * sysdeps/mips/fpu_control.h (_FPU_RC_MASK): New.
+
+2013-09-23 Steve Ellcey <sellcey@mips.com>
+
+ * sysdeps/mips/fpu_control.h (comments): Add capitalization and
+ periods to match GNU standard.
+
+2013-09-20 Steve Ellcey <sellcey@mips.com>
+
+ * sysdeps/mips/memset.S: Change prefetching and add loop unrolling.
+ * sysdeps/mips/mips64/memset.S: Remove.
+
+2013-09-18 Maciej W. Rozycki <macro@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+
+ * sysdeps/mips/dl-machine.h (ELF_MACHINE_NAN2008): New macro.
+ (elf_machine_matches_host): Reject objects that use a different
+ NaN encoding convention.
+ * sysdeps/mips/fpu_control.h: Document IEEE 754-2008 feature
+ control bits.
+ (_FPU_ABS2008, _FPU_NAN2008): New macros.
+ (_FPU_RESERVED): Clear bits #20 and #19.
+ (_FPU_DEFAULT) [__mips_nan2008]: Set bit #18.
+ (_FPU_IEEE) [__mips_nan2008]: Likewise.
+ * sysdeps/mips/math_private.h [__mips_nan2008]
+ (HIGH_ORDER_BIT_IS_SET_FOR_SNAN): Don't define.
+ * sysdeps/mips/bits/nan.h [__mips_nan2008] (__qnan_bytes): Define
+ appropriately.
+ * sysdeps/mips/mips64/soft-fp/sfp-machine.h [__mips_nan2008]
+ (_FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q): Define 2008-NaN
+ payloads.
+ (_FP_QNANNEGATEDP): Set to 0.
+ * sysdeps/mips/soft-fp/sfp-machine.h [__mips_nan2008]
+ (_FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q): Define 2008-NaN
+ payloads.
+ (_FP_QNANNEGATEDP): Set to 0.
+ * sysdeps/unix/sysv/linux/mips/dl-cache.h (_DL_CACHE_DEFAULT_ID):
+ Define 2008 NaN encoding values.
+ * sysdeps/unix/sysv/linux/mips/readelflib.c (process_elf_file):
+ Handle 2008-NaN libraries.
+ * sysdeps/mips/shlib-versions [HAVE_MIPS_NAN2008]: Set
+ ld=ld-linux-mipsn8.so.1.
+ * sysdeps/mips/configure.in: Define HAVE_MIPS_NAN2008 if the
+ 2008 NaN encoding is used.
+ * sysdeps/unix/sysv/linux/mips/Makefile (abi-variants): Add
+ 2008-NaN ABI variants.
+ (abi-o32_soft-options, abi-o32_soft-condition): Update with the
+ __mips_nan2008 macro.
+ (abi-o32_hard-options, abi-o32_hard-condition): Likewise.
+ (abi-n32_soft-options, abi-n32_soft-condition): Likewise.
+ (abi-n32_hard-options, abi-n32_hard-condition): Likewise.
+ (abi-n64_soft-options, abi-n64_soft-condition): Likewise.
+ (abi-n64_hard-options, abi-n64_hard-condition): Likewise.
+ (abi-o32_soft-ld-soname, abi-o32_hard-ld-soname): New macros.
+ (abi-n32_soft-ld-soname, abi-n32_hard-ld-soname): Likewise.
+ (abi-n64_soft-ld-soname, abi-n64_hard-ld-soname): Likewise.
+ (abi-o32_soft_2008-options): Likewise.
+ (abi-o32_soft_2008-condition): Likewise.
+ (abi-o32_hard_2008-options): Likewise.
+ (abi-o32_hard_2008-condition): Likewise.
+ (abi-n32_soft_2008-options): Likewise.
+ (abi-n32_soft_2008-condition): Likewise.
+ (abi-n32_hard_2008-options): Likewise.
+ (abi-n32_hard_2008-condition): Likewise.
+ (abi-n64_soft_2008-options): Likewise.
+ (abi-n64_soft_2008-condition): Likewise.
+ (abi-n64_hard_2008-options): Likewise.
+ (abi-n64_hard_2008-condition): Likewise.
+ (abi-o32_soft_2008-ld-soname): Likewise.
+ (abi-o32_hard_2008-ld-soname): Likewise.
+ (abi-n32_soft_2008-ld-soname): Likewise.
+ (abi-n32_hard_2008-ld-soname): Likewise.
+ (abi-n64_soft_2008-ld-soname): Likewise.
+ (abi-n64_hard_2008-ld-soname): Likewise.
+ * sysdeps/unix/sysv/linux/mips/configure.in: Include the NaN
+ encoding selection in default-abi. Set arch_minimum_kernel to
+ 10.0.0 if 2008 NaN encoding is used.
+ * sysdeps/mips/configure: Regenerate.
+ * sysdeps/unix/sysv/linux/mips/configure: Regenerate.
+
2013-08-30 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/mips/memcpy.S: Fix then/than typos.
diff --git a/libc/ports/ChangeLog.powerpc b/libc/ports/ChangeLog.powerpc
index 375e9566e..9f04afae1 100644
--- a/libc/ports/ChangeLog.powerpc
+++ b/libc/ports/ChangeLog.powerpc
@@ -1,3 +1,45 @@
+This file describes changes to the soft-float powerpc port while it
+was in the ports add-on directory. This port is no longer part of an
+add-on and so future changes to it should be listed in the top-level
+ChangeLog file, not here.
+
+
+
+2013-10-04 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/powerpc/powerpc32/Makefile: Remove file.
+ * sysdeps/powerpc/nofpu: Move directory to
+ ../sysdeps/powerpc/nofpu.
+ * sysdeps/powerpc/soft-fp: Move directory to
+ ../sysdeps/powerpc/soft-fp.
+ * sysdeps/powerpc/powerpc32/405: Move directory to
+ ../sysdeps/powerpc/powerpc32/405.
+ * sysdeps/powerpc/powerpc32/440: Move directory to
+ ../sysdeps/powerpc/powerpc32/440.
+ * sysdeps/powerpc/powerpc32/464: Move directory to
+ ../sysdeps/powerpc/powerpc32/464.
+ * sysdeps/powerpc/powerpc32/476: Move directory to
+ ../sysdeps/powerpc/powerpc32/476.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu: Move directory
+ to ../sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/405: Move directory to
+ ../sysdeps/unix/sysv/linux/powerpc/powerpc32/405.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/440: Move directory to
+ ../sysdeps/unix/sysv/linux/powerpc/powerpc32/440.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/464: Move directory to
+ ../sysdeps/unix/sysv/linux/powerpc/powerpc32/464.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/476: Move directory to
+ ../sysdeps/unix/sysv/linux/powerpc/powerpc32/476.
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h:
+ New file.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S:
+ Include <context-e500.h>.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S:
+ Likewise.
+
2013-08-30 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/powerpc/powerpc32/405/memcpy.S: Fix typos.
diff --git a/libc/ports/ChangeLog.tile b/libc/ports/ChangeLog.tile
index 5ad254c5f..dc2e7e412 100644
--- a/libc/ports/ChangeLog.tile
+++ b/libc/ports/ChangeLog.tile
@@ -1,3 +1,12 @@
+2013-09-22 Carlos O'Donell <carlos@redhat.com>
+
+ [BZ #15754]
+ * sysdeps/tile/stackguard-macros.h: Define POINTER_CHK_GUARD.
+
+2013-09-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/tile/ffs.c (__ffs): Define as hidden.
+
2013-08-21 Ondřej Bílka <neleai@seznam.cz>
* sysdeps/tile/jmpbuf-offsets.h: Fix typos.
diff --git a/libc/ports/sysdeps/aarch64/machine-gmon.h b/libc/ports/sysdeps/aarch64/machine-gmon.h
index 4425965a4..5cc294125 100644
--- a/libc/ports/sysdeps/aarch64/machine-gmon.h
+++ b/libc/ports/sysdeps/aarch64/machine-gmon.h
@@ -16,10 +16,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-/* GCC version 2 gives us a perfect magical function to get
- just the information we need:
- void *__builtin_return_address (unsigned int N)
- returns the return address of the frame N frames up. */
+/* Accept 'frompc' address as argument from the function that calls
+ __mcount for profiling. Use __builtin_return_address (0)
+ for the 'selfpc' address. */
#include <sysdep.h>
@@ -28,8 +27,8 @@ static void mcount_internal (u_long frompc, u_long selfpc);
#define _MCOUNT_DECL(frompc, selfpc) \
static inline void mcount_internal (u_long frompc, u_long selfpc)
-#define MCOUNT \
-void __mcount (void) \
-{ \
- mcount_internal ((u_long) RETURN_ADDRESS (1), (u_long) RETURN_ADDRESS (0)); \
+#define MCOUNT \
+void __mcount (void *frompc) \
+{ \
+ mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \
}
diff --git a/libc/ports/sysdeps/alpha/alphaev67/ffs.S b/libc/ports/sysdeps/alpha/alphaev67/ffs.S
index e4531525a..9b3463cbc 100644
--- a/libc/ports/sysdeps/alpha/alphaev67/ffs.S
+++ b/libc/ports/sysdeps/alpha/alphaev67/ffs.S
@@ -47,4 +47,5 @@ ENTRY(__ffs)
END(__ffs)
weak_alias (__ffs, ffs)
+libc_hidden_def (__ffs)
libc_hidden_builtin_def (ffs)
diff --git a/libc/ports/sysdeps/alpha/ffs.S b/libc/ports/sysdeps/alpha/ffs.S
index def0f25d7..d1f0c8371 100644
--- a/libc/ports/sysdeps/alpha/ffs.S
+++ b/libc/ports/sysdeps/alpha/ffs.S
@@ -85,6 +85,7 @@ $ffsl..ng:
END(ffsl)
weak_alias (__ffs, ffs)
+libc_hidden_def (__ffs)
libc_hidden_builtin_def (ffs)
weak_extern (ffsl)
weak_alias (ffsl, ffsll)
diff --git a/libc/ports/sysdeps/arm/__longjmp.S b/libc/ports/sysdeps/arm/__longjmp.S
index a5edede16..894c121c0 100644
--- a/libc/ports/sysdeps/arm/__longjmp.S
+++ b/libc/ports/sysdeps/arm/__longjmp.S
@@ -16,8 +16,6 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
-#define NO_THUMB
#include <sysdep.h>
#include <bits/setjmp.h>
#include <rtld-global-offsets.h>
@@ -28,16 +26,32 @@
ENTRY (__longjmp)
mov ip, r0
movs r0, r1 /* get the return value in place */
+ it eq
moveq r0, #1 /* can't let setjmp() return zero! */
#ifdef CHECK_SP
sfi_breg ip, \
ldr r4, [\B, #32] /* jmpbuf's sp */
cfi_undefined (r4)
+#ifdef PTR_DEMANGLE
+ PTR_DEMANGLE (r4, r4, a3, a4)
+#endif
CHECK_SP (r4)
#endif
sfi_sp sfi_breg ip, \
ldmia \B!, JMP_BUF_REGLIST
+#ifdef PTR_DEMANGLE
+ PTR_DEMANGLE (fp, a4, a3, a2)
+ ldr a4, [ip], #4
+ PTR_DEMANGLE2 (a4, a4, a3)
+ mov sp, a4
+ ldr a4, [ip], #4
+ PTR_DEMANGLE2 (lr, a4, a3)
+#else
+ mov fp, a4
+ ldr sp, [ip], #4
+ ldr lr, [ip], #4
+#endif
cfi_restore (v1)
cfi_restore (v2)
cfi_restore (v3)
diff --git a/libc/ports/sysdeps/arm/armv6t2/ffs.S b/libc/ports/sysdeps/arm/armv6t2/ffs.S
index b2c88b946..9f999306f 100644
--- a/libc/ports/sysdeps/arm/armv6t2/ffs.S
+++ b/libc/ports/sysdeps/arm/armv6t2/ffs.S
@@ -32,4 +32,5 @@ END (__ffs)
weak_alias (__ffs, ffs)
weak_alias (__ffs, ffsl)
+libc_hidden_def (__ffs)
libc_hidden_builtin_def (ffs)
diff --git a/libc/ports/sysdeps/arm/armv7/multiarch/memcpy_impl.S b/libc/ports/sysdeps/arm/armv7/multiarch/memcpy_impl.S
index 3decad60b..ad43a3db5 100644
--- a/libc/ports/sysdeps/arm/armv7/multiarch/memcpy_impl.S
+++ b/libc/ports/sysdeps/arm/armv7/multiarch/memcpy_impl.S
@@ -24,7 +24,6 @@
ARMv6 (ARMv7-a if using Neon)
ARM state
Unaligned accesses
- LDRD/STRD support unaligned word accesses
*/
@@ -369,8 +368,8 @@ ENTRY(memcpy)
cfi_adjust_cfa_offset (FRAME_SIZE)
cfi_rel_offset (tmp2, 0)
cfi_remember_state
- and tmp2, src, #3
- and tmp1, dst, #3
+ and tmp2, src, #7
+ and tmp1, dst, #7
cmp tmp1, tmp2
bne .Lcpy_notaligned
@@ -381,9 +380,9 @@ ENTRY(memcpy)
vmov.f32 s0, s0
#endif
- /* SRC and DST have the same mutual 32-bit alignment, but we may
+ /* SRC and DST have the same mutual 64-bit alignment, but we may
still need to pre-copy some bytes to get to natural alignment.
- We bring DST into full 64-bit alignment. */
+ We bring SRC and DST into full 64-bit alignment. */
lsls tmp2, dst, #29
beq 1f
rsbs tmp2, tmp2, #0
@@ -515,7 +514,7 @@ ENTRY(memcpy)
.Ltail63aligned: /* Count in tmp2. */
/* Copy up to 7 d-words of data. Similar to Ltail63unaligned, but
- we know that the src and dest are 32-bit aligned so we can use
+ we know that the src and dest are 64-bit aligned so we can use
LDRD/STRD to improve efficiency. */
/* TMP2 is now negative, but we don't care about that. The bottom
six bits still tell us how many bytes are left to copy. */
diff --git a/libc/ports/sysdeps/arm/bits/atomic.h b/libc/ports/sysdeps/arm/bits/atomic.h
index 6e20df741..5e0801dd8 100644
--- a/libc/ports/sysdeps/arm/bits/atomic.h
+++ b/libc/ports/sysdeps/arm/bits/atomic.h
@@ -35,9 +35,6 @@ typedef uintmax_t uatomic_max_t;
void __arm_link_error (void);
-/* Use the atomic builtins provided by GCC in case the backend provides
- a pattern to do this efficiently. */
-
#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
# define atomic_full_barrier() __sync_synchronize ()
#else
@@ -51,9 +48,88 @@ void __arm_link_error (void);
# define __arm_assisted_full_barrier() __arm_link_error()
#endif
-/* Atomic compare and exchange. */
+/* Use the atomic builtins provided by GCC in case the backend provides
+ a pattern to do this efficiently. */
+#if __GNUC_PREREQ (4, 7) && defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
-#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+# define atomic_exchange_acq(mem, value) \
+ __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_ACQUIRE)
+
+# define atomic_exchange_rel(mem, value) \
+ __atomic_val_bysize (__arch_exchange, int, mem, value, __ATOMIC_RELEASE)
+
+/* Atomic exchange (without compare). */
+
+# define __arch_exchange_8_int(mem, newval, model) \
+ (__arm_link_error (), (typeof (*mem)) 0)
+
+# define __arch_exchange_16_int(mem, newval, model) \
+ (__arm_link_error (), (typeof (*mem)) 0)
+
+# define __arch_exchange_32_int(mem, newval, model) \
+ __atomic_exchange_n (mem, newval, model)
+
+# define __arch_exchange_64_int(mem, newval, model) \
+ (__arm_link_error (), (typeof (*mem)) 0)
+
+/* Compare and exchange with "acquire" semantics, ie barrier after. */
+
+# define atomic_compare_and_exchange_bool_acq(mem, new, old) \
+ __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
+ mem, new, old, __ATOMIC_ACQUIRE)
+
+# define atomic_compare_and_exchange_val_acq(mem, new, old) \
+ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
+ mem, new, old, __ATOMIC_ACQUIRE)
+
+/* Compare and exchange with "release" semantics, ie barrier before. */
+
+# define atomic_compare_and_exchange_bool_rel(mem, new, old) \
+ __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
+ mem, new, old, __ATOMIC_RELEASE)
+
+# define atomic_compare_and_exchange_val_rel(mem, new, old) \
+ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
+ mem, new, old, __ATOMIC_RELEASE)
+
+/* Compare and exchange.
+ For all "bool" routines, we return FALSE if exchange succesful. */
+
+# define __arch_compare_and_exchange_bool_8_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+# define __arch_compare_and_exchange_bool_16_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+# define __arch_compare_and_exchange_bool_32_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ !__atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ })
+
+# define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+# define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+# define __arch_compare_and_exchange_val_16_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+# define __arch_compare_and_exchange_val_32_int(mem, newval, oldval, model) \
+ ({ \
+ typeof (*mem) __oldval = (oldval); \
+ __atomic_compare_exchange_n (mem, (void *) &__oldval, newval, 0, \
+ model, __ATOMIC_RELAXED); \
+ __oldval; \
+ })
+
+# define __arch_compare_and_exchange_val_64_int(mem, newval, oldval, model) \
+ ({__arm_link_error (); oldval; })
+
+#elif defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+/* Atomic compare and exchange. */
# define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
__sync_val_compare_and_swap ((mem), (oldval), (newval))
#else
@@ -61,16 +137,18 @@ void __arm_link_error (void);
__arm_assisted_compare_and_exchange_val_32_acq ((mem), (newval), (oldval))
#endif
+#if !__GNUC_PREREQ (4, 7) || !defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
/* We don't support atomic operations on any non-word types.
So make them link errors. */
-#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
({ __arm_link_error (); oldval; })
-#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
({ __arm_link_error (); oldval; })
-#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
+# define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
({ __arm_link_error (); oldval; })
+#endif
/* An OS-specific bits/atomic.h file will define this macro if
the OS can provide something. If not, we'll fail to build
diff --git a/libc/ports/sysdeps/arm/include/bits/setjmp.h b/libc/ports/sysdeps/arm/include/bits/setjmp.h
index 1559d7b8e..64505dcb9 100644
--- a/libc/ports/sysdeps/arm/include/bits/setjmp.h
+++ b/libc/ports/sysdeps/arm/include/bits/setjmp.h
@@ -26,8 +26,9 @@
#ifndef _ISOMAC
/* Register list for a ldm/stm instruction to load/store
- the general registers from a __jmp_buf. */
-# define JMP_BUF_REGLIST {v1-v6, sl, fp, sp, lr}
+ the general registers from a __jmp_buf. The a4 register
+ contains fp at this point. */
+# define JMP_BUF_REGLIST {a4, v1-v6, sl}
/* Index of __jmp_buf where the sp register resides. */
# define __JMP_BUF_SP 8
diff --git a/libc/ports/sysdeps/arm/jmpbuf-unwind.h b/libc/ports/sysdeps/arm/jmpbuf-unwind.h
index 0863540ce..1b0d0202e 100644
--- a/libc/ports/sysdeps/arm/jmpbuf-unwind.h
+++ b/libc/ports/sysdeps/arm/jmpbuf-unwind.h
@@ -17,6 +17,7 @@
#include <setjmp.h>
#include <stdint.h>
+#include <sysdep.h>
#include <unwind.h>
/* Test if longjmp to JMPBUF would unwind the frame
@@ -27,8 +28,18 @@
#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
_JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
+static inline uintptr_t __attribute__ ((unused))
+_jmpbuf_sp (__jmp_buf regs)
+{
+ uintptr_t sp = regs[__JMP_BUF_SP];
+#ifdef PTR_DEMANGLE
+ PTR_DEMANGLE (sp);
+#endif
+ return sp;
+}
+
#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < (uintptr_t) (_jmpbuf)[__JMP_BUF_SP] - (_adj))
+ ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj))
/* We use the normal longjmp for unwinding. */
#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/libc/ports/sysdeps/arm/nptl/tls.h b/libc/ports/sysdeps/arm/nptl/tls.h
index e57cdb749..da1502716 100644
--- a/libc/ports/sysdeps/arm/nptl/tls.h
+++ b/libc/ports/sysdeps/arm/nptl/tls.h
@@ -119,10 +119,6 @@ typedef struct
#define THREAD_SETMEM_NC(descr, member, idx, value) \
descr->member[idx] = (value)
-/* Initializing the thread pointer will generate a SIGILL if the syscall
- is not available. */
-#define TLS_INIT_TP_EXPENSIVE 1
-
/* Get and set the global scope generation counter in struct pthread. */
#define THREAD_GSCOPE_FLAG_UNUSED 0
#define THREAD_GSCOPE_FLAG_USED 1
diff --git a/libc/ports/sysdeps/arm/setjmp.S b/libc/ports/sysdeps/arm/setjmp.S
index a6c161db5..fedd99431 100644
--- a/libc/ports/sysdeps/arm/setjmp.S
+++ b/libc/ports/sysdeps/arm/setjmp.S
@@ -16,19 +16,32 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-/* ??? Needs more rearrangement for the STM to handle thumb mode. */
-#define NO_THUMB
#include <sysdep.h>
#include <bits/setjmp.h>
#include <rtld-global-offsets.h>
#include <arm-features.h>
ENTRY (__sigsetjmp)
+#ifdef PTR_MANGLE
+ PTR_MANGLE (a4, fp, a3, ip)
+#else
+ mov a4, fp
+#endif
mov ip, r0
/* Save registers */
sfi_breg ip, \
stmia \B!, JMP_BUF_REGLIST
+#ifdef PTR_MANGLE
+ mov a4, sp
+ PTR_MANGLE2 (a4, a4, a3)
+ str a4, [ip], #4
+ PTR_MANGLE2 (a4, lr, a3)
+ str a4, [ip], #4
+#else
+ str sp, [ip], #4
+ str lr, [ip], #4
+#endif
#if !defined ARM_ASSUME_NO_IWMMXT || defined __SOFTFP__
# define NEED_HWCAP 1
diff --git a/libc/ports/sysdeps/arm/sysdep.h b/libc/ports/sysdeps/arm/sysdep.h
index 550159740..3823617f1 100644
--- a/libc/ports/sysdeps/arm/sysdep.h
+++ b/libc/ports/sysdeps/arm/sysdep.h
@@ -171,6 +171,18 @@
99: OP R, [pc, T]
# endif
+/* Load or store to/from a global EXPR into/from R, using T. */
+# define LDST_GLOBAL(OP, R, T, EXPR) \
+ ldr T, 99f; \
+ ldr R, 100f; \
+98: add T, T, pc; \
+ ldr T, [T, R]; \
+ .subsection 2; \
+99: .word _GLOBAL_OFFSET_TABLE_ - 98b - PC_OFS; \
+100: .word EXPR##(GOT); \
+ .previous; \
+ OP R, [T]
+
/* Cope with negative memory offsets, which thumb can't encode.
Use NEGOFF_ADJ_BASE to (conditionally) alter the base register,
and then NEGOFF_OFF1 to use 0 for thumb and the offset for arm,
diff --git a/libc/ports/sysdeps/ia64/fpu/printf_fphex.c b/libc/ports/sysdeps/ia64/fpu/printf_fphex.c
index ca021427e..0698cdad1 100644
--- a/libc/ports/sysdeps/ia64/fpu/printf_fphex.c
+++ b/libc/ports/sysdeps/ia64/fpu/printf_fphex.c
@@ -25,9 +25,11 @@ do { \
/* The "strange" 80 bit format on ia64 has an explicit \
leading digit in the 64 bit mantissa. */ \
unsigned long long int num; \
+ union ieee854_long_double u; \
+ u.d = fpnum.ldbl; \
\
- num = (((unsigned long long int) fpnum.ldbl.ieee.mantissa0) << 32 \
- | fpnum.ldbl.ieee.mantissa1); \
+ num = (((unsigned long long int) u.ieee.mantissa0) << 32 \
+ | u.ieee.mantissa1); \
\
zero_mantissa = num == 0; \
\
@@ -49,8 +51,8 @@ do { \
\
/* We have 3 bits from the mantissa in the leading nibble. \
Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \
- exponent = fpnum.ldbl.ieee.exponent; \
- \
+ exponent = u.ieee.exponent; \
+ \
if (exponent == 0) \
{ \
if (zero_mantissa) \
diff --git a/libc/ports/sysdeps/ia64/stackguard-macros.h b/libc/ports/sysdeps/ia64/stackguard-macros.h
index dc683c28c..390729327 100644
--- a/libc/ports/sysdeps/ia64/stackguard-macros.h
+++ b/libc/ports/sysdeps/ia64/stackguard-macros.h
@@ -2,3 +2,6 @@
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; })
+
+#define POINTER_CHK_GUARD \
+ ({ uintptr_t x; asm ("adds %0 = -16, r13;; ld8 %0 = [%0]" : "=r" (x)); x; })
diff --git a/libc/ports/sysdeps/m68k/ffs.c b/libc/ports/sysdeps/m68k/ffs.c
index fd4e5ffae..a3c1a0d02 100644
--- a/libc/ports/sysdeps/m68k/ffs.c
+++ b/libc/ports/sysdeps/m68k/ffs.c
@@ -36,6 +36,7 @@ __ffs (x)
return 32 - cnt;
}
weak_alias (__ffs, ffs)
+libc_hidden_def (__ffs)
libc_hidden_builtin_def (ffs)
#undef ffsl
weak_alias (__ffs, ffsl)
diff --git a/libc/ports/sysdeps/m68k/start.S b/libc/ports/sysdeps/m68k/start.S
index a09896fdc..c3ceee6fa 100644
--- a/libc/ports/sysdeps/m68k/start.S
+++ b/libc/ports/sysdeps/m68k/start.S
@@ -52,6 +52,8 @@
NULL
*/
+#include <sysdep.h>
+
.text
.globl _start
.type _start,@function
@@ -74,6 +76,24 @@ _start:
pea (%a1) /* Push address of the shared library
termination function. */
+#ifdef SHARED
+ /* Load PIC register. */
+ LOAD_GOT (%a5)
+
+ /* Push the address of our own entry points to `.fini' and
+ `.init'. */
+ move.l __libc_csu_fini@GOT(%a5), -(%sp)
+ move.l __libc_csu_init@GOT(%a5), -(%sp)
+
+ pea (%a0) /* Push second argument: argv. */
+ move.l %d0, -(%sp) /* Push first argument: argc. */
+
+ move.l main@GOT(%a5), -(%sp)
+
+ /* Call the user's main function, and exit with its value. But
+ let the libc call main. */
+ jbsr __libc_start_main@PLTPC
+#else
/* Push the address of our own entry points to `.fini' and
`.init'. */
pea __libc_csu_fini
@@ -87,6 +107,7 @@ _start:
/* Call the user's main function, and exit with its value. But
let the libc call main. */
jbsr __libc_start_main
+#endif
illegal /* Crash if somehow `exit' does return. */
diff --git a/libc/ports/sysdeps/mips/bits/atomic.h b/libc/ports/sysdeps/mips/bits/atomic.h
index 7c735f726..b31444f57 100644
--- a/libc/ports/sysdeps/mips/bits/atomic.h
+++ b/libc/ports/sysdeps/mips/bits/atomic.h
@@ -84,7 +84,7 @@ typedef uintmax_t uatomic_max_t;
support for their efficient implementation was added only in GCC 4.8.
We still want to use them even with GCC 4.7 for MIPS16 code where we
have no assembly alternative available and want to avoid the __sync_*
- if at all possible. */
+ builtins if at all possible. */
/* Compare and exchange.
For all "bool" routines, we return FALSE if exchange succesful. */
diff --git a/libc/ports/sysdeps/mips/bits/nan.h b/libc/ports/sysdeps/mips/bits/nan.h
index 80f7866a9..c32252327 100644
--- a/libc/ports/sysdeps/mips/bits/nan.h
+++ b/libc/ports/sysdeps/mips/bits/nan.h
@@ -22,10 +22,11 @@
/* IEEE Not A Number. */
-/* Note that MIPS has the qNaN and sNaN patterns reversed compared to most
- other architectures. IEEE 754-1985 left the definition of this open to
- implementations, and for MIPS the top bit of the mantissa must be SET to
- indicate a sNaN. */
+/* In legacy-NaN mode MIPS has the qNaN and sNaN patterns reversed
+ compared to most other architectures. IEEE 754-1985 left the
+ definition of this open to implementations, and for MIPS the top bit
+ of the mantissa must be SET to indicate a sNaN. In 2008-NaN mode
+ MIPS aligned to IEEE 754-2008. */
#if __GNUC_PREREQ(3,3)
@@ -33,6 +34,8 @@
#elif defined __GNUC__
+/* No 2008-NaN mode support in any GCC version before 4.9. */
+
# define NAN \
(__extension__ \
((union { unsigned __l __attribute__ ((__mode__ (__SI__))); float __d; }) \
@@ -43,10 +46,18 @@
# include <endian.h>
# if __BYTE_ORDER == __BIG_ENDIAN
-# define __qnan_bytes { 0x7f, 0xbf, 0xff, 0xff }
+# ifdef __mips_nan2008
+# define __qnan_bytes { 0x7f, 0xc0, 0, 0 }
+# else
+# define __qnan_bytes { 0x7f, 0xbf, 0xff, 0xff }
+# endif
# endif
# if __BYTE_ORDER == __LITTLE_ENDIAN
-# define __qnan_bytes { 0xff, 0xff, 0xbf, 0x7f }
+# ifdef __mips_nan2008
+# define __qnan_bytes { 0, 0, 0xc0, 0x7f }
+# else
+# define __qnan_bytes { 0xff, 0xff, 0xbf, 0x7f }
+# endif
# endif
static union { unsigned char __c[4]; float __d; } __qnan_union
diff --git a/libc/ports/sysdeps/mips/configure b/libc/ports/sysdeps/mips/configure
index 898e4c3f2..de8092c97 100644
--- a/libc/ports/sysdeps/mips/configure
+++ b/libc/ports/sysdeps/mips/configure
@@ -1,3 +1,163 @@
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/mips.
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the 2008 NaN encoding" >&5
+$as_echo_n "checking whether the compiler is using the 2008 NaN encoding... " >&6; }
+if ${libc_cv_mips_nan2008+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+dnl
+#ifdef __mips_nan2008
+yes
+#endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ libc_cv_mips_nan2008=yes
+else
+ libc_cv_mips_nan2008=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_nan2008" >&5
+$as_echo "$libc_cv_mips_nan2008" >&6; }
+if test x$libc_cv_mips_nan2008 = xyes; then
+ $as_echo "#define HAVE_MIPS_NAN2008 1" >>confdefs.h
+
+fi
diff --git a/libc/ports/sysdeps/mips/configure.in b/libc/ports/sysdeps/mips/configure.in
index be9672d82..bcbdaffd9 100644
--- a/libc/ports/sysdeps/mips/configure.in
+++ b/libc/ports/sysdeps/mips/configure.in
@@ -4,3 +4,12 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
dnl No MIPS GCC supports accessing static and hidden symbols in an
dnl position independent way.
dnl AC_DEFINE(PI_STATIC_AND_HIDDEN)
+
+AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
+ libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
+#ifdef __mips_nan2008
+yes
+#endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
+if test x$libc_cv_mips_nan2008 = xyes; then
+ AC_DEFINE(HAVE_MIPS_NAN2008)
+fi
diff --git a/libc/ports/sysdeps/mips/dl-machine.h b/libc/ports/sysdeps/mips/dl-machine.h
index dae938f03..722c8a0ba 100644
--- a/libc/ports/sysdeps/mips/dl-machine.h
+++ b/libc/ports/sysdeps/mips/dl-machine.h
@@ -73,6 +73,16 @@ do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
(ElfW(Addr)) (r); \
} while (0)
+#if ((defined __mips_nan2008 && !defined HAVE_MIPS_NAN2008) \
+ || (!defined __mips_nan2008 && defined HAVE_MIPS_NAN2008))
+# error "Configuration inconsistency: __mips_nan2008 != HAVE_MIPS_NAN2008, overridden CFLAGS?"
+#endif
+#ifdef __mips_nan2008
+# define ELF_MACHINE_NAN2008 EF_MIPS_NAN2008
+#else
+# define ELF_MACHINE_NAN2008 0
+#endif
+
/* Return nonzero iff ELF header is compatible with the running host. */
static inline int __attribute_used__
elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
@@ -83,6 +93,10 @@ elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
return 0;
#endif
+ /* Don't link 2008-NaN and legacy-NaN objects together. */
+ if ((ehdr->e_flags & EF_MIPS_NAN2008) != ELF_MACHINE_NAN2008)
+ return 0;
+
switch (ehdr->e_machine)
{
case EM_MIPS:
diff --git a/libc/ports/sysdeps/mips/fpu/fegetround.c b/libc/ports/sysdeps/mips/fpu/fegetround.c
index 61217a7c0..17cd3e994 100644
--- a/libc/ports/sysdeps/mips/fpu/fegetround.c
+++ b/libc/ports/sysdeps/mips/fpu/fegetround.c
@@ -28,5 +28,5 @@ fegetround (void)
/* Get control word. */
_FPU_GETCW (cw);
- return cw & 0x3;
+ return cw & _FPU_RC_MASK;
}
diff --git a/libc/ports/sysdeps/mips/fpu/fesetround.c b/libc/ports/sysdeps/mips/fpu/fesetround.c
index 7c25f43b7..c6fdd6622 100644
--- a/libc/ports/sysdeps/mips/fpu/fesetround.c
+++ b/libc/ports/sysdeps/mips/fpu/fesetround.c
@@ -25,7 +25,7 @@ fesetround (int round)
{
fpu_control_t cw;
- if ((round & ~0x3) != 0)
+ if ((round & ~_FPU_RC_MASK) != 0)
/* ROUND is no valid rounding mode. */
return 1;
@@ -33,7 +33,7 @@ fesetround (int round)
_FPU_GETCW (cw);
/* Set rounding bits. */
- cw &= ~0x3;
+ cw &= ~_FPU_RC_MASK;
cw |= round;
/* Set new state. */
_FPU_SETCW (cw);
diff --git a/libc/ports/sysdeps/mips/fpu_control.h b/libc/ports/sysdeps/mips/fpu_control.h
index 770cbb31d..ee774153f 100644
--- a/libc/ports/sysdeps/mips/fpu_control.h
+++ b/libc/ports/sysdeps/mips/fpu_control.h
@@ -29,7 +29,9 @@
* available for MIPS III and newer.
* 23 -> Condition bit
* 22-21 -> reserved for architecture implementers
- * 20-18 -> reserved (read as 0, write with 0)
+ * 20 -> reserved (read as 0, write with 0)
+ * 19 -> IEEE 754-2008 non-arithmetic ABS.fmt and NEG.fmt enable
+ * 18 -> IEEE 754-2008 recommended NaN encoding enable
* 17 -> cause bit for unimplemented operation
* 16 -> cause bit for invalid exception
* 15 -> cause bit for division by zero exception
@@ -69,32 +71,45 @@ extern fpu_control_t __fpu_control;
#else /* __mips_soft_float */
-/* masking of interrupts */
+/* Masks for interrupts. */
#define _FPU_MASK_V 0x0800 /* Invalid operation */
#define _FPU_MASK_Z 0x0400 /* Division by zero */
#define _FPU_MASK_O 0x0200 /* Overflow */
#define _FPU_MASK_U 0x0100 /* Underflow */
#define _FPU_MASK_I 0x0080 /* Inexact operation */
-/* flush denormalized numbers to zero */
+/* Flush denormalized numbers to zero. */
#define _FPU_FLUSH_TZ 0x1000000
-/* rounding control */
+/* IEEE 754-2008 compliance control. */
+#define _FPU_ABS2008 0x80000
+#define _FPU_NAN2008 0x40000
+
+/* Rounding control. */
#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
#define _FPU_RC_ZERO 0x1
#define _FPU_RC_UP 0x2
#define _FPU_RC_DOWN 0x3
+/* Mask for rounding control. */
+#define _FPU_RC_MASK 0x3
-#define _FPU_RESERVED 0xfe9c0000 /* Reserved bits in cw */
+#define _FPU_RESERVED 0xfe840000 /* Reserved bits in cw, incl NAN2008. */
/* The fdlibm code requires strict IEEE double precision arithmetic,
and no interrupts for exceptions, rounding to nearest. */
+#ifdef __mips_nan2008
+# define _FPU_DEFAULT 0x00040000
+#else
+# define _FPU_DEFAULT 0x00000000
+#endif
-#define _FPU_DEFAULT 0x00000000
-
-/* IEEE: same as above, but exceptions */
-#define _FPU_IEEE 0x00000F80
+/* IEEE: same as above, but exceptions. */
+#ifdef __mips_nan2008
+# define _FPU_IEEE 0x00040F80
+#else
+# define _FPU_IEEE 0x00000F80
+#endif
/* Type of the control word. */
typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
diff --git a/libc/ports/sysdeps/mips/math_private.h b/libc/ports/sysdeps/mips/math_private.h
index f0ba4ee70..4f029b0a6 100644
--- a/libc/ports/sysdeps/mips/math_private.h
+++ b/libc/ports/sysdeps/mips/math_private.h
@@ -18,9 +18,121 @@
#ifndef _MATH_PRIVATE_H
+#ifdef __mips_nan2008
+/* MIPS aligned to IEEE 754-2008. */
+#else
/* One of the few architectures where the meaning of the quiet/signaling bit is
inverse to IEEE 754-2008 (as well as common practice for IEEE 754-1985). */
-#define HIGH_ORDER_BIT_IS_SET_FOR_SNAN
+# define HIGH_ORDER_BIT_IS_SET_FOR_SNAN
+#endif
+
+/* Inline functions to speed up the math library implementation. The
+ default versions of these routines are in generic/math_private.h
+ and call fesetround, feholdexcept, etc. These routines use inlined
+ code instead. */
+
+#ifdef __mips_hard_float
+
+# include <fenv.h>
+# include <fenv_libc.h>
+# include <fpu_control.h>
+
+static __always_inline void
+libc_feholdexcept_mips (fenv_t *envp)
+{
+ fpu_control_t cw;
+
+ /* Save the current state. */
+ _FPU_GETCW (cw);
+ envp->__fp_control_register = cw;
+
+ /* Clear all exception enable bits and flags. */
+ cw &= ~(_FPU_MASK_V|_FPU_MASK_Z|_FPU_MASK_O|_FPU_MASK_U|_FPU_MASK_I|FE_ALL_EXCEPT);
+ _FPU_SETCW (cw);
+}
+# define libc_feholdexcept libc_feholdexcept_mips
+# define libc_feholdexceptf libc_feholdexcept_mips
+# define libc_feholdexceptl libc_feholdexcept_mips
+
+static __always_inline void
+libc_fesetround_mips (int round)
+{
+ fpu_control_t cw;
+
+ /* Get current state. */
+ _FPU_GETCW (cw);
+
+ /* Set rounding bits. */
+ cw &= ~_FPU_RC_MASK;
+ cw |= round;
+
+ /* Set new state. */
+ _FPU_SETCW (cw);
+}
+# define libc_fesetround libc_fesetround_mips
+# define libc_fesetroundf libc_fesetround_mips
+# define libc_fesetroundl libc_fesetround_mips
+
+static __always_inline void
+libc_feholdexcept_setround_mips (fenv_t *envp, int round)
+{
+ fpu_control_t cw;
+
+ /* Save the current state. */
+ _FPU_GETCW (cw);
+ envp->__fp_control_register = cw;
+
+ /* Clear all exception enable bits and flags. */
+ cw &= ~(_FPU_MASK_V|_FPU_MASK_Z|_FPU_MASK_O|_FPU_MASK_U|_FPU_MASK_I|FE_ALL_EXCEPT);
+
+ /* Set rounding bits. */
+ cw &= ~_FPU_RC_MASK;
+ cw |= round;
+
+ /* Set new state. */
+ _FPU_SETCW (cw);
+}
+# define libc_feholdexcept_setround libc_feholdexcept_setround_mips
+# define libc_feholdexcept_setroundf libc_feholdexcept_setround_mips
+# define libc_feholdexcept_setroundl libc_feholdexcept_setround_mips
+
+static __always_inline void
+libc_fesetenv_mips (fenv_t *envp)
+{
+ fpu_control_t cw;
+
+ /* Read current state to flush fpu pipeline. */
+ _FPU_GETCW (cw);
+
+ _FPU_SETCW (envp->__fp_control_register);
+}
+# define libc_fesetenv libc_fesetenv_mips
+# define libc_fesetenvf libc_fesetenv_mips
+# define libc_fesetenvl libc_fesetenv_mips
+
+static __always_inline void
+libc_feupdateenv_mips (fenv_t *envp)
+{
+ int temp;
+
+ /* Save current exceptions. */
+ _FPU_GETCW (temp);
+
+ /* Set flag bits (which are accumulative), and *also* set the
+ cause bits. The setting of the cause bits is what actually causes
+ the hardware to generate the exception, if the corresponding enable
+ bit is set as well. */
+ temp &= FE_ALL_EXCEPT;
+ temp |= envp->__fp_control_register | (temp << CAUSE_SHIFT);
+
+ /* Set new state. */
+ _FPU_SETCW (temp);
+}
+# define libc_feupdateenv libc_feupdateenv_mips
+# define libc_feupdateenvf libc_feupdateenv_mips
+# define libc_feupdateenvl libc_feupdateenv_mips
+
+#endif
#include_next <math_private.h>
diff --git a/libc/ports/sysdeps/mips/memset.S b/libc/ports/sysdeps/mips/memset.S
index 85062fe2e..d30b1f0e6 100644
--- a/libc/ports/sysdeps/mips/memset.S
+++ b/libc/ports/sysdeps/mips/memset.S
@@ -1,6 +1,5 @@
-/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -16,70 +15,353 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#include <sysdep.h>
+#ifdef ANDROID_CHANGES
+# include "machine/asm.h"
+# include "machine/regdef.h"
+# define PREFETCH_STORE_HINT PREFETCH_HINT_PREPAREFORSTORE
+#elif _LIBC
+# include <sysdep.h>
+# include <regdef.h>
+# include <sys/asm.h>
+# define PREFETCH_STORE_HINT PREFETCH_HINT_PREPAREFORSTORE
+#elif _COMPILING_NEWLIB
+# include "machine/asm.h"
+# include "machine/regdef.h"
+# define PREFETCH_STORE_HINT PREFETCH_HINT_PREPAREFORSTORE
+#else
+# include <regdef.h>
+# include <sys/asm.h>
+#endif
- .set nomips16
+/* Check to see if the MIPS architecture we are compiling for supports
+ prefetching. */
+
+#if (__mips == 4) || (__mips == 5) || (__mips == 32) || (__mips == 64)
+# ifndef DISABLE_PREFETCH
+# define USE_PREFETCH
+# endif
+#endif
+
+#if defined(_MIPS_SIM) && ((_MIPS_SIM == _ABI64) || (_MIPS_SIM == _ABIN32))
+# ifndef DISABLE_DOUBLE
+# define USE_DOUBLE
+# endif
+#endif
+
+#ifndef USE_DOUBLE
+# ifndef DISABLE_DOUBLE_ALIGN
+# define DOUBLE_ALIGN
+# endif
+#endif
+
+/* Some asm.h files do not have the L macro definition. */
+#ifndef L
+# if _MIPS_SIM == _ABIO32
+# define L(label) $L ## label
+# else
+# define L(label) .L ## label
+# endif
+#endif
+
+/* Some asm.h files do not have the PTR_ADDIU macro definition. */
+#ifndef PTR_ADDIU
+# ifdef USE_DOUBLE
+# define PTR_ADDIU daddiu
+# else
+# define PTR_ADDIU addiu
+# endif
+#endif
-/* void *memset(void *s, int c, size_t n). */
+/* Using PREFETCH_HINT_PREPAREFORSTORE instead of PREFETCH_STORE
+ or PREFETCH_STORE_STREAMED offers a large performance advantage
+ but PREPAREFORSTORE has some special restrictions to consider.
-#if __MIPSEB
-# define SWHI swl /* high part is left in big-endian */
+ Prefetch with the 'prepare for store' hint does not copy a memory
+ location into the cache, it just allocates a cache line and zeros
+ it out. This means that if you do not write to the entire cache
+ line before writing it out to memory some data will get zero'ed out
+ when the cache line is written back to memory and data will be lost.
+
+ There are ifdef'ed sections of this memcpy to make sure that it does not
+ do prefetches on cache lines that are not going to be completely written.
+ This code is only needed and only used when PREFETCH_STORE_HINT is set to
+ PREFETCH_HINT_PREPAREFORSTORE. This code assumes that cache lines are
+ less than MAX_PREFETCH_SIZE bytes and if the cache line is larger it will
+ not work correctly. */
+
+#ifdef USE_PREFETCH
+# define PREFETCH_HINT_STORE 1
+# define PREFETCH_HINT_STORE_STREAMED 5
+# define PREFETCH_HINT_STORE_RETAINED 7
+# define PREFETCH_HINT_PREPAREFORSTORE 30
+
+/* If we have not picked out what hints to use at this point use the
+ standard load and store prefetch hints. */
+# ifndef PREFETCH_STORE_HINT
+# define PREFETCH_STORE_HINT PREFETCH_HINT_STORE
+# endif
+
+/* We double everything when USE_DOUBLE is true so we do 2 prefetches to
+ get 64 bytes in that case. The assumption is that each individual
+ prefetch brings in 32 bytes. */
+# ifdef USE_DOUBLE
+# define PREFETCH_CHUNK 64
+# define PREFETCH_FOR_STORE(chunk, reg) \
+ pref PREFETCH_STORE_HINT, (chunk)*64(reg); \
+ pref PREFETCH_STORE_HINT, ((chunk)*64)+32(reg)
+# else
+# define PREFETCH_CHUNK 32
+# define PREFETCH_FOR_STORE(chunk, reg) \
+ pref PREFETCH_STORE_HINT, (chunk)*32(reg)
+# endif
+
+/* MAX_PREFETCH_SIZE is the maximum size of a prefetch, it must not be less
+ than PREFETCH_CHUNK, the assumed size of each prefetch. If the real size
+ of a prefetch is greater than MAX_PREFETCH_SIZE and the PREPAREFORSTORE
+ hint is used, the code will not work correctly. If PREPAREFORSTORE is not
+ used than MAX_PREFETCH_SIZE does not matter. */
+# define MAX_PREFETCH_SIZE 128
+/* PREFETCH_LIMIT is set based on the fact that we never use an offset greater
+ than 5 on a STORE prefetch and that a single prefetch can never be larger
+ than MAX_PREFETCH_SIZE. We add the extra 32 when USE_DOUBLE is set because
+ we actually do two prefetches in that case, one 32 bytes after the other. */
+# ifdef USE_DOUBLE
+# define PREFETCH_LIMIT (5 * PREFETCH_CHUNK) + 32 + MAX_PREFETCH_SIZE
+# else
+# define PREFETCH_LIMIT (5 * PREFETCH_CHUNK) + MAX_PREFETCH_SIZE
+# endif
+
+# if (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE) \
+ && ((PREFETCH_CHUNK * 4) < MAX_PREFETCH_SIZE)
+/* We cannot handle this because the initial prefetches may fetch bytes that
+ are before the buffer being copied. We start copies with an offset
+ of 4 so avoid this situation when using PREPAREFORSTORE. */
+# error "PREFETCH_CHUNK is too large and/or MAX_PREFETCH_SIZE is too small."
+# endif
+#else /* USE_PREFETCH not defined */
+# define PREFETCH_FOR_STORE(offset, reg)
+#endif
+
+/* Allow the routine to be named something else if desired. */
+#ifndef MEMSET_NAME
+# define MEMSET_NAME memset
+#endif
+
+/* We load/store 64 bits at a time when USE_DOUBLE is true.
+ The C_ prefix stands for CHUNK and is used to avoid macro name
+ conflicts with system header files. */
+
+#ifdef USE_DOUBLE
+# define C_ST sd
+# if __MIPSEB
+# define C_STHI sdl /* high part is left in big-endian */
+# else
+# define C_STHI sdr /* high part is right in little-endian */
+# endif
#else
-# define SWHI swr /* high part is right in little-endian */
+# define C_ST sw
+# if __MIPSEB
+# define C_STHI swl /* high part is left in big-endian */
+# else
+# define C_STHI swr /* high part is right in little-endian */
+# endif
#endif
-ENTRY (memset)
+/* Bookkeeping values for 32 vs. 64 bit mode. */
+#ifdef USE_DOUBLE
+# define NSIZE 8
+# define NSIZEMASK 0x3f
+# define NSIZEDMASK 0x7f
+#else
+# define NSIZE 4
+# define NSIZEMASK 0x1f
+# define NSIZEDMASK 0x3f
+#endif
+#define UNIT(unit) ((unit)*NSIZE)
+#define UNITM1(unit) (((unit)*NSIZE)-1)
+
+#ifdef ANDROID_CHANGES
+LEAF(MEMSET_NAME,0)
+#else
+LEAF(MEMSET_NAME)
+#endif
+
+ .set nomips16
.set noreorder
+/* If the size is less than 2*NSIZE (8 or 16), go to L(lastb). Regardless of
+ size, copy dst pointer to v0 for the return value. */
+ slti t2,a2,(2 * NSIZE)
+ bne t2,zero,L(lastb)
+ move v0,a0
+
+/* If memset value is not zero, we copy it to all the bytes in a 32 or 64
+ bit word. */
+ beq a1,zero,L(set0) /* If memset value is zero no smear */
+ PTR_SUBU a3,zero,a0
+ nop
+
+ /* smear byte into 32 or 64 bit word */
+#if ((__mips == 64) || (__mips == 32)) && (__mips_isa_rev >= 2)
+# ifdef USE_DOUBLE
+ dins a1, a1, 8, 8 /* Replicate fill byte into half-word. */
+ dins a1, a1, 16, 16 /* Replicate fill byte into word. */
+ dins a1, a1, 32, 32 /* Replicate fill byte into dbl word. */
+# else
+ ins a1, a1, 8, 8 /* Replicate fill byte into half-word. */
+ ins a1, a1, 16, 16 /* Replicate fill byte into word. */
+# endif
+#else
+# ifdef USE_DOUBLE
+ and a1,0xff
+ dsll t2,a1,8
+ or a1,t2
+ dsll t2,a1,16
+ or a1,t2
+ dsll t2,a1,32
+ or a1,t2
+# else
+ and a1,0xff
+ sll t2,a1,8
+ or a1,t2
+ sll t2,a1,16
+ or a1,t2
+# endif
+#endif
+
+/* If the destination address is not aligned do a partial store to get it
+ aligned. If it is already aligned just jump to L(aligned). */
+L(set0):
+ andi t2,a3,(NSIZE-1) /* word-unaligned address? */
+ beq t2,zero,L(aligned) /* t2 is the unalignment count */
+ PTR_SUBU a2,a2,t2
+ C_STHI a1,0(a0)
+ PTR_ADDU a0,a0,t2
+
+L(aligned):
+/* If USE_DOUBLE is not set we may still want to align the data on a 16
+ byte boundry instead of an 8 byte boundry to maximize the opportunity
+ of proAptiv chips to do memory bonding (combining two sequential 4
+ byte stores into one 8 byte store). We know there are at least 4 bytes
+ left to store or we would have jumped to L(lastb) earlier in the code. */
+#ifdef DOUBLE_ALIGN
+ andi t2,a3,4
+ beq t2,zero,L(double_aligned)
+ PTR_SUBU a2,a2,t2
+ sw a1,0(a0)
+ PTR_ADDU a0,a0,t2
+L(double_aligned):
+#endif
- slti t1, a2, 8 # Less than 8?
- bne t1, zero, L(last8)
- move v0, a0 # Setup exit value before too late
-
- beq a1, zero, L(ueven) # If zero pattern, no need to extend
- andi a1, 0xff # Avoid problems with bogus arguments
- sll t0, a1, 8
- or a1, t0
- sll t0, a1, 16
- or a1, t0 # a1 is now pattern in full word
-
-L(ueven):
- subu t0, zero, a0 # Unaligned address?
- andi t0, 0x3
- beq t0, zero, L(chkw)
- subu a2, t0
- SWHI a1, 0(a0) # Yes, handle first unaligned part
- addu a0, t0 # Now both a0 and a2 are updated
+/* Now the destination is aligned to (word or double word) aligned address
+ Set a2 to count how many bytes we have to copy after all the 64/128 byte
+ chunks are copied and a3 to the dest pointer after all the 64/128 byte
+ chunks have been copied. We will loop, incrementing a0 until it equals
+ a3. */
+ andi t8,a2,NSIZEDMASK /* any whole 64-byte/128-byte chunks? */
+ beq a2,t8,L(chkw) /* if a2==t8, no 64-byte/128-byte chunks */
+ PTR_SUBU a3,a2,t8 /* subtract from a2 the reminder */
+ PTR_ADDU a3,a0,a3 /* Now a3 is the final dst after loop */
+/* When in the loop we may prefetch with the 'prepare to store' hint,
+ in this case the a0+x should not be past the "t0-32" address. This
+ means: for x=128 the last "safe" a0 address is "t0-160". Alternatively,
+ for x=64 the last "safe" a0 address is "t0-96" In the current version we
+ will use "prefetch hint,128(a0)", so "t0-160" is the limit. */
+#if defined(USE_PREFETCH) \
+ && (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
+ PTR_ADDU t0,a0,a2 /* t0 is the "past the end" address */
+ PTR_SUBU t9,t0,PREFETCH_LIMIT /* t9 is the "last safe pref" address */
+#endif
+#if defined(USE_PREFETCH) \
+ && (PREFETCH_STORE_HINT != PREFETCH_HINT_PREPAREFORSTORE)
+ PREFETCH_FOR_STORE (1, a0)
+ PREFETCH_FOR_STORE (2, a0)
+ PREFETCH_FOR_STORE (3, a0)
+#endif
+
+L(loop16w):
+#if defined(USE_PREFETCH) \
+ && (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
+ sltu v1,t9,a0 /* If a0 > t9 don't use next prefetch */
+ bgtz v1,L(skip_pref)
+ nop
+#endif
+ PREFETCH_FOR_STORE (4, a0)
+ PREFETCH_FOR_STORE (5, a0)
+L(skip_pref):
+ C_ST a1,UNIT(0)(a0)
+ C_ST a1,UNIT(1)(a0)
+ C_ST a1,UNIT(2)(a0)
+ C_ST a1,UNIT(3)(a0)
+ C_ST a1,UNIT(4)(a0)
+ C_ST a1,UNIT(5)(a0)
+ C_ST a1,UNIT(6)(a0)
+ C_ST a1,UNIT(7)(a0)
+ C_ST a1,UNIT(8)(a0)
+ C_ST a1,UNIT(9)(a0)
+ C_ST a1,UNIT(10)(a0)
+ C_ST a1,UNIT(11)(a0)
+ C_ST a1,UNIT(12)(a0)
+ C_ST a1,UNIT(13)(a0)
+ C_ST a1,UNIT(14)(a0)
+ C_ST a1,UNIT(15)(a0)
+ PTR_ADDIU a0,a0,UNIT(16) /* adding 64/128 to dest */
+ bne a0,a3,L(loop16w)
+ nop
+ move a2,t8
+
+/* Here we have dest word-aligned but less than 64-bytes or 128 bytes to go.
+ Check for a 32(64) byte chunk and copy if if there is one. Otherwise
+ jump down to L(chk1w) to handle the tail end of the copy. */
L(chkw):
- andi t0, a2, 0x7 # Enough left for one loop iteration?
- beq t0, a2, L(chkl)
- subu a3, a2, t0
- addu a3, a0 # a3 is last loop address +1
- move a2, t0 # a2 is now # of bytes left after loop
-L(loopw):
- addiu a0, 8 # Handle 2 words pr. iteration
- sw a1, -8(a0)
- bne a0, a3, L(loopw)
- sw a1, -4(a0)
-
-L(chkl):
- andi t0, a2, 0x4 # Check if there is at least a full
- beq t0, zero, L(last8) # word remaining after the loop
- subu a2, t0
- sw a1, 0(a0) # Yes...
- addiu a0, 4
-
-L(last8):
- blez a2, L(exit) # Handle last 8 bytes (if cnt>0)
- addu a3, a2, a0 # a3 is last address +1
-L(lst8l):
- addiu a0, 1
- bne a0, a3, L(lst8l)
- sb a1, -1(a0)
-L(exit):
- j ra # Bye, bye
+ andi t8,a2,NSIZEMASK /* is there a 32-byte/64-byte chunk. */
+ /* the t8 is the reminder count past 32-bytes */
+ beq a2,t8,L(chk1w)/* when a2==t8, no 32-byte chunk */
+ nop
+ C_ST a1,UNIT(0)(a0)
+ C_ST a1,UNIT(1)(a0)
+ C_ST a1,UNIT(2)(a0)
+ C_ST a1,UNIT(3)(a0)
+ C_ST a1,UNIT(4)(a0)
+ C_ST a1,UNIT(5)(a0)
+ C_ST a1,UNIT(6)(a0)
+ C_ST a1,UNIT(7)(a0)
+ PTR_ADDIU a0,a0,UNIT(8)
+
+/* Here we have less than 32(64) bytes to set. Set up for a loop to
+ copy one word (or double word) at a time. Set a2 to count how many
+ bytes we have to copy after all the word (or double word) chunks are
+ copied and a3 to the dest pointer after all the (d)word chunks have
+ been copied. We will loop, incrementing a0 until a0 equals a3. */
+L(chk1w):
+ andi a2,t8,(NSIZE-1) /* a2 is the reminder past one (d)word chunks */
+ beq a2,t8,L(lastb)
+ PTR_SUBU a3,t8,a2 /* a3 is count of bytes in one (d)word chunks */
+ PTR_ADDU a3,a0,a3 /* a3 is the dst address after loop */
+
+/* copying in words (4-byte or 8 byte chunks) */
+L(wordCopy_loop):
+ PTR_ADDIU a0,a0,UNIT(1)
+ bne a0,a3,L(wordCopy_loop)
+ C_ST a1,UNIT(-1)(a0)
+
+/* Copy the last 8 (or 16) bytes */
+L(lastb):
+ blez a2,L(leave)
+ PTR_ADDU a3,a0,a2 /* a3 is the last dst address */
+L(lastbloop):
+ PTR_ADDIU a0,a0,1
+ bne a0,a3,L(lastbloop)
+ sb a1,-1(a0)
+L(leave):
+ j ra
nop
+ .set at
.set reorder
-END (memset)
-libc_hidden_builtin_def (memset)
+END(MEMSET_NAME)
+#ifndef ANDROID_CHANGES
+# ifdef _LIBC
+libc_hidden_builtin_def (MEMSET_NAME)
+# endif
+#endif
diff --git a/libc/ports/sysdeps/mips/mips32/fpu/e_sqrt.c b/libc/ports/sysdeps/mips/mips32/fpu/e_sqrt.c
new file mode 100644
index 000000000..81f4e7769
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips32/fpu/e_sqrt.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrt.c>
diff --git a/libc/ports/sysdeps/mips/mips32/fpu/e_sqrtf.c b/libc/ports/sysdeps/mips/mips32/fpu/e_sqrtf.c
new file mode 100644
index 000000000..fb0700d45
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips32/fpu/e_sqrtf.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrtf.c>
diff --git a/libc/ports/sysdeps/mips/mips64/memset.S b/libc/ports/sysdeps/mips/mips64/memset.S
deleted file mode 100644
index 645333526..000000000
--- a/libc/ports/sysdeps/mips/mips64/memset.S
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Hartvig Ekner <hartvige@mips.com>, 2002.
- Ported to mips3 n32/n64 by Alexandre Oliva <aoliva@redhat.com>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <sys/asm.h>
-
-
-/* void *memset(void *s, int c, size_t n);
-
- This could probably be optimized further. */
-
-#if __MIPSEB
-# define SDHI sdl /* high part is left in big-endian */
-#else
-# define SDHI sdr /* high part is right in little-endian */
-#endif
-
-ENTRY (memset)
- .set noreorder
-
- slti ta1, a2, 16 # Less than 16?
- bne ta1, zero, L(last16)
- move v0, a0 # Setup exit value before too late
-
- beq a1, zero, L(ueven) # If zero pattern, no need to extend
- andi a1, 0xff # Avoid problems with bogus arguments
- dsll ta0, a1, 8
- or a1, ta0
- dsll ta0, a1, 16
- or a1, ta0 # a1 is now pattern in full word
- dsll ta0, a1, 32
- or a1, ta0 # a1 is now pattern in double word
-
-L(ueven):
- PTR_SUBU ta0, zero, a0 # Unaligned address?
- andi ta0, 0x7
- beq ta0, zero, L(chkw)
- PTR_SUBU a2, ta0
- SDHI a1, 0(a0) # Yes, handle first unaligned part
- PTR_ADDU a0, ta0 # Now both a0 and a2 are updated
-
-L(chkw):
- andi ta0, a2, 0xf # Enough left for one loop iteration?
- beq ta0, a2, L(chkl)
- PTR_SUBU a3, a2, ta0
- PTR_ADDU a3, a0 # a3 is last loop address +1
- move a2, ta0 # a2 is now # of bytes left after loop
-L(loopw):
- PTR_ADDIU a0, 16 # Handle 2 dwords pr. iteration
- sd a1, -16(a0)
- bne a0, a3, L(loopw)
- sd a1, -8(a0)
-
-L(chkl):
- andi ta0, a2, 0x8 # Check if there is at least a double
- beq ta0, zero, L(last16) # word remaining after the loop
- PTR_SUBU a2, ta0
- sd a1, 0(a0) # Yes...
- PTR_ADDIU a0, 8
-
-L(last16):
- blez a2, L(exit) # Handle last 16 bytes (if cnt>0)
- PTR_ADDU a3, a2, a0 # a3 is last address +1
-L(lst16l):
- PTR_ADDIU a0, 1
- bne a0, a3, L(lst16l)
- sb a1, -1(a0)
-L(exit):
- j ra # Bye, bye
- nop
-
- .set reorder
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrt.c b/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrt.c
new file mode 100644
index 000000000..81f4e7769
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrt.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrt.c>
diff --git a/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrtf.c b/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrtf.c
new file mode 100644
index 000000000..fb0700d45
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips64/n32/fpu/e_sqrtf.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrtf.c>
diff --git a/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrt.c b/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrt.c
new file mode 100644
index 000000000..81f4e7769
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrt.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrt.c>
diff --git a/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrtf.c b/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrtf.c
new file mode 100644
index 000000000..fb0700d45
--- /dev/null
+++ b/libc/ports/sysdeps/mips/mips64/n64/fpu/e_sqrtf.c
@@ -0,0 +1 @@
+#include <sysdeps/mips/fpu/e_sqrtf.c>
diff --git a/libc/ports/sysdeps/mips/mips64/soft-fp/sfp-machine.h b/libc/ports/sysdeps/mips/mips64/soft-fp/sfp-machine.h
index 9cfd6fbb7..5be50927d 100644
--- a/libc/ports/sysdeps/mips/mips64/soft-fp/sfp-machine.h
+++ b/libc/ports/sysdeps/mips/mips64/soft-fp/sfp-machine.h
@@ -24,15 +24,25 @@
#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y)
#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y)
-#define _FP_NANFRAC_S (_FP_QNANBIT_S - 1)
-#define _FP_NANFRAC_D (_FP_QNANBIT_D - 1)
-#define _FP_NANFRAC_Q (_FP_QNANBIT_Q - 1), -1
+#ifdef __mips_nan2008
+# define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
+# define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1)
+# define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1
+#else
+# define _FP_NANFRAC_S (_FP_QNANBIT_S - 1)
+# define _FP_NANFRAC_D (_FP_QNANBIT_D - 1)
+# define _FP_NANFRAC_Q (_FP_QNANBIT_Q - 1), -1
+#endif
#define _FP_NANSIGN_S 0
#define _FP_NANSIGN_D 0
#define _FP_NANSIGN_Q 0
#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 1
+#ifdef __mips_nan2008
+# define _FP_QNANNEGATEDP 0
+#else
+# define _FP_QNANNEGATEDP 1
+#endif
/* From my experiments it seems X is chosen unless one of the
NaNs is sNaN, in which case the result is NANSIGN/NANFRAC. */
diff --git a/libc/ports/sysdeps/mips/shlib-versions b/libc/ports/sysdeps/mips/shlib-versions
index 780939369..b153732c2 100644
--- a/libc/ports/sysdeps/mips/shlib-versions
+++ b/libc/ports/sysdeps/mips/shlib-versions
@@ -3,7 +3,11 @@ mips.*-.*-linux.* libm=6 GLIBC_2.0 GLIBC_2.2
# Working mips versions were never released between 2.0 and 2.2.
mips.*-.*-linux.* libc=6 GLIBC_2.0 GLIBC_2.2
+%ifdef HAVE_MIPS_NAN2008
+mips.*-.*-linux.* ld=ld-linux-mipsn8.so.1 GLIBC_2.0 GLIBC_2.2
+%else
mips.*-.*-linux.* ld=ld.so.1 GLIBC_2.0 GLIBC_2.2
+%endif
mips.*-.*-linux.* libdl=2 GLIBC_2.0 GLIBC_2.2
mips.*-.*-linux.* libresolv=2 GLIBC_2.0 GLIBC_2.2
diff --git a/libc/ports/sysdeps/mips/soft-fp/sfp-machine.h b/libc/ports/sysdeps/mips/soft-fp/sfp-machine.h
index a60bef766..fff3b3c61 100644
--- a/libc/ports/sysdeps/mips/soft-fp/sfp-machine.h
+++ b/libc/ports/sysdeps/mips/soft-fp/sfp-machine.h
@@ -21,15 +21,25 @@
#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-#define _FP_NANFRAC_S (_FP_QNANBIT_S - 1)
-#define _FP_NANFRAC_D (_FP_QNANBIT_D - 1), -1
-#define _FP_NANFRAC_Q (_FP_QNANBIT_Q - 1), -1, -1, -1
+#ifdef __mips_nan2008
+# define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
+# define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
+# define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
+#else
+# define _FP_NANFRAC_S (_FP_QNANBIT_S - 1)
+# define _FP_NANFRAC_D (_FP_QNANBIT_D - 1), -1
+# define _FP_NANFRAC_Q (_FP_QNANBIT_Q - 1), -1, -1, -1
+#endif
#define _FP_NANSIGN_S 0
#define _FP_NANSIGN_D 0
#define _FP_NANSIGN_Q 0
#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 1
+#ifdef __mips_nan2008
+# define _FP_QNANNEGATEDP 0
+#else
+# define _FP_QNANNEGATEDP 1
+#endif
/* From my experiments it seems X is chosen unless one of the
NaNs is sNaN, in which case the result is NANSIGN/NANFRAC. */
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Makefile b/libc/ports/sysdeps/powerpc/nofpu/Makefile
deleted file mode 100644
index 6bdff4546..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Makefile fragment for PowerPC with no FPU.
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \
- sim-full
-endif
-
-ifeq ($(subdir),math)
-libm-support += fenv_const
-CPPFLAGS += -I../soft-fp/
-# The follow CFLAGS are a work around for GCC Bugzilla Bug 29253
-# "expand_abs wrong default code for floating point"
-# As this is not a regression, a fix is not likely to go into
-# gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags
-# until the fix in a gcc release and glibc drops support for earlier
-# versions of gcc.
-CFLAGS-e_powl.c += -fno-builtin-fabsl
-CFLAGS-s_ccoshl.c += -fno-builtin-fabsl
-CFLAGS-s_csinhl.c += -fno-builtin-fabsl
-CFLAGS-s_clogl.c += -fno-builtin-fabsl
-CFLAGS-s_clog10l.c += -fno-builtin-fabsl
-CFLAGS-s_csinl.c += -fno-builtin-fabsl
-CFLAGS-s_csqrtl.c += -fno-builtin-fabsl
-endif
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Subdirs b/libc/ports/sysdeps/powerpc/nofpu/Subdirs
deleted file mode 100644
index 87eadf302..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/libc/ports/sysdeps/powerpc/nofpu/Versions b/libc/ports/sysdeps/powerpc/nofpu/Versions
deleted file mode 100644
index 1a29319d5..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/Versions
+++ /dev/null
@@ -1,20 +0,0 @@
-libc {
- GLIBC_2.3.2 {
- __sim_exceptions; __sim_disabled_exceptions; __sim_round_mode;
- __adddf3; __addsf3; __divdf3; __divsf3; __eqdf2; __eqsf2;
- __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi; __fixsfsi;
- __fixunsdfdi; __fixunsdfsi; __fixunssfdi; __fixunssfsi;
- __floatdidf; __floatdisf; __floatsidf; __floatsisf;
- __gedf2; __gesf2; __ledf2; __lesf2; __muldf3; __mulsf3;
- __negdf2; __negsf2; __sqrtdf2; __sqrtsf2; __subdf3;
- __subsf3; __truncdfsf2;
- }
- GLIBC_2.4 {
- __floatundidf; __floatundisf;
- __floatunsidf; __floatunsisf;
- __unorddf2; __unordsf2;
- __nedf2; __nesf2;
- __gtdf2; __gtsf2;
- __ltdf2; __ltsf2;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c
deleted file mode 100644
index fabda0ab9..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fclrexcpt.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Clear floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__feclearexcept (int x)
-{
- __sim_exceptions &= ~x;
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c
deleted file mode 100644
index e06c8f767..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fedisblxcpt.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Disable exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <fenv.h>
-
-int
-fedisableexcept (int x)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions |= x;
-
- return old_exceptions;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c b/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c
deleted file mode 100644
index 93249abf6..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feenablxcpt.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Enable exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv.h>
-
-extern int __sim_disabled_exceptions;
-
-int
-feenableexcept (int exceptions)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions &= ~exceptions;
-
- return old_exceptions;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c b/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c
deleted file mode 100644
index 51bcef30a..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetenv.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Store current floating-point environment (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002, 2010.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-extern int __sim_exceptions;
-extern int __sim_disabled_exceptions;
-extern int __sim_round_mode;
-
-int
-__fegetenv (fenv_t *envp)
-{
- fenv_union_t u;
-
- u.l[0] = __sim_exceptions;
- u.l[0] |= __sim_round_mode;
- u.l[1] = __sim_disabled_exceptions;
-
- *envp = u.fenv;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fegetenv, fegetenv)
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c b/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c
deleted file mode 100644
index ea39a82b7..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetexcept.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Get floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fegetexcept (void)
-{
- return (__sim_disabled_exceptions ^ FE_ALL_EXCEPT) & FE_ALL_EXCEPT;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fegetround.c b/libc/ports/sysdeps/powerpc/nofpu/fegetround.c
deleted file mode 100644
index c232ae379..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fegetround.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Return current rounding mode (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-#undef fegetround
-int
-fegetround (void)
-{
- return __sim_round_mode;
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c
deleted file mode 100644
index ba6a53acc..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feholdexcpt.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Store current floating-point environment and clear exceptions
- (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-feholdexcept (fenv_t *envp)
-{
- fenv_union_t u;
-
- /* Get the current state. */
- __fegetenv (envp);
-
- u.fenv = *envp;
- /* Clear everything except the rounding mode. */
- u.l[0] &= 0x3;
- /* Disable exceptions */
- u.l[1] = FE_ALL_EXCEPT;
-
- /* Put the new state in effect. */
- fesetenv (&u.fenv);
-
- return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c b/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c
deleted file mode 100644
index 291b1accc..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fenv_const.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Constants for fenv_bits.h (soft float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* We want to specify the bit pattern of the __fe_*_env constants, so
- pretend they're really `long long' instead of `double'. */
-
-/* If the default argument is used we use this value. Disable all
- signalling exceptions as default. */
-const unsigned long long __fe_dfl_env __attribute__ ((aligned (8))) =
-0x000000003e000000ULL;
-
-/* Floating-point environment where none of the exceptions are masked. */
-const unsigned long long __fe_enabled_env __attribute__ ((aligned (8))) =
-0xfff80000000000f8ULL;
-
-/* Floating-point environment with the NI bit set. */
-const unsigned long long __fe_nonieee_env __attribute__ ((aligned (8))) =
-0xfff8000000000004ULL;
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h b/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h
deleted file mode 100644
index 14a2d04a2..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fenv_libc.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FENV_LIBC_H
-#define _FENV_LIBC_H 1
-
-/* fenv_libc.h is used in libm implementations of ldbl-128ibm. So we
- need this version in the soft-fp to at minimum include fenv.h to
- get the fegetround definition. */
-
-#include <fenv.h>
-
-#endif /* fenv_libc.h */
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c b/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c
deleted file mode 100644
index 3f35909b6..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fesetenv.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Set floating point environment (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fenv_union_t u;
-
- u.fenv = *envp;
- __sim_exceptions = u.l[0] & FE_ALL_EXCEPT;
- __sim_round_mode = u.l[0] & 0x3;
- __sim_disabled_exceptions = u.l[1];
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fesetround.c b/libc/ports/sysdeps/powerpc/nofpu/fesetround.c
deleted file mode 100644
index 028c1300c..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fesetround.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Set rounding mode (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fesetround (int round)
-{
- if ((unsigned int) round > FE_DOWNWARD)
- return 1;
-
- __sim_round_mode = round;
-
- return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c b/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c
deleted file mode 100644
index 163f67310..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/feupdateenv.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Install given floating-point environment and raise exceptions
- (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <signal.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- int saved_exceptions;
-
- /* Save currently set exceptions. */
- saved_exceptions = __sim_exceptions;
-
- /* Set environment. */
- fesetenv (envp);
-
- /* Raise old exceptions. */
- __sim_exceptions |= saved_exceptions;
- if (saved_exceptions & ~__sim_disabled_exceptions)
- raise (SIGFPE);
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feupdateenv, feupdateenv)
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c b/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c
deleted file mode 100644
index 2373fa400..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fgetexcptflg.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Store current representation for exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- *flagp = (fexcept_t) __sim_exceptions & excepts & FE_ALL_EXCEPT;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c b/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c
deleted file mode 100644
index cd142b60b..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fraiseexcpt.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Raise given exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <signal.h>
-
-#undef feraiseexcept
-int
-__feraiseexcept (int x)
-{
- __sim_exceptions |= x;
- if (x & ~__sim_disabled_exceptions)
- raise (SIGFPE);
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feraiseexcept, __old_feraiseexcept)
-compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c b/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c
deleted file mode 100644
index 3dc368fdd..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/fsetexcptflg.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Set floating-point environment exception handling (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__fesetexceptflag(const fexcept_t *flagp, int excepts)
-{
- /* Ignore exceptions not listed in 'excepts'. */
- __sim_exceptions = (__sim_exceptions & ~excepts) | (*flagp & excepts);
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c b/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c
deleted file mode 100644
index f5d01e881..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/ftestexcept.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Test floating-point exceptions (soft-float edition).
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fetestexcept (int x)
-{
- return __sim_exceptions & x;
-}
-libm_hidden_def (fetestexcept)
diff --git a/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps b/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
deleted file mode 100644
index ad5a9cd42..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/libm-test-ulps
+++ /dev/null
@@ -1,7297 +0,0 @@
-# Begin of automatic generation
-
-# acos
-Test "acos (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "acos (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "acos (2e-17)":
-ildouble: 1
-ldouble: 1
-
-# acos_downward
-Test "acos_downward (-0)":
-float: 1
-ifloat: 1
-Test "acos_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_downward (-1)":
-float: 1
-ifloat: 1
-Test "acos_downward (0)":
-float: 1
-ifloat: 1
-Test "acos_downward (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_towardzero
-Test "acos_towardzero (-0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_towardzero (-1)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_upward
-Test "acos_upward (-0)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (-1)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (0)":
-ildouble: 2
-ldouble: 2
-
-# asin
-Test "asin (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0.75)":
-ildouble: 2
-ldouble: 2
-Test "asin (0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-
-# asin_downward
-Test "asin_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-1.0)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (1.0)":
-float: 1
-ifloat: 1
-
-# asin_towardzero
-Test "asin_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_towardzero (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (1.0)":
-float: 1
-ifloat: 1
-
-# asin_upward
-Test "asin_upward (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_upward (1.0)":
-ildouble: 1
-ldouble: 1
-
-# atan2
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0.75, -1.0)":
-float: 1
-ifloat: 1
-Test "atan2 (-inf, -inf)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-max_value, -min_value)":
-float: 1
-ifloat: 1
-Test "atan2 (0.75, -1.0)":
-float: 1
-ifloat: 1
-Test "atan2 (1.390625, 0.9296875)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (inf, -inf)":
-ildouble: 1
-ldouble: 1
-
-# atanh
-Test "atanh (0.75)":
-float: 1
-ifloat: 1
-
-# cabs
-Test "cabs (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-
-# cacos
-Test "Imaginary part of: cacos (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-inf + inf i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-inf - inf i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacos (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-
-# cacosh
-Test "Real part of: cacosh (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-inf + inf i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-inf - inf i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
-ildouble: 2
-ldouble: 2
-
-# carg
-Test "carg (-inf + inf i)":
-ildouble: 1
-ldouble: 1
-Test "carg (-inf - inf i)":
-ildouble: 1
-ldouble: 1
-
-# casin
-Test "Imaginary part of: casin (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (+0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (-0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casin (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-106 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-106 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-1.0 + 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-1.0 - 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (0x0.ffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casin (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-105 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-105 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-106 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-106 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (1.0 + 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (1.0 - 0x1.fp-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# casinh
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.25 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0.5 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000000000000000000000000008p0 + 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000000000000000000000000008p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000000000000000000000000008p0 - 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (-1.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.25 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0.25 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0.5 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000000000000000000000000008p0 + 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000000000000000000000000008p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000000000000000000000000008p0 - 0x1p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.000002p0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0x1.000002p0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-10 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-10 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casinh (1.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-
-# catan
-Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 - 0x1p-27 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000000000000000000000000008p0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000000000000000000000000008p0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x0.fffffffffffff8p0 - 0x1p-27 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000000000000000000000000008p0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000000000000000000000000008p0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 + 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 - 0x1p-54 i)":
-ildouble: 1
-ldouble: 1
-
-# catanh
-Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1p-27 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-54 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-2 - 3 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (0x1p-54 + 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 - 0x1.000000000000000000000000008p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-54 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
-
-# cbrt
-Test "cbrt (-27.0)":
-double: 1
-idouble: 1
-Test "cbrt (0.75)":
-double: 1
-idouble: 1
-Test "cbrt (0.9921875)":
-double: 1
-idouble: 1
-
-# ccos
-Test "Imaginary part of: ccos (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ccos (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-
-# ccosh
-Test "Real part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ccosh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cexp
-Test "Imaginary part of: cexp (-2.0 - 3.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (-95 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cexp (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (50 + 0x1p127 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (50 + 0x1p127 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cexp (500 + 0x1p1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (500 + 0x1p1023 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (88.75 + 0.75 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (88.75 + 0.75 i)":
-float: 2
-ifloat: 2
-
-# clog
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-inf + inf i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-inf - inf i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x11682p-23 + 0x7ffed1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x13836d58a13448d750b4b9p-85 + 0x195ca7bc3ab4f9161edbe6p-85 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x155f8afc4c48685bf63610p-85 + 0x17d0cf2652cdbeb1294e19p-85 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1p-147 + 0x1p-147 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa1f2c1p-24 + 0xc643aep-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xf2p-10 + 0x3e3p-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (1.0 + 0x1.234566p-10 i)":
-float: 1
-ifloat: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + inf i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-inf - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x13836d58a13448d750b4b9p-85 + 0x195ca7bc3ab4f9161edbe6p-85 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x155f8afc4c48685bf63610p-85 + 0x17d0cf2652cdbeb1294e19p-85 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: clog10 (0x15d8ab6ed05ca514086ac3a1e84p-105 + 0x1761e480aa094c0b10b34b09ce9p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x298c62cb546588a7p-63 + 0x7911b1dfcc4ecdaep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x81b7efa81fc35ad1p-65 + 0x1ef4b835f1c79d812p-65 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xe33f66c9542ca25cc43c867p-95 + 0x7f35a68ebd3704a43c465864p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# cos
-Test "cos (0x1p+120)":
-float: 1
-ifloat: 1
-Test "cos (0x1p+127)":
-float: 1
-ifloat: 1
-Test "cos (M_PI_6l * 2.0)":
-double: 1
-idouble: 1
-Test "cos (M_PI_6l * 4.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_downward
-Test "cos_downward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (2)":
-float: 1
-ifloat: 1
-Test "cos_downward (3)":
-float: 1
-ifloat: 1
-Test "cos_downward (4)":
-float: 1
-ifloat: 1
-Test "cos_downward (5)":
-float: 1
-ifloat: 1
-Test "cos_downward (6)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (7)":
-float: 1
-ifloat: 1
-Test "cos_downward (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (9)":
-ildouble: 1
-ldouble: 1
-
-# cos_tonearest
-Test "cos_tonearest (7)":
-float: 1
-ifloat: 1
-
-# cos_towardzero
-Test "cos_towardzero (1)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (2)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (3)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (5)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (7)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_upward
-Test "cos_upward (10)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (4)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (5)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (6)":
-float: 1
-ifloat: 1
-Test "cos_upward (7)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (9)":
-float: 2
-ifloat: 2
-
-# cosh_downward
-Test "cosh_downward (22)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (23)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (24)":
-ildouble: 1
-ldouble: 1
-
-# cosh_towardzero
-Test "cosh_towardzero (22)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (23)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# cosh_upward
-Test "cosh_upward (22)":
-ildouble: 2
-ldouble: 2
-Test "cosh_upward (23)":
-ildouble: 2
-ldouble: 2
-Test "cosh_upward (24)":
-ildouble: 2
-ldouble: 2
-
-# cpow
-Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: cpow (2 + 0 i, 10 + 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# csin
-Test "Real part of: csin (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csin (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-
-# csinh
-Test "Imaginary part of: csinh (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: csinh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# csqrt
-Test "Real part of: csqrt (-0x1.000002p-126 - 0x1.000002p-126 i)":
-double: 1
-idouble: 1
-Test "Real part of: csqrt (-2 + 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0x1.000002p-126 + 0x1.000002p-126 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1p+1023 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-1074 + 0x1p-1074 i)":
-ildouble: 1
-ldouble: 1
-
-# ctan
-Test "Real part of: ctan (-2 - 3 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (-2 - 3 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0.75 + 1.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1p1023 + 1 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0x1p1023 + 1 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p127 + 1 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1p127 + 1 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x3.243f6cp-1 + 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (1 + 47 i)":
-ildouble: 2
-ldouble: 2
-
-# ctan_downward
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-# ctan_tonearest
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ctan_towardzero
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 13
-ldouble: 13
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-ildouble: 8
-ldouble: 8
-
-# ctan_upward
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-ildouble: 6
-ldouble: 6
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x1p-1074 i)":
-ildouble: 10
-ldouble: 10
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x1p-149 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 5
-ldouble: 5
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0 + pi/4 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: ctanh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0.75 + 1.25 i)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh (1 + 0x1p1023 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (1 + 0x1p1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (1 + 0x1p127 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (1 + 0x1p127 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (47 + 1 i)":
-ildouble: 2
-ldouble: 2
-
-# ctanh_downward
-Test "Imaginary part of: ctanh_downward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-Test "Imaginary part of: ctanh_downward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctanh_tonearest
-Test "Real part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ctanh_towardzero
-Test "Real part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 13
-ldouble: 13
-Test "Imaginary part of: ctanh_towardzero (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 8
-ldouble: 8
-Test "Imaginary part of: ctanh_towardzero (0x1p-149 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctanh_upward
-Test "Real part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-ildouble: 10
-ldouble: 10
-Test "Imaginary part of: ctanh_upward (0x1p-1074 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 6
-ldouble: 6
-Test "Real part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_upward (0x1p-149 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-# erf
-Test "erf (1.25)":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (0x1.f7303cp+1)":
-double: 1
-idouble: 1
-Test "erfc (0x1.ffa002p+2)":
-float: 1
-ifloat: 1
-Test "erfc (0x1.ffff56789abcdef0123456789a8p+2)":
-ildouble: 1
-ldouble: 1
-Test "erfc (2.0)":
-double: 1
-idouble: 1
-Test "erfc (4.125)":
-double: 1
-idouble: 1
-
-# exp
-Test "exp (0.75)":
-ildouble: 1
-ldouble: 1
-Test "exp (50.0)":
-ildouble: 1
-ldouble: 1
-
-# exp10
-Test "exp10 (-1)":
-double: 1
-idouble: 1
-Test "exp10 (-305)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10 (-36)":
-double: 1
-idouble: 1
-Test "exp10 (3)":
-double: 1
-idouble: 1
-Test "exp10 (36)":
-double: 1
-idouble: 1
-
-# exp_downward
-Test "exp_downward (2)":
-float: 1
-ifloat: 1
-Test "exp_downward (3)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (2)":
-float: 1
-ifloat: 1
-Test "exp_towardzero (3)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# exp_upward
-Test "exp_upward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# expm1
-Test "expm1 (0.75)":
-double: 1
-idouble: 1
-Test "expm1 (1)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1 (500.0)":
-double: 1
-idouble: 1
-
-# gamma
-Test "gamma (0.7)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "gamma (1.2)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-# hypot
-Test "hypot (-0.7, -12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4)":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7)":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, 0.7)":
-float: 1
-ifloat: 1
-Test "hypot (0.7, -12.4)":
-float: 1
-ifloat: 1
-Test "hypot (0.7, 12.4)":
-float: 1
-ifloat: 1
-Test "hypot (0.75, 1.25)":
-ildouble: 1
-ldouble: 1
-Test "hypot (12.4, -0.7)":
-float: 1
-ifloat: 1
-Test "hypot (12.4, 0.7)":
-float: 1
-ifloat: 1
-
-# j0
-Test "j0 (-0x1.001000001p+593)":
-ildouble: 2
-ldouble: 2
-Test "j0 (-4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (0.75)":
-float: 1
-ifloat: 1
-Test "j0 (0x1.d7ce3ap+107)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j0 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "j0 (10.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "j0 (2.0)":
-float: 2
-ifloat: 2
-Test "j0 (4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (8.0)":
-float: 1
-ifloat: 1
-
-# j1
-Test "j1 (0x1.3ffp+74)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "j1 (10.0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j1 (2.0)":
-double: 1
-idouble: 1
-Test "j1 (8.0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# jn
-Test "jn (0, -4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 0.75)":
-float: 1
-ifloat: 1
-Test "jn (0, 10.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (0, 2.0)":
-float: 2
-ifloat: 2
-Test "jn (0, 4.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 8.0)":
-float: 1
-ifloat: 1
-Test "jn (1, 10.0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "jn (1, 2.0)":
-double: 1
-idouble: 1
-Test "jn (1, 8.0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, -1.0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.125)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (10, 1.0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 10.0)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "jn (10, 2.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (2, 0x1.ffff62p+99)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "jn (2, 2.4048255576957729)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (3, 0.125)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (3, 2.0)":
-float: 1
-ifloat: 1
-Test "jn (3, 2.4048255576957729)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-Test "jn (4, 2.4048255576957729)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "jn (5, 2.4048255576957729)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (6, 2.4048255576957729)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "jn (7, 2.4048255576957729)":
-double: 3
-float: 5
-idouble: 3
-ifloat: 5
-ildouble: 2
-ldouble: 2
-Test "jn (8, 2.4048255576957729)":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
-Test "jn (9, 2.4048255576957729)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 7
-ldouble: 7
-
-# lgamma
-Test "lgamma (0.7)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "lgamma (1.2)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-# log10
-Test "log10 (0.75)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "log10 (e)":
-float: 1
-ifloat: 1
-
-# log1p
-Test "log1p (-0.25)":
-float: 1
-ifloat: 1
-
-# log2
-Test "log2 (e)":
-ildouble: 1
-ldouble: 1
-
-# pow
-Test "pow (0x0.ffffffp0, -0x1p24)":
-float: 1
-ifloat: 1
-Test "pow (0x0.ffffffp0, 0x1p24)":
-float: 1
-ifloat: 1
-Test "pow (0x1.000002p0, 0x1p24)":
-float: 1
-ifloat: 1
-
-# pow10
-Test "pow10 (-1)":
-double: 1
-idouble: 1
-Test "pow10 (-305)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "pow10 (-36)":
-double: 1
-idouble: 1
-Test "pow10 (3)":
-double: 1
-idouble: 1
-Test "pow10 (36)":
-double: 1
-idouble: 1
-
-# pow_downward
-Test "pow_downward (1.0625, 1.125)":
-ildouble: 1
-ldouble: 1
-Test "pow_downward (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_towardzero
-Test "pow_towardzero (1.0625, 1.125)":
-ildouble: 1
-ldouble: 1
-Test "pow_towardzero (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_upward
-Test "pow_upward (1.0625, 1.125)":
-float: 1
-ifloat: 1
-
-# sin_downward
-Test "sin_downward (1)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (10)":
-float: 1
-ifloat: 1
-Test "sin_downward (2)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (3)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_downward (4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (5)":
-float: 1
-ifloat: 1
-Test "sin_downward (6)":
-float: 1
-ifloat: 1
-Test "sin_downward (8)":
-ildouble: 1
-ldouble: 1
-
-# sin_tonearest
-Test "sin_tonearest (1)":
-float: 1
-ifloat: 1
-
-# sin_towardzero
-Test "sin_towardzero (1)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "sin_towardzero (10)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (2)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (3)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (5)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (8)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (9)":
-float: 1
-ifloat: 1
-
-# sin_upward
-Test "sin_upward (1)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "sin_upward (2)":
-float: 2
-ifloat: 2
-Test "sin_upward (3)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (6)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (9)":
-float: 1
-ifloat: 1
-
-# sincos
-Test "sincos (0x1p+120) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0x1p+127) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0) extra output 2":
-double: 1
-idouble: 1
-Test "sincos (pi/6) extra output 2":
-float: 1
-ifloat: 1
-
-# sinh
-Test "sinh (0.75)":
-ildouble: 1
-ldouble: 1
-
-# sinh_downward
-Test "sinh_downward (22)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_downward (23)":
-float: 1
-ifloat: 1
-Test "sinh_downward (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sinh_towardzero
-Test "sinh_towardzero (22)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_towardzero (23)":
-float: 1
-ifloat: 1
-Test "sinh_towardzero (24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sinh_upward
-Test "sinh_upward (23)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (24)":
-ildouble: 1
-ldouble: 1
-
-# tan
-Test "tan (-0xc.908p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90cp-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90ep-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90f8p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (-0xc.90fcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.92p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.9p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.908p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90cp-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90ep-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90f8p-4)":
-ildouble: 2
-ldouble: 2
-Test "tan (0xc.90fcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.92p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0xc.9p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (pi/4)":
-ildouble: 1
-ldouble: 1
-
-# tan_downward
-Test "tan_downward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (10)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_downward (2)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (6)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (8)":
-float: 1
-ifloat: 1
-Test "tan_downward (9)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# tan_tonearest
-Test "tan_tonearest (10)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (7)":
-ildouble: 1
-ldouble: 1
-
-# tan_towardzero
-Test "tan_towardzero (10)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_towardzero (3)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "tan_towardzero (4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (5)":
-float: 1
-ifloat: 1
-Test "tan_towardzero (6)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (7)":
-ildouble: 2
-ldouble: 2
-Test "tan_towardzero (9)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# tan_upward
-Test "tan_upward (1)":
-float: 1
-ifloat: 1
-Test "tan_upward (10)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (3)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "tan_upward (5)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (6)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (7)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (9)":
-ildouble: 1
-ldouble: 1
-
-# tanh
-Test "tanh (-0.75)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0.75)":
-ildouble: 1
-ldouble: 1
-
-# tgamma
-Test "tgamma (-0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x0.fffffffffffff8p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x0.ffffffp0)":
-float: 1
-ifloat: 1
-Test "tgamma (-0x1.000002p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x1.0a32a2p+5)":
-float: 2
-ifloat: 2
-Test "tgamma (-0x1.fffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x13.ffffep0)":
-float: 2
-ifloat: 2
-Test "tgamma (-0x13.ffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x14.000000000001p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x14.00002p0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1d.ffffep0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1d.ffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1e.00000000000000000000000008p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1e.000000000001p0)":
-double: 3
-idouble: 3
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0x1e.00002p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x2.0000000000002p0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.000004p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffcp0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x27.fffffffffffep0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x27.fffffffffffffffffffffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x28.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x28.000000000002p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x28.00004p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x29.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x29.000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x29.00004p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x29.ffffcp0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x29.fffffffffffep0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2a.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.000004p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x3.fffffcp0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x3.ffffffffffffep0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x31.fffffffffffep0)":
-double: 3
-idouble: 3
-Test "tgamma (-0x32.0000000000000000000000001p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x32.000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.000008p0)":
-float: 1
-ifloat: 1
-Test "tgamma (-0x4.fffff8p0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.ffffffffffffcp0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000004p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.000008p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x5.ffffffffffffcp0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x6.000008p0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.fffff8p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.ffffffffffffcp0)":
-double: 4
-idouble: 4
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x63.fffffffffffcp0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x63.ffffffffffffffffffffffffep0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x64.0000000000000000000000002p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.000000000004p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.00000000000000000000000002p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000004p0)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.000008p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x7.fffff8p0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "tgamma (-0x7.ffffffffffffcp0)":
-double: 3
-idouble: 3
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0x8.00000000000000000000000004p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00001p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x9.ffffffffffff8p0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.fffffp0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x96.000000000008p0)":
-double: 1
-idouble: 1
-Test "tgamma (-0xa.00001p0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-2.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-3.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-4.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-5.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-6.5)":
-float: 1
-ifloat: 1
-Test "tgamma (-7.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-8.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-9.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0.5)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.fffffep0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1.fffffffffffffp0)":
-double: 1
-idouble: 1
-Test "tgamma (0x1p-24)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1p-53)":
-double: 1
-idouble: 1
-Test "tgamma (0x2.30a43cp+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (0x2.fffffcp0)":
-float: 3
-ifloat: 3
-Test "tgamma (0x3.fffffcp0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x3.ffffffffffffep0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.0000000000004p0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.ffffffffffffcp0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.0000000000004p0)":
-double: 1
-idouble: 1
-Test "tgamma (0x5.000008p0)":
-float: 2
-ifloat: 2
-Test "tgamma (0x5.fffff8p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x6.0000000000004p0)":
-double: 1
-idouble: 1
-Test "tgamma (0x6.000008p0)":
-float: 2
-ifloat: 2
-Test "tgamma (0x6.fffff8p0)":
-double: 1
-idouble: 1
-Test "tgamma (0x6.ffffffffffffcp0)":
-double: 4
-idouble: 4
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.0000000000004p0)":
-double: 4
-idouble: 4
-Test "tgamma (0x7.000008p0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x7.fffff8p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (0x7.ffffffffffffcp0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.00001p0)":
-double: 2
-idouble: 2
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f4p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (10)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (18.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (19.5)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (2.5)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (23.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (29.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (3)":
-float: 1
-ifloat: 1
-Test "tgamma (3.5)":
-float: 2
-ifloat: 2
-Test "tgamma (30.5)":
-float: 1
-ifloat: 1
-Test "tgamma (33.5)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (34.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (4)":
-float: 1
-ifloat: 1
-Test "tgamma (4.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (6)":
-float: 1
-ifloat: 1
-Test "tgamma (6.5)":
-float: 1
-ifloat: 1
-Test "tgamma (7)":
-double: 1
-idouble: 1
-Test "tgamma (7.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (8)":
-double: 1
-idouble: 1
-Test "tgamma (8.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (9)":
-double: 1
-idouble: 1
-Test "tgamma (9.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# y0
-Test "y0 (0.125)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1.3ffp+74)":
-double: 1
-idouble: 1
-Test "y0 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-10)":
-double: 1
-idouble: 1
-Test "y0 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-110)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-20)":
-float: 1
-ifloat: 1
-Test "y0 (0x1p-30)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-40)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p-50)":
-float: 1
-ifloat: 1
-Test "y0 (0x1p-70)":
-double: 1
-idouble: 1
-Test "y0 (0x1p-80)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "y0 (1.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (1.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (8.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# y1
-Test "y1 (0.125)":
-double: 1
-idouble: 1
-Test "y1 (0x1.001000001p+593)":
-ildouble: 2
-ldouble: 2
-Test "y1 (0x1.27e204p+99)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-10)":
-double: 1
-idouble: 1
-Test "y1 (0x1p-20)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "y1 (1.5)":
-float: 1
-ifloat: 1
-Test "y1 (10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (8.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# yn
-Test "yn (0, 0.125)":
-ildouble: 1
-ldouble: 1
-Test "yn (0, 1.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (0, 1.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 10.0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (0, 8.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0.125)":
-double: 1
-idouble: 1
-Test "yn (1, 1.5)":
-float: 1
-ifloat: 1
-Test "yn (1, 10.0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 8.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "yn (10, 0.125)":
-double: 1
-idouble: 1
-Test "yn (10, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (10, 1.0)":
-double: 1
-idouble: 1
-Test "yn (10, 10.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (10, 2.0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "yn (3, 0.125)":
-double: 1
-idouble: 1
-Test "yn (3, 0.75)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 10.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (3, 2.0)":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "acos":
-ildouble: 1
-ldouble: 1
-
-Function: "acos_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "acos_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_upward":
-ildouble: 2
-ldouble: 2
-
-Function: "acosh":
-ildouble: 1
-ldouble: 1
-
-Function: "asin":
-ildouble: 2
-ldouble: 2
-
-Function: "asin_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "asin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asinh":
-ildouble: 1
-ldouble: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh":
-float: 1
-ifloat: 1
-
-Function: "cabs":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "carg":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "casinh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cbrt":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos_upward":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "cosh":
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_upward":
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "ctan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctan_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan_downward":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Real part of "ctan_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctan_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "ctan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 13
-ldouble: 13
-
-Function: Real part of "ctan_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Imaginary part of "ctan_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 10
-ldouble: 10
-
-Function: Real part of "ctanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "ctanh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "ctanh_downward":
-float: 1
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: Imaginary part of "ctanh_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctanh_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 13
-ldouble: 13
-
-Function: Imaginary part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
-Function: Real part of "ctanh_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 10
-ldouble: 10
-
-Function: Imaginary part of "ctanh_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 6
-ldouble: 6
-
-Function: "erf":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp":
-ildouble: 1
-ldouble: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "exp_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "hypot":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "jn":
-double: 4
-float: 5
-idouble: 4
-ifloat: 5
-ildouble: 7
-ldouble: 7
-
-Function: "lgamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "log":
-ildouble: 1
-ldouble: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log1p":
-float: 1
-ifloat: 1
-
-Function: "log2":
-ildouble: 1
-ldouble: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_upward":
-float: 1
-ifloat: 1
-
-Function: "sin":
-ildouble: 1
-ldouble: 1
-
-Function: "sin_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sin_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_towardzero":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "sin_upward":
-float: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "sincos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh":
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sinh_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "sinh_upward":
-ildouble: 1
-ldouble: 1
-
-Function: "tan":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tan_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tan_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "tan_towardzero":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "tan_upward":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "tanh":
-ildouble: 1
-ldouble: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 3
-ldouble: 3
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-# end of automatic generation
diff --git a/libc/ports/sysdeps/powerpc/nofpu/shlib-versions b/libc/ports/sysdeps/powerpc/nofpu/shlib-versions
deleted file mode 100644
index 72085ddf4..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-powerpc.*-.*-.* ABI powerpcsoft-@OS@
diff --git a/libc/ports/sysdeps/powerpc/nofpu/sim-full.c b/libc/ports/sysdeps/powerpc/nofpu/sim-full.c
deleted file mode 100644
index e16703323..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/sim-full.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Software floating-point exception handling emulation.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <signal.h>
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-/* Global to store sticky exceptions. */
-int __sim_exceptions __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_exceptions);
-
-/* By default, no exceptions should trap. */
-int __sim_disabled_exceptions = 0xffffffff;
-libc_hidden_data_def (__sim_disabled_exceptions);
-
-int __sim_round_mode __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_round_mode);
-
-void
-__simulate_exceptions (int x)
-{
- __sim_exceptions |= x;
- if (x & ~__sim_disabled_exceptions)
- raise (SIGFPE);
-}
diff --git a/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h b/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h
deleted file mode 100644
index 64a3d2a1d..000000000
--- a/libc/ports/sysdeps/powerpc/nofpu/soft-supp.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Internal support stuff for complete soft float.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv.h>
-
-typedef union
-{
- fenv_t fenv;
- unsigned int l[2];
-} fenv_union_t;
-
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-extern int __sim_exceptions;
-libc_hidden_proto (__sim_exceptions);
-extern int __sim_disabled_exceptions;
-libc_hidden_proto (__sim_disabled_exceptions);
-extern int __sim_round_mode;
-libc_hidden_proto (__sim_round_mode);
-
-extern void __simulate_exceptions (int x) attribute_hidden;
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
deleted file mode 100644
index 2849461cd..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memcmp.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Optimized memcmp implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* memcmp
-
- r3:source1 address, return equality
- r4:source2 address
- r5:byte count
-
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If count = zero check bytes before zero counter and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (memcmp, 5, 0)
- srwi. r6,r5,5
- beq L(preword2_count_loop)
- mtctr r6
- clrlwi r5,r5,27
-
-L(word8_compare_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- lwz r8,0(r4)
- lwz r9,4(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,8(r3)
- lwz r6,12(r3)
- lwz r8,8(r4)
- lwz r9,12(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,16(r3)
- lwz r6,20(r3)
- lwz r8,16(r4)
- lwz r9,20(r4)
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- lwz r10,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- bdnz L(word8_compare_loop)
-
-L(preword2_count_loop):
- srwi. r6,r5,3
- beq L(prebyte_count_loop)
- mtctr r6
- clrlwi r5,r5,29
-
-L(word2_count_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- addi r3,r3,0x08
- lwz r8,0(r4)
- lwz r9,4(r4)
- addi r4,r4,0x08
- cmplw cr5,r8,r10
- cmplw cr1,r9,r6
- bne cr5,L(st2)
- bne cr1,L(st1)
- bdnz L(word2_count_loop)
-
-L(prebyte_count_loop):
- addi r5,r5,1
- mtctr r5
- bdz L(end_memcmp)
-
-L(byte_count_loop):
- lbz r6,0(r3)
- addi r3,r3,0x01
- lbz r8,0(r4)
- addi r4,r4,0x01
- cmplw cr5,r8,r6
- bne cr5,L(st2)
- bdnz L(byte_count_loop)
-
-L(end_memcmp):
- addi r3,r0,0
- blr
-
-L(l_r):
- addi r3,r0,1
- blr
-
-L(st1):
- blt cr1,L(l_r)
- addi r3,r0,-1
- blr
-
-L(st2):
- blt cr5,L(l_r)
- addi r3,r0,-1
- blr
-END (memcmp)
-libc_hidden_builtin_def (memcmp)
-weak_alias (memcmp,bcmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
deleted file mode 100644
index b01d53920..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Optimized memcpy implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* memcpy
-
- r0:return address
- r3:destination address
- r4:source address
- r5:byte count
-
- Save return address in r0.
- If destinationn and source are unaligned and copy count is greater than 256
- then copy 0-3 bytes to make destination aligned.
- If 32 or more bytes to copy we use 32 byte copy loop.
- Finaly we copy 0-31 extra bytes. */
-
-EALIGN (memcpy, 5, 0)
-/* Check if bytes to copy are greater than 256 and if
- source and destination are unaligned */
- cmpwi r5,0x0100
- addi r0,r3,0
- ble L(string_count_loop)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(string_count_loop)
- neg r6,r4
- clrlwi. r6,r6,30
- beq L(string_count_loop)
- mtctr r6
- subf r5,r6,r5
-
-L(unaligned_bytecopy_loop): /* Align destination by coping 0-3 bytes */
- lbz r8,0x0(r4)
- addi r4,r4,1
- stb r8,0x0(r3)
- addi r3,r3,1
- bdnz L(unaligned_bytecopy_loop)
- srwi. r7,r5,5
- beq L(preword2_count_loop)
- mtctr r7
-
-L(word8_count_loop_no_dcbt): /* Copy 32 bytes at a time */
- lwz r6,0(r4)
- lwz r7,4(r4)
- lwz r8,8(r4)
- lwz r9,12(r4)
- subi r5,r5,0x20
- stw r6,0(r3)
- stw r7,4(r3)
- stw r8,8(r3)
- stw r9,12(r3)
- lwz r6,16(r4)
- lwz r7,20(r4)
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- stw r6,16(r3)
- stw r7,20(r3)
- stw r8,24(r3)
- stw r9,28(r3)
- addi r3,r3,0x20
- bdnz L(word8_count_loop_no_dcbt)
-
-L(preword2_count_loop): /* Copy remaining 0-31 bytes */
- clrlwi. r12,r5,27
- beq L(end_memcpy)
- mtxer r12
- lswx r5,0,r4
- stswx r5,0,r3
- mr r3,r0
- blr
-
-L(string_count_loop): /* Copy odd 0-31 bytes */
- clrlwi. r12,r5,28
- add r3,r3,r5
- add r4,r4,r5
- beq L(pre_string_copy)
- mtxer r12
- subf r4,r12,r4
- subf r3,r12,r3
- lswx r6,0,r4
- stswx r6,0,r3
-
-L(pre_string_copy): /* Check how many 32 byte chunks to copy */
- srwi. r7,r5,4
- beq L(end_memcpy)
- mtctr r7
-
-L(word4_count_loop_no_dcbt): /* Copy 32 bytes at a time */
- lwz r6,-4(r4)
- lwz r7,-8(r4)
- lwz r8,-12(r4)
- lwzu r9,-16(r4)
- stw r6,-4(r3)
- stw r7,-8(r3)
- stw r8,-12(r3)
- stwu r9,-16(r3)
- bdz L(end_memcpy)
- lwz r6,-4(r4)
- lwz r7,-8(r4)
- lwz r8,-12(r4)
- lwzu r9,-16(r4)
- stw r6,-4(r3)
- stw r7,-8(r3)
- stw r8,-12(r3)
- stwu r9,-16(r3)
- bdnz L(word4_count_loop_no_dcbt)
-
-L(end_memcpy):
- mr r3,r0
- blr
-END (memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S b/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
deleted file mode 100644
index b73dba887..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/memset.S
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Optimized memset for PowerPC405,440,464 (32-byte cacheline).
- Copyright (C) 2012-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* memset
-
- r3:destination address and return address
- r4:source integer to copy
- r5:byte count
- r11:sources integer to copy in all 32 bits of reg
- r12:temp return address
-
- Save return address in r12
- If destinationn is unaligned and count is greater tha 255 bytes
- set 0-3 bytes to make destination aligned
- If count is greater tha 255 bytes and setting zero to memory
- use dbcz to set memeory when we can
- otherwsie do the follwoing
- If 16 or more words to set we use 16 word copy loop.
- Finaly we set 0-15 extra bytes with string store. */
-
-EALIGN (memset, 5, 0)
- rlwinm r11,r4,0,24,31
- rlwimi r11,r4,8,16,23
- rlwimi r11,r11,16,0,15
- addi r12,r3,0
- cmpwi r5,0x00FF
- ble L(preword8_count_loop)
- cmpwi r4,0x00
- beq L(use_dcbz)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(preword8_count_loop)
- addi r8,0,1
- mtctr r6
- subi r3,r3,1
-
-L(unaligned_bytecopy_loop):
- stbu r11,0x1(r3)
- subf. r5,r8,r5
- beq L(end_memset)
- bdnz L(unaligned_bytecopy_loop)
- addi r3,r3,1
-
-L(preword8_count_loop):
- srwi. r6,r5,4
- beq L(preword2_count_loop)
- mtctr r6
- addi r3,r3,-4
- mr r8,r11
- mr r9,r11
- mr r10,r11
-
-L(word8_count_loop_no_dcbt):
- stwu r8,4(r3)
- stwu r9,4(r3)
- subi r5,r5,0x10
- stwu r10,4(r3)
- stwu r11,4(r3)
- bdnz L(word8_count_loop_no_dcbt)
- addi r3,r3,4
-
-L(preword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
-
-L(end_memset):
- addi r3,r12,0
- blr
-
-L(use_dcbz):
- neg r6,r3
- clrlwi. r7,r6,28
- beq L(skip_string_loop)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- subf r5,r7,r5
- mtxer r7
- stswx r8,0,r3
- add r3,r3,r7
-
-L(skip_string_loop):
- clrlwi r8,r6,27
- srwi. r8,r8,4
- beq L(dcbz_pre_loop)
- mtctr r8
-
-L(word_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(word_loop)
-
-L(dcbz_pre_loop):
- srwi r6,r5,5
- mtctr r6
- addi r7,0,0
-
-L(dcbz_loop):
- dcbz r3,r7
- addi r3,r3,0x20
- subi r5,r5,0x20
- bdnz L(dcbz_loop)
- srwi. r6,r5,4
- beq L(postword2_count_loop)
- mtctr r6
-
-L(postword8_count_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(postword8_count_loop)
-
-L(postword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
- b L(end_memset)
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
deleted file mode 100644
index c0b21907b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strcmp.S
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Optimized strcmp implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* strcmp
-
- Register Use
- r0:temp return equality
- r3:source1 address, return equality
- r4:source2 address
-
- Implementation description
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If null check bytes before null and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (strcmp,5,0)
- neg r7,r3
- clrlwi r7,r7,20
- neg r8,r4
- clrlwi r8,r8,20
- srwi. r7,r7,5
- beq L(byte_loop)
- srwi. r8,r8,5
- beq L(byte_loop)
- cmplw r7,r8
- mtctr r7
- ble L(big_loop)
- mtctr r8
-
-L(big_loop):
- lwz r5,0(r3)
- lwz r6,4(r3)
- lwz r8,0(r4)
- lwz r9,4(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,8(r3)
- lwz r6,12(r3)
- lwz r8,8(r4)
- lwz r9,12(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,16(r3)
- lwz r6,20(r3)
- lwz r8,16(r4)
- lwz r9,20(r4)
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- lwz r5,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- lwz r8,24(r4)
- lwz r9,28(r4)
- addi r4,r4,0x20
- dlmzb. r12,r5,r6
- bne L(end_check)
- cmplw r5,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- bdnz L(big_loop)
- b L(byte_loop)
-
-L(end_check):
- subfic r12,r12,4
- blt L(end_check2)
- rlwinm r12,r12,3,0,31
- srw r5,r5,r12
- srw r8,r8,r12
- cmplw r5,r8
- bne L(st1)
- b L(end_strcmp)
-
-L(end_check2):
- addi r12,r12,4
- cmplw r5,r8
- rlwinm r12,r12,3,0,31
- bne L(st1)
- srw r6,r6,r12
- srw r9,r9,r12
- cmplw r6,r9
- bne L(st1)
-
-L(end_strcmp):
- addi r3,r0,0
- blr
-
-L(st1):
- mfcr r3
- blr
-
-L(byte_loop):
- lbz r5,0(r3)
- addi r3,r3,1
- lbz r6,0(r4)
- addi r4,r4,1
- cmplw r5,r6
- bne L(st1)
- cmpwi r5,0
- beq L(end_strcmp)
- b L(byte_loop)
-END (strcmp)
-libc_hidden_builtin_def (strcmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
deleted file mode 100644
index d7c84569d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strcpy.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Optimized strcpy implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* strcpy
-
- Register Use
- r3:destination and return address
- r4:source address
- r10:temp destination address
-
- Implementation description
- Loop by checking 2 words at a time, with dlmzb. Check if there is a null
- in the 2 words. If there is a null jump to end checking to determine
- where in the last 8 bytes it is. Copy the appropriate bytes of the last
- 8 according to the null position. */
-
-EALIGN (strcpy, 5, 0)
- neg r7,r4
- subi r4,r4,1
- clrlwi. r8,r7,29
- subi r10,r3,1
- beq L(pre_word8_loop)
- mtctr r8
-
-L(loop):
- lbzu r5,0x01(r4)
- cmpi cr5,r5,0x0
- stbu r5,0x01(r10)
- beq cr5,L(end_strcpy)
- bdnz L(loop)
-
-L(pre_word8_loop):
- subi r4,r4,3
- subi r10,r10,3
-
-L(word8_loop):
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- lwzu r5,0x04(r4)
- lwzu r6,0x04(r4)
- dlmzb. r11,r5,r6
- bne L(byte_copy)
- stwu r5,0x04(r10)
- stwu r6,0x04(r10)
- b L(word8_loop)
-
-L(last_bytes_copy):
- stwu r5,0x04(r10)
- subi r11,r11,4
- mtctr r11
- addi r10,r10,3
- subi r4,r4,1
-
-L(last_bytes_copy_loop):
- lbzu r5,0x01(r4)
- stbu r5,0x01(r10)
- bdnz L(last_bytes_copy_loop)
- blr
-
-L(byte_copy):
- blt L(last_bytes_copy)
- mtctr r11
- addi r10,r10,3
- subi r4,r4,5
-
-L(last_bytes_copy_loop2):
- lbzu r5,0x01(r4)
- stbu r5,0x01(r10)
- bdnz L(last_bytes_copy_loop2)
-
-L(end_strcpy):
- blr
-END (strcpy)
-libc_hidden_builtin_def (strcpy)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
deleted file mode 100644
index 77d22ea67..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strlen.S
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Optimized strlen implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* strlen
-
- Register Use
- r3:source address and return length of string
- r4:byte counter
-
- Implementation description
- Load 2 words at a time and count bytes, if we find null we subtract one from
- the count and return the count value. We need to subtract one because
- we don't count the null character as a byte. */
-
-EALIGN (strlen,5,0)
- neg r7,r3
- clrlwi. r8,r7,29
- addi r4,0,0
- beq L(byte_count_loop)
- mtctr r8
-
-L(loop):
- lbz r5,0(r3)
- cmpi cr5,r5,0x0
- addi r3,r3,0x1
- addi r4,r4,0x1
- beq cr5,L(end_strlen)
- bdnz L(loop)
-
-L(byte_count_loop):
- lwz r5,0(r3)
- lwz r6,4(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,8(r3)
- lwz r6,12(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,16(r3)
- lwz r6,20(r3)
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- lwz r5,24(r3)
- lwz r6,28(r3)
- addi r3,r3,0x20
- dlmzb. r12,r5,r6
- add r4,r4,r12
- bne L(end_strlen)
- b L(byte_count_loop)
-
-L(end_strlen):
- addi r3,r4,-1
- blr
-END (strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S b/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
deleted file mode 100644
index 3e2ba5f85..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/405/strncmp.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Optimized strncmp implementation for PowerPC476.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* strncmp
-
- Register Use
- r0:temp return equality
- r3:source1 address, return equality
- r4:source2 address
- r5:byte count
-
- Implementation description
- Touch in 3 lines of D-cache.
- If source1 or source2 is unaligned copy 0-3 bytes to make source1 aligned
- Check 2 words from src1 and src2. If unequal jump to end and
- return src1 > src2 or src1 < src2.
- If null check bytes before null and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If count = zero check bytes before zero counter and then jump to end and
- return src1 > src2, src1 < src2 or src1 = src2.
- If src1 = src2 and no null, repeat. */
-
-EALIGN (strncmp,5,0)
- neg r7,r3
- clrlwi r7,r7,20
- neg r8,r4
- clrlwi r8,r8,20
- srwi. r7,r7,3
- beq L(prebyte_count_loop)
- srwi. r8,r8,3
- beq L(prebyte_count_loop)
- cmplw r7,r8
- mtctr r7
- ble L(preword2_count_loop)
- mtctr r8
-
-L(preword2_count_loop):
- srwi. r6,r5,3
- beq L(prebyte_count_loop)
- mfctr r7
- cmplw r6,r7
- bgt L(set_count_loop)
- mtctr r6
- clrlwi r5,r5,29
-
-L(word2_count_loop):
- lwz r10,0(r3)
- lwz r6,4(r3)
- addi r3,r3,0x08
- lwz r8,0(r4)
- lwz r9,4(r4)
- addi r4,r4,0x08
- dlmzb. r12,r10,r6
- bne L(end_check)
- cmplw r10,r8
- bne L(st1)
- cmplw r6,r9
- bne L(st1)
- bdnz L(word2_count_loop)
-
-L(prebyte_count_loop):
- addi r5,r5,1
- mtctr r5
- bdz L(end_strncmp)
-
-L(byte_count_loop):
- lbz r6,0(r3)
- addi r3,r3,1
- lbz r7,0(r4)
- addi r4,r4,1
- cmplw r6,r7
- bne L(st1)
- cmpwi r6,0
- beq L(end_strncmp)
- bdnz L(byte_count_loop)
- b L(end_strncmp)
-
-L(set_count_loop):
- slwi r7,r7,3
- subf r5,r7,r5
- b L(word2_count_loop)
-
-L(end_check):
- subfic r12,r12,4
- blt L(end_check2)
- rlwinm r12,r12,3,0,31
- srw r10,r10,r12
- srw r8,r8,r12
- cmplw r10,r8
- bne L(st1)
- b L(end_strncmp)
-
-L(end_check2):
- addi r12,r12,4
- cmplw r10,r8
- rlwinm r12,r12,3,0,31
- bne L(st1)
- srw r6,r6,r12
- srw r9,r9,r12
- cmplw r6,r9
- bne L(st1)
-
-L(end_strncmp):
- addi r3,r0,0
- blr
-
-L(st1):
- mfcr r3
- blr
-END (strncmp)
-libc_hidden_builtin_def (strncmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/440/Implies b/libc/ports/sysdeps/powerpc/powerpc32/440/Implies
deleted file mode 100644
index 70c0d2eda..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/440/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/405/fpu
-powerpc/powerpc32/405
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/464/Implies b/libc/ports/sysdeps/powerpc/powerpc32/464/Implies
deleted file mode 100644
index c3e52c550..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/464/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/440/fpu
-powerpc/powerpc32/440
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/476/Implies b/libc/ports/sysdeps/powerpc/powerpc32/476/Implies
deleted file mode 100644
index 2829f9cca..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/476/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/464/fpu
-powerpc/powerpc32/464
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S b/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
deleted file mode 100644
index 48c21d620..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/476/memset.S
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Optimized memset for PowerPC476 (128-byte cacheline).
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* memset
-
- r3:destination address and return address
- r4:source integer to copy
- r5:byte count
- r11:sources integer to copy in all 32 bits of reg
- r12:temp return address
-
- Save return address in r12
- If destinationn is unaligned and count is greater tha 255 bytes
- set 0-3 bytes to make destination aligned
- If count is greater tha 255 bytes and setting zero to memory
- use dbcz to set memeory when we can
- otherwsie do the follwoing
- If 16 or more words to set we use 16 word copy loop.
- Finaly we set 0-15 extra bytes with string store. */
-
-EALIGN (memset, 5, 0)
- rlwinm r11,r4,0,24,31
- rlwimi r11,r4,8,16,23
- rlwimi r11,r11,16,0,15
- addi r12,r3,0
- cmpwi r5,0x00FF
- ble L(preword8_count_loop)
- cmpwi r4,0x00
- beq L(use_dcbz)
- neg r6,r3
- clrlwi. r6,r6,30
- beq L(preword8_count_loop)
- addi r8,0,1
- mtctr r6
- subi r3,r3,1
-
-L(unaligned_bytecopy_loop):
- stbu r11,0x1(r3)
- subf. r5,r8,r5
- beq L(end_memset)
- bdnz L(unaligned_bytecopy_loop)
- addi r3,r3,1
-
-L(preword8_count_loop):
- srwi. r6,r5,4
- beq L(preword2_count_loop)
- mtctr r6
- addi r3,r3,-4
- mr r8,r11
- mr r9,r11
- mr r10,r11
-
-L(word8_count_loop_no_dcbt):
- stwu r8,4(r3)
- stwu r9,4(r3)
- subi r5,r5,0x10
- stwu r10,4(r3)
- stwu r11,4(r3)
- bdnz L(word8_count_loop_no_dcbt)
- addi r3,r3,4
-
-L(preword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
-
-L(end_memset):
- addi r3,r12,0
- blr
-
-L(use_dcbz):
- neg r6,r3
- clrlwi. r7,r6,28
- beq L(skip_string_loop)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- subf r5,r7,r5
- mtxer r7
- stswx r8,0,r3
- add r3,r3,r7
-
-L(skip_string_loop):
- clrlwi r8,r6,25
- srwi. r8,r8,4
- beq L(dcbz_pre_loop)
- mtctr r8
-
-L(word_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(word_loop)
-
-L(dcbz_pre_loop):
- srwi r6,r5,7
- mtctr r6
- addi r7,0,0
-
-L(dcbz_loop):
- dcbz r3,r7
- addi r3,r3,0x80
- subi r5,r5,0x80
- bdnz L(dcbz_loop)
- srwi. r6,r5,4
- beq L(postword2_count_loop)
- mtctr r6
-
-L(postword8_count_loop):
- stw r11,0(r3)
- subi r5,r5,0x10
- stw r11,4(r3)
- stw r11,8(r3)
- stw r11,12(r3)
- addi r3,r3,0x10
- bdnz L(postword8_count_loop)
-
-L(postword2_count_loop):
- clrlwi. r7,r5,28
- beq L(end_memset)
- mr r8,r11
- mr r9,r11
- mr r10,r11
- mtxer r7
- stswx r8,0,r3
- b L(end_memset)
-END (memset)
-libc_hidden_builtin_def (memset)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/Makefile
deleted file mode 100644
index 3d235deeb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# Some Powerpc32 variants assume soft-fp is the default even though there is
-# an fp variant so provide -mhard-float if --with-fp is explicitly passed.
-
-ifeq ($(with-fp),yes)
-+cflags += -mhard-float
-ASFLAGS += -mhard-float
-sysdep-LDFLAGS += -mhard-float
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile
deleted file mode 100644
index 3e7c9e92f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-ifeq ($(subdir),stdlib)
-spepim_routines = atosfix16 atosfix32 atosfix64 atoufix16 atoufix32 atoufix64 \
- strtosfix16 strtosfix32 strtosfix64 strtoufix16 strtoufix32 strtoufix64
-sysdep_routines += $(spepim_routines)
-tests += tst-spepim
-ifeq ($(build-shared),yes)
-$(objpfx)tst-spepim: $(common-objpfx)math/libm.so$(libm.so-version)
-else
-$(objpfx)tst-spepim: $(common-objpfx)math/libm.a
-endif
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions
deleted file mode 100644
index bd45e1dab..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
- GLIBC_2.3.3 {
- atosfix16; atosfix32; atosfix64;
- atoufix16; atoufix32; atoufix64;
- strtosfix16; strtosfix32; strtosfix64;
- strtoufix16; strtoufix32; strtoufix64;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S
deleted file mode 100644
index fbbee6023..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S
+++ /dev/null
@@ -1,107 +0,0 @@
-/* longjmp for PowerPC E500.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#define _ASM
-#define _SETJMP_H
-#ifdef __NO_VMX__
-# include <novmxsetjmp.h>
-#else
-# include <jmpbuf-offsets.h>
-#endif
-
-ENTRY (__longjmp)
-#if defined PTR_DEMANGLE || defined CHECK_SP
- lwz r24,(JB_GPR1*4)(r3)
-# ifdef CHECK_SP
-# ifdef PTR_DEMANGLE
- PTR_DEMANGLE3 (r24, r24, r25)
-# endif
- CHECK_SP (r24)
- mr r1,r24
-# endif
-#else
- lwz r1,(JB_GPR1*4)(r3)
-#endif
- lwz r0,(JB_LR*4)(r3)
- /*lfd fp14,((JB_FPRS+0*2)*4)(r3)*/
- evldd r14,((JB_FPRS+0*2)*4)(r3)
- lwz r14,((JB_GPRS+0)*4)(r3)
- /*lfd fp15,((JB_FPRS+1*2)*4)(r3)*/
- evldd r15,((JB_FPRS+1*2)*4)(r3)
- lwz r15,((JB_GPRS+1)*4)(r3)
- /*lfd fp16,((JB_FPRS+2*2)*4)(r3)*/
- evldd r16,((JB_FPRS+2*2)*4)(r3)
- lwz r16,((JB_GPRS+2)*4)(r3)
- /*lfd fp17,((JB_FPRS+3*2)*4)(r3)*/
- evldd r17,((JB_FPRS+3*2)*4)(r3)
- lwz r17,((JB_GPRS+3)*4)(r3)
- /*lfd fp18,((JB_FPRS+4*2)*4)(r3)*/
- evldd r18,((JB_FPRS+4*2)*4)(r3)
- lwz r18,((JB_GPRS+4)*4)(r3)
- /*lfd fp19,((JB_FPRS+5*2)*4)(r3)*/
- evldd r19,((JB_FPRS+5*2)*4)(r3)
- lwz r19,((JB_GPRS+5)*4)(r3)
- /*lfd fp20,((JB_FPRS+6*2)*4)(r3)*/
- evldd r20,((JB_FPRS+6*2)*4)(r3)
- lwz r20,((JB_GPRS+6)*4)(r3)
-#ifdef PTR_DEMANGLE
-# ifndef CHECK_SP
- PTR_DEMANGLE3 (r1, r24, r25)
-# endif
- PTR_DEMANGLE2 (r0, r25)
-#endif
- mtlr r0
- /*lfd fp21,((JB_FPRS+7*2)*4)(r3)*/
- evldd r21,((JB_FPRS+7*2)*4)(r3)
- lwz r21,((JB_GPRS+7)*4)(r3)
- /*lfd fp22,((JB_FPRS+8*2)*4)(r3)*/
- evldd r22,((JB_FPRS+8*2)*4)(r3)
- lwz r22,((JB_GPRS+8)*4)(r3)
- lwz r0,(JB_CR*4)(r3)
- /*lfd fp23,((JB_FPRS+9*2)*4)(r3)*/
- evldd r23,((JB_FPRS+9*2)*4)(r3)
- lwz r23,((JB_GPRS+9)*4)(r3)
- /*lfd fp24,((JB_FPRS+10*2)*4)(r3)*/
- evldd r24,((JB_FPRS+10*2)*4)(r3)
- lwz r24,((JB_GPRS+10)*4)(r3)
- /*lfd fp25,((JB_FPRS+11*2)*4)(r3)*/
- evldd r25,((JB_FPRS+11*2)*4)(r3)
- lwz r25,((JB_GPRS+11)*4)(r3)
- mtcrf 0xFF,r0
- /*lfd fp26,((JB_FPRS+12*2)*4)(r3)*/
- evldd r26,((JB_FPRS+12*2)*4)(r3)
- lwz r26,((JB_GPRS+12)*4)(r3)
- /*lfd fp27,((JB_FPRS+13*2)*4)(r3)*/
- evldd r27,((JB_FPRS+13*2)*4)(r3)
- lwz r27,((JB_GPRS+13)*4)(r3)
- /*lfd fp28,((JB_FPRS+14*2)*4)(r3)*/
- evldd r28,((JB_FPRS+14*2)*4)(r3)
- lwz r28,((JB_GPRS+14)*4)(r3)
- /*lfd fp29,((JB_FPRS+15*2)*4)(r3)*/
- evldd r29,((JB_FPRS+15*2)*4)(r3)
- lwz r29,((JB_GPRS+15)*4)(r3)
- /*lfd fp30,((JB_FPRS+16*2)*4)(r3)*/
- evldd r30,((JB_FPRS+16*2)*4)(r3)
- lwz r30,((JB_GPRS+16)*4)(r3)
- /*lfd fp31,((JB_FPRS+17*2)*4)(r3)*/
- evldd r31,((JB_FPRS+17*2)*4)(r3)
- lwz r31,((JB_GPRS+17)*4)(r3)
- mr r3,r4
- blr
-END (__longjmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S
deleted file mode 100644
index 54d0c4b5a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/* AltiVec/VMX (new) version of __longjmp for PowerPC.
- Copyright (C) 1995-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libc-symbols.h>
-#include <shlib-compat.h>
-
-#if defined NOT_IN_libc
-/* Build a non-versioned object for rtld-*. */
-# include "__longjmp-common.S"
-
-#else /* !NOT_IN_libc */
-strong_alias (__vmx__longjmp, __longjmp);
-# define __longjmp __vmx__longjmp
-# include "__longjmp-common.S"
-
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-# define __NO_VMX__
-# undef JB_SIZE
-# undef __longjmp
-# define __longjmp __novmx__longjmp
-# include "__longjmp-common.S"
-# endif
-#endif /* !NOT_IN_libc */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c
deleted file mode 100644
index 112c1b303..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-int16_t
-atosfix16 (const char *str)
-{
- return strtosfix16 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c
deleted file mode 100644
index 238a0f629..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-int32_t
-atosfix32 (const char *str)
-{
- return strtosfix32 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c
deleted file mode 100644
index 274b642da..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atosfix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-int64_t
-atosfix64 (const char *str)
-{
- return strtosfix64 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c
deleted file mode 100644
index 111735485..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-uint16_t
-atoufix16 (const char *str)
-{
- return strtoufix16 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c
deleted file mode 100644
index de0f15f08..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-uint32_t
-atoufix32 (const char *str)
-{
- return strtoufix32 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c
deleted file mode 100644
index b4abaae0f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/atoufix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <spe.h>
-
-uint64_t
-atoufix64 (const char *str)
-{
- return strtoufix64 (str, NULL);
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c
deleted file mode 100644
index bdbeff477..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/e_sqrt.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c
deleted file mode 100644
index 8b2f552e1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/e_sqrtf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/e_sqrtf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c
deleted file mode 100644
index b11a64f49..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-#undef feclearexcept
-int
-__feclearexcept (int excepts)
-{
- unsigned int fpescr;
-
- /* Get the current state. */
- fpescr = fegetenv_register ();
-
- /* Clear the relevant bits. */
- fpescr &= ~(excepts & FE_ALL_EXCEPT);
-
- /* Put the new state in effect. */
- fesetenv_register (fpescr);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c
deleted file mode 100644
index bf5ed73b2..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fe_nomask.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Procedure definition for FE_NOMASK_ENV.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv.h>
-#include <errno.h>
-
-/* This is presently a stub, until it's decided how the kernels should
- support this. */
-
-const fenv_t *
-__fe_nomask_env(void)
-{
- __set_errno (ENOSYS);
- return FE_ENABLED_ENV;
-}
-stub_warning (__fe_nomask_env)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c
deleted file mode 100644
index 4008dec41..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Disable floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-fedisableexcept (int excepts)
-{
- unsigned int result = 0, pflags, r;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
-
- /* Save old enable bits. */
- if (pflags & PR_FP_EXC_OVF)
- result |= FE_OVERFLOW;
- if (pflags & PR_FP_EXC_UND)
- result |= FE_UNDERFLOW;
- if (pflags & PR_FP_EXC_INV)
- result |= FE_INVALID;
- if (pflags & PR_FP_EXC_DIV)
- result |= FE_DIVBYZERO;
- if (pflags & PR_FP_EXC_RES)
- result |= FE_INEXACT;
-
- if (excepts & FE_INEXACT)
- pflags &= ~PR_FP_EXC_RES;
- if (excepts & FE_DIVBYZERO)
- pflags &= ~PR_FP_EXC_DIV;
- if (excepts & FE_UNDERFLOW)
- pflags &= ~PR_FP_EXC_UND;
- if (excepts & FE_OVERFLOW)
- pflags &= ~PR_FP_EXC_OVF;
- if (excepts & FE_INVALID)
- pflags &= ~PR_FP_EXC_INV;
- r = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
- if (INTERNAL_SYSCALL_ERROR_P (r, err))
- return -1;
-
- return result;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c
deleted file mode 100644
index f41104399..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Enable floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-feenableexcept (int excepts)
-{
- unsigned int result = 0, pflags, r;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
-
- /* Save old enable bits. */
- if (pflags & PR_FP_EXC_OVF)
- result |= FE_OVERFLOW;
- if (pflags & PR_FP_EXC_UND)
- result |= FE_UNDERFLOW;
- if (pflags & PR_FP_EXC_INV)
- result |= FE_INVALID;
- if (pflags & PR_FP_EXC_DIV)
- result |= FE_DIVBYZERO;
- if (pflags & PR_FP_EXC_RES)
- result |= FE_INEXACT;
-
- if (excepts & FE_INEXACT)
- pflags |= PR_FP_EXC_RES;
- if (excepts & FE_DIVBYZERO)
- pflags |= PR_FP_EXC_DIV;
- if (excepts & FE_UNDERFLOW)
- pflags |= PR_FP_EXC_UND;
- if (excepts & FE_OVERFLOW)
- pflags |= PR_FP_EXC_OVF;
- if (excepts & FE_INVALID)
- pflags |= PR_FP_EXC_INV;
- r = INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
- if (INTERNAL_SYSCALL_ERROR_P (r, err))
- return -1;
-
- return result;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c
deleted file mode 100644
index 693121306..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetenv.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current floating-point environment.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &u.l[0]);
- u.l[1] = fegetenv_register ();
- *envp = u.fenv;
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c
deleted file mode 100644
index 71c1e19cb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetexcept.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Get floating-point exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fegetexcept (void)
-{
- unsigned long fpescr;
-
- fpescr = fegetenv_register ();
-
- return fpescr & FE_ALL_EXCEPT;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c
deleted file mode 100644
index 68b60ad08..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fegetround.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Return current rounding direction.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-#undef fegetround
-int
-fegetround (void)
-{
- unsigned long fpescr;
-
- fpescr = fegetenv_register ();
- return fpescr & 3;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c
deleted file mode 100644
index b9e202d48..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
-
- /* Get the current state. */
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &u.l[0]);
- u.l[1] = fegetenv_register ();
- *envp = u.fenv;
-
- /* Clear everything except for the rounding mode. */
- u.l[1] &= 3;
-
- /* Put the new state in effect. */
- fesetenv_register (u.l[1]);
-
- return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c
deleted file mode 100644
index 15cf7f769..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_const.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Constants for fenv_bits.h.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* If the default argument is used we use this value. */
-const unsigned long long __fe_dfl_env __attribute__ ((aligned (8))) =
-0x0ULL;
-
-/* Floating-point environment where none of the exceptions are masked. */
-const unsigned long long __fe_enabled_env __attribute__ ((aligned (8))) =
-0xF00000000ULL;
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h
deleted file mode 100644
index e068ee357..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fenv_libc.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FENV_LIBC_H
-#define _FENV_LIBC_H 1
-
-#include <fenv.h>
-
-extern int __feraiseexcept_internal (int __excepts);
-
-/* Equivalent to fegetenv, but returns a fenv_t instead of taking a
- pointer. */
-#define fegetenv_register() \
- ({ unsigned fscr; asm volatile ("mfspefscr %0" : "=r" (fscr)); fscr; })
-
-/* Equivalent to fesetenv, but takes a fenv_t instead of a pointer. */
-#define fesetenv_register(fscr) \
- ({ asm volatile ("mtspefscr %0" : : "r" (fscr)); })
-
-typedef union
-{
- fenv_t fenv;
- unsigned int l[2];
-} fenv_union_t;
-
-/* Definitions of all the SPEFSCR bit numbers. */
-enum {
- SPEFSCR_SOVH = 0x80000000,
- SPEFSCR_OVH = 0x40000000,
- SPEFSCR_FGH = 0x20000000,
- SPEFSCR_FXH = 0x10000000,
- SPEFSCR_FINVH = 0x08000000,
- SPEFSCR_FDBZH = 0x04000000,
- SPEFSCR_FUNFH = 0x02000000,
- SPEFSCR_FOVFH = 0x01000000,
- /* 2 unused bits. */
- SPEFSCR_FINXS = 0x00200000,
- SPEFSCR_FINVS = 0x00100000,
- SPEFSCR_FDBZS = 0x00080000,
- SPEFSCR_FUNFS = 0x00040000,
- SPEFSCR_FOVFS = 0x00020000,
- SPEFSCR_MODE = 0x00010000,
- SPEFSCR_SOV = 0x00008000,
- SPEFSCR_OV = 0x00004000,
- SPEFSCR_FG = 0x00002000,
- SPEFSCR_FX = 0x00001000,
- SPEFSCR_FINV = 0x00000800,
- SPEFSCR_FDBZ = 0x00000400,
- SPEFSCR_FUNF = 0x00000200,
- SPEFSCR_FOVF = 0x00000100,
- /* 1 unused bit. */
- SPEFSCR_FINXE = 0x00000040,
- SPEFSCR_FINVE = 0x00000020,
- SPEFSCR_FDBZE = 0x00000010,
- SPEFSCR_FUNFE = 0x00000008,
- SPEFSCR_FOVFE = 0x00000004,
- SPEFSCR_FRMC = 0x00000003
-};
-
-#endif /* fenv_libc.h */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c
deleted file mode 100644
index e9411a89d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetenv.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Install given floating-point environment.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- u.fenv = *envp;
- INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, &u.l[0]);
- fesetenv_register (u.l[1]);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c
deleted file mode 100644
index 00cad37be..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fesetround.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Set current rounding direction.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fesetround (int round)
-{
- unsigned long fpescr;
-
- if ((unsigned int) round > 3)
- return 1;
-
- fpescr = fegetenv_register ();
- fpescr = (fpescr & ~SPEFSCR_FRMC) | (round & 3);
- fesetenv_register (fpescr);
-
- return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c
deleted file mode 100644
index 534ce9def..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/feupdateenv.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <sysdep.h>
-#include <sys/prctl.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- unsigned long fpescr, old, new, pflags;
- fenv_union_t u;
- INTERNAL_SYSCALL_DECL (err);
-
- /* Save the currently set exceptions. */
- u.fenv = *envp;
- new = u.l[1];
- old = fegetenv_register ();
- new |= (old & FE_ALL_EXCEPT);
-
- INTERNAL_SYSCALL (prctl, err, 2, PR_GET_FPEXC, &pflags);
- pflags |= u.l[0];
- INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, pflags);
-
- /* Enable and raise (if appropriate) exceptions set in `new'. */
- fesetenv_register (new);
- feraiseexcept (new & FE_ALL_EXCEPT);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feupdateenv, feupdateenv)
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c
deleted file mode 100644
index f530c0231..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Store current representation for exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- unsigned long fpescr;
-
- /* Get the current state. */
- fpescr = fegetenv_register ();
-
- /* ?? Classic PPC doesn't do anything with `excepts', so we'll do
- the same here. (We should really be ignoring exceptions in
- excepts) ?? */
- *flagp = fpescr & FE_ALL_EXCEPT;
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprrest.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fprsave.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c
deleted file mode 100644
index 6620a9f13..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fraiseexcpt.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-#undef feraiseexcept
-
-#define __FERAISEEXCEPT_INTERNAL feraiseexcept
-#include "../spe-raise.c"
-
-strong_alias (feraiseexcept, __feraiseexcept)
-libm_hidden_def (feraiseexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c
deleted file mode 100644
index 33712d8cf..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Set floating-point environment exception handling.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
- unsigned long spefscr;
- fexcept_t flag;
-
- /* Get the current state. */
- spefscr = fegetenv_register ();
-
- /* Ignore exceptions not listed in 'excepts'. */
- flag = *flagp & excepts;
-
- /* Replace the exception status */
- spefscr = (spefscr & ~(FE_ALL_EXCEPT & excepts)) | flag;
-
- /* Store the new status word (along with the rest of the environment). */
- fesetenv_register (spefscr);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c
deleted file mode 100644
index ddb8f8685..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fetestexcept (int excepts)
-{
- unsigned long f;
-
- /* Get the current state. */
- f = fegetenv_register ();
-
- return f & excepts;
-}
-libm_hidden_def (fetestexcept)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h
deleted file mode 100644
index e99166bfc..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_ldbl.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/math_ldbl.h>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h
deleted file mode 100644
index 4909535f8..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/math_private.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Bypass sysdeps/powerpc/fpu/math_private.h and use generic header. */
-#include <../sysdeps/generic/math_private.h>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c
deleted file mode 100644
index f3f34216f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceil.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_ceil.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c
deleted file mode 100644
index 2a71fcd7c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_ceilf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_ceilf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c
deleted file mode 100644
index 8616ca0bb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysign.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_copysign.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c
deleted file mode 100644
index 34bcb6cce..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_copysignf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c
deleted file mode 100644
index 29a02868f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_copysignl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/s_copysignl.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c
deleted file mode 100644
index 2ef531d44..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabs.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_fabs.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S
deleted file mode 100644
index 296e214c7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsf.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Floating-point absolute value. PowerPC E500 version.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-ENTRY(__fabsf)
-/* float [r3] fabsf (float [r3] x) ; */
- efsabs r3,r3
- blr
-END(__fabsf)
-
-weak_alias(__fabsf,fabsf)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c
deleted file mode 100644
index 33ebe78cb..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fabsl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/ldbl-128ibm/s_fabsl.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c
deleted file mode 100644
index 5fb35edb5..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdim.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fdim.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c
deleted file mode 100644
index 42df1302d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fdimf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fdimf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c
deleted file mode 100644
index 2a43c817c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floor.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_floor.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c
deleted file mode 100644
index d129d378f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_floorf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_floorf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c
deleted file mode 100644
index 2ee721413..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fma.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <math/s_fma.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fma, fmal, GLIBC_2_1);
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c
deleted file mode 100644
index 5b7663f9a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmaf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c
deleted file mode 100644
index 95edd5f3d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmax.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmax.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c
deleted file mode 100644
index 084fe72e9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmaxf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmaxf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c
deleted file mode 100644
index e072a91e7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fmin.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fmin.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c
deleted file mode 100644
index e37e4ac4e..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_fminf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/s_fminf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c
deleted file mode 100644
index dec5dd0bf..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnan.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_isnan.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c
deleted file mode 100644
index 3be64a220..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_isnanf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_isnanf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c
deleted file mode 100644
index c8215aa17..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_llrint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c
deleted file mode 100644
index b74275e9c..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llrintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_llrintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c
deleted file mode 100644
index 69658f335..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llround.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_llround.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c
deleted file mode 100644
index 386777ea9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_llroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_llroundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c
deleted file mode 100644
index 909e699a0..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_lrint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S
deleted file mode 100644
index 3d399a08e..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lrintf.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Round float to long int. PowerPC E500 version.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-ENTRY(__lrintf)
-/* long int [r3] lrintf (float [r3] x) ; */
- efsctsi r3,r3
- blr
-END(__lrintf)
-
-weak_alias(__lrintf,lrintf)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c
deleted file mode 100644
index 83a87836b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lround.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_lround.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c
deleted file mode 100644
index 930abb527..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_lroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_lroundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c
deleted file mode 100644
index a8b7973ac..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyint.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_nearbyint.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1);
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c
deleted file mode 100644
index 487742619..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_nearbyintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_nearbyintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c
deleted file mode 100644
index b610359d3..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_rint.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c
deleted file mode 100644
index 6593140fa..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_rintf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_rintf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c
deleted file mode 100644
index 4c006d482..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_round.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_round.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c
deleted file mode 100644
index e82d90aa1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_roundf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_roundf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c
deleted file mode 100644
index bc5ec5401..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_trunc.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/dbl-64/s_trunc.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c
deleted file mode 100644
index b8cc5f6bc..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/s_truncf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/ieee754/flt-32/s_truncf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S
deleted file mode 100644
index bba304375..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp-common.S
+++ /dev/null
@@ -1,103 +0,0 @@
-/* setjmp for PowerPC E500.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#define _ASM
-#ifdef __NO_VMX__
-# include <novmxsetjmp.h>
-#else
-# include <jmpbuf-offsets.h>
-#endif
-
-ENTRY (__sigsetjmp)
-#ifdef PTR_MANGLE
- mr r5,r1
- PTR_MANGLE(r5, r10)
- stw r5,(JB_GPR1*4)(3)
-#else
- stw r1,(JB_GPR1*4)(3)
-#endif
- mflr r0
- stw r14,((JB_GPRS+0)*4)(3)
-#ifdef PTR_MANGLE
- PTR_MANGLE2 (r0, r10)
- li r10,0
-#endif
- /*stfd fp14,((JB_FPRS+0*2)*4)(3)*/
- evstdd r14,((JB_FPRS+0*2)*4)(3)
- stw r0,(JB_LR*4)(3)
- stw r15,((JB_GPRS+1)*4)(3)
- /*stfd fp15,((JB_FPRS+1*2)*4)(3)*/
- evstdd r15,((JB_FPRS+1*2)*4)(3)
- mfcr r0
- stw r16,((JB_GPRS+2)*4)(3)
- /*stfd fp16,((JB_FPRS+2*2)*4)(3)*/
- evstdd r16,((JB_FPRS+2*2)*4)(3)
- stw r0,(JB_CR*4)(3)
- stw r17,((JB_GPRS+3)*4)(3)
- /*stfd fp17,((JB_FPRS+3*2)*4)(3)*/
- evstdd r17,((JB_FPRS+3*2)*4)(3)
- stw r18,((JB_GPRS+4)*4)(3)
- /*stfd fp18,((JB_FPRS+4*2)*4)(3)*/
- evstdd r18,((JB_FPRS+4*2)*4)(3)
- stw r19,((JB_GPRS+5)*4)(3)
- /*stfd fp19,((JB_FPRS+5*2)*4)(3)*/
- evstdd r19,((JB_FPRS+5*2)*4)(3)
- stw r20,((JB_GPRS+6)*4)(3)
- /*stfd fp20,((JB_FPRS+6*2)*4)(3)*/
- evstdd r20,((JB_FPRS+6*2)*4)(3)
- stw r21,((JB_GPRS+7)*4)(3)
- /*stfd fp21,((JB_FPRS+7*2)*4)(3)*/
- evstdd r21,((JB_FPRS+7*2)*4)(3)
- stw r22,((JB_GPRS+8)*4)(3)
- /*stfd fp22,((JB_FPRS+8*2)*4)(3)*/
- evstdd r22,((JB_FPRS+8*2)*4)(3)
- stw r23,((JB_GPRS+9)*4)(3)
- /*stfd fp23,((JB_FPRS+9*2)*4)(3)*/
- evstdd r23,((JB_FPRS+9*2)*4)(3)
- stw r24,((JB_GPRS+10)*4)(3)
- /*stfd fp24,((JB_FPRS+10*2)*4)(3)*/
- evstdd r24,((JB_FPRS+10*2)*4)(3)
- stw r25,((JB_GPRS+11)*4)(3)
- /*stfd fp25,((JB_FPRS+11*2)*4)(3)*/
- evstdd r25,((JB_FPRS+11*2)*4)(3)
- stw r26,((JB_GPRS+12)*4)(3)
- /*stfd fp26,((JB_FPRS+12*2)*4)(3)*/
- evstdd r26,((JB_FPRS+12*2)*4)(3)
- stw r27,((JB_GPRS+13)*4)(3)
- /*stfd fp27,((JB_FPRS+13*2)*4)(3)*/
- evstdd r27,((JB_FPRS+13*2)*4)(3)
- stw r28,((JB_GPRS+14)*4)(3)
- /*stfd fp28,((JB_FPRS+14*2)*4)(3)*/
- evstdd r28,((JB_FPRS+14*2)*4)(3)
- stw r29,((JB_GPRS+15)*4)(3)
- /*stfd fp29,((JB_FPRS+15*2)*4)(3)*/
- evstdd r29,((JB_FPRS+15*2)*4)(3)
- stw r30,((JB_GPRS+16)*4)(3)
- /*stfd fp30,((JB_FPRS+16*2)*4)(3)*/
- evstdd r30,((JB_FPRS+16*2)*4)(3)
- stw r31,((JB_GPRS+17)*4)(3)
- /*stfd fp31,((JB_FPRS+17*2)*4)(3)*/
- evstdd r31,((JB_FPRS+17*2)*4)(3)
-#if defined NOT_IN_libc && defined IS_IN_rtld
- li r3,0
- blr
-#else
- b __sigjmp_save@local
-#endif
-END (__sigsetjmp)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S
deleted file mode 100644
index 851a5b908..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/setjmp.S
+++ /dev/null
@@ -1,43 +0,0 @@
-/* non alitivec (old) version of setjmp for PowerPC.
- Copyright (C) 1995-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <shlib-compat.h>
-#include <libc-symbols.h>
-
-#if defined NOT_IN_libc
-/* Build a non-versioned object for rtld-*. */
-# include "setjmp-common.S"
-
-#else /* !NOT_IN_libc */
-/* Build a versioned object for libc. */
-default_symbol_version (__vmx__sigsetjmp,__sigsetjmp,GLIBC_2.3.4)
-# define __sigsetjmp __vmx__sigsetjmp
-# define __sigjmp_save __vmx__sigjmp_save
-# include "setjmp-common.S"
-
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
-# define __NO_VMX__
-# undef __sigsetjmp
-# undef __sigjmp_save
-# undef JB_SIZE
-symbol_version (__novmx__sigsetjmp,__sigsetjmp,GLIBC_2.0)
-# define __sigsetjmp __novmx__sigsetjmp
-# define __sigjmp_save __novmx__sigjmp_save
-# include "setjmp-common.S"
-# endif
-#endif /* !NOT_IN_libc */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h
deleted file mode 100644
index 91bca2710..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/spe.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _SPE_H
-
-#include_next <spe.h>
-
-libc_hidden_proto (strtosfix16)
-libc_hidden_proto (strtosfix32)
-libc_hidden_proto (strtosfix64)
-libc_hidden_proto (strtoufix16)
-libc_hidden_proto (strtoufix32)
-libc_hidden_proto (strtoufix64)
-
-#endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c
deleted file mode 100644
index e04e5be40..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c
+++ /dev/null
@@ -1,700 +0,0 @@
-/* Convert string representing a number to float value, using given locale.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Cut down from strtod_l.c for converting to fixed-point, no locale
- choice, no grouping, narrow strings only. */
-
-
-#include <ctype.h>
-#include <errno.h>
-#include <fenv_libc.h>
-#include <locale/localeinfo.h>
-#include <locale.h>
-#include <math.h>
-#include <spe.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* The gmp headers need some configuration frobs. */
-#define HAVE_ALLOCA 1
-
-/* Include gmp-mparam.h first, such that definitions of _SHORT_LIMB
- and _LONG_LONG_LIMB in it can take effect into gmp.h. */
-#include <gmp-mparam.h>
-#include <gmp.h>
-#include <stdlib/gmp-impl.h>
-#include <stdlib/longlong.h>
-#include <stdlib/fpioconst.h>
-
-/*#define NDEBUG 1*/
-#include <assert.h>
-
-#if UNSIGNED
-#define RETURN_FRAC_BITS RETURN_TYPE_BITS
-#else
-#define RETURN_FRAC_BITS (RETURN_TYPE_BITS - 1)
-#endif
-
-#define RETURN(val,end) \
- do { if (endptr != NULL) *endptr = (char *) (end); \
- return val; } while (0)
-
-/* Definitions according to limb size used. */
-#if BITS_PER_MP_LIMB == 32
-# define MAX_DIG_PER_LIMB 9
-# define MAX_FAC_PER_LIMB 1000000000UL
-#elif BITS_PER_MP_LIMB == 64
-# define MAX_DIG_PER_LIMB 19
-# define MAX_FAC_PER_LIMB 10000000000000000000ULL
-#else
-# error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
-#endif
-
-/* Local data structure. */
-static const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1] =
-{ 0, 10, 100,
- 1000, 10000, 100000L,
- 1000000L, 10000000L, 100000000L,
- 1000000000L
-#if BITS_PER_MP_LIMB > 32
- , 10000000000ULL, 100000000000ULL,
- 1000000000000ULL, 10000000000000ULL, 100000000000000ULL,
- 1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
- 1000000000000000000ULL, 10000000000000000000ULL
-#endif
-#if BITS_PER_MP_LIMB > 64
- #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
-#endif
-};
-
-/* Define pow5 to be 5^(RETURN_FRAC_BITS + 1), shifted left so the
- most significant bit is set (as required by mpn_divrem), pow5size
- to be the size in limbs and pow5shift to be the shift. */
-#if RETURN_FRAC_BITS + 1 == 16
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x04000000, 0x8e1bc9bf };
-# define pow5shift 26
-# define pow5size 2
-# else
-static const mp_limb_t pow5[] = { 0x8e1bc9bf04000000ull };
-# define pow5shift 26
-# define pow5size 1
-# endif
-#elif RETURN_FRAC_BITS + 1 == 17
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0xc5000000, 0xb1a2bc2e };
-# define pow5shift 24
-# define pow5size 2
-# else
-static const mp_limb_t pow5[] = { 0xb1a2bc2ec5000000ull };
-# define pow5shift 24
-# define pow5size 1
-# endif
-#elif RETURN_FRAC_BITS + 1 == 32
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0xf0200000, 0x2b70b59d, 0x9dc5ada8 };
-# define pow5shift 21
-# define pow5size 3
-# else
-static const mp_limb_t pow5[] = { 0xf020000000000000ull, 0x9dc5ada82b70b59dull };
-# define pow5shift 53
-# define pow5size 2
-# endif
-#elif RETURN_FRAC_BITS + 1 == 33
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x6c280000, 0x364ce305, 0xc5371912 };
-# define pow5shift 19
-# define pow5size 3
-# else
-static const mp_limb_t pow5[] = { 0x6c28000000000000ull, 0xc5371912364ce305ull };
-# define pow5shift 51
-# define pow5size 2
-# endif
-#elif RETURN_FRAC_BITS + 1 == 64
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x50f80800, 0xc76b25fb, 0x3cbf6b71, 0xffcfa6d5, 0xc2781f49 };
-# define pow5shift 11
-# define pow5size 5
-# else
-static const mp_limb_t pow5[] = { 0x50f8080000000000ull, 0x3cbf6b71c76b25fbull, 0xc2781f49ffcfa6d5ull };
-# define pow5shift 43
-# define pow5size 3
-# endif
-#elif RETURN_FRAC_BITS + 1 == 65
-# if BITS_PER_MP_LIMB == 32
-static const mp_limb_t pow5[] = { 0x25360a00, 0x3945ef7a, 0x8bef464e, 0x7fc3908a, 0xf316271c };
-# define pow5shift 9
-# define pow5size 5
-# else
-static const mp_limb_t pow5[] = { 0x25360a0000000000ull, 8bef464e3945ef7aull, 0xf316271c7fc3908aull };
-# define pow5shift 41
-# define pow5size 3
-# endif
-#else
-# error "Unknown RETURN_FRAC_BITS value."
-#endif
-
-/* Read a multi-precision integer starting at STR with exactly DIGCNT digits
- into N. Return the size of the number limbs in NSIZE. */
-static void
-str_to_mpn (const char *str, int digcnt, mp_limb_t *n, mp_size_t *nsize)
-{
- /* Number of digits for actual limb. */
- int cnt = 0;
- mp_limb_t low = 0;
- mp_limb_t start;
-
- *nsize = 0;
- assert (digcnt > 0);
- do
- {
- if (cnt == MAX_DIG_PER_LIMB)
- {
- if (*nsize == 0)
- {
- n[0] = low;
- *nsize = 1;
- }
- else
- {
- mp_limb_t cy;
- cy = __mpn_mul_1 (n, n, *nsize, MAX_FAC_PER_LIMB);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- {
- n[*nsize] = cy;
- ++(*nsize);
- }
- }
- cnt = 0;
- low = 0;
- }
-
- low = low * 10 + *str++ - '0';
- ++cnt;
- }
- while (--digcnt > 0);
-
- start = _tens_in_limb[cnt];
-
- if (*nsize == 0)
- {
- n[0] = low;
- *nsize = 1;
- }
- else
- {
- mp_limb_t cy;
- cy = __mpn_mul_1 (n, n, *nsize, start);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- n[(*nsize)++] = cy;
- }
-}
-
-/* Round a fixed point number according to the current rounding mode
- and set its sign. VAL is the initial part of the number
- (RETURN_TYPE_BITS for unsigned, one fewer for signed; values equal
- to -1.0 do not come here). SIGN is 1 for negative, 0 for positive;
- this function will not be called for negative numbers in the
- unsigned case. HALF is 1 if the next bit is 1; REST is 1 if any of
- the subsequent bits are 1. */
-static RETURN_TYPE
-round_and_set_sign (RETURN_TYPE val, int sign, int half, int rest)
-{
- int incr = 0;
- unsigned int mode = fegetenv_register ();
- mode &= 3;
- switch (mode)
- {
- case FE_TONEAREST:
- incr = (half && (rest || (val & 1)));
- break;
- case FE_TOWARDZERO:
- break;
- case FE_UPWARD:
- incr = (!sign && (half || rest));
- break;
- case FE_DOWNWARD:
- incr = (sign && (half || rest));
- break;
- }
- if (incr)
- {
- if (val == SAT_MAX)
- {
- if (sign)
- val = SAT_MIN;
- else
- {
- __set_errno (ERANGE);
- return SAT_MAX;
- }
- }
- else
- {
- val++;
- if (sign)
- val = -val;
- }
- }
- else if (sign)
- val = -val;
- return val;
-}
-
-/* Return a fixed point number with the value of the given string
- NPTR, handling out-of-range numbers as described in the SPE PIM.
- Set *ENDPTR to the character after the last used one. */
-RETURN_TYPE
-STRTOFIX (const char *nptr, char **endptr)
-{
- int negative; /* The sign of the number. */
- int exponent; /* Exponent of the number. */
-
- /* Numbers starting `0X' or `0x' have to be processed with base 16. */
- int base = 10;
-
- /* Running pointer after the last character processed in the string. */
- const char *cp;
- /* Start of significant part of the number. */
- const char *startp, *start_of_digits;
- /* Points at the character following the integer and fractional digits. */
- const char *expp;
- /* Total number of digit and number of digits in integer part. */
- int dig_no, int_no, lead_zero;
- /* Contains the last character read. */
- char c;
-
- /* The radix character of the current locale. */
- const char *decimal;
- size_t decimal_len;
- /* Used in several places. */
- int cnt;
-
- decimal = _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT);
- decimal_len = strlen (decimal);
- assert (decimal_len > 0);
-
- /* Prepare number representation. */
- exponent = 0;
- negative = 0;
-
- /* Parse string to get maximal legal prefix. We need the number of
- characters of the integer part, the fractional part and the exponent. */
- cp = nptr - 1;
- /* Ignore leading white space. */
- do
- c = *++cp;
- while (isspace (c));
-
- /* Get sign of the result. */
- if (c == '-')
- {
- negative = 1;
- c = *++cp;
- }
- else if (c == '+')
- c = *++cp;
-
- /* Return 0.0 if no legal string is found.
- No character is used even if a sign was found. */
- for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (cp[cnt] != decimal[cnt])
- break;
- if (decimal[cnt] == '\0' && cp[cnt] >= '0' && cp[cnt] <= '9')
- {
- /* We accept it. This funny construct is here only to indent
- the code directly. */
- }
- else if (c < '0' || c > '9')
- {
- /* The SPE PIM says NaN and Inf are not supported. */
- /* It is really a text we do not recognize. */
- RETURN (0, nptr);
- }
-
- /* First look whether we are faced with a hexadecimal number. */
- if (c == '0' && tolower (cp[1]) == 'x')
- {
- /* Okay, it is a hexa-decimal number. Remember this and skip
- the characters. BTW: hexadecimal numbers must not be
- grouped. */
- base = 16;
- cp += 2;
- c = *cp;
- }
-
- /* Record the start of the digits, in case we will check their grouping. */
- start_of_digits = startp = cp;
-
- /* Ignore leading zeroes. This helps us to avoid useless computations. */
- while (c == '0')
- c = *++cp;
-
- /* If no other digit but a '0' is found the result is 0.0.
- Return current read pointer. */
- if ((c < '0' || c > '9')
- && (base != 16 || (c < (char) tolower ('a')
- || c > (char) tolower ('f')))
- && ({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != cp[cnt])
- break;
- decimal[cnt] != '\0'; })
- && (base != 16 || (cp == start_of_digits
- || (char) tolower (c) != 'p'))
- && (base == 16 || (char) tolower (c) != 'e'))
- {
- /* If CP is at the start of the digits, there was no correctly
- grouped prefix of the string; so no number found. */
- RETURN (0, cp == start_of_digits ? (base == 16 ? cp - 1 : nptr) : cp);
- }
-
- /* Remember first significant digit and read following characters until the
- decimal point, exponent character or any non-FP number character. */
- startp = cp;
- dig_no = 0;
- while (1)
- {
- if ((c >= '0' && c <= '9')
- || (base == 16 && tolower (c) >= 'a'
- && tolower (c) <= 'f'))
- ++dig_no;
- else
- {
- break;
- }
- c = *++cp;
- }
-
- /* We have the number digits in the integer part. Whether these are all or
- any is really a fractional digit will be decided later. */
- int_no = dig_no;
- lead_zero = int_no == 0 ? -1 : 0;
-
- /* Read the fractional digits. A special case are the 'american style'
- numbers like `16.' i.e. with decimal but without trailing digits. */
- if (
- ({ for (cnt = 0; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != cp[cnt])
- break;
- decimal[cnt] == '\0'; })
- )
- {
- cp += decimal_len;
- c = *cp;
- while ((c >= '0' && c <= '9') ||
- (base == 16 && tolower (c) >= 'a' && tolower (c) <= 'f'))
- {
- if (c != '0' && lead_zero == -1)
- lead_zero = dig_no - int_no;
- ++dig_no;
- c = *++cp;
- }
- }
-
- /* For numbers like "0x." with no hex digits, only the "0" is valid. */
- if (base == 16
- && startp == start_of_digits
- && dig_no == 0)
- RETURN (0, start_of_digits - 1);
-
- /* Remember start of exponent (if any). */
- expp = cp;
-
- /* Read exponent. */
- if ((base == 16 && tolower (c) == 'p')
- || (base != 16 && tolower (c) == 'e'))
- {
- int exp_negative = 0;
-
- c = *++cp;
- if (c == '-')
- {
- exp_negative = 1;
- c = *++cp;
- }
- else if (c == '+')
- c = *++cp;
-
- if (c >= '0' && c <= '9')
- {
- int exp_limit;
-
- /* Get the exponent limit. */
- if (base == 16)
- exp_limit = (exp_negative ?
- RETURN_TYPE_BITS + 4 * int_no :
- 4 - 4 * int_no + 4 * lead_zero);
- else
- exp_limit = (exp_negative ?
- (RETURN_TYPE_BITS + 2) / 3 + int_no :
- 1 - int_no + lead_zero);
-
- do
- {
- exponent *= 10;
-
- if (exponent > exp_limit)
- /* The exponent is too large/small to represent a valid
- number. */
- {
- RETURN_TYPE result;
-
- /* Accept all following digits as part of the exponent. */
- do
- ++cp;
- while (*cp >= '0' && *cp <= '9');
-
- /* We have to take care for special situation: a joker
- might have written "0.0e100000" which is in fact
- zero. */
- if (lead_zero == -1)
- result = 0;
-#if UNSIGNED
- else if (negative)
- {
- /* Saturate to 0. */
- __set_errno (ERANGE);
- result = SAT_MIN;
- }
-#endif
- else if (exp_negative)
- {
- /* Round to either 0 or smallest value. */
- result = round_and_set_sign (0, negative, 0, 1);
- }
- else
- {
- /* Overflow. */
- __set_errno (ERANGE);
- result = (negative ? SAT_MIN : SAT_MAX);
- }
-
- RETURN (result, cp);
- /* NOTREACHED */
- }
-
- exponent += c - '0';
- c = *++cp;
- }
- while (c >= '0' && c <= '9');
-
- if (exp_negative)
- exponent = -exponent;
- }
- else
- cp = expp;
- }
-
- /* We don't want to have to work with trailing zeroes after the radix. */
- if (dig_no > int_no)
- {
- while (expp[-1] == '0')
- {
- --expp;
- --dig_no;
- }
- assert (dig_no >= int_no);
- }
-
- if (dig_no == int_no && dig_no > 0)
- do
- {
- while (! (base == 16 ? isxdigit (expp[-1]) : isdigit (expp[-1])))
- --expp;
-
- if (expp[-1] != '0')
- break;
-
- --expp;
- --dig_no;
- --int_no;
- exponent += (base == 16 ? 4 : 1);
- }
- while (dig_no > 0);
-
- /* The whole string is parsed. Store the address of the next character. */
- if (endptr)
- *endptr = (char *) cp;
-
- if (dig_no == 0)
- return 0;
-
-#if UNSIGNED
- if (negative)
- {
- /* Saturate to 0. */
- __set_errno (ERANGE);
- return SAT_MIN;
- }
-#endif
-
- if (lead_zero)
- {
- /* Find the decimal point */
- while (1)
- {
- if (*startp == decimal[0])
- {
- for (cnt = 1; decimal[cnt] != '\0'; ++cnt)
- if (decimal[cnt] != startp[cnt])
- break;
- if (decimal[cnt] == '\0')
- break;
- }
- ++startp;
- }
- startp += lead_zero + decimal_len;
- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
- dig_no -= lead_zero;
- }
-
- /* Normalize the exponent so that all digits can be considered to
- start just after the point. */
- exponent += base == 16 ? 4 * int_no : int_no;
-
- if (exponent > (base == 16 ? 4 : 1))
- {
- /* Overflow. */
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
-
- /* Copy just the digits needed to a separate buffer. */
- int digits_needed = (base == 16 ? RETURN_TYPE_BITS / 4 + 2 : RETURN_FRAC_BITS + 1);
- char buf[RETURN_TYPE_BITS + 1];
- int digits_copied = 0;
- int extra = 0;
- int rdigno = dig_no;
- while (exponent < 0)
- {
- buf[digits_copied++] = '0';
- exponent += (base == 16 ? 4 : 1);
- if (digits_copied == digits_needed)
- return round_and_set_sign (0, negative, 0, 1);
- }
- while (digits_copied < digits_needed && rdigno > 0)
- {
- if (!(base == 16 ? isxdigit (*startp) : isdigit (*startp)))
- startp += decimal_len;
- buf[digits_copied++] = *startp++;
- rdigno--;
- }
- if (rdigno)
- extra = 1;
- else
- while (digits_copied < digits_needed)
- buf[digits_copied++] = '0';
-
- if (base == 10 && exponent == 1)
- {
- assert (buf[0] != '0');
- /* At least 1.0; see if there is overflow. */
- if (UNSIGNED
- || !negative
- || buf[0] > '1'
- || dig_no > 1)
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
-
- if (base == 16 && exponent > 0)
- {
- int max_dig = (16 >> exponent) + '0';
- assert (buf[0] != '0');
- if (buf[0] >= max_dig)
- {
- /* At least 1.0; see if there is overflow. */
- if (UNSIGNED
- || !negative
- || buf[0] > max_dig
- || dig_no > 1)
- __set_errno (ERANGE);
- return (negative ? SAT_MIN : SAT_MAX);
- }
- }
-
- /* Now strictly in the range (0, 1) (though rounding may yet
- saturate to 1.0). */
- if (base == 10)
- assert (exponent == 0);
- else
- assert (exponent >= 0 && exponent <= 3);
-
- if (base == 16)
- {
- RETURN_TYPE r = 0;
- int half = 0;
- for (int i = 0; i < digits_needed; i++)
- {
- RETURN_TYPE val;
- int shift;
- if (isdigit (buf[i]))
- val = buf[i] - '0';
- else
- val = 10 + tolower (buf[i]) - 'a';
- shift = RETURN_FRAC_BITS - 4 + exponent - 4 * i;
- if (shift >= 0)
- r |= val << shift;
- else if (shift < -4)
- extra |= (val != 0);
- else
- {
- r |= val >> -shift;
- half = (val & (1 << (-shift - 1))) != 0;
- extra |= (val & ((1 << (-shift - 1)) - 1)) != 0;
- }
- }
- return round_and_set_sign (r, negative, half, extra);
- }
-
- /* Now we have RETURN_FRAC_BITS + 1 digits after the decimal point.
- Interpret these as an integer and divide by 5^(RETURN_FRAC_BITS +
- 1). If there is a remainder, set extra. If the result of the
- division is odd, set half. Divide by 2 again, and round the
- result. */
- mp_limb_t frac[8];
- mp_size_t fracsize;
- str_to_mpn (buf, digits_needed, frac, &fracsize);
- if (fracsize < pow5size)
- return round_and_set_sign (0, negative, 0, 1);
- frac[fracsize] = __mpn_lshift (frac, frac, fracsize, pow5shift);
- if (frac[fracsize])
- fracsize++;
- mp_limb_t quot[8];
- quot[fracsize - pow5size] = mpn_divmod (quot, frac, fracsize, pow5, pow5size);
- for (int i = 0; i < pow5size; i++)
- if (frac[i])
- extra = 1;
- int half = quot[0] & 1;
- RETURN_TYPE val = quot[0] >> 1;
-#if RETURN_FRAC_BITS > BITS_PER_MP_LIMB - 1
- val |= ((RETURN_TYPE) quot[1]) << (BITS_PER_MP_LIMB - 1);
-# if RETURN_FRAC_BITS > 2 * BITS_PER_MP_LIMB - 1
- val |= ((RETURN_TYPE) quot[2]) << (2 * BITS_PER_MP_LIMB - 1);
-# if RETURN_FRAC_BITS > 3 * BITS_PER_MP_LIMB - 1
-# error "Too many bits."
-# endif
-# endif
-#endif
- return round_and_set_sign (val, negative, half, extra);
-}
-
-libc_hidden_def (STRTOFIX)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c
deleted file mode 100644
index b444f826b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE int16_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 16
-#define SAT_MIN -0x8000
-#define SAT_MAX 0x7fff
-#define STRTOFIX strtosfix16
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c
deleted file mode 100644
index 2b885d83f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE int32_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 32
-#define SAT_MIN 0x80000000
-#define SAT_MAX 0x7fffffff
-#define STRTOFIX strtosfix32
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c
deleted file mode 100644
index 73bba1bd9..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtosfix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit signed fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE int64_t
-#define UNSIGNED 0
-#define RETURN_TYPE_BITS 64
-#define SAT_MIN 0x8000000000000000LL
-#define SAT_MAX 0x7fffffffffffffffLL
-#define STRTOFIX strtosfix64
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c
deleted file mode 100644
index 452bc7b45..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix16.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 16-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE uint16_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 16
-#define SAT_MIN 0
-#define SAT_MAX 0xffff
-#define STRTOFIX strtoufix16
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c
deleted file mode 100644
index 8977212c8..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix32.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 32-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE uint32_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 32
-#define SAT_MIN 0
-#define SAT_MAX 0xffffffff
-#define STRTOFIX strtoufix32
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c
deleted file mode 100644
index 2ace30c2d..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/strtoufix64.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Convert string to 64-bit unsigned fixed point.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define RETURN_TYPE uint64_t
-#define UNSIGNED 1
-#define RETURN_TYPE_BITS 64
-#define SAT_MIN 0
-#define SAT_MAX 0xffffffffffffffffLL
-#define STRTOFIX strtoufix64
-
-#include "strtofix.c"
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c
deleted file mode 100644
index 1cc893170..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/t_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Not needed. */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c
deleted file mode 100644
index 220df545f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/tst-spepim.c
+++ /dev/null
@@ -1,493 +0,0 @@
-/* Test SPE PIM functions.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2007.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <fenv.h>
-#include <spe.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-typedef int16_t sint16_t;
-typedef int32_t sint32_t;
-typedef int64_t sint64_t;
-
-#define SAT_MAX_U16 0xffff
-#define SAT_MAX_U32 0xffffffffu
-#define SAT_MAX_U64 0xffffffffffffffffull
-#define SAT_MAX_S16 0x7fff
-#define SAT_MAX_S32 0x7fffffff
-#define SAT_MAX_S64 0x7fffffffffffffffll
-#define SAT_MIN_S16 (-SAT_MAX_S16 - 1)
-#define SAT_MIN_S32 (-SAT_MAX_S32 - 1)
-#define SAT_MIN_S64 (-SAT_MAX_S64 - 1)
-
-/* Test results for a single rounding mode. For each type of result,
- store the expected result and the expected errno. */
-struct res {
- sint16_t s16;
- int es16;
- sint32_t s32;
- int es32;
- sint64_t s64;
- int es64;
- uint16_t u16;
- int eu16;
- uint32_t u32;
- int eu32;
- uint64_t u64;
- int eu64;
-};
-
-struct testcase {
- /* String to test. */
- const char *s;
- /* Number of junk characters at end. */
- size_t njunk;
- /* Expected results for rounding to nearest, zero, upward and
- downward. */
- struct res res[4];
-};
-
-/* Saturating value. */
-#define SAT(VAL) VAL, ERANGE
-/* Unsaturating value. */
-#define UNSAT(VAL) VAL, 0
-/* Values saturating for both signed and unsigned. */
-#define SAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- SAT (VAL0), SAT (VAL1), SAT (VAL2), \
- SAT (VAL3), SAT (VAL4), SAT (VAL5) \
- }
-#define SAT6_MAX \
- SAT6 (SAT_MAX_S16, SAT_MAX_S32, SAT_MAX_S64, \
- SAT_MAX_U16, SAT_MAX_U32, SAT_MAX_U64)
-#define SAT6_MIN \
- SAT6 (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64, 0, 0, 0)
-/* Values saturating for unsigned but not signed. */
-#define SATNEG(VAL0, VAL1, VAL2) \
- { \
- UNSAT (VAL0), UNSAT (VAL1), UNSAT (VAL2), \
- SAT (0), SAT (0), SAT (0) \
- }
-/* Values not saturating. */
-#define UNSAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- UNSAT (VAL0), UNSAT (VAL1), UNSAT (VAL2), \
- UNSAT (VAL3), UNSAT (VAL4), UNSAT (VAL5) \
- }
-/* Results not depending on rounding mode. */
-#define EXACT_SAT6_MAX \
- { \
- SAT6_MAX, \
- SAT6_MAX, \
- SAT6_MAX, \
- SAT6_MAX \
- }
-#define EXACT_SAT6_MIN \
- { \
- SAT6_MIN, \
- SAT6_MIN, \
- SAT6_MIN, \
- SAT6_MIN \
- }
-#define EXACT_SATNEG(VAL0, VAL1, VAL2) \
- { \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2), \
- SATNEG (VAL0, VAL1, VAL2) \
- }
-#define EXACT_UNSAT6(VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- { \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5), \
- UNSAT6 (VAL0, VAL1, VAL2, VAL3, VAL4, VAL5) \
- }
-
-static const struct testcase tests[] = {
- /* Strings evaluating to 0, including INF and NaN (not supported by
- SPE PIM functions). */
- { "", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "00", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0.0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { ".0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " \n-0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0e100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " \t 0e-100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0.", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.0", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0.p100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0x0.p002000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.0p-100000000000000000", 0, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { ".", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " .", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+.", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " +.", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { " -.", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0xp", 2, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x.p", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "+0x.p", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "-0x.p0", 4, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "0x0q", 1, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "INF", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- { "nan", 3, EXACT_UNSAT6 (0, 0, 0, 0, 0, 0) },
- /* Strings evaluating to 1.0 or greater, saturating unconditionally. */
- { "1", 0, EXACT_SAT6_MAX },
- { "1.0", 0, EXACT_SAT6_MAX },
- { "1e0", 0, EXACT_SAT6_MAX },
- { "10e-1", 0, EXACT_SAT6_MAX },
- { "0.1e1", 0, EXACT_SAT6_MAX },
- { "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-100", 0, EXACT_SAT6_MAX },
- { "2", 0, EXACT_SAT6_MAX },
- { "0x1", 0, EXACT_SAT6_MAX },
- { "0x2p-1", 0, EXACT_SAT6_MAX },
- { "0x.8p1", 0, EXACT_SAT6_MAX },
- { "0x.40p2", 0, EXACT_SAT6_MAX },
- /* Strings evaluating to less than -1.0, saturating unconditionally. */
- { "-1.1", 0, EXACT_SAT6_MIN },
- { "-.11e1", 0, EXACT_SAT6_MIN },
- { "-11e-1", 0, EXACT_SAT6_MIN },
- { "-100", 0, EXACT_SAT6_MIN },
- { "-2", 0, EXACT_SAT6_MIN },
- { "-0x1.00000000000000000000000001", 0, EXACT_SAT6_MIN },
- { "-0x2.00000000000000000000000001p-1", 0, EXACT_SAT6_MIN },
- { "-0x0.80000000000000000000000001p1", 0, EXACT_SAT6_MIN },
- { "-1.000000000000000000000000000000000000000000000000000000000000000000000000000000001", 0, EXACT_SAT6_MIN },
- /* Strings evaluating to -1.0 exactly, saturating for unsigned but
- exactly representable for signed. */
- { "-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-1e", 1, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-1.0", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-10e-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-.1e+1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-.0000000001e+10", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-10000000000e-10", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x1p+", 2, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x2p-1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x4.0p-2", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x8.p-3", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x10p-4", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.8p1", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.4p+2", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.2p+3", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.1p+4", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- { "-0x.08p5", 0, EXACT_SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64) },
- /* Strings evaluating to exactly representable values between -1.0
- and 0.0, saturating for unsigned. */
- { "-0.5", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.5e-", 2, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-05e-1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-05000000000e-10", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.5e0", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.00000000005e10", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x.8", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x1p-1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0x.4p1", 0, EXACT_SATNEG (-0x4000, -0x40000000, -0x4000000000000000ll) },
- { "-0.25", 0, EXACT_SATNEG (-0x2000, -0x20000000, -0x2000000000000000ll) },
- { "-2.5e-1", 0, EXACT_SATNEG (-0x2000, -0x20000000, -0x2000000000000000ll) },
- { "-0.75", 0, EXACT_SATNEG (-0x6000, -0x60000000, -0x6000000000000000ll) },
- { "-0.000030517578125", 0, EXACT_SATNEG (-0x0001, -0x00010000, -0x0001000000000000ll) },
- { "-0.376739501953125", 0, EXACT_SATNEG (-12345, -12345*0x10000, -12345*0x1000000000000ll) },
- { "-0x.dcba", 0, EXACT_SATNEG (-0x6e5d, -0x6e5d0000, -0x6e5d000000000000ll) },
- { "-0xd.cbap-4", 0, EXACT_SATNEG (-0x6e5d, -0x6e5d0000, -0x6e5d000000000000ll) },
- /* Strings evaluating to exactly representable values between 0.0
- and 1.0. */
- { "0.5", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.5e-", 2, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "05e-1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "05000000000e-10", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.5e0", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.00000000005e10", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x.8", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x1p-1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0x.4p1", 0, EXACT_UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000000ull) },
- { "0.25", 0, EXACT_UNSAT6 (0x2000, 0x20000000, 0x2000000000000000ll, 0x4000, 0x40000000u, 0x4000000000000000ull) },
- { "2.5e-1", 0, EXACT_UNSAT6 (0x2000, 0x20000000, 0x2000000000000000ll, 0x4000, 0x40000000u, 0x4000000000000000ull) },
- { "0.75", 0, EXACT_UNSAT6 (0x6000, 0x60000000, 0x6000000000000000ll, 0xc000, 0xc0000000u, 0xc000000000000000ull) },
- { "0.000030517578125", 0, EXACT_UNSAT6 (0x0001, 0x00010000, 0x0001000000000000ll, 0x0002, 0x00020000u, 0x0002000000000000ull) },
- { "0.376739501953125", 0, EXACT_UNSAT6 (12345, 12345*0x10000, 12345*0x1000000000000ll, 12345*0x2, 12345*0x20000u, 12345*0x2000000000000ull) },
- { "0x.dcba", 0, EXACT_UNSAT6 (0x6e5d, 0x6e5d0000, 0x6e5d000000000000ll, 0xdcba, 0xdcba0000u, 0xdcba000000000000ull) },
- { "0xd.cbap-4", 0, EXACT_UNSAT6 (0x6e5d, 0x6e5d0000, 0x6e5d000000000000ll, 0xdcba, 0xdcba0000u, 0xdcba000000000000ull) },
- /* Strings evaluating to values between 0.0 and 1.0, depending on
- rounding mode. */
- { "0.1", 0,
- {
- UNSAT6 (0xccd, 0xccccccd, 0xccccccccccccccdll, 0x199a, 0x1999999au, 0x199999999999999aull),
- UNSAT6 (0xccc, 0xccccccc, 0xcccccccccccccccll, 0x1999, 0x19999999u, 0x1999999999999999ull),
- UNSAT6 (0xccd, 0xccccccd, 0xccccccccccccccdll, 0x199a, 0x1999999au, 0x199999999999999aull),
- UNSAT6 (0xccc, 0xccccccc, 0xcccccccccccccccll, 0x1999, 0x19999999u, 0x1999999999999999ull)
- }
- },
- { "0.5000152587890625", 0,
- {
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4001, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull)
- }
- },
- { "0.50001525878906250000000000000000000000000000000000000000000000000000000000001", 0,
- {
- UNSAT6 (0x4001, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull),
- UNSAT6 (0x4001, 0x40008001, 0x4000800000000001ll, 0x8002, 0x80010001u, 0x8001000000000001ull),
- UNSAT6 (0x4000, 0x40008000, 0x4000800000000000ll, 0x8001, 0x80010000u, 0x8001000000000000ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359375", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359376", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0.50000000000000000008131516293641283255055896006524562835693359374", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0x0.80000000000000018", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- { "0x0.80000000000000017", 0,
- {
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000001ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull),
- UNSAT6 (0x4001, 0x40000001, 0x4000000000000001ll, 0x8001, 0x80000001u, 0x8000000000000002ull),
- UNSAT6 (0x4000, 0x40000000, 0x4000000000000000ll, 0x8000, 0x80000000u, 0x8000000000000001ull)
- }
- },
- /* Strings evaluating to values between -1.0 and 0.0, depending on
- rounding mode. */
- { "-0.1", 0,
- {
- SATNEG (-0xccd, -0xccccccd, -0xccccccccccccccdll),
- SATNEG (-0xccc, -0xccccccc, -0xcccccccccccccccll),
- SATNEG (-0xccc, -0xccccccc, -0xcccccccccccccccll),
- SATNEG (-0xccd, -0xccccccd, -0xccccccccccccccdll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671875", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671874", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0.5000000000000000001626303258728256651011179201304912567138671876", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0x.8000000000000003", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000002ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- { "-0x.8000000000000002f", 0,
- {
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4000, -0x40000000, -0x4000000000000001ll),
- SATNEG (-0x4001, -0x40000001, -0x4000000000000002ll)
- }
- },
- /* Strings evaluating very close to 1.0, saturation depending on
- rounding mode. */
- { "0x.fffe1", 0,
- {
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { SAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xffff), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fff0800), UNSAT (0x7fff080000000000ll), UNSAT (0xfffe), UNSAT (0xfffe1000u), UNSAT (0xfffe100000000000ull) }
- }
- },
- { "0x.ffff8", 0,
- {
- { SAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), SAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), UNSAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { SAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), SAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) },
- { UNSAT (0x7fff), UNSAT (0x7fffc000), UNSAT (0x7fffc00000000000ll), UNSAT (0xffff), UNSAT (0xffff8000u), UNSAT (0xffff800000000000ull) }
- }
- },
- { "0x.fffffffffffffffff", 0,
- {
- { SAT (0x7fff), SAT (0x7fffffff), SAT (0x7fffffffffffffffll), SAT (0xffff), SAT (0xffffffffu), SAT (0xffffffffffffffffull) },
- { UNSAT (0x7fff), UNSAT (0x7fffffff), UNSAT (0x7fffffffffffffffll), UNSAT (0xffff), UNSAT (0xffffffffu), UNSAT (0xffffffffffffffffull) },
- { SAT (0x7fff), SAT (0x7fffffff), SAT (0x7fffffffffffffffll), SAT (0xffff), SAT (0xffffffffu), SAT (0xffffffffffffffffull) },
- { UNSAT (0x7fff), UNSAT (0x7fffffff), UNSAT (0x7fffffffffffffffll), UNSAT (0xffff), UNSAT (0xffffffffu), UNSAT (0xffffffffffffffffull) }
- }
- },
- /* Strings evaluating very close to -1.0, may round to -1 but only
- saturate for unsigned. */
- { "-0x.fffe1", 0,
- {
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (-0x7fff, -0x7fff0800, -0x7fff080000000000ll),
- SATNEG (SAT_MIN_S16, -0x7fff0800, -0x7fff080000000000ll)
- }
- },
- { "-0x.ffffffffffffffff", 0,
- {
- SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64),
- SATNEG (-0x7fff, -0x7fffffff, -0x7fffffffffffffffll),
- SATNEG (-0x7fff, -0x7fffffff, -0x7fffffffffffffffll),
- SATNEG (SAT_MIN_S16, SAT_MIN_S32, SAT_MIN_S64)
- }
- }
-};
-
-static const int rounding_modes[4] = {
- FE_TONEAREST,
- FE_TOWARDZERO,
- FE_UPWARD,
- FE_DOWNWARD
-};
-
-static const char *const mode_names[4] = {
- "FE_TONEAREST",
- "FE_TOWARDZERO",
- "FE_UPWARD",
- "FE_DOWNWARD"
-};
-
-int
-main (void)
-{
- int passes = 0;
- int fails = 0;
- size_t i;
- for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
- {
- size_t j;
- for (j = 0; j < 4; j++)
- {
- if (fesetround (rounding_modes[j]) != 0)
- {
- printf ("fesetround (%s) failed.\n", mode_names[j]);
- abort ();
- }
-#define DO_TEST(SU, SZ, PR) \
- do { \
- SU##int##SZ##_t expret = tests[i].res[j].SU##SZ; \
- int experr = tests[i].res[j].e##SU##SZ; \
- size_t explen = strlen (tests[i].s) - tests[i].njunk; \
- SU##int##SZ##_t ret0, ret1; \
- int reterr; \
- size_t retlen; \
- char *ep; \
- errno = 0; \
- ret0 = strto##SU##fix##SZ (tests[i].s, &ep); \
- reterr = errno; \
- retlen = ep - tests[i].s; \
- if (ret0 == expret) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "returned %0"PR"x, expected %0"PR"x.\n", \
- tests[i].s, mode_names[j], ret0, expret); \
- } \
- if (reterr == experr) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "left errno as %d, expected %d.\n", \
- tests[i].s, mode_names[j], reterr, experr); \
- } \
- if (retlen == explen) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("strto"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "consumed %zu characters, expected %zu.\n", \
- tests[i].s, mode_names[j], retlen, explen); \
- } \
- if (experr == 0) \
- { \
- ret1 = ato##SU##fix##SZ (tests[i].s); \
- if (ret1 == expret) \
- passes++; \
- else \
- { \
- fails++; \
- printf ("ato"#SU"fix"#SZ" (\"%s\") in mode %s " \
- "returned %0"PR"x, expected %0"PR"x.\n", \
- tests[i].s, mode_names[j], ret1, expret); \
- } \
- } \
- } while (0)
- DO_TEST (s, 16, "4h");
- DO_TEST (s, 32, "8");
- DO_TEST (s, 64, "16ll");
- DO_TEST (u, 16, "4h");
- DO_TEST (u, 32, "8");
- DO_TEST (u, 64, "16ll");
- }
- }
- printf ("Number of passes: %d\nNumber of failures: %d\n", passes, fails);
- return fails != 0;
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c
deleted file mode 100644
index 3721f24a7..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrt.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/w_sqrt.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c
deleted file mode 100644
index 7c6ca901a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/fpu/w_sqrtf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <math/w_sqrtf.c>
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile
deleted file mode 100644
index 2d7d09205..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# Double precision floating point gets emulated.
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(gcc-double-routines) fraiseexcept-soft
-endif
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs
deleted file mode 100644
index 87eadf302..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions
deleted file mode 100644
index f126c9a8a..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/Versions
+++ /dev/null
@@ -1,19 +0,0 @@
-libc {
- GLIBC_2.3.3 {
- __feraiseexcept_soft;
- __adddf3; __truncdfsf2;
- __divdf3; __eqdf2;
- __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi;
- __fixtfdi;
- __fixunsdfdi; __fixunsdfsi;
- __floatdidf; __floatsidf;
- __gedf2; __ledf2; __muldf3;
- __negdf2; __sqrtdf2; __subdf3;
- __truncdfsf2;
- }
- GLIBC_2.5 {
- __floatundidf; __floatunsidf;
- __unorddf2; __nedf2;
- __gtdf2; __ltdf2;
- }
-}
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c
deleted file mode 100644
index d2bb5410f..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-#include <libc-symbols.h>
-
-int __feraiseexcept_soft (int);
-libc_hidden_proto (__feraiseexcept_soft)
-
-#define __FERAISEEXCEPT_INTERNAL __feraiseexcept_soft
-#include "../spe-raise.c"
-libc_hidden_def (__feraiseexcept_soft)
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h b/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h
deleted file mode 100644
index 8b80e128b..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef _SFP_MACHINE_H_
-#define _SFP_MACHINE_H_
-#include <fenv_libc.h>
-#include <libc-symbols.h>
-
-int __feraiseexcept_soft (int);
-libc_hidden_proto (__feraiseexcept_soft)
-
-#define _FP_W_TYPE_SIZE 32
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Someone please check this. */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
- && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
- { \
- R##_s = Y##_s; \
- _FP_FRAC_COPY_##wc(R,Y); \
- } \
- else \
- { \
- R##_s = X##_s; \
- _FP_FRAC_COPY_##wc(R,X); \
- } \
- R##_c = FP_CLS_NAN; \
- } while (0)
-
-/* Exception flags. We use the bit positions of the appropriate bits
- in the FPEFSCR, which also correspond to the FE_* bits. This makes
- everything easier ;-). */
-#define FP_EX_INEXACT (1 << (63 - 42))
-#define FP_EX_INVALID (1 << (63 - 43))
-#define FP_EX_DIVZERO (1 << (63 - 44))
-#define FP_EX_UNDERFLOW (1 << (63 - 45))
-#define FP_EX_OVERFLOW (1 << (63 - 46))
-
-/* This will work inasmuch as FP_EX_* are the same as FE_*. */
-#define FP_HANDLE_EXCEPTIONS __feraiseexcept_soft (_fex)
-
-#define FP_ROUNDMODE (fegetenv_register() & 0x3)
-#endif /* _SFP_MACHINE_H_ */
diff --git a/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c b/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c
deleted file mode 100644
index 79398e3b1..000000000
--- a/libc/ports/sysdeps/powerpc/powerpc32/e500/spe-raise.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Raise given exceptions.
- Copyright (C) 1997-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__FERAISEEXCEPT_INTERNAL (int excepts)
-{
- unsigned long f;
-
- f = fegetenv_register ();
- f |= (excepts & FE_ALL_EXCEPT);
- fesetenv_register (f);
-
- /* Force the operations that cause the exceptions. */
- if ((FE_INVALID & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* 0 / 0 */
- asm volatile ("efsdiv %0,%0,%1" : : "r" (0), "r" (0));
- }
-
- if ((FE_DIVBYZERO & excepts) != 0)
- {
- /* 1.0 / 0.0 */
- asm volatile ("efsdiv %0,%0,%1" : : "r" (1.0F), "r" (0));
- }
-
- if ((FE_OVERFLOW & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* Largest normalized number plus itself. */
- asm volatile ("efsadd %0,%0,%1" : : "r" (0x7f7fffff), "r" (0x7f7fffff));
- }
-
- if ((FE_UNDERFLOW & excepts) != 0)
- {
- /* ?? Does not set sticky bit ?? */
- /* Smallest normalized number times itself. */
- asm volatile ("efsmul %0,%0,%1" : : "r" (0x800000), "r" (0x800000));
- }
-
- if ((FE_INEXACT & excepts) != 0)
- {
- /* Smallest normalized minus 1.0 raises the inexact flag. */
- asm volatile ("efssub %0,%0,%1" : : "r" (0x00800000), "r" (1.0F));
- }
-
- /* Success. */
- return 0;
-}
diff --git a/libc/ports/sysdeps/powerpc/preconfigure b/libc/ports/sysdeps/powerpc/preconfigure
deleted file mode 100644
index 57f24a086..000000000
--- a/libc/ports/sysdeps/powerpc/preconfigure
+++ /dev/null
@@ -1,20 +0,0 @@
-# Check for E500.
-
-case "$machine" in
-powerpc)
- if test "$with_fp" = "yes"; then
- variant=`(echo "#ifdef __NO_FPRS__"
- echo "#ifdef _SOFT_DOUBLE"
- echo "e500/single"
- echo "#else"
- echo "e500"
- echo "#endif"
- echo "#endif") |
- $CC $CFLAGS $CPPFLAGS -E - |
- grep '^[a-z]'`
- if test -n "$variant"; then
- base_machine=powerpc machine=powerpc/powerpc32/$variant
- fi
- fi
- ;;
-esac
diff --git a/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h b/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h
deleted file mode 100644
index 508d8698d..000000000
--- a/libc/ports/sysdeps/powerpc/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#define _FP_W_TYPE_SIZE 32
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Someone please check this. */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
- && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
- { \
- R##_s = Y##_s; \
- _FP_FRAC_COPY_##wc(R,Y); \
- } \
- else \
- { \
- R##_s = X##_s; \
- _FP_FRAC_COPY_##wc(R,X); \
- } \
- R##_c = FP_CLS_NAN; \
- } while (0)
-
-/* Exception flags. We use the bit positions of the appropriate bits
- in the FPSCR, which also correspond to the FE_* bits. This makes
- everything easier ;-). */
-#define FP_EX_INVALID (1 << (31 - 2))
-#define FP_EX_OVERFLOW (1 << (31 - 3))
-#define FP_EX_UNDERFLOW (1 << (31 - 4))
-#define FP_EX_DIVZERO (1 << (31 - 5))
-#define FP_EX_INEXACT (1 << (31 - 6))
-
-#define FP_HANDLE_EXCEPTIONS __simulate_exceptions (_fex)
-#define FP_ROUNDMODE __sim_round_mode
-#define FP_TRAPPING_EXCEPTIONS (~__sim_disabled_exceptions & 0x3e000000)
-
-/* FIXME: these variables should be thread specific (see bugzilla bug
- 15483) and ideally preserved across signal handlers, like hardware
- FP status words, but the latter is quite difficult to accomplish in
- userland. */
-
-extern int __sim_exceptions;
-libc_hidden_proto (__sim_exceptions);
-extern int __sim_disabled_exceptions;
-libc_hidden_proto (__sim_disabled_exceptions);
-extern int __sim_round_mode;
-libc_hidden_proto (__sim_round_mode);
-
-extern void __simulate_exceptions (int x) attribute_hidden;
diff --git a/libc/ports/sysdeps/tile/ffs.c b/libc/ports/sysdeps/tile/ffs.c
index 93ad9801b..eb982a6dd 100644
--- a/libc/ports/sysdeps/tile/ffs.c
+++ b/libc/ports/sysdeps/tile/ffs.c
@@ -27,6 +27,7 @@ __ffs (int x)
return __builtin_ffs (x);
}
weak_alias (__ffs, ffs)
+libc_hidden_def (__ffs)
libc_hidden_builtin_def (ffs)
#undef ffsll
diff --git a/libc/ports/sysdeps/tile/stackguard-macros.h b/libc/ports/sysdeps/tile/stackguard-macros.h
index 589ea2b0d..f2e041b99 100644
--- a/libc/ports/sysdeps/tile/stackguard-macros.h
+++ b/libc/ports/sysdeps/tile/stackguard-macros.h
@@ -4,11 +4,17 @@
# if __WORDSIZE == 64
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; })
+# define POINTER_CHK_GUARD \
+ ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; })
# else
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; })
+# define POINTER_CHK_GUARD \
+ ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; })
# endif
#else
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; })
+# define POINTER_CHK_GUARD \
+ ({ uintptr_t x; asm ("addi %0, tp, -12; lw %0, %0" : "=r" (x)); x; })
#endif
diff --git a/libc/ports/sysdeps/unix/alpha/sysdep.h b/libc/ports/sysdeps/unix/alpha/sysdep.h
index d20bcd6d3..150a91906 100644
--- a/libc/ports/sysdeps/unix/alpha/sysdep.h
+++ b/libc/ports/sysdeps/unix/alpha/sysdep.h
@@ -343,53 +343,43 @@ __LABEL(name) \
: : inline_syscall_clobbers); \
_sc_ret = _sc_0, _sc_err = _sc_19; \
}
+#endif /* ASSEMBLER */
/* Pointer mangling support. Note that tls access is slow enough that
we don't deoptimize things by placing the pointer check value there. */
-#include <stdint.h>
-
-#if defined NOT_IN_libc && defined IS_IN_rtld
-# ifdef __ASSEMBLER__
+#ifdef __ASSEMBLER__
+# if defined NOT_IN_libc && defined IS_IN_rtld
# define PTR_MANGLE(dst, src, tmp) \
ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
xor src, tmp, dst
# define PTR_MANGLE2(dst, src, tmp) \
xor src, tmp, dst
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
-# else
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
-# define PTR_MANGLE(var) \
- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
-# endif
-#elif defined PIC
-# ifdef __ASSEMBLER__
+# elif defined SHARED
# define PTR_MANGLE(dst, src, tmp) \
ldq tmp, __pointer_chk_guard; \
xor src, tmp, dst
-# define PTR_MANGLE2(dst, src, tmp) \
+# else
+# define PTR_MANGLE(dst, src, tmp) \
+ ldq tmp, __pointer_chk_guard_local; \
xor src, tmp, dst
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
+# endif
+# define PTR_MANGLE2(dst, src, tmp) \
+ xor src, tmp, dst
+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
+#else
+# include <stdint.h>
+# if (defined NOT_IN_libc && defined IS_IN_rtld) \
+ || (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+# define PTR_MANGLE(var) \
+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
# else
extern const uintptr_t __pointer_chk_guard attribute_relro;
-# define PTR_MANGLE(var) \
+# define PTR_MANGLE(var) \
(var) = (__typeof(var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
# endif
-#else
-/* There exists generic C code that assumes that PTR_MANGLE is always
- defined. When generating code for the static libc, we don't have
- __pointer_chk_guard defined. Nor is there any place that would
- initialize it if it were defined, so there's little point in doing
- anything more than nothing. */
-# ifndef __ASSEMBLER__
-# define PTR_MANGLE(var)
-# define PTR_DEMANGLE(var)
-# endif
-#endif
-
+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
#endif /* ASSEMBLER */
diff --git a/libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
index 20eb81030..42ff38ece 100644
--- a/libc/ports/sysdeps/powerpc/nofpu/get-rounding-mode.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
@@ -1,6 +1,5 @@
-/* Determine floating-point rounding mode within libc. PowerPC
- soft-float version.
- Copyright (C) 2012-2013 Free Software Foundation, Inc.
+/* AArch64 definitions for signal handling calling conventions.
+ Copyright (C) 1996-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,19 +16,20 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _POWERPC_NOFPU_GET_ROUNDING_MODE_H
-#define _POWERPC_NOFPU_GET_ROUNDING_MODE_H 1
+#include <sys/ucontext.h>
+#include "kernel-features.h"
-#include <fenv.h>
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.pc)
-#include "soft-supp.h"
+/* There is no reliable way to get the sigcontext unless we use a
+ three-argument signal handler. */
+#define __sigaction(sig, act, oact) ({ \
+ (act)->sa_flags |= SA_SIGINFO; \
+ (__sigaction) (sig, act, oact); \
+})
-/* Return the floating-point rounding mode. */
-
-static inline int
-get_rounding_mode (void)
-{
- return __sim_round_mode;
-}
-
-#endif /* get-rounding-mode.h */
+#define sigaction(sig, act, oact) ({ \
+ (act)->sa_flags |= SA_SIGINFO; \
+ (sigaction) (sig, act, oact); \
+})
diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 849c90499..9a7b16735 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -134,7 +134,7 @@ __local_syscall_error: \
str x19, [sp,16]; \
neg x19, x0; \
bl C_SYMBOL_NAME(__errno_location); \
- str x19, [x0]; \
+ str w19, [x0]; \
mov x0, -1; \
ldr x19, [sp,16]; \
ldp x29, x30, [sp], 32; \
diff --git a/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
index 2e31691c2..02c9a7f75 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -36,6 +36,7 @@
#define __O_DIRECT 02000000 /* Direct disk access. */
#define __O_NOATIME 04000000 /* Do not set atime. */
#define __O_PATH 040000000 /* Resolve pathname but do not open file. */
+#define __O_TMPFILE 0100100000 /* Atomically create nameless file. */
/* Not necessary, files are always with 64bit off_t. */
#define __O_LARGEFILE 0
diff --git a/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S b/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
index d9629b9ec..50b152d0c 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
+++ b/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
@@ -25,7 +25,7 @@
ldl a2, PID_OFFSET(v0); \
mov v0, a1; \
/* Write back its negation, to indicate that the pid value is \
- uninitialized in the the child, and in the window between \
+ uninitialized in the child, and in the window between \
here and the point at which we restore the value. */ \
negl a2, t0; \
stl t0, PID_OFFSET(v0);
diff --git a/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S b/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
index 1ca7678d1..03aa37f43 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
+++ b/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
@@ -26,7 +26,7 @@
mov v0, a1; \
/* If the cached value is initialized (nonzero), then write \
back its negation, or INT_MIN, to indicate that the pid \
- value is uninitialized in the the child, and in the window \
+ value is uninitialized in the child, and in the window \
between here and the point at which we restore the value. */ \
ldah t0, -0x8000; \
negl a2, t1; \
diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S b/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
index 6ee7a1aeb..6777ef646 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
+++ b/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
@@ -15,8 +15,6 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
-#define NO_THUMB
#include <sysdep.h>
.section .rodata.str1.1,"aMS",%progbits,1
diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h b/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
index b195d8ea1..6cfe4e08a 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -435,8 +435,44 @@ __local_syscall_error: \
#endif /* __ASSEMBLER__ */
-/* Pointer mangling is not yet supported for ARM. */
-#define PTR_MANGLE(var) (void) (var)
-#define PTR_DEMANGLE(var) (void) (var)
+/* Pointer mangling support. */
+#if (defined NOT_IN_libc && defined IS_IN_rtld) || \
+ (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
+# ifdef __ASSEMBLER__
+# define PTR_MANGLE(dst, src, guard, tmp) \
+ LDST_PCREL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
+ PTR_MANGLE2(dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */
+# define PTR_MANGLE2(dst, src, guard) \
+ eor dst, src, guard
+# define PTR_DEMANGLE(dst, src, guard, tmp) \
+ PTR_MANGLE (dst, src, guard, tmp)
+# define PTR_DEMANGLE2(dst, src, guard) \
+ PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+# define PTR_MANGLE(var) \
+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
+# define PTR_DEMANGLE(var) PTR_MANGLE (var)
+# endif
+#else
+# ifdef __ASSEMBLER__
+# define PTR_MANGLE(dst, src, guard, tmp) \
+ LDST_GLOBAL(ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard)); \
+ PTR_MANGLE2(dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */
+# define PTR_MANGLE2(dst, src, guard) \
+ eor dst, src, guard
+# define PTR_DEMANGLE(dst, src, guard, tmp) \
+ PTR_MANGLE (dst, src, guard, tmp)
+# define PTR_DEMANGLE2(dst, src, guard) \
+ PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard attribute_relro;
+# define PTR_MANGLE(var) \
+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
+# define PTR_DEMANGLE(var) PTR_MANGLE (var)
+# endif
+#endif
#endif /* linux/arm/sysdep.h */
diff --git a/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h b/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
index 744548a03..76faa4086 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
@@ -37,6 +37,7 @@
#define __O_CLOEXEC 010000000 /* Set close_on_exec. */
#define __O_NOATIME 004000000 /* Do not set atime. */
#define __O_PATH 020000000
+#define __O_TMPFILE 040010000 /* Atomically create nameless file. */
#define __O_LARGEFILE 00004000
diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile b/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile
index 1e54036bf..9070b775c 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile
+++ b/libc/ports/sysdeps/unix/sysv/linux/mips/Makefile
@@ -8,7 +8,9 @@ sysdep_routines += cachectl cacheflush sysmips _test_and_set
sysdep_headers += sys/cachectl.h sys/sysmips.h sys/tas.h
endif
-abi-variants := o32_soft o32_hard n32_soft n32_hard n64_soft n64_hard
+abi-variants := o32_soft o32_hard o32_soft_2008 o32_hard_2008
+abi-variants += n32_soft n32_hard n32_soft_2008 n32_hard_2008
+abi-variants += n64_soft n64_hard n64_soft_2008 n64_hard_2008
ifeq (,$(filter $(default-abi),$(abi-variants)))
Unknown ABI, must be one of $(abi-variants)
@@ -18,29 +20,89 @@ abi-includes := sgidefs.h
# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_NABI32 == 2, _MIPS_SIM_ABI64 == 3
abi-o32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
- -D__mips_soft_float -U__mips_hard_float
-abi-o32_soft-condition := defined(__mips_soft_float) \
- && (_MIPS_SIM == _MIPS_SIM_ABI32)
+ -D__mips_soft_float -U__mips_hard_float \
+ -U__mips_nan2008
+abi-o32_soft-condition := !defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_soft-ld-soname := ld.so.1
abi-o32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
- -D__mips_hard_float -U__mips_soft_float
-abi-o32_hard-condition := defined(__mips_hard_float) \
+ -D__mips_hard_float -U__mips_soft_float \
+ -U__mips_nan2008
+abi-o32_hard-condition := !defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
&& (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_hard-ld-soname := ld.so.1
+abi-o32_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+ -D__mips_soft_float -U__mips_hard_float \
+ -D__mips_nan2008
+abi-o32_soft_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_soft_2008-ld-soname := ld-linux-mipsn8.so.1
+abi-o32_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=1 \
+ -D__mips_hard_float -U__mips_soft_float \
+ -D__mips_nan2008
+abi-o32_hard_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI32)
+abi-o32_hard_2008-ld-soname := ld-linux-mipsn8.so.1
abi-n32_soft-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
- -D__mips_soft_float -U__mips_hard_float
-abi-n32_soft-condition := defined(__mips_soft_float) \
+ -D__mips_soft_float -U__mips_hard_float \
+ -U__mips_nan2008
+abi-n32_soft-condition := !defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
&& (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_soft-ld-soname := ld.so.1
abi-n32_hard-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
- -D__mips_hard_float -U__mips_soft_float
-abi-n32_hard-condition := defined(__mips_hard_float) \
+ -D__mips_hard_float -U__mips_soft_float \
+ -U__mips_nan2008
+abi-n32_hard-condition := !defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
&& (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_hard-ld-soname := ld.so.1
+abi-n32_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+ -D__mips_soft_float -U__mips_hard_float \
+ -D__mips_nan2008
+abi-n32_soft_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_soft_2008-ld-soname := ld-linux-mipsn8.so.1
+abi-n32_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=2 \
+ -D__mips_hard_float -U__mips_soft_float \
+ -D__mips_nan2008
+abi-n32_hard_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_NABI32)
+abi-n32_hard_2008-ld-soname := ld-linux-mipsn8.so.1
abi-n64_soft-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
- -D__mips_soft_float -U__mips_hard_float
-abi-n64_soft-condition := defined(__mips_soft_float) \
+ -D__mips_soft_float -U__mips_hard_float \
+ -U__mips_nan2008
+abi-n64_soft-condition := !defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
&& (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_soft-ld-soname := ld.so.1
abi-n64_hard-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
- -D__mips_hard_float -U__mips_soft_float
-abi-n64_hard-condition := defined(__mips_hard_float) \
+ -D__mips_hard_float -U__mips_soft_float \
+ -U__mips_nan2008
+abi-n64_hard-condition := !defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
&& (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_hard-ld-soname := ld.so.1
+abi-n64_soft_2008-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+ -D__mips_soft_float -U__mips_hard_float \
+ -D__mips_nan2008
+abi-n64_soft_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_soft_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_soft_2008-ld-soname := ld-linux-mipsn8.so.1
+abi-n64_hard_2008-options := -U_MIPS_SIM -D_MIPS_SIM=3 \
+ -D__mips_hard_float -U__mips_soft_float \
+ -D__mips_nan2008
+abi-n64_hard_2008-condition := defined(__mips_nan2008) \
+ && defined(__mips_hard_float) \
+ && (_MIPS_SIM == _MIPS_SIM_ABI64)
+abi-n64_hard_2008-ld-soname := ld-linux-mipsn8.so.1
ifeq ($(subdir),elf)
ifeq ($(build-shared),yes)
diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/configure b/libc/ports/sysdeps/unix/sysv/linux/mips/configure
index b4ee83e3a..088210ff9 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/mips/configure
+++ b/libc/ports/sysdeps/unix/sysv/linux/mips/configure
@@ -105,8 +105,168 @@ if test -z "$libc_mips_float"; then
as_fn_error $? "could not determine if compiler is using hard or soft floating point ABI" "$LINENO" 5
fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is using the 2008 NaN encoding" >&5
+$as_echo_n "checking whether the compiler is using the 2008 NaN encoding... " >&6; }
+if ${libc_cv_mips_nan2008+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+dnl
+#ifdef __mips_nan2008
+yes
+#endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ libc_cv_mips_nan2008=yes
+else
+ libc_cv_mips_nan2008=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mips_nan2008" >&5
+$as_echo "$libc_cv_mips_nan2008" >&6; }
+
+libc_mips_nan=
+if test x"$libc_cv_mips_nan2008" = xyes; then
+ libc_mips_nan=_2008
+fi
+
config_vars="$config_vars
-default-abi = ${libc_mips_abi}_${libc_mips_float}"
+default-abi = ${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}"
case "$prefix" in
/usr | /usr/)
@@ -138,3 +298,12 @@ case "$prefix" in
esac
libc_cv_gcc_unwind_find_fde=yes
+
+if test -z "$arch_minimum_kernel"; then
+ if test x$libc_cv_mips_nan2008 = xyes; then
+ # FIXME: Adjust this setting to the actual first upstream kernel
+ # version to support the 2008 NaN encoding and then remove this
+ # comment.
+ arch_minimum_kernel=10.0.0
+ fi
+fi
diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in b/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
index b8dde6ef7..7087a14a5 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
+++ b/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
@@ -44,7 +44,19 @@ if test -z "$libc_mips_float"; then
AC_MSG_ERROR([could not determine if compiler is using hard or soft floating point ABI])
fi
-LIBC_CONFIG_VAR([default-abi], [${libc_mips_abi}_${libc_mips_float}])
+AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding],
+ libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl
+#ifdef __mips_nan2008
+yes
+#endif], libc_cv_mips_nan2008=yes, libc_cv_mips_nan2008=no)])
+
+libc_mips_nan=
+if test x"$libc_cv_mips_nan2008" = xyes; then
+ libc_mips_nan=_2008
+fi
+
+LIBC_CONFIG_VAR([default-abi],
+ [${libc_mips_abi}_${libc_mips_float}${libc_mips_nan}])
case "$prefix" in
/usr | /usr/)
@@ -76,3 +88,12 @@ case "$prefix" in
esac
libc_cv_gcc_unwind_find_fde=yes
+
+if test -z "$arch_minimum_kernel"; then
+ if test x$libc_cv_mips_nan2008 = xyes; then
+ # FIXME: Adjust this setting to the actual first upstream kernel
+ # version to support the 2008 NaN encoding and then remove this
+ # comment.
+ arch_minimum_kernel=10.0.0
+ fi
+fi
diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/dl-cache.h b/libc/ports/sysdeps/unix/sysv/linux/mips/dl-cache.h
index 4a7f3f1f2..49ad99ab9 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/mips/dl-cache.h
+++ b/libc/ports/sysdeps/unix/sysv/linux/mips/dl-cache.h
@@ -18,11 +18,27 @@
#include <ldconfig.h>
-/* Redefine the cache ID for new ABIs; o32 keeps using the generic check. */
-#if _MIPS_SIM == _ABI64
-# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN64 | FLAG_ELF_LIBC6)
-#elif _MIPS_SIM == _ABIN32
-# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN32 | FLAG_ELF_LIBC6)
+#if ((defined __mips_nan2008 && !defined HAVE_MIPS_NAN2008) \
+ || (!defined __mips_nan2008 && defined HAVE_MIPS_NAN2008))
+# error "Configuration inconsistency: __mips_nan2008 != HAVE_MIPS_NAN2008, overridden CFLAGS?"
+#endif
+
+/* Redefine the cache ID for new ABIs and 2008 NaN support; legacy o32
+ keeps using the generic check. */
+#ifdef __mips_nan2008
+# if _MIPS_SIM == _ABIO32
+# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS_LIB32_NAN2008 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABI64
+# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN64_NAN2008 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABIN32
+# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN32_NAN2008 | FLAG_ELF_LIBC6)
+# endif
+#else
+# if _MIPS_SIM == _ABI64
+# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN64 | FLAG_ELF_LIBC6)
+# elif _MIPS_SIM == _ABIN32
+# define _DL_CACHE_DEFAULT_ID (FLAG_MIPS64_LIBN32 | FLAG_ELF_LIBC6)
+# endif
#endif
#ifdef _DL_CACHE_DEFAULT_ID
diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/readelflib.c b/libc/ports/sysdeps/unix/sysv/linux/mips/readelflib.c
index 10f0ff702..fd57a735c 100644
--- a/libc/ports/sysdeps/unix/sysv/linux/mips/readelflib.c
+++ b/libc/ports/sysdeps/unix/sysv/linux/mips/readelflib.c
@@ -33,19 +33,32 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
unsigned int *osversion, char **soname, void *file_contents,
size_t file_length)
{
- ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
+ union
+ {
+ Elf64_Ehdr *eh64;
+ Elf32_Ehdr *eh32;
+ ElfW(Ehdr) *eh;
+ }
+ elf_header;
int ret;
- if (elf_header->e_ident [EI_CLASS] == ELFCLASS32)
+ elf_header.eh = file_contents;
+ if (elf_header.eh->e_ident [EI_CLASS] == ELFCLASS32)
{
- Elf32_Ehdr *elf32_header = (Elf32_Ehdr *) elf_header;
-
ret = process_elf32_file (file_name, lib, flag, osversion, soname,
file_contents, file_length);
+ if (!ret)
+ {
+ Elf32_Word flags = elf_header.eh32->e_flags;
+ int nan2008 = (flags & EF_MIPS_NAN2008) != 0;
- /* n32 libraries are always libc.so.6+. */
- if (!ret && (elf32_header->e_flags & EF_MIPS_ABI2) != 0)
- *flag = FLAG_MIPS64_LIBN32|FLAG_ELF_LIBC6;
+ /* n32 libraries are always libc.so.6+, o32 only if 2008 NaN. */
+ if ((flags & EF_MIPS_ABI2) != 0)
+ *flag = (nan2008 ? FLAG_MIPS64_LIBN32_NAN2008
+ : FLAG_MIPS64_LIBN32) | FLAG_ELF_LIBC6;
+ else if (nan2008)
+ *flag = FLAG_MIPS_LIB32_NAN2008 | FLAG_ELF_LIBC6;
+ }
}
else
{
@@ -53,7 +66,13 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
file_contents, file_length);
/* n64 libraries are always libc.so.6+. */
if (!ret)
- *flag = FLAG_MIPS64_LIBN64|FLAG_ELF_LIBC6;
+ {
+ Elf64_Word flags = elf_header.eh64->e_flags;
+ int nan2008 = (flags & EF_MIPS_NAN2008) != 0;
+
+ *flag = (nan2008 ? FLAG_MIPS64_LIBN64_NAN2008
+ : FLAG_MIPS64_LIBN64) | FLAG_ELF_LIBC6;
+ }
}
return ret;
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
deleted file mode 100644
index 70c0d2eda..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/405/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/405/fpu
-powerpc/powerpc32/405
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
deleted file mode 100644
index c3e52c550..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/440/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/440/fpu
-powerpc/powerpc32/440
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
deleted file mode 100644
index 2829f9cca..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/464/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/464/fpu
-powerpc/powerpc32/464
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
deleted file mode 100644
index 80f917079..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/476/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/powerpc32/476/fpu
-powerpc/powerpc32/476
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/Implies
deleted file mode 100644
index be4188aac..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/Implies
+++ /dev/null
@@ -1 +0,0 @@
-powerpc/powerpc32/e500/fpu
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S
deleted file mode 100644
index 5966bc57b..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext-extra.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Save current context. Support for saving high parts of registers.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* We follow the kernel's layout, which saves the high parts of the
- SPE registers in the vregs area, immediately followed by the
- SPEFSCR value. */
-.macro getcontext_extra
- la r10,(_UC_VREGS)(r3)
- evstwwe r0,(0*4)(r10)
- evstwwe r1,(1*4)(r10)
- evstwwe r2,(2*4)(r10)
- evstwwe r3,(3*4)(r10)
- evstwwe r4,(4*4)(r10)
- evstwwe r5,(5*4)(r10)
- evstwwe r6,(6*4)(r10)
- evstwwe r7,(7*4)(r10)
- evstwwe r8,(8*4)(r10)
- evstwwe r9,(9*4)(r10)
- evstwwe r10,(10*4)(r10)
- evstwwe r11,(11*4)(r10)
- evstwwe r12,(12*4)(r10)
- evstwwe r13,(13*4)(r10)
- evstwwe r14,(14*4)(r10)
- evstwwe r15,(15*4)(r10)
- evstwwe r16,(16*4)(r10)
- evstwwe r17,(17*4)(r10)
- evstwwe r18,(18*4)(r10)
- evstwwe r19,(19*4)(r10)
- evstwwe r20,(20*4)(r10)
- evstwwe r21,(21*4)(r10)
- evstwwe r22,(22*4)(r10)
- evstwwe r23,(23*4)(r10)
- evstwwe r24,(24*4)(r10)
- evstwwe r25,(25*4)(r10)
- evstwwe r26,(26*4)(r10)
- evstwwe r27,(27*4)(r10)
- evstwwe r28,(28*4)(r10)
- evstwwe r29,(29*4)(r10)
- evstwwe r30,(30*4)(r10)
- evstwwe r31,(31*4)(r10)
- mfspefscr r9
- stw r9,(32*4)(r10)
-.endm
-#define __GETCONTEXT_EXTRA getcontext_extra
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S
deleted file mode 100644
index 3b14fbc4d..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/getcontext.S
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Save current context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __getcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-#include "getcontext-extra.S"
-
-#include "getcontext-common.S"
-
-versioned_symbol (libc, __getcontext, getcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__getcontext, __novec_getcontext)
-
-compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__getcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__getcontext_stub)
- .previous
-
-compat_symbol (libc, __getcontext_stub, getcontext, GLIBC_2_1)
-
-#endif
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S
deleted file mode 100644
index dcbc84c1d..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext-extra.S
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Jump to a new context. Support for restoring high parts of registers.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Joseph Myers <joseph@codesourcery.com>, 2006.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-.macro setcontext_extra
- lwz r3,_UC_VREGS+(0*4)(r31)
- evmergelo r0,r3,r0
- lwz r3,_UC_VREGS+(1*4)(r31)
- evmergelo r1,r3,r1
- lwz r3,_UC_VREGS+(2*4)(r31)
- evmergelo r2,r3,r2
- lwz r3,_UC_VREGS+(1*4)(r31)
- evmergelo r1,r3,r1
- lwz r3,_UC_VREGS+(2*4)(r31)
- evmergelo r2,r3,r2
- lwz r3,_UC_VREGS+(3*4)(r31)
- evmergelo r3,r3,r3
- lwz r3,_UC_VREGS+(4*4)(r31)
- evmergelo r4,r3,r4
- lwz r3,_UC_VREGS+(5*4)(r31)
- evmergelo r5,r3,r5
- lwz r3,_UC_VREGS+(6*4)(r31)
- evmergelo r6,r3,r6
- lwz r3,_UC_VREGS+(7*4)(r31)
- evmergelo r7,r3,r7
- lwz r3,_UC_VREGS+(8*4)(r31)
- evmergelo r8,r3,r8
- lwz r3,_UC_VREGS+(9*4)(r31)
- evmergelo r9,r3,r9
- lwz r3,_UC_VREGS+(10*4)(r31)
- evmergelo r10,r3,r10
- lwz r3,_UC_VREGS+(11*4)(r31)
- evmergelo r11,r3,r11
- lwz r3,_UC_VREGS+(12*4)(r31)
- evmergelo r12,r3,r12
- lwz r3,_UC_VREGS+(13*4)(r31)
- evmergelo r13,r3,r13
- lwz r3,_UC_VREGS+(14*4)(r31)
- evmergelo r14,r3,r14
- lwz r3,_UC_VREGS+(15*4)(r31)
- evmergelo r15,r3,r15
- lwz r3,_UC_VREGS+(16*4)(r31)
- evmergelo r16,r3,r16
- lwz r3,_UC_VREGS+(17*4)(r31)
- evmergelo r17,r3,r17
- lwz r3,_UC_VREGS+(18*4)(r31)
- evmergelo r18,r3,r18
- lwz r3,_UC_VREGS+(19*4)(r31)
- evmergelo r19,r3,r19
- lwz r3,_UC_VREGS+(20*4)(r31)
- evmergelo r20,r3,r20
- lwz r3,_UC_VREGS+(21*4)(r31)
- evmergelo r21,r3,r21
- lwz r3,_UC_VREGS+(22*4)(r31)
- evmergelo r22,r3,r22
- lwz r3,_UC_VREGS+(23*4)(r31)
- evmergelo r23,r3,r23
- lwz r3,_UC_VREGS+(24*4)(r31)
- evmergelo r24,r3,r24
- lwz r3,_UC_VREGS+(25*4)(r31)
- evmergelo r25,r3,r25
- lwz r3,_UC_VREGS+(26*4)(r31)
- evmergelo r26,r3,r26
- lwz r3,_UC_VREGS+(27*4)(r31)
- evmergelo r27,r3,r27
- lwz r3,_UC_VREGS+(28*4)(r31)
- evmergelo r28,r3,r28
- lwz r3,_UC_VREGS+(29*4)(r31)
- evmergelo r29,r3,r29
- lwz r3,_UC_VREGS+(30*4)(r31)
- evmergelo r30,r3,r30
- lwz r3,_UC_VREGS+(31*4)(r31)
- evmergelo r31,r3,r31
- lwz r3,_UC_VREGS+(32*4)(r31)
- mtspefscr r3
-.endm
-#define __SETCONTEXT_EXTRA setcontext_extra
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S
deleted file mode 100644
index ebbde8d9d..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/setcontext.S
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Jump to a new context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __setcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-#include "setcontext-extra.S"
-
-#include "setcontext-common.S"
-
-versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__setcontext, __novec_setcontext)
-
-compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__setcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__setcontext_stub)
- .previous
-
-compat_symbol (libc, __setcontext_stub, setcontext, GLIBC_2_0)
-
-#endif
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S
deleted file mode 100644
index 5175d8658..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/fpu/swapcontext.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Save current context and jump to a new context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __swapcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-#include "getcontext-extra.S"
-#include "setcontext-extra.S"
-
-# include "swapcontext-common.S"
-
-versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__swapcontext, __novec_swapcontext)
-
-compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__swapcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__swapcontext_stub)
- .previous
-
-compat_symbol (libc, __swapcontext_stub, swapcontext, GLIBC_2_1)
-
-#endif
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data
deleted file mode 100644
index fde53bf33..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:x
-blkcnt_t:l
-blksize_t:l
-caddr_t:Pc
-clockid_t:i
-clock_t:l
-daddr_t:i
-dev_t:y
-fd_mask:l
-fsblkcnt64_t:y
-fsblkcnt_t:m
-fsfilcnt64_t:y
-fsfilcnt_t:m
-fsid_t:8__fsid_t
-gid_t:j
-id_t:j
-ino64_t:y
-ino_t:m
-int16_t:s
-int32_t:i
-int64_t:x
-int8_t:a
-intptr_t:i
-key_t:i
-loff_t:x
-mode_t:j
-nlink_t:j
-off64_t:x
-off_t:l
-pid_t:i
-pthread_attr_t:14pthread_attr_t
-pthread_barrier_t:17pthread_barrier_t
-pthread_barrierattr_t:21pthread_barrierattr_t
-pthread_cond_t:14pthread_cond_t
-pthread_condattr_t:18pthread_condattr_t
-pthread_key_t:j
-pthread_mutex_t:15pthread_mutex_t
-pthread_mutexattr_t:19pthread_mutexattr_t
-pthread_once_t:i
-pthread_rwlock_t:16pthread_rwlock_t
-pthread_rwlockattr_t:20pthread_rwlockattr_t
-pthread_spinlock_t:i
-pthread_t:m
-quad_t:x
-register_t:i
-rlim64_t:y
-rlim_t:m
-sigset_t:10__sigset_t
-size_t:j
-socklen_t:j
-ssize_t:i
-suseconds_t:l
-time_t:l
-u_char:h
-uid_t:j
-uint:j
-u_int:j
-u_int16_t:t
-u_int32_t:j
-u_int64_t:y
-u_int8_t:h
-ulong:m
-u_long:m
-u_quad_t:y
-useconds_t:j
-ushort:t
-u_short:t
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/ld.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/ld.abilist
deleted file mode 100644
index d71611f02..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/ld.abilist
+++ /dev/null
@@ -1,17 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __libc_memalign F
- _r_debug D 0x14
- calloc F
- free F
- malloc F
- realloc F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_stack_end D 0x4
- _dl_mcount F
-GLIBC_2.3
- GLIBC_2.3 A
- __tls_get_addr F
-GLIBC_2.4
- GLIBC_2.4 A
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libBrokenLocale.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libBrokenLocale.abilist
deleted file mode 100644
index f4ca37f44..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libBrokenLocale.abilist
+++ /dev/null
@@ -1,3 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __ctype_get_mb_cur_max F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libanl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libanl.abilist
deleted file mode 100644
index c9755d8a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libanl.abilist
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- gai_cancel F
- gai_error F
- gai_suspend F
- getaddrinfo_a F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libc.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libc.abilist
deleted file mode 100644
index ca8b42943..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libc.abilist
+++ /dev/null
@@ -1,2478 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_adjust_column F
- _IO_default_doallocate F
- _IO_default_finish F
- _IO_default_pbackfail F
- _IO_default_uflow F
- _IO_default_xsgetn F
- _IO_default_xsputn F
- _IO_do_write F
- _IO_doallocbuf F
- _IO_fclose F
- _IO_fdopen F
- _IO_feof F
- _IO_ferror F
- _IO_fflush F
- _IO_fgetpos F
- _IO_fgets F
- _IO_file_attach F
- _IO_file_close F
- _IO_file_close_it F
- _IO_file_doallocate F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_jumps D 0x54
- _IO_file_open F
- _IO_file_overflow F
- _IO_file_read F
- _IO_file_seek F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_stat F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_flockfile F
- _IO_flush_all F
- _IO_flush_all_linebuffered F
- _IO_fopen F
- _IO_fprintf F
- _IO_fputs F
- _IO_fread F
- _IO_free_backup_area F
- _IO_fsetpos F
- _IO_ftell F
- _IO_ftrylockfile F
- _IO_funlockfile F
- _IO_fwrite F
- _IO_getc F
- _IO_getline F
- _IO_gets F
- _IO_init F
- _IO_init_marker F
- _IO_link_in F
- _IO_list_all D 0x4
- _IO_marker_delta F
- _IO_marker_difference F
- _IO_padn F
- _IO_peekc_locked F
- _IO_popen F
- _IO_printf F
- _IO_proc_close F
- _IO_proc_open F
- _IO_putc F
- _IO_puts F
- _IO_remove_marker F
- _IO_seekmark F
- _IO_seekoff F
- _IO_seekpos F
- _IO_setb F
- _IO_setbuffer F
- _IO_setvbuf F
- _IO_sgetn F
- _IO_sprintf F
- _IO_sputbackc F
- _IO_sscanf F
- _IO_stderr_ D 0x50
- _IO_stdin_ D 0x50
- _IO_stdout_ D 0x50
- _IO_str_init_readonly F
- _IO_str_init_static F
- _IO_str_overflow F
- _IO_str_pbackfail F
- _IO_str_seekoff F
- _IO_str_underflow F
- _IO_sungetc F
- _IO_switch_to_get_mode F
- _IO_un_link F
- _IO_ungetc F
- _IO_unsave_markers F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __adjtimex F
- __after_morecore_hook D 0x4
- __argz_count F
- __argz_next F
- __argz_stringify F
- __ashldi3 F
- __ashrdi3 F
- __assert_fail F
- __assert_perror_fail F
- __bsd_getpgrp F
- __bzero F
- __check_rhosts_file D 0x4
- __clone F
- __close F
- __cmpdi2 F
- __cmsg_nxthdr F
- __connect F
- __ctype32_b D 0x4
- __ctype_b D 0x4
- __ctype_get_mb_cur_max F
- __ctype_tolower D 0x4
- __ctype_toupper D 0x4
- __curbrk D 0x4
- __daylight D 0x4
- __dcgettext F
- __default_morecore F
- __dgettext F
- __divdi3 F
- __dup2 F
- __environ D 0x4
- __errno_location F
- __fcntl F
- __ffs F
- __finite F
- __finitef F
- __finitel F
- __fixdfdi F
- __fixsfdi F
- __fixunsdfdi F
- __fixunssfdi F
- __floatdidf F
- __floatdisf F
- __fork F
- __fpu_control D 0x4
- __free_hook D 0x4
- __fxstat F
- __getdelim F
- __getpagesize F
- __getpgid F
- __getpid F
- __gettimeofday F
- __gmtime_r F
- __h_errno_location F
- __isinf F
- __isinff F
- __isinfl F
- __isnan F
- __isnanf F
- __iswctype F
- __ivaliduser F
- __libc_calloc F
- __libc_free F
- __libc_init_first F
- __libc_mallinfo F
- __libc_malloc F
- __libc_mallopt F
- __libc_memalign F
- __libc_pvalloc F
- __libc_realloc F
- __libc_start_main F
- __libc_valloc F
- __lseek F
- __lshrdi3 F
- __lxstat F
- __malloc_hook D 0x4
- __malloc_initialize_hook D 0x4
- __mbrlen F
- __mbrtowc F
- __memalign_hook D 0x4
- __mempcpy F
- __moddi3 F
- __monstartup F
- __morecore D 0x4
- __nss_configure_lookup F
- __nss_database_lookup F
- __nss_group_lookup F
- __nss_hosts_lookup F
- __nss_next F
- __nss_passwd_lookup F
- __open F
- __overflow F
- __pipe F
- __printf_fp F
- __profile_frequency F
- __progname D 0x4
- __progname_full D 0x4
- __rcmd_errstr D 0x4
- __read F
- __realloc_hook D 0x4
- __res_randomid F
- __sbrk F
- __sched_get_priority_max F
- __sched_get_priority_min F
- __sched_getparam F
- __sched_getscheduler F
- __sched_setscheduler F
- __sched_yield F
- __secure_getenv F
- __select F
- __send F
- __setpgid F
- __sigaction F
- __sigaddset F
- __sigdelset F
- __sigismember F
- __sigpause F
- __sigsetjmp F
- __stpcpy F
- __stpncpy F
- __strcasecmp F
- __strdup F
- __strerror_r F
- __strtod_internal F
- __strtof_internal F
- __strtok_r F
- __strtol_internal F
- __strtold_internal F
- __strtoll_internal F
- __strtoq_internal F
- __strtoul_internal F
- __strtoull_internal F
- __strtouq_internal F
- __sysv_signal F
- __timezone D 0x4
- __tzname D 0x8
- __ucmpdi2 F
- __udivdi3 F
- __uflow F
- __umoddi3 F
- __underflow F
- __vfscanf F
- __vsnprintf F
- __vsscanf F
- __wait F
- __waitpid F
- __wcstod_internal F
- __wcstof_internal F
- __wcstol_internal F
- __wcstold_internal F
- __wcstoll_internal F
- __wcstoul_internal F
- __wcstoull_internal F
- __write F
- __xmknod F
- __xpg_basename F
- __xstat F
- _environ D 0x4
- _exit F
- _libc_intl_domainname D 0x5
- _longjmp F
- _mcleanup F
- _mcount F
- _nl_default_dirname D 0x12
- _nl_domain_bindings D 0x4
- _nl_msg_cat_cntr D 0x4
- _null_auth D 0xc
- _obstack D 0x4
- _obstack_allocated_p F
- _obstack_begin F
- _obstack_begin_1 F
- _obstack_free F
- _obstack_memory_used F
- _obstack_newchunk F
- _res D 0x200
- _rpc_dtablesize F
- _seterr_reply F
- _setjmp F
- _sys_errlist D 0x1ec
- _sys_nerr D 0x4
- _sys_siglist D 0x80
- _tolower F
- _toupper F
- a64l F
- abort F
- abs F
- accept F
- access F
- acct F
- addmntent F
- adjtime F
- adjtimex F
- advance F
- alarm F
- alphasort F
- argz_add F
- argz_add_sep F
- argz_append F
- argz_count F
- argz_create F
- argz_create_sep F
- argz_delete F
- argz_extract F
- argz_insert F
- argz_next F
- argz_replace F
- argz_stringify F
- asctime F
- asctime_r F
- asprintf F
- atexit F
- atof F
- atoi F
- atol F
- atoll F
- authnone_create F
- authunix_create F
- authunix_create_default F
- basename F
- bcmp F
- bcopy F
- bdflush F
- bind F
- bindresvport F
- bindtextdomain F
- brk F
- bsd_signal F
- bsearch F
- btowc F
- bzero F
- calloc F
- callrpc F
- canonicalize_file_name F
- catclose F
- catgets F
- catopen F
- cfgetispeed F
- cfgetospeed F
- cfmakeraw F
- cfree F
- cfsetispeed F
- cfsetospeed F
- cfsetspeed F
- chdir F
- chflags F
- chmod F
- chown F
- chroot F
- clearenv F
- clearerr F
- clearerr_unlocked F
- clnt_broadcast F
- clnt_create F
- clnt_pcreateerror F
- clnt_perrno F
- clnt_perror F
- clnt_spcreateerror F
- clnt_sperrno F
- clnt_sperror F
- clntraw_create F
- clnttcp_create F
- clntudp_bufcreate F
- clntudp_create F
- clock F
- clone F
- close F
- closedir F
- closelog F
- confstr F
- connect F
- copysign F
- copysignf F
- creat F
- create_module F
- ctermid F
- ctime F
- ctime_r F
- cuserid F
- daemon F
- daylight D 0x4
- dcgettext F
- delete_module F
- dgettext F
- difftime F
- dirfd F
- dirname F
- div F
- dprintf F
- drand48 F
- drand48_r F
- dup F
- dup2 F
- dysize F
- ecvt F
- ecvt_r F
- endaliasent F
- endfsent F
- endgrent F
- endhostent F
- endmntent F
- endnetent F
- endnetgrent F
- endprotoent F
- endpwent F
- endrpcent F
- endservent F
- endspent F
- endttyent F
- endusershell F
- endutent F
- environ D 0x4
- envz_add F
- envz_entry F
- envz_get F
- envz_merge F
- envz_remove F
- envz_strip F
- erand48 F
- erand48_r F
- err F
- error F
- error_at_line F
- error_message_count D 0x4
- error_one_per_line D 0x4
- error_print_progname D 0x4
- errx F
- ether_aton F
- ether_aton_r F
- ether_hostton F
- ether_line F
- ether_ntoa F
- ether_ntoa_r F
- ether_ntohost F
- euidaccess F
- execl F
- execle F
- execlp F
- execv F
- execve F
- execvp F
- exit F
- fchdir F
- fchflags F
- fchmod F
- fchown F
- fclose F
- fcloseall F
- fcntl F
- fcvt F
- fcvt_r F
- fdatasync F
- fdopen F
- feof F
- feof_unlocked F
- ferror F
- ferror_unlocked F
- fexecve F
- fflush F
- fflush_unlocked F
- ffs F
- fgetc F
- fgetgrent F
- fgetgrent_r F
- fgetpos F
- fgetpwent F
- fgetpwent_r F
- fgets F
- fgetspent F
- fgetspent_r F
- fileno F
- fileno_unlocked F
- finite F
- finitef F
- finitel F
- flock F
- flockfile F
- fnmatch F
- fopen F
- fopencookie F
- fork F
- fpathconf F
- fprintf F
- fputc F
- fputc_unlocked F
- fputs F
- fread F
- free F
- freeaddrinfo F
- freopen F
- frexp F
- frexpf F
- frexpl F
- fscanf F
- fseek F
- fsetpos F
- fstatfs F
- fsync F
- ftell F
- ftime F
- ftok F
- ftruncate F
- ftrylockfile F
- fts_children F
- fts_close F
- fts_open F
- fts_read F
- fts_set F
- ftw F
- funlockfile F
- fwrite F
- gcvt F
- get_avphys_pages F
- get_current_dir_name F
- get_kernel_syms F
- get_myaddress F
- get_nprocs F
- get_nprocs_conf F
- get_phys_pages F
- getaddrinfo F
- getaliasbyname F
- getaliasbyname_r F
- getaliasent F
- getaliasent_r F
- getc F
- getc_unlocked F
- getchar F
- getchar_unlocked F
- getcwd F
- getdelim F
- getdirentries F
- getdomainname F
- getdtablesize F
- getegid F
- getenv F
- geteuid F
- getfsent F
- getfsfile F
- getfsspec F
- getgid F
- getgrent F
- getgrent_r F
- getgrgid F
- getgrgid_r F
- getgrnam F
- getgrnam_r F
- getgroups F
- gethostbyaddr F
- gethostbyaddr_r F
- gethostbyname F
- gethostbyname2 F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent F
- gethostent_r F
- gethostid F
- gethostname F
- getitimer F
- getline F
- getlogin F
- getlogin_r F
- getmntent F
- getmntent_r F
- getnetbyaddr F
- getnetbyaddr_r F
- getnetbyname F
- getnetbyname_r F
- getnetent F
- getnetent_r F
- getnetgrent F
- getnetgrent_r F
- getopt F
- getopt_long F
- getopt_long_only F
- getpagesize F
- getpass F
- getpeername F
- getpgid F
- getpgrp F
- getpid F
- getppid F
- getpriority F
- getprotobyname F
- getprotobyname_r F
- getprotobynumber F
- getprotobynumber_r F
- getprotoent F
- getprotoent_r F
- getpublickey F
- getpw F
- getpwent F
- getpwent_r F
- getpwnam F
- getpwnam_r F
- getpwuid F
- getpwuid_r F
- getresgid F
- getresuid F
- getrlimit F
- getrpcbyname F
- getrpcbyname_r F
- getrpcbynumber F
- getrpcbynumber_r F
- getrpcent F
- getrpcent_r F
- getrpcport F
- getrusage F
- gets F
- getsecretkey F
- getservbyname F
- getservbyname_r F
- getservbyport F
- getservbyport_r F
- getservent F
- getservent_r F
- getsid F
- getsockname F
- getsockopt F
- getspent F
- getspent_r F
- getspnam F
- getspnam_r F
- getsubopt F
- gettext F
- gettimeofday F
- getttyent F
- getttynam F
- getuid F
- getusershell F
- getutent F
- getutent_r F
- getutid F
- getutid_r F
- getutline F
- getutline_r F
- getw F
- getwd F
- glob F
- glob_pattern_p F
- globfree F
- gmtime F
- gmtime_r F
- group_member F
- gsignal F
- gtty F
- h_errlist D 0x14
- h_nerr D 0x4
- hasmntopt F
- hcreate F
- hcreate_r F
- hdestroy F
- hdestroy_r F
- herror F
- hsearch F
- hsearch_r F
- hstrerror F
- htonl F
- htons F
- index F
- inet_addr F
- inet_aton F
- inet_lnaof F
- inet_makeaddr F
- inet_netof F
- inet_network F
- inet_nsap_addr F
- inet_nsap_ntoa F
- inet_ntoa F
- inet_ntop F
- inet_pton F
- init_module F
- initgroups F
- initstate F
- initstate_r F
- innetgr F
- insque F
- ioctl F
- iruserok F
- isalnum F
- isalpha F
- isascii F
- isatty F
- isblank F
- iscntrl F
- isdigit F
- isfdtype F
- isgraph F
- isinf F
- isinff F
- isinfl F
- islower F
- isnan F
- isnanf F
- isprint F
- ispunct F
- isspace F
- isupper F
- iswalnum F
- iswalpha F
- iswcntrl F
- iswctype F
- iswdigit F
- iswgraph F
- iswlower F
- iswprint F
- iswpunct F
- iswspace F
- iswupper F
- iswxdigit F
- isxdigit F
- jrand48 F
- jrand48_r F
- kill F
- killpg F
- klogctl F
- l64a F
- labs F
- lchown F
- lckpwdf F
- lcong48 F
- lcong48_r F
- ldexp F
- ldexpf F
- ldexpl F
- ldiv F
- lfind F
- link F
- listen F
- llabs F
- lldiv F
- llseek F
- loc1 D 0x4
- loc2 D 0x4
- localeconv F
- localtime F
- localtime_r F
- lockf F
- locs D 0x4
- longjmp F
- lrand48 F
- lrand48_r F
- lsearch F
- lseek F
- madvise F
- mallinfo F
- malloc F
- malloc_get_state F
- malloc_set_state F
- malloc_stats F
- malloc_trim F
- malloc_usable_size F
- mallopt F
- mallwatch D 0x4
- mblen F
- mbrlen F
- mbrtowc F
- mbsinit F
- mbsnrtowcs F
- mbsrtowcs F
- mbstowcs F
- mbtowc F
- mcheck F
- memalign F
- memccpy F
- memchr F
- memcmp F
- memcpy F
- memfrob F
- memmem F
- memmove F
- memset F
- mkdir F
- mkfifo F
- mkstemp F
- mktemp F
- mktime F
- mlock F
- mlockall F
- mmap F
- modf F
- modff F
- modfl F
- monstartup F
- mount F
- mprobe F
- mprotect F
- mrand48 F
- mrand48_r F
- mremap F
- msgctl F
- msgget F
- msgrcv F
- msgsnd F
- msync F
- mtrace F
- munlock F
- munlockall F
- munmap F
- muntrace F
- nanosleep F
- nfsservctl F
- nice F
- nl_langinfo F
- nrand48 F
- nrand48_r F
- ntohl F
- ntohs F
- obstack_alloc_failed_handler D 0x4
- obstack_exit_failure D 0x4
- obstack_free F
- obstack_printf F
- obstack_vprintf F
- on_exit F
- open F
- open_memstream F
- opendir F
- openlog F
- optarg D 0x4
- opterr D 0x4
- optind D 0x4
- optopt D 0x4
- parse_printf_format F
- pathconf F
- pause F
- pclose F
- perror F
- personality F
- pipe F
- pmap_getmaps F
- pmap_getport F
- pmap_rmtcall F
- pmap_set F
- pmap_unset F
- poll F
- popen F
- prctl F
- printf F
- profil F
- program_invocation_name D 0x4
- program_invocation_short_name D 0x4
- pselect F
- psignal F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_unlock F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- ptrace F
- putc F
- putc_unlocked F
- putchar F
- putchar_unlocked F
- putenv F
- putpwent F
- puts F
- putspent F
- pututline F
- putw F
- pvalloc F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- qsort F
- query_module F
- quotactl F
- raise F
- rand F
- rand_r F
- random F
- random_r F
- rcmd F
- re_comp F
- re_compile_fastmap F
- re_compile_pattern F
- re_exec F
- re_match F
- re_match_2 F
- re_max_failures D 0x4
- re_search F
- re_search_2 F
- re_set_registers F
- re_set_syntax F
- re_syntax_options D 0x4
- read F
- readdir F
- readdir_r F
- readlink F
- readv F
- realloc F
- realpath F
- reboot F
- recv F
- recvfrom F
- recvmsg F
- regcomp F
- regerror F
- regexec F
- regfree F
- register_printf_function F
- registerrpc F
- remove F
- remque F
- rename F
- res_init F
- revoke F
- rewind F
- rewinddir F
- rexec F
- rexecoptions D 0x4
- rindex F
- rmdir F
- rpc_createerr D 0x10
- rpmatch F
- rresvport F
- ruserok F
- ruserpass F
- sbrk F
- scalbn F
- scalbnf F
- scalbnl F
- scandir F
- scanf F
- sched_get_priority_max F
- sched_get_priority_min F
- sched_getparam F
- sched_getscheduler F
- sched_rr_get_interval F
- sched_setparam F
- sched_setscheduler F
- sched_yield F
- seed48 F
- seed48_r F
- seekdir F
- select F
- semctl F
- semget F
- semop F
- send F
- sendmsg F
- sendto F
- setaliasent F
- setbuf F
- setbuffer F
- setcontext F
- setdomainname F
- setegid F
- setenv F
- seteuid F
- setfsent F
- setfsgid F
- setfsuid F
- setgid F
- setgrent F
- setgroups F
- sethostent F
- sethostid F
- sethostname F
- setitimer F
- setjmp F
- setlinebuf F
- setlocale F
- setlogin F
- setlogmask F
- setmntent F
- setnetent F
- setnetgrent F
- setpgid F
- setpgrp F
- setpriority F
- setprotoent F
- setpwent F
- setregid F
- setresgid F
- setresuid F
- setreuid F
- setrlimit F
- setrpcent F
- setservent F
- setsid F
- setsockopt F
- setspent F
- setstate F
- setstate_r F
- settimeofday F
- setttyent F
- setuid F
- setusershell F
- setutent F
- setvbuf F
- sgetspent F
- sgetspent_r F
- shmat F
- shmctl F
- shmdt F
- shmget F
- shutdown F
- sigaction F
- sigaddset F
- sigaltstack F
- sigandset F
- sigblock F
- sigdelset F
- sigemptyset F
- sigfillset F
- siggetmask F
- siginterrupt F
- sigisemptyset F
- sigismember F
- siglongjmp F
- signal F
- sigorset F
- sigpause F
- sigpending F
- sigprocmask F
- sigreturn F
- sigsetmask F
- sigstack F
- sigsuspend F
- sigvec F
- sigwait F
- sleep F
- snprintf F
- socket F
- socketpair F
- sprintf F
- srand F
- srand48 F
- srand48_r F
- srandom F
- srandom_r F
- sscanf F
- ssignal F
- sstk F
- statfs F
- stderr D 0x4
- stdin D 0x4
- stdout D 0x4
- step F
- stime F
- stpcpy F
- stpncpy F
- strcasecmp F
- strcat F
- strchr F
- strcmp F
- strcoll F
- strcpy F
- strcspn F
- strdup F
- strerror F
- strerror_r F
- strfmon F
- strfry F
- strftime F
- strlen F
- strncasecmp F
- strncat F
- strncmp F
- strncpy F
- strndup F
- strnlen F
- strpbrk F
- strptime F
- strrchr F
- strsep F
- strsignal F
- strspn F
- strstr F
- strtod F
- strtof F
- strtok F
- strtok_r F
- strtol F
- strtold F
- strtoll F
- strtoq F
- strtoul F
- strtoull F
- strtouq F
- strxfrm F
- stty F
- svc_exit F
- svc_fdset D 0x80
- svc_getreq F
- svc_getreqset F
- svc_register F
- svc_run F
- svc_sendreply F
- svc_unregister F
- svcauthdes_stats D 0xc
- svcerr_auth F
- svcerr_decode F
- svcerr_noproc F
- svcerr_noprog F
- svcerr_progvers F
- svcerr_systemerr F
- svcerr_weakauth F
- svcfd_create F
- svcraw_create F
- svctcp_create F
- svcudp_bufcreate F
- svcudp_create F
- svcudp_enablecache F
- swab F
- swapoff F
- swapon F
- symlink F
- sync F
- sys_errlist D 0x1ec
- sys_nerr D 0x4
- sys_sigabbrev D 0x80
- sys_siglist D 0x80
- syscall F
- sysconf F
- sysctl F
- sysinfo F
- syslog F
- system F
- tcdrain F
- tcflow F
- tcflush F
- tcgetattr F
- tcgetpgrp F
- tcsendbreak F
- tcsetattr F
- tcsetpgrp F
- tdelete F
- telldir F
- tempnam F
- textdomain F
- tfind F
- time F
- timegm F
- timelocal F
- times F
- timezone D 0x4
- tmpfile F
- tmpnam F
- tmpnam_r F
- toascii F
- tolower F
- toupper F
- towctrans F
- towlower F
- towupper F
- tr_break F
- truncate F
- tsearch F
- ttyname F
- ttyname_r F
- ttyslot F
- twalk F
- tzname D 0x8
- tzset F
- ualarm F
- ulckpwdf F
- ulimit F
- umask F
- umount F
- uname F
- ungetc F
- unlink F
- unsetenv F
- updwtmp F
- uselib F
- usleep F
- ustat F
- utime F
- utimes F
- utmpname F
- valloc F
- vasprintf F
- vdprintf F
- verr F
- verrx F
- vfork F
- vfprintf F
- vfscanf F
- vhangup F
- vlimit F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vsyslog F
- vtimes F
- vwarn F
- vwarnx F
- wait F
- wait3 F
- wait4 F
- waitpid F
- warn F
- warnx F
- wcpcpy F
- wcpncpy F
- wcrtomb F
- wcscat F
- wcschr F
- wcscmp F
- wcscoll F
- wcscpy F
- wcscspn F
- wcsdup F
- wcslen F
- wcsncat F
- wcsncmp F
- wcsncpy F
- wcsnrtombs F
- wcspbrk F
- wcsrchr F
- wcsrtombs F
- wcsspn F
- wcsstr F
- wcstod F
- wcstof F
- wcstok F
- wcstol F
- wcstold F
- wcstombs F
- wcstoq F
- wcstoul F
- wcstouq F
- wcswidth F
- wcsxfrm F
- wctob F
- wctomb F
- wctrans F
- wctype F
- wcwidth F
- wmemchr F
- wmemcmp F
- wmemcpy F
- wmemmove F
- wmemset F
- write F
- writev F
- xdr_accepted_reply F
- xdr_array F
- xdr_authunix_parms F
- xdr_bool F
- xdr_bytes F
- xdr_callhdr F
- xdr_callmsg F
- xdr_char F
- xdr_cryptkeyarg F
- xdr_cryptkeyarg2 F
- xdr_cryptkeyres F
- xdr_des_block F
- xdr_double F
- xdr_enum F
- xdr_float F
- xdr_free F
- xdr_int F
- xdr_key_netstarg F
- xdr_key_netstres F
- xdr_keybuf F
- xdr_keystatus F
- xdr_long F
- xdr_netobj F
- xdr_opaque F
- xdr_opaque_auth F
- xdr_pmap F
- xdr_pmaplist F
- xdr_pointer F
- xdr_reference F
- xdr_rejected_reply F
- xdr_replymsg F
- xdr_rmtcall_args F
- xdr_rmtcallres F
- xdr_short F
- xdr_string F
- xdr_u_char F
- xdr_u_int F
- xdr_u_long F
- xdr_u_short F
- xdr_union F
- xdr_vector F
- xdr_void F
- xdr_wrapstring F
- xdrmem_create F
- xdrrec_create F
- xdrrec_endofrecord F
- xdrrec_eof F
- xdrrec_skiprecord F
- xdrstdio_create F
- xencrypt F
- xprt_register F
- xprt_unregister F
-GLIBC_2.1
- GLIBC_2.1 A
- _IO_2_1_stderr_ D 0xa0
- _IO_2_1_stdin_ D 0xa0
- _IO_2_1_stdout_ D 0xa0
- _IO_do_write F
- _IO_fclose F
- _IO_fdopen F
- _IO_fgetpos64 F
- _IO_file_attach F
- _IO_file_close_it F
- _IO_file_finish F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_overflow F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_fopen F
- _IO_fsetpos64 F
- _IO_getline_info F
- _IO_popen F
- _IO_proc_close F
- _IO_proc_open F
- __asprintf F
- __backtrace F
- __backtrace_symbols F
- __backtrace_symbols_fd F
- __duplocale F
- __freelocale F
- __fxstat64 F
- __isalnum_l F
- __isalpha_l F
- __isascii_l F
- __isblank_l F
- __iscntrl_l F
- __isdigit_l F
- __isgraph_l F
- __islower_l F
- __isprint_l F
- __ispunct_l F
- __isspace_l F
- __isupper_l F
- __iswalnum_l F
- __iswalpha_l F
- __iswblank_l F
- __iswcntrl_l F
- __iswctype_l F
- __iswdigit_l F
- __iswgraph_l F
- __iswlower_l F
- __iswprint_l F
- __iswpunct_l F
- __iswspace_l F
- __iswupper_l F
- __iswxdigit_l F
- __isxdigit_l F
- __key_decryptsession_pk_LOCAL D 0x4
- __key_encryptsession_pk_LOCAL D 0x4
- __key_gendes_LOCAL D 0x4
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- __libc_freeres F
- __libc_sa_len F
- __lxstat64 F
- __newlocale F
- __poll F
- __pread64 F
- __pwrite64 F
- __rawmemchr F
- __signbit F
- __signbitf F
- __strcasecmp_l F
- __strcasestr F
- __strcoll_l F
- __strfmon_l F
- __strncasecmp_l F
- __strtod_l F
- __strtof_l F
- __strtol_l F
- __strtold_l F
- __strtoll_l F
- __strtoul_l F
- __strtoull_l F
- __strxfrm_l F
- __toascii_l F
- __tolower_l F
- __toupper_l F
- __towctrans F
- __towctrans_l F
- __towlower_l F
- __towupper_l F
- __wcscasecmp_l F
- __wcscoll_l F
- __wcsncasecmp_l F
- __wcstod_l F
- __wcstof_l F
- __wcstol_l F
- __wcstold_l F
- __wcstoll_l F
- __wcstoul_l F
- __wcstoull_l F
- __wcsxfrm_l F
- __wctype_l F
- __xstat64 F
- _authenticate F
- _dl_mcount_wrapper F
- _dl_mcount_wrapper_check F
- _sys_errlist D 0x1f4
- _sys_nerr D 0x4
- _sys_siglist D 0x100
- addseverity F
- alphasort64 F
- argp_err_exit_status D 0x4
- argp_error F
- argp_failure F
- argp_help F
- argp_parse F
- argp_program_bug_address D 0x4
- argp_program_version D 0x4
- argp_program_version_hook D 0x4
- argp_state_help F
- argp_usage F
- authdes_create F
- authdes_getucred F
- authdes_pk_create F
- backtrace F
- backtrace_symbols F
- backtrace_symbols_fd F
- capget F
- capset F
- cbc_crypt F
- chown F
- clntunix_create F
- creat64 F
- des_setparity F
- ecb_crypt F
- endutxent F
- fattach F
- fclose F
- fdetach F
- fdopen F
- ffsl F
- ffsll F
- fgetc_unlocked F
- fgetpos64 F
- fgets_unlocked F
- fmtmsg F
- fopen F
- fopen64 F
- fputs_unlocked F
- fread_unlocked F
- freopen64 F
- fseeko F
- fseeko64 F
- fsetpos64 F
- fstatfs64 F
- fstatvfs F
- fstatvfs64 F
- ftello F
- ftello64 F
- ftruncate64 F
- ftw64 F
- fwrite_unlocked F
- gai_strerror F
- getcontext F
- getdate F
- getdate_err D 0x4
- getdate_r F
- getmsg F
- getnameinfo F
- getnetname F
- getpmsg F
- getpt F
- getrlimit64 F
- getutxent F
- getutxid F
- getutxline F
- glob64 F
- globfree64 F
- gnu_get_libc_release F
- gnu_get_libc_version F
- grantpt F
- host2netname F
- iconv F
- iconv_close F
- iconv_open F
- if_freenameindex F
- if_indextoname F
- if_nameindex F
- if_nametoindex F
- in6addr_any D 0x10
- in6addr_loopback D 0x10
- isastream F
- iswblank F
- key_decryptsession F
- key_decryptsession_pk F
- key_encryptsession F
- key_encryptsession_pk F
- key_gendes F
- key_get_conv F
- key_secretkey_is_set F
- key_setnet F
- key_setsecret F
- lockf64 F
- lseek64 F
- makecontext F
- mempcpy F
- mmap64 F
- netname2host F
- netname2user F
- nftw F
- nftw64 F
- ntp_adjtime F
- ntp_gettime F
- open64 F
- passwd2des F
- pclose F
- popen F
- pread F
- pread64 F
- printf_size F
- printf_size_info F
- pthread_attr_init F
- ptsname F
- ptsname_r F
- putgrent F
- putmsg F
- putpmsg F
- pututxline F
- pwrite F
- pwrite64 F
- rawmemchr F
- readdir64 F
- readdir64_r F
- rtime F
- scandir64 F
- sendfile F
- setrlimit64 F
- setutxent F
- sighold F
- sigignore F
- sigqueue F
- sigrelse F
- sigset F
- sigtimedwait F
- sigwaitinfo F
- statfs64 F
- statvfs F
- statvfs64 F
- strcasestr F
- strtoimax F
- strtoumax F
- strverscmp F
- svcunix_create F
- svcunixfd_create F
- swapcontext F
- sys_errlist D 0x1f4
- sys_nerr D 0x4
- sys_sigabbrev D 0x100
- sys_siglist D 0x100
- sysv_signal F
- tcgetsid F
- tdestroy F
- tmpfile F
- tmpfile64 F
- truncate64 F
- umount2 F
- unlockpt F
- updwtmpx F
- user2netname F
- utmpxname F
- versionsort F
- versionsort64 F
- waitid F
- wcscasecmp F
- wcsncasecmp F
- wcsnlen F
- wcstoimax F
- wcstoll F
- wcstoull F
- wcstoumax F
- wcswcs F
- wordexp F
- wordfree F
- xdecrypt F
- xdr_authdes_cred F
- xdr_authdes_verf F
- xdr_getcredres F
- xdr_int16_t F
- xdr_int32_t F
- xdr_int8_t F
- xdr_netnamestr F
- xdr_sizeof F
- xdr_uint16_t F
- xdr_uint32_t F
- xdr_uint8_t F
- xdr_unixcred F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- _Exit F
- __mempcpy_small F
- __stpcpy_small F
- __strcpy_small F
- __strcspn_c1 F
- __strcspn_c2 F
- __strcspn_c3 F
- __strpbrk_c2 F
- __strpbrk_c3 F
- __strsep_1c F
- __strsep_2c F
- __strsep_3c F
- __strsep_g F
- __strspn_c1 F
- __strspn_c2 F
- __strspn_c3 F
- __strtok_r_1c F
- __strverscmp F
- getutmp F
- getutmpx F
- imaxabs F
- imaxdiv F
- strchrnul F
- xdr_hyper F
- xdr_int64_t F
- xdr_longlong_t F
- xdr_u_hyper F
- xdr_u_longlong_t F
- xdr_uint64_t F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
- getaliasbyname_r F
- getaliasent_r F
- getgrent_r F
- getgrgid_r F
- getgrnam_r F
- gethostbyaddr_r F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent_r F
- getnetbyaddr_r F
- getnetbyname_r F
- getnetent_r F
- getprotobyname_r F
- getprotobynumber_r F
- getprotoent_r F
- getpwent_r F
- getpwnam_r F
- getpwuid_r F
- getrpcbyname_r F
- getrpcbynumber_r F
- getrpcent_r F
- getservbyname_r F
- getservbyport_r F
- getservent_r F
- getspent_r F
- getspnam_r F
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- __cxa_atexit F
- __cxa_finalize F
- __sigsuspend F
-GLIBC_2.10
- GLIBC_2.10 A
- __cxa_at_quick_exit F
- __posix_getopt F
- accept4 F
- endsgent F
- fallocate F
- fgetsgent F
- fgetsgent_r F
- getsgent F
- getsgent_r F
- getsgnam F
- getsgnam_r F
- malloc_info F
- preadv F
- preadv64 F
- psiginfo F
- putsgent F
- pwritev F
- pwritev64 F
- quick_exit F
- register_printf_modifier F
- register_printf_specifier F
- register_printf_type F
- setsgent F
- sgetsgent F
- sgetsgent_r F
-GLIBC_2.11
- GLIBC_2.11 A
- __longjmp_chk F
- execvpe F
- fallocate64 F
- mkostemps F
- mkostemps64 F
- mkstemps F
- mkstemps64 F
-GLIBC_2.12
- GLIBC_2.12 A
- _sys_errlist D 0x21c
- _sys_nerr D 0x4
- ntp_gettimex F
- recvmmsg F
- sys_errlist D 0x21c
- sys_nerr D 0x4
-GLIBC_2.13
- GLIBC_2.13 A
- fanotify_init F
- fanotify_mark F
- prlimit F
- prlimit64 F
-GLIBC_2.14
- GLIBC_2.14 A
- clock_adjtime F
- name_to_handle_at F
- open_by_handle_at F
- sendmmsg F
- setns F
- syncfs F
-GLIBC_2.15
- GLIBC_2.15 A
- __fdelt_chk F
- __fdelt_warn F
- posix_spawn F
- posix_spawnp F
- process_vm_readv F
- process_vm_writev F
- scandirat F
- scandirat64 F
-GLIBC_2.16
- GLIBC_2.16 A
- __getauxval F
- __mcount_internal F
- __poll_chk F
- __ppoll_chk F
- aligned_alloc F
- c16rtomb F
- c32rtomb F
- getauxval F
- mbrtoc16 F
- mbrtoc32 F
- timespec_get F
-GLIBC_2.17
- GLIBC_2.17 A
- __ppc_get_timebase_freq F
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- secure_getenv F
-GLIBC_2.18
- GLIBC_2.18 A
- __cxa_thread_atexit_impl F
-GLIBC_2.2
- GLIBC_2.2 A
- _IO_adjust_wcolumn F
- _IO_fgetpos F
- _IO_fgetpos64 F
- _IO_free_wbackup_area F
- _IO_fsetpos F
- _IO_fsetpos64 F
- _IO_init_wmarker F
- _IO_iter_begin F
- _IO_iter_end F
- _IO_iter_file F
- _IO_iter_next F
- _IO_least_wmarker F
- _IO_list_lock F
- _IO_list_resetlock F
- _IO_list_unlock F
- _IO_seekwmark F
- _IO_sputbackwc F
- _IO_sungetwc F
- _IO_switch_to_main_wget_area F
- _IO_switch_to_wbackup_area F
- _IO_switch_to_wget_mode F
- _IO_unsave_wmarkers F
- _IO_wdefault_doallocate F
- _IO_wdefault_finish F
- _IO_wdefault_pbackfail F
- _IO_wdefault_uflow F
- _IO_wdefault_xsgetn F
- _IO_wdefault_xsputn F
- _IO_wdo_write F
- _IO_wdoallocbuf F
- _IO_wfile_jumps D 0x54
- _IO_wfile_overflow F
- _IO_wfile_seekoff F
- _IO_wfile_sync F
- _IO_wfile_underflow F
- _IO_wfile_xsputn F
- _IO_wmarker_delta F
- _IO_wsetb F
- __assert F
- __ctype32_tolower D 0x4
- __ctype32_toupper D 0x4
- __cyg_profile_func_enter F
- __cyg_profile_func_exit F
- __endmntent F
- __fbufsize F
- __flbf F
- __fpending F
- __fpurge F
- __freadable F
- __freading F
- __fsetlocking F
- __fwritable F
- __fwriting F
- __fxstat64 F
- __getmntent_r F
- __lxstat64 F
- __nl_langinfo_l F
- __open64 F
- __res_init F
- __res_nclose F
- __res_ninit F
- __res_state F
- __setmntent F
- __statfs F
- __strndup F
- __sysconf F
- __sysctl F
- __wctrans_l F
- __woverflow F
- __wuflow F
- __wunderflow F
- __xpg_sigpause F
- __xstat64 F
- _flushlbf F
- _res_hconf D 0x30
- bind_textdomain_codeset F
- dcngettext F
- dngettext F
- fgetpos F
- fgetpos64 F
- fgetwc F
- fgetwc_unlocked F
- fgetws F
- fgetws_unlocked F
- fmemopen F
- fopencookie F
- fputwc F
- fputwc_unlocked F
- fputws F
- fputws_unlocked F
- fsetpos F
- fsetpos64 F
- fwide F
- fwprintf F
- fwscanf F
- getdirentries64 F
- getloadavg F
- getrlimit F
- getrlimit64 F
- getwc F
- getwc_unlocked F
- getwchar F
- getwchar_unlocked F
- glob64 F
- iruserok_af F
- localeconv F
- mcheck_check_all F
- mcheck_pedantic F
- memrchr F
- mincore F
- mkdtemp F
- mkstemp64 F
- moncontrol F
- msgctl F
- ngettext F
- posix_fadvise F
- posix_fadvise64 F
- posix_fallocate F
- posix_fallocate64 F
- posix_madvise F
- posix_memalign F
- posix_spawn F
- posix_spawn_file_actions_addclose F
- posix_spawn_file_actions_adddup2 F
- posix_spawn_file_actions_addopen F
- posix_spawn_file_actions_destroy F
- posix_spawn_file_actions_init F
- posix_spawnattr_destroy F
- posix_spawnattr_getflags F
- posix_spawnattr_getpgroup F
- posix_spawnattr_getschedparam F
- posix_spawnattr_getschedpolicy F
- posix_spawnattr_getsigdefault F
- posix_spawnattr_getsigmask F
- posix_spawnattr_init F
- posix_spawnattr_setflags F
- posix_spawnattr_setpgroup F
- posix_spawnattr_setschedparam F
- posix_spawnattr_setschedpolicy F
- posix_spawnattr_setsigdefault F
- posix_spawnattr_setsigmask F
- posix_spawnp F
- putwc F
- putwc_unlocked F
- putwchar F
- putwchar_unlocked F
- rcmd_af F
- readdir64 F
- readdir64_r F
- rexec_af F
- rresvport_af F
- ruserok_af F
- scandir64 F
- semctl F
- setrlimit F
- shmctl F
- svc_getreq_common F
- svc_getreq_poll F
- svc_max_pollfd D 0x4
- svc_pollfd D 0x4
- swprintf F
- swscanf F
- ungetwc F
- vfwprintf F
- vfwscanf F
- vswprintf F
- vswscanf F
- vwprintf F
- vwscanf F
- wcschrnul F
- wcsftime F
- wmempcpy F
- wprintf F
- wscanf F
-GLIBC_2.2.1
- GLIBC_2.2.1 A
- pivot_root F
- posix_openpt F
-GLIBC_2.2.2
- GLIBC_2.2.2 A
- __nss_hostname_digits_dots F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- __rpc_thread_createerr F
- __rpc_thread_svc_fdset F
- __rpc_thread_svc_max_pollfd F
- __rpc_thread_svc_pollfd F
- fnmatch F
- sprofil F
-GLIBC_2.2.4
- GLIBC_2.2.4 A
- dl_iterate_phdr F
- getgrouplist F
- sockatmark F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
- __ctype_tolower_loc F
- __ctype_toupper_loc F
- __isctype F
- __strftime_l F
- __uselocale F
- __wcsftime_l F
- _sys_errlist D 0x1f8
- _sys_nerr D 0x4
- duplocale F
- fgetxattr F
- flistxattr F
- freeifaddrs F
- freelocale F
- fremovexattr F
- fsetxattr F
- futimes F
- getifaddrs F
- getxattr F
- isalnum_l F
- isalpha_l F
- isblank_l F
- iscntrl_l F
- isctype F
- isdigit_l F
- isgraph_l F
- islower_l F
- isprint_l F
- ispunct_l F
- isspace_l F
- isupper_l F
- iswalnum_l F
- iswalpha_l F
- iswblank_l F
- iswcntrl_l F
- iswctype_l F
- iswdigit_l F
- iswgraph_l F
- iswlower_l F
- iswprint_l F
- iswpunct_l F
- iswspace_l F
- iswupper_l F
- iswxdigit_l F
- isxdigit_l F
- lgetxattr F
- listxattr F
- llistxattr F
- lremovexattr F
- lsetxattr F
- lutimes F
- newlocale F
- nl_langinfo_l F
- readahead F
- realpath F
- removexattr F
- sendfile64 F
- setxattr F
- strcasecmp_l F
- strcoll_l F
- strfmon_l F
- strftime_l F
- strncasecmp_l F
- strtod_l F
- strtof_l F
- strtol_l F
- strtold_l F
- strtoll_l F
- strtoul_l F
- strtoull_l F
- strxfrm_l F
- sys_errlist D 0x1f8
- sys_nerr D 0x4
- tolower_l F
- toupper_l F
- towctrans_l F
- towlower_l F
- towupper_l F
- uselocale F
- wcscasecmp_l F
- wcscoll_l F
- wcsftime_l F
- wcsncasecmp_l F
- wcstod_l F
- wcstof_l F
- wcstol_l F
- wcstold_l F
- wcstoll_l F
- wcstoul_l F
- wcstoull_l F
- wcsxfrm_l F
- wctrans_l F
- wctype_l F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __register_atfork F
- epoll_create F
- epoll_ctl F
- epoll_wait F
- lchmod F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- strptime_l F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- _sys_siglist D 0x104
- atosfix16 F
- atosfix32 F
- atosfix64 F
- atoufix16 F
- atoufix32 F
- atoufix64 F
- getcontext F
- gnu_dev_major F
- gnu_dev_makedev F
- gnu_dev_minor F
- inet6_option_alloc F
- inet6_option_append F
- inet6_option_find F
- inet6_option_init F
- inet6_option_next F
- inet6_option_space F
- makecontext F
- nftw F
- nftw64 F
- posix_fadvise64 F
- posix_fallocate64 F
- remap_file_pages F
- sched_getaffinity F
- sched_setaffinity F
- semtimedop F
- setcontext F
- strtosfix16 F
- strtosfix32 F
- strtosfix64 F
- strtoufix16 F
- strtoufix32 F
- strtoufix64 F
- swapcontext F
- sys_sigabbrev D 0x104
- sys_siglist D 0x104
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- __chk_fail F
- __fprintf_chk F
- __gets_chk F
- __memcpy_chk F
- __memmove_chk F
- __mempcpy_chk F
- __memset_chk F
- __printf_chk F
- __sigsetjmp F
- __snprintf_chk F
- __sprintf_chk F
- __stpcpy_chk F
- __strcat_chk F
- __strcpy_chk F
- __strncat_chk F
- __strncpy_chk F
- __vfprintf_chk F
- __vprintf_chk F
- __vsnprintf_chk F
- __vsprintf_chk F
- __xpg_strerror_r F
- _longjmp F
- _setjmp F
- getcontext F
- getipv4sourcefilter F
- getsourcefilter F
- longjmp F
- makecontext F
- regexec F
- sched_getaffinity F
- sched_setaffinity F
- setcontext F
- setipv4sourcefilter F
- setjmp F
- setsourcefilter F
- siglongjmp F
- swapcontext F
- xdr_quad_t F
- xdr_u_quad_t F
-GLIBC_2.4
- GLIBC_2.4 A
- _IO_fprintf F
- _IO_printf F
- _IO_sprintf F
- _IO_sscanf F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __asprintf F
- __confstr_chk F
- __fgets_chk F
- __fgets_unlocked_chk F
- __fgetws_chk F
- __fgetws_unlocked_chk F
- __finitel F
- __fprintf_chk F
- __fwprintf_chk F
- __fxstatat F
- __fxstatat64 F
- __getcwd_chk F
- __getdomainname_chk F
- __getgroups_chk F
- __gethostname_chk F
- __getlogin_r_chk F
- __getwd_chk F
- __isinfl F
- __isnanl F
- __mbsnrtowcs_chk F
- __mbsrtowcs_chk F
- __mbstowcs_chk F
- __nldbl__IO_fprintf F
- __nldbl__IO_printf F
- __nldbl__IO_sprintf F
- __nldbl__IO_sscanf F
- __nldbl__IO_vfprintf F
- __nldbl__IO_vfscanf F
- __nldbl__IO_vsprintf F
- __nldbl___asprintf F
- __nldbl___fprintf_chk F
- __nldbl___fwprintf_chk F
- __nldbl___printf_chk F
- __nldbl___printf_fp F
- __nldbl___snprintf_chk F
- __nldbl___sprintf_chk F
- __nldbl___strfmon_l F
- __nldbl___swprintf_chk F
- __nldbl___syslog_chk F
- __nldbl___vfprintf_chk F
- __nldbl___vfscanf F
- __nldbl___vfwprintf_chk F
- __nldbl___vprintf_chk F
- __nldbl___vsnprintf F
- __nldbl___vsnprintf_chk F
- __nldbl___vsprintf_chk F
- __nldbl___vsscanf F
- __nldbl___vstrfmon F
- __nldbl___vstrfmon_l F
- __nldbl___vswprintf_chk F
- __nldbl___vsyslog_chk F
- __nldbl___vwprintf_chk F
- __nldbl___wprintf_chk F
- __nldbl_asprintf F
- __nldbl_dprintf F
- __nldbl_fprintf F
- __nldbl_fscanf F
- __nldbl_fwprintf F
- __nldbl_fwscanf F
- __nldbl_obstack_printf F
- __nldbl_obstack_vprintf F
- __nldbl_printf F
- __nldbl_printf_size F
- __nldbl_scanf F
- __nldbl_snprintf F
- __nldbl_sprintf F
- __nldbl_sscanf F
- __nldbl_strfmon F
- __nldbl_strfmon_l F
- __nldbl_swprintf F
- __nldbl_swscanf F
- __nldbl_syslog F
- __nldbl_vasprintf F
- __nldbl_vdprintf F
- __nldbl_vfprintf F
- __nldbl_vfscanf F
- __nldbl_vfwprintf F
- __nldbl_vfwscanf F
- __nldbl_vprintf F
- __nldbl_vscanf F
- __nldbl_vsnprintf F
- __nldbl_vsprintf F
- __nldbl_vsscanf F
- __nldbl_vswprintf F
- __nldbl_vswscanf F
- __nldbl_vsyslog F
- __nldbl_vwprintf F
- __nldbl_vwscanf F
- __nldbl_wprintf F
- __nldbl_wscanf F
- __pread64_chk F
- __pread_chk F
- __printf_chk F
- __printf_fp F
- __ptsname_r_chk F
- __read_chk F
- __readlink_chk F
- __realpath_chk F
- __recv_chk F
- __recvfrom_chk F
- __signbitl F
- __snprintf_chk F
- __sprintf_chk F
- __stack_chk_fail F
- __stpncpy_chk F
- __strfmon_l F
- __strtold_internal F
- __strtold_l F
- __swprintf_chk F
- __syslog_chk F
- __ttyname_r_chk F
- __vfprintf_chk F
- __vfscanf F
- __vfwprintf_chk F
- __vprintf_chk F
- __vsnprintf F
- __vsnprintf_chk F
- __vsprintf_chk F
- __vsscanf F
- __vswprintf_chk F
- __vsyslog_chk F
- __vwprintf_chk F
- __wcpcpy_chk F
- __wcpncpy_chk F
- __wcrtomb_chk F
- __wcscat_chk F
- __wcscpy_chk F
- __wcsncat_chk F
- __wcsncpy_chk F
- __wcsnrtombs_chk F
- __wcsrtombs_chk F
- __wcstold_internal F
- __wcstold_l F
- __wcstombs_chk F
- __wctomb_chk F
- __wmemcpy_chk F
- __wmemmove_chk F
- __wmempcpy_chk F
- __wmemset_chk F
- __wprintf_chk F
- __xmknodat F
- _sys_errlist D 0x210
- _sys_nerr D 0x4
- asprintf F
- copysignl F
- dprintf F
- eaccess F
- faccessat F
- fchmodat F
- fchownat F
- fdopendir F
- finitel F
- fprintf F
- frexpl F
- fscanf F
- futimesat F
- fwprintf F
- fwscanf F
- inotify_add_watch F
- inotify_init F
- inotify_rm_watch F
- isinfl F
- isnanl F
- ldexpl F
- linkat F
- mkdirat F
- mkfifoat F
- modfl F
- obstack_printf F
- obstack_vprintf F
- open_wmemstream F
- openat F
- openat64 F
- ppoll F
- printf F
- printf_size F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- readlinkat F
- renameat F
- scalbnl F
- scanf F
- snprintf F
- sprintf F
- sscanf F
- strfmon F
- strfmon_l F
- strtold F
- strtold_l F
- swprintf F
- swscanf F
- symlinkat F
- sys_errlist D 0x210
- sys_nerr D 0x4
- syslog F
- unlinkat F
- unshare F
- vasprintf F
- vdprintf F
- vfprintf F
- vfscanf F
- vfwprintf F
- vfwscanf F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vswprintf F
- vswscanf F
- vsyslog F
- vwprintf F
- vwscanf F
- wcstold F
- wcstold_l F
- wprintf F
- wscanf F
-GLIBC_2.5
- GLIBC_2.5 A
- __readlinkat_chk F
- inet6_opt_append F
- inet6_opt_find F
- inet6_opt_finish F
- inet6_opt_get_val F
- inet6_opt_init F
- inet6_opt_next F
- inet6_opt_set_val F
- inet6_rth_add F
- inet6_rth_getaddr F
- inet6_rth_init F
- inet6_rth_reverse F
- inet6_rth_segments F
- inet6_rth_space F
- splice F
- tee F
- vmsplice F
-GLIBC_2.6
- GLIBC_2.6 A
- __sched_cpucount F
- epoll_pwait F
- futimens F
- sched_getcpu F
- strerror_l F
- sync_file_range F
- utimensat F
-GLIBC_2.7
- GLIBC_2.7 A
- __fread_chk F
- __fread_unlocked_chk F
- __isoc99_fscanf F
- __isoc99_fwscanf F
- __isoc99_scanf F
- __isoc99_sscanf F
- __isoc99_swscanf F
- __isoc99_vfscanf F
- __isoc99_vfwscanf F
- __isoc99_vscanf F
- __isoc99_vsscanf F
- __isoc99_vswscanf F
- __isoc99_vwscanf F
- __isoc99_wscanf F
- __nldbl___isoc99_fscanf F
- __nldbl___isoc99_fwscanf F
- __nldbl___isoc99_scanf F
- __nldbl___isoc99_sscanf F
- __nldbl___isoc99_swscanf F
- __nldbl___isoc99_vfscanf F
- __nldbl___isoc99_vfwscanf F
- __nldbl___isoc99_vscanf F
- __nldbl___isoc99_vsscanf F
- __nldbl___isoc99_vswscanf F
- __nldbl___isoc99_vwscanf F
- __nldbl___isoc99_wscanf F
- __open64_2 F
- __open_2 F
- __openat64_2 F
- __openat_2 F
- __sched_cpualloc F
- __sched_cpufree F
- eventfd F
- eventfd_read F
- eventfd_write F
- mkostemp F
- mkostemp64 F
- signalfd F
-GLIBC_2.8
- GLIBC_2.8 A
- __asprintf_chk F
- __dprintf_chk F
- __nldbl___asprintf_chk F
- __nldbl___dprintf_chk F
- __nldbl___obstack_printf_chk F
- __nldbl___obstack_vprintf_chk F
- __nldbl___vasprintf_chk F
- __nldbl___vdprintf_chk F
- __obstack_printf_chk F
- __obstack_vprintf_chk F
- __vasprintf_chk F
- __vdprintf_chk F
- qsort_r F
- timerfd_create F
- timerfd_gettime F
- timerfd_settime F
-GLIBC_2.9
- GLIBC_2.9 A
- dup3 F
- epoll_create1 F
- inotify_init1 F
- pipe2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libcrypt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libcrypt.abilist
deleted file mode 100644
index 1df145f26..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libcrypt.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- crypt F
- crypt_r F
- encrypt F
- encrypt_r F
- fcrypt F
- setkey F
- setkey_r F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libdl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libdl.abilist
deleted file mode 100644
index 62e6b41ed..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libdl.abilist
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- dladdr F
- dlclose F
- dlerror F
- dlopen F
- dlsym F
-GLIBC_2.1
- GLIBC_2.1 A
- dlopen F
- dlvsym F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- dladdr1 F
- dlinfo F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- dlmopen F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libm.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libm.abilist
deleted file mode 100644
index b4a3f66a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libm.abilist
+++ /dev/null
@@ -1,503 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _LIB_VERSION D 0x4
- acos F
- acosf F
- acosh F
- acoshf F
- acoshl F
- acosl F
- asin F
- asinf F
- asinh F
- asinhf F
- asinhl F
- asinl F
- atan F
- atan2 F
- atan2f F
- atan2l F
- atanf F
- atanh F
- atanhf F
- atanhl F
- atanl F
- cbrt F
- cbrtf F
- cbrtl F
- ceil F
- ceilf F
- copysign F
- copysignf F
- cos F
- cosf F
- cosh F
- coshf F
- coshl F
- cosl F
- drem F
- dremf F
- dreml F
- erf F
- erfc F
- erfcf F
- erfcl F
- erff F
- erfl F
- exp F
- expf F
- expl F
- expm1 F
- expm1f F
- expm1l F
- fabs F
- fabsf F
- finite F
- finitef F
- finitel F
- floor F
- floorf F
- fmod F
- fmodf F
- fmodl F
- frexp F
- frexpf F
- frexpl F
- gamma F
- gammaf F
- gammal F
- hypot F
- hypotf F
- hypotl F
- ilogb F
- ilogbf F
- ilogbl F
- j0 F
- j0f F
- j0l F
- j1 F
- j1f F
- j1l F
- jn F
- jnf F
- jnl F
- ldexp F
- ldexpf F
- ldexpl F
- lgamma F
- lgamma_r F
- lgammaf F
- lgammaf_r F
- lgammal F
- lgammal_r F
- log F
- log10 F
- log10f F
- log10l F
- log1p F
- log1pf F
- log1pl F
- logb F
- logbf F
- logbl F
- logf F
- logl F
- matherr F
- modf F
- modff F
- modfl F
- nextafter F
- nextafterf F
- nextafterl F
- pow F
- powf F
- powl F
- remainder F
- remainderf F
- remainderl F
- rint F
- rintf F
- scalb F
- scalbf F
- scalbl F
- scalbn F
- scalbnf F
- scalbnl F
- signgam D 0x4
- significand F
- significandf F
- significandl F
- sin F
- sinf F
- sinh F
- sinhf F
- sinhl F
- sinl F
- sqrt F
- sqrtf F
- tan F
- tanf F
- tanh F
- tanhf F
- tanhl F
- tanl F
- y0 F
- y0f F
- y0l F
- y1 F
- y1f F
- y1l F
- yn F
- ynf F
- ynl F
-GLIBC_2.1
- GLIBC_2.1 A
- __clog10 F
- __clog10f F
- __clog10l F
- __fe_dfl_env D 0x8
- __fe_enabled_env D 0x8
- __fe_nomask_env F
- __finite F
- __finitef F
- __finitel F
- __fpclassify F
- __fpclassifyf F
- __signbit F
- __signbitf F
- cabs F
- cabsf F
- cabsl F
- cacos F
- cacosf F
- cacosh F
- cacoshf F
- cacoshl F
- cacosl F
- carg F
- cargf F
- cargl F
- casin F
- casinf F
- casinh F
- casinhf F
- casinhl F
- casinl F
- catan F
- catanf F
- catanh F
- catanhf F
- catanhl F
- catanl F
- ccos F
- ccosf F
- ccosh F
- ccoshf F
- ccoshl F
- ccosl F
- cexp F
- cexpf F
- cexpl F
- cimag F
- cimagf F
- cimagl F
- clog F
- clog10 F
- clog10f F
- clog10l F
- clogf F
- clogl F
- conj F
- conjf F
- conjl F
- cpow F
- cpowf F
- cpowl F
- cproj F
- cprojf F
- cprojl F
- creal F
- crealf F
- creall F
- csin F
- csinf F
- csinh F
- csinhf F
- csinhl F
- csinl F
- csqrt F
- csqrtf F
- csqrtl F
- ctan F
- ctanf F
- ctanh F
- ctanhf F
- ctanhl F
- ctanl F
- exp10 F
- exp10f F
- exp10l F
- exp2 F
- exp2f F
- fdim F
- fdimf F
- feclearexcept F
- fegetenv F
- fegetexceptflag F
- fegetround F
- feholdexcept F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- fesetround F
- fetestexcept F
- feupdateenv F
- fma F
- fmaf F
- fmal F
- fmax F
- fmaxf F
- fmin F
- fminf F
- llrint F
- llrintf F
- llround F
- llroundf F
- log2 F
- log2f F
- log2l F
- lrint F
- lrintf F
- lround F
- lroundf F
- nan F
- nanf F
- nanl F
- nearbyint F
- nearbyintf F
- nearbyintl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10 F
- pow10f F
- pow10l F
- remquo F
- remquof F
- remquol F
- round F
- roundf F
- scalbln F
- scalblnf F
- scalblnl F
- sincos F
- sincosf F
- sincosl F
- tgamma F
- tgammaf F
- tgammal F
- trunc F
- truncf F
-GLIBC_2.15
- GLIBC_2.15 A
- __acos_finite F
- __acosf_finite F
- __acosh_finite F
- __acoshf_finite F
- __acoshl_finite F
- __acosl_finite F
- __asin_finite F
- __asinf_finite F
- __asinl_finite F
- __atan2_finite F
- __atan2f_finite F
- __atan2l_finite F
- __atanh_finite F
- __atanhf_finite F
- __atanhl_finite F
- __cosh_finite F
- __coshf_finite F
- __coshl_finite F
- __exp10_finite F
- __exp10f_finite F
- __exp10l_finite F
- __exp2_finite F
- __exp2f_finite F
- __exp2l_finite F
- __exp_finite F
- __expf_finite F
- __expl_finite F
- __fmod_finite F
- __fmodf_finite F
- __fmodl_finite F
- __gamma_r_finite F
- __gammaf_r_finite F
- __gammal_r_finite F
- __hypot_finite F
- __hypotf_finite F
- __hypotl_finite F
- __j0_finite F
- __j0f_finite F
- __j0l_finite F
- __j1_finite F
- __j1f_finite F
- __j1l_finite F
- __jn_finite F
- __jnf_finite F
- __jnl_finite F
- __lgamma_r_finite F
- __lgammaf_r_finite F
- __lgammal_r_finite F
- __log10_finite F
- __log10f_finite F
- __log10l_finite F
- __log2_finite F
- __log2f_finite F
- __log2l_finite F
- __log_finite F
- __logf_finite F
- __logl_finite F
- __pow_finite F
- __powf_finite F
- __powl_finite F
- __remainder_finite F
- __remainderf_finite F
- __remainderl_finite F
- __scalb_finite F
- __scalbf_finite F
- __scalbl_finite F
- __sinh_finite F
- __sinhf_finite F
- __sinhl_finite F
- __sqrt_finite F
- __sqrtf_finite F
- __sqrtl_finite F
- __y0_finite F
- __y0f_finite F
- __y0l_finite F
- __y1_finite F
- __y1f_finite F
- __y1l_finite F
- __yn_finite F
- __ynf_finite F
- __ynl_finite F
-GLIBC_2.18
- GLIBC_2.18 A
- __issignaling F
- __issignalingf F
- __issignalingl F
-GLIBC_2.2
- GLIBC_2.2 A
- feclearexcept F
- fedisableexcept F
- feenableexcept F
- fegetenv F
- fegetexcept F
- fegetexceptflag F
- fesetenv F
- fesetexceptflag F
- feupdateenv F
-GLIBC_2.4
- GLIBC_2.4 A
- __clog10l F
- __finitel F
- __fpclassifyl F
- __nldbl_nexttowardf F
- __signbitl F
- acoshl F
- acosl F
- asinhl F
- asinl F
- atan2l F
- atanhl F
- atanl F
- cabsl F
- cacoshl F
- cacosl F
- cargl F
- casinhl F
- casinl F
- catanhl F
- catanl F
- cbrtl F
- ccoshl F
- ccosl F
- ceill F
- cexpl F
- cimagl F
- clog10l F
- clogl F
- conjl F
- copysignl F
- coshl F
- cosl F
- cpowl F
- cprojl F
- creall F
- csinhl F
- csinl F
- csqrtl F
- ctanhl F
- ctanl F
- dreml F
- erfcl F
- erfl F
- exp10l F
- exp2l F
- expl F
- expm1l F
- fabsl F
- fdiml F
- finitel F
- floorl F
- fmal F
- fmaxl F
- fminl F
- fmodl F
- frexpl F
- gammal F
- hypotl F
- ilogbl F
- j0l F
- j1l F
- jnl F
- ldexpl F
- lgammal F
- lgammal_r F
- llrintl F
- llroundl F
- log10l F
- log1pl F
- log2l F
- logbl F
- logl F
- lrintl F
- lroundl F
- modfl F
- nanl F
- nearbyintl F
- nextafterl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10l F
- powl F
- remainderl F
- remquol F
- rintl F
- roundl F
- scalbl F
- scalblnl F
- scalbnl F
- significandl F
- sincosl F
- sinhl F
- sinl F
- sqrtl F
- tanhl F
- tanl F
- tgammal F
- truncl F
- y0l F
- y1l F
- ynl F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libnsl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libnsl.abilist
deleted file mode 100644
index 4241e2d88..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libnsl.abilist
+++ /dev/null
@@ -1,127 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __yp_check F
- xdr_domainname F
- xdr_keydat F
- xdr_mapname F
- xdr_peername F
- xdr_valdat F
- xdr_yp_buf F
- xdr_ypbind_binding F
- xdr_ypbind_resp F
- xdr_ypbind_resptype F
- xdr_ypbind_setdom F
- xdr_ypdelete_args F
- xdr_ypmap_parms F
- xdr_ypmaplist F
- xdr_yppush_status F
- xdr_yppushresp_xfr F
- xdr_ypreq_key F
- xdr_ypreq_nokey F
- xdr_ypreq_xfr F
- xdr_ypresp_all F
- xdr_ypresp_key_val F
- xdr_ypresp_maplist F
- xdr_ypresp_master F
- xdr_ypresp_order F
- xdr_ypresp_val F
- xdr_ypresp_xfr F
- xdr_ypstat F
- xdr_ypupdate_args F
- xdr_ypxfrstat F
- yp_all F
- yp_bind F
- yp_first F
- yp_get_default_domain F
- yp_maplist F
- yp_master F
- yp_match F
- yp_next F
- yp_order F
- yp_unbind F
- yp_update F
- ypbinderr_string F
- yperr_string F
- ypprot_err F
-GLIBC_2.1
- GLIBC_2.1 A
- __free_fdresult F
- __nis_default_access F
- __nis_default_group F
- __nis_default_owner F
- __nis_default_ttl F
- __nis_finddirectory F
- __nis_hash F
- __nisbind_connect F
- __nisbind_create F
- __nisbind_destroy F
- __nisbind_next F
- nis_add F
- nis_add_entry F
- nis_addmember F
- nis_checkpoint F
- nis_clone_directory F
- nis_clone_object F
- nis_clone_result F
- nis_creategroup F
- nis_destroy_object F
- nis_destroygroup F
- nis_dir_cmp F
- nis_domain_of F
- nis_domain_of_r F
- nis_first_entry F
- nis_free_directory F
- nis_free_object F
- nis_free_request F
- nis_freenames F
- nis_freeresult F
- nis_freeservlist F
- nis_freetags F
- nis_getnames F
- nis_getservlist F
- nis_ismember F
- nis_leaf_of F
- nis_leaf_of_r F
- nis_lerror F
- nis_list F
- nis_local_directory F
- nis_local_group F
- nis_local_host F
- nis_local_principal F
- nis_lookup F
- nis_mkdir F
- nis_modify F
- nis_modify_entry F
- nis_name_of F
- nis_name_of_r F
- nis_next_entry F
- nis_perror F
- nis_ping F
- nis_print_directory F
- nis_print_entry F
- nis_print_group F
- nis_print_group_entry F
- nis_print_link F
- nis_print_object F
- nis_print_result F
- nis_print_rights F
- nis_print_table F
- nis_read_obj F
- nis_remove F
- nis_remove_entry F
- nis_removemember F
- nis_rmdir F
- nis_servstate F
- nis_sperrno F
- nis_sperror F
- nis_sperror_r F
- nis_stats F
- nis_verifygroup F
- nis_write_obj F
- readColdStartFile F
- writeColdStartFile F
- xdr_cback_data F
- xdr_obj_p F
-GLIBC_2.2
- GLIBC_2.2 A
- xdr_ypall F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libpthread.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libpthread.abilist
deleted file mode 100644
index c8a2a0471..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libpthread.abilist
+++ /dev/null
@@ -1,277 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_flockfile F
- _IO_ftrylockfile F
- _IO_funlockfile F
- __close F
- __connect F
- __errno_location F
- __fcntl F
- __fork F
- __h_errno_location F
- __lseek F
- __open F
- __pthread_getspecific F
- __pthread_key_create F
- __pthread_mutex_destroy F
- __pthread_mutex_init F
- __pthread_mutex_lock F
- __pthread_mutex_trylock F
- __pthread_mutex_unlock F
- __pthread_mutexattr_destroy F
- __pthread_mutexattr_init F
- __pthread_mutexattr_settype F
- __pthread_once F
- __pthread_setspecific F
- __read F
- __send F
- __sigaction F
- __wait F
- __write F
- _pthread_cleanup_pop F
- _pthread_cleanup_pop_restore F
- _pthread_cleanup_push F
- _pthread_cleanup_push_defer F
- accept F
- close F
- connect F
- fcntl F
- flockfile F
- fork F
- fsync F
- ftrylockfile F
- funlockfile F
- longjmp F
- lseek F
- msync F
- nanosleep F
- open F
- pause F
- pthread_atfork F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cancel F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_create F
- pthread_detach F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_getspecific F
- pthread_join F
- pthread_key_create F
- pthread_key_delete F
- pthread_kill F
- pthread_kill_other_threads_np F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_trylock F
- pthread_mutex_unlock F
- pthread_mutexattr_destroy F
- pthread_mutexattr_getkind_np F
- pthread_mutexattr_init F
- pthread_mutexattr_setkind_np F
- pthread_once F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- pthread_setspecific F
- pthread_sigmask F
- pthread_testcancel F
- raise F
- read F
- recv F
- recvfrom F
- recvmsg F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
- send F
- sendmsg F
- sendto F
- sigaction F
- siglongjmp F
- sigwait F
- system F
- tcdrain F
- vfork F
- wait F
- waitpid F
- write F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- pthread_attr_getguardsize F
- pthread_attr_getstackaddr F
- pthread_attr_getstacksize F
- pthread_attr_init F
- pthread_attr_setguardsize F
- pthread_attr_setstackaddr F
- pthread_attr_setstacksize F
- pthread_create F
- pthread_getconcurrency F
- pthread_mutexattr_gettype F
- pthread_mutexattr_settype F
- pthread_rwlock_destroy F
- pthread_rwlock_init F
- pthread_rwlock_rdlock F
- pthread_rwlock_tryrdlock F
- pthread_rwlock_trywrlock F
- pthread_rwlock_unlock F
- pthread_rwlock_wrlock F
- pthread_rwlockattr_destroy F
- pthread_rwlockattr_getkind_np F
- pthread_rwlockattr_getpshared F
- pthread_rwlockattr_init F
- pthread_rwlockattr_setkind_np F
- pthread_rwlockattr_setpshared F
- pthread_setconcurrency F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- sem_close F
- sem_open F
- sem_unlink F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
-GLIBC_2.11
- GLIBC_2.11 A
- pthread_sigqueue F
-GLIBC_2.12
- GLIBC_2.12 A
- pthread_getname_np F
- pthread_mutex_consistent F
- pthread_mutexattr_getrobust F
- pthread_mutexattr_setrobust F
- pthread_setname_np F
-GLIBC_2.18
- GLIBC_2.18 A
- pthread_getattr_default_np F
- pthread_setattr_default_np F
-GLIBC_2.2
- GLIBC_2.2 A
- __open64 F
- __pread64 F
- __pthread_rwlock_destroy F
- __pthread_rwlock_init F
- __pthread_rwlock_rdlock F
- __pthread_rwlock_tryrdlock F
- __pthread_rwlock_trywrlock F
- __pthread_rwlock_unlock F
- __pthread_rwlock_wrlock F
- __pwrite64 F
- __res_state F
- lseek64 F
- open64 F
- pread F
- pread64 F
- pthread_attr_getstack F
- pthread_attr_setstack F
- pthread_barrier_destroy F
- pthread_barrier_init F
- pthread_barrier_wait F
- pthread_barrierattr_destroy F
- pthread_barrierattr_init F
- pthread_barrierattr_setpshared F
- pthread_condattr_getpshared F
- pthread_condattr_setpshared F
- pthread_getcpuclockid F
- pthread_mutex_timedlock F
- pthread_mutexattr_getpshared F
- pthread_mutexattr_setpshared F
- pthread_rwlock_timedrdlock F
- pthread_rwlock_timedwrlock F
- pthread_spin_destroy F
- pthread_spin_init F
- pthread_spin_lock F
- pthread_spin_trylock F
- pthread_spin_unlock F
- pthread_yield F
- pwrite F
- pwrite64 F
- sem_timedwait F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- pthread_getattr_np F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- __pthread_cleanup_routine F
- __pthread_register_cancel F
- __pthread_register_cancel_defer F
- __pthread_unregister_cancel F
- __pthread_unregister_cancel_restore F
- __pthread_unwind_next F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_barrierattr_getpshared F
- pthread_condattr_getclock F
- pthread_condattr_setclock F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_timedjoin_np F
- pthread_tryjoin_np F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- longjmp F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_setschedprio F
- siglongjmp F
-GLIBC_2.4
- GLIBC_2.4 A
- pthread_mutex_consistent_np F
- pthread_mutex_getprioceiling F
- pthread_mutex_setprioceiling F
- pthread_mutexattr_getprioceiling F
- pthread_mutexattr_getprotocol F
- pthread_mutexattr_getrobust_np F
- pthread_mutexattr_setprioceiling F
- pthread_mutexattr_setprotocol F
- pthread_mutexattr_setrobust_np F
-GLIBC_2.6
- GLIBC_2.6 A
- pthread_attr_setstack F
- pthread_attr_setstacksize F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libresolv.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libresolv.abilist
deleted file mode 100644
index f68333d4a..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libresolv.abilist
+++ /dev/null
@@ -1,104 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __b64_ntop F
- __b64_pton F
- __dn_comp F
- __dn_count_labels F
- __dn_skipname F
- __fp_nquery F
- __fp_query F
- __fp_resstat F
- __hostalias F
- __loc_aton F
- __loc_ntoa F
- __p_cdname F
- __p_cdnname F
- __p_class F
- __p_class_syms D 0x54
- __p_fqname F
- __p_fqnname F
- __p_option F
- __p_query F
- __p_secstodate F
- __p_time F
- __p_type F
- __p_type_syms D 0x228
- __putlong F
- __putshort F
- __res_close F
- __res_dnok F
- __res_hnok F
- __res_isourserver F
- __res_mailok F
- __res_nameinquery F
- __res_ownok F
- __res_queriesmatch F
- __res_send F
- __sym_ntop F
- __sym_ntos F
- __sym_ston F
- _gethtbyaddr F
- _gethtbyname F
- _gethtbyname2 F
- _gethtent F
- _getlong F
- _getshort F
- _res_opcodes D 0x40
- _sethtent F
- dn_expand F
- inet_net_ntop F
- inet_net_pton F
- inet_neta F
- res_gethostbyaddr F
- res_gethostbyname F
- res_gethostbyname2 F
- res_mkquery F
- res_query F
- res_querydomain F
- res_search F
- res_send_setqhook F
- res_send_setrhook F
-GLIBC_2.2
- GLIBC_2.2 A
- __dn_expand F
- __res_hostalias F
- __res_mkquery F
- __res_nmkquery F
- __res_nquery F
- __res_nquerydomain F
- __res_nsearch F
- __res_nsend F
- __res_query F
- __res_querydomain F
- __res_search F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __p_rcode F
-GLIBC_2.9
- GLIBC_2.9 A
- ns_datetosecs F
- ns_format_ttl F
- ns_get16 F
- ns_get32 F
- ns_initparse F
- ns_makecanon F
- ns_msg_getflag F
- ns_name_compress F
- ns_name_ntol F
- ns_name_ntop F
- ns_name_pack F
- ns_name_pton F
- ns_name_rollback F
- ns_name_skip F
- ns_name_uncompress F
- ns_name_unpack F
- ns_parse_ttl F
- ns_parserr F
- ns_put16 F
- ns_put32 F
- ns_samedomain F
- ns_samename F
- ns_skiprr F
- ns_sprintrr F
- ns_sprintrrf F
- ns_subdomain F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/librt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/librt.abilist
deleted file mode 100644
index af7df27cb..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/librt.abilist
+++ /dev/null
@@ -1,52 +0,0 @@
-GLIBC_2.1
- GLIBC_2.1 A
- aio_cancel F
- aio_cancel64 F
- aio_error F
- aio_error64 F
- aio_fsync F
- aio_fsync64 F
- aio_init F
- aio_read F
- aio_read64 F
- aio_return F
- aio_return64 F
- aio_suspend F
- aio_suspend64 F
- aio_write F
- aio_write64 F
- lio_listio F
- lio_listio64 F
-GLIBC_2.2
- GLIBC_2.2 A
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- shm_open F
- shm_unlink F
- timer_create F
- timer_delete F
- timer_getoverrun F
- timer_gettime F
- timer_settime F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- mq_close F
- mq_getattr F
- mq_notify F
- mq_open F
- mq_receive F
- mq_send F
- mq_setattr F
- mq_timedreceive F
- mq_timedsend F
- mq_unlink F
-GLIBC_2.4
- GLIBC_2.4 A
- lio_listio F
- lio_listio64 F
-GLIBC_2.7
- GLIBC_2.7 A
- __mq_open_2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libthread_db.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libthread_db.abilist
deleted file mode 100644
index f33138067..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libthread_db.abilist
+++ /dev/null
@@ -1,48 +0,0 @@
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- td_init F
- td_log F
- td_ta_clear_event F
- td_ta_delete F
- td_ta_enable_stats F
- td_ta_event_addr F
- td_ta_event_getmsg F
- td_ta_get_nthreads F
- td_ta_get_ph F
- td_ta_get_stats F
- td_ta_map_id2thr F
- td_ta_map_lwp2thr F
- td_ta_new F
- td_ta_reset_stats F
- td_ta_set_event F
- td_ta_setconcurrency F
- td_ta_thr_iter F
- td_ta_tsd_iter F
- td_thr_clear_event F
- td_thr_dbresume F
- td_thr_dbsuspend F
- td_thr_event_enable F
- td_thr_event_getmsg F
- td_thr_get_info F
- td_thr_getfpregs F
- td_thr_getgregs F
- td_thr_getxregs F
- td_thr_getxregsize F
- td_thr_set_event F
- td_thr_setfpregs F
- td_thr_setgregs F
- td_thr_setprio F
- td_thr_setsigpending F
- td_thr_setxregs F
- td_thr_sigsetmask F
- td_thr_tsd F
- td_thr_validate F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- td_symbol_list F
-GLIBC_2.3
- GLIBC_2.3 A
- td_thr_tls_get_addr F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- td_thr_tlsbase F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libutil.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libutil.abilist
deleted file mode 100644
index 7422687e3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/libutil.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- forkpty F
- login F
- login_tty F
- logout F
- logwtmp F
- openpty F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data
deleted file mode 100644
index 12cd6f143..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data
+++ /dev/null
@@ -1,13 +0,0 @@
-libc.so: __signbit
-libc.so: __signbitl
-libc.so: abort ?
-libc.so: calloc
-libc.so: free
-libc.so: malloc
-libc.so: memalign
-libc.so: realloc
-libm.so: __signbit
-libm.so: __signbitf
-libm.so: __signbitl
-libm.so: fegetround
-libm.so: matherr
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions
deleted file mode 100644
index 2ea2298f2..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-powerpc.*-.*-.* ABI powerpce500v2-linux-gnu
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/Implies
deleted file mode 100644
index ec387963f..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/Implies
+++ /dev/null
@@ -1 +0,0 @@
-powerpc/powerpc32/e500/soft-fp
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data
deleted file mode 100644
index fde53bf33..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:x
-blkcnt_t:l
-blksize_t:l
-caddr_t:Pc
-clockid_t:i
-clock_t:l
-daddr_t:i
-dev_t:y
-fd_mask:l
-fsblkcnt64_t:y
-fsblkcnt_t:m
-fsfilcnt64_t:y
-fsfilcnt_t:m
-fsid_t:8__fsid_t
-gid_t:j
-id_t:j
-ino64_t:y
-ino_t:m
-int16_t:s
-int32_t:i
-int64_t:x
-int8_t:a
-intptr_t:i
-key_t:i
-loff_t:x
-mode_t:j
-nlink_t:j
-off64_t:x
-off_t:l
-pid_t:i
-pthread_attr_t:14pthread_attr_t
-pthread_barrier_t:17pthread_barrier_t
-pthread_barrierattr_t:21pthread_barrierattr_t
-pthread_cond_t:14pthread_cond_t
-pthread_condattr_t:18pthread_condattr_t
-pthread_key_t:j
-pthread_mutex_t:15pthread_mutex_t
-pthread_mutexattr_t:19pthread_mutexattr_t
-pthread_once_t:i
-pthread_rwlock_t:16pthread_rwlock_t
-pthread_rwlockattr_t:20pthread_rwlockattr_t
-pthread_spinlock_t:i
-pthread_t:m
-quad_t:x
-register_t:i
-rlim64_t:y
-rlim_t:m
-sigset_t:10__sigset_t
-size_t:j
-socklen_t:j
-ssize_t:i
-suseconds_t:l
-time_t:l
-u_char:h
-uid_t:j
-uint:j
-u_int:j
-u_int16_t:t
-u_int32_t:j
-u_int64_t:y
-u_int8_t:h
-ulong:m
-u_long:m
-u_quad_t:y
-useconds_t:j
-ushort:t
-u_short:t
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/ld.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/ld.abilist
deleted file mode 100644
index d71611f02..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/ld.abilist
+++ /dev/null
@@ -1,17 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __libc_memalign F
- _r_debug D 0x14
- calloc F
- free F
- malloc F
- realloc F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_stack_end D 0x4
- _dl_mcount F
-GLIBC_2.3
- GLIBC_2.3 A
- __tls_get_addr F
-GLIBC_2.4
- GLIBC_2.4 A
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libBrokenLocale.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libBrokenLocale.abilist
deleted file mode 100644
index f4ca37f44..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libBrokenLocale.abilist
+++ /dev/null
@@ -1,3 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __ctype_get_mb_cur_max F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libanl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libanl.abilist
deleted file mode 100644
index c9755d8a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libanl.abilist
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- gai_cancel F
- gai_error F
- gai_suspend F
- getaddrinfo_a F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libc.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libc.abilist
deleted file mode 100644
index a9410c836..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libc.abilist
+++ /dev/null
@@ -1,2499 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_adjust_column F
- _IO_default_doallocate F
- _IO_default_finish F
- _IO_default_pbackfail F
- _IO_default_uflow F
- _IO_default_xsgetn F
- _IO_default_xsputn F
- _IO_do_write F
- _IO_doallocbuf F
- _IO_fclose F
- _IO_fdopen F
- _IO_feof F
- _IO_ferror F
- _IO_fflush F
- _IO_fgetpos F
- _IO_fgets F
- _IO_file_attach F
- _IO_file_close F
- _IO_file_close_it F
- _IO_file_doallocate F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_jumps D 0x54
- _IO_file_open F
- _IO_file_overflow F
- _IO_file_read F
- _IO_file_seek F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_stat F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_flockfile F
- _IO_flush_all F
- _IO_flush_all_linebuffered F
- _IO_fopen F
- _IO_fprintf F
- _IO_fputs F
- _IO_fread F
- _IO_free_backup_area F
- _IO_fsetpos F
- _IO_ftell F
- _IO_ftrylockfile F
- _IO_funlockfile F
- _IO_fwrite F
- _IO_getc F
- _IO_getline F
- _IO_gets F
- _IO_init F
- _IO_init_marker F
- _IO_link_in F
- _IO_list_all D 0x4
- _IO_marker_delta F
- _IO_marker_difference F
- _IO_padn F
- _IO_peekc_locked F
- _IO_popen F
- _IO_printf F
- _IO_proc_close F
- _IO_proc_open F
- _IO_putc F
- _IO_puts F
- _IO_remove_marker F
- _IO_seekmark F
- _IO_seekoff F
- _IO_seekpos F
- _IO_setb F
- _IO_setbuffer F
- _IO_setvbuf F
- _IO_sgetn F
- _IO_sprintf F
- _IO_sputbackc F
- _IO_sscanf F
- _IO_stderr_ D 0x50
- _IO_stdin_ D 0x50
- _IO_stdout_ D 0x50
- _IO_str_init_readonly F
- _IO_str_init_static F
- _IO_str_overflow F
- _IO_str_pbackfail F
- _IO_str_seekoff F
- _IO_str_underflow F
- _IO_sungetc F
- _IO_switch_to_get_mode F
- _IO_un_link F
- _IO_ungetc F
- _IO_unsave_markers F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __adjtimex F
- __after_morecore_hook D 0x4
- __argz_count F
- __argz_next F
- __argz_stringify F
- __ashldi3 F
- __ashrdi3 F
- __assert_fail F
- __assert_perror_fail F
- __bsd_getpgrp F
- __bzero F
- __check_rhosts_file D 0x4
- __clone F
- __close F
- __cmpdi2 F
- __cmsg_nxthdr F
- __connect F
- __ctype32_b D 0x4
- __ctype_b D 0x4
- __ctype_get_mb_cur_max F
- __ctype_tolower D 0x4
- __ctype_toupper D 0x4
- __curbrk D 0x4
- __daylight D 0x4
- __dcgettext F
- __default_morecore F
- __dgettext F
- __divdi3 F
- __dup2 F
- __environ D 0x4
- __errno_location F
- __fcntl F
- __ffs F
- __finite F
- __finitef F
- __finitel F
- __fixdfdi F
- __fixsfdi F
- __fixunsdfdi F
- __fixunssfdi F
- __floatdidf F
- __floatdisf F
- __fork F
- __fpu_control D 0x4
- __free_hook D 0x4
- __fxstat F
- __getdelim F
- __getpagesize F
- __getpgid F
- __getpid F
- __gettimeofday F
- __gmtime_r F
- __h_errno_location F
- __isinf F
- __isinff F
- __isinfl F
- __isnan F
- __isnanf F
- __iswctype F
- __ivaliduser F
- __libc_calloc F
- __libc_free F
- __libc_init_first F
- __libc_mallinfo F
- __libc_malloc F
- __libc_mallopt F
- __libc_memalign F
- __libc_pvalloc F
- __libc_realloc F
- __libc_start_main F
- __libc_valloc F
- __lseek F
- __lshrdi3 F
- __lxstat F
- __malloc_hook D 0x4
- __malloc_initialize_hook D 0x4
- __mbrlen F
- __mbrtowc F
- __memalign_hook D 0x4
- __mempcpy F
- __moddi3 F
- __monstartup F
- __morecore D 0x4
- __nss_configure_lookup F
- __nss_database_lookup F
- __nss_group_lookup F
- __nss_hosts_lookup F
- __nss_next F
- __nss_passwd_lookup F
- __open F
- __overflow F
- __pipe F
- __printf_fp F
- __profile_frequency F
- __progname D 0x4
- __progname_full D 0x4
- __rcmd_errstr D 0x4
- __read F
- __realloc_hook D 0x4
- __res_randomid F
- __sbrk F
- __sched_get_priority_max F
- __sched_get_priority_min F
- __sched_getparam F
- __sched_getscheduler F
- __sched_setscheduler F
- __sched_yield F
- __secure_getenv F
- __select F
- __send F
- __setpgid F
- __sigaction F
- __sigaddset F
- __sigdelset F
- __sigismember F
- __sigpause F
- __sigsetjmp F
- __stpcpy F
- __stpncpy F
- __strcasecmp F
- __strdup F
- __strerror_r F
- __strtod_internal F
- __strtof_internal F
- __strtok_r F
- __strtol_internal F
- __strtold_internal F
- __strtoll_internal F
- __strtoq_internal F
- __strtoul_internal F
- __strtoull_internal F
- __strtouq_internal F
- __sysv_signal F
- __timezone D 0x4
- __tzname D 0x8
- __ucmpdi2 F
- __udivdi3 F
- __uflow F
- __umoddi3 F
- __underflow F
- __vfscanf F
- __vsnprintf F
- __vsscanf F
- __wait F
- __waitpid F
- __wcstod_internal F
- __wcstof_internal F
- __wcstol_internal F
- __wcstold_internal F
- __wcstoll_internal F
- __wcstoul_internal F
- __wcstoull_internal F
- __write F
- __xmknod F
- __xpg_basename F
- __xstat F
- _environ D 0x4
- _exit F
- _libc_intl_domainname D 0x5
- _longjmp F
- _mcleanup F
- _mcount F
- _nl_default_dirname D 0x12
- _nl_domain_bindings D 0x4
- _nl_msg_cat_cntr D 0x4
- _null_auth D 0xc
- _obstack D 0x4
- _obstack_allocated_p F
- _obstack_begin F
- _obstack_begin_1 F
- _obstack_free F
- _obstack_memory_used F
- _obstack_newchunk F
- _res D 0x200
- _rpc_dtablesize F
- _seterr_reply F
- _setjmp F
- _sys_errlist D 0x1ec
- _sys_nerr D 0x4
- _sys_siglist D 0x80
- _tolower F
- _toupper F
- a64l F
- abort F
- abs F
- accept F
- access F
- acct F
- addmntent F
- adjtime F
- adjtimex F
- advance F
- alarm F
- alphasort F
- argz_add F
- argz_add_sep F
- argz_append F
- argz_count F
- argz_create F
- argz_create_sep F
- argz_delete F
- argz_extract F
- argz_insert F
- argz_next F
- argz_replace F
- argz_stringify F
- asctime F
- asctime_r F
- asprintf F
- atexit F
- atof F
- atoi F
- atol F
- atoll F
- authnone_create F
- authunix_create F
- authunix_create_default F
- basename F
- bcmp F
- bcopy F
- bdflush F
- bind F
- bindresvport F
- bindtextdomain F
- brk F
- bsd_signal F
- bsearch F
- btowc F
- bzero F
- calloc F
- callrpc F
- canonicalize_file_name F
- catclose F
- catgets F
- catopen F
- cfgetispeed F
- cfgetospeed F
- cfmakeraw F
- cfree F
- cfsetispeed F
- cfsetospeed F
- cfsetspeed F
- chdir F
- chflags F
- chmod F
- chown F
- chroot F
- clearenv F
- clearerr F
- clearerr_unlocked F
- clnt_broadcast F
- clnt_create F
- clnt_pcreateerror F
- clnt_perrno F
- clnt_perror F
- clnt_spcreateerror F
- clnt_sperrno F
- clnt_sperror F
- clntraw_create F
- clnttcp_create F
- clntudp_bufcreate F
- clntudp_create F
- clock F
- clone F
- close F
- closedir F
- closelog F
- confstr F
- connect F
- copysign F
- copysignf F
- creat F
- create_module F
- ctermid F
- ctime F
- ctime_r F
- cuserid F
- daemon F
- daylight D 0x4
- dcgettext F
- delete_module F
- dgettext F
- difftime F
- dirfd F
- dirname F
- div F
- dprintf F
- drand48 F
- drand48_r F
- dup F
- dup2 F
- dysize F
- ecvt F
- ecvt_r F
- endaliasent F
- endfsent F
- endgrent F
- endhostent F
- endmntent F
- endnetent F
- endnetgrent F
- endprotoent F
- endpwent F
- endrpcent F
- endservent F
- endspent F
- endttyent F
- endusershell F
- endutent F
- environ D 0x4
- envz_add F
- envz_entry F
- envz_get F
- envz_merge F
- envz_remove F
- envz_strip F
- erand48 F
- erand48_r F
- err F
- error F
- error_at_line F
- error_message_count D 0x4
- error_one_per_line D 0x4
- error_print_progname D 0x4
- errx F
- ether_aton F
- ether_aton_r F
- ether_hostton F
- ether_line F
- ether_ntoa F
- ether_ntoa_r F
- ether_ntohost F
- euidaccess F
- execl F
- execle F
- execlp F
- execv F
- execve F
- execvp F
- exit F
- fchdir F
- fchflags F
- fchmod F
- fchown F
- fclose F
- fcloseall F
- fcntl F
- fcvt F
- fcvt_r F
- fdatasync F
- fdopen F
- feof F
- feof_unlocked F
- ferror F
- ferror_unlocked F
- fexecve F
- fflush F
- fflush_unlocked F
- ffs F
- fgetc F
- fgetgrent F
- fgetgrent_r F
- fgetpos F
- fgetpwent F
- fgetpwent_r F
- fgets F
- fgetspent F
- fgetspent_r F
- fileno F
- fileno_unlocked F
- finite F
- finitef F
- finitel F
- flock F
- flockfile F
- fnmatch F
- fopen F
- fopencookie F
- fork F
- fpathconf F
- fprintf F
- fputc F
- fputc_unlocked F
- fputs F
- fread F
- free F
- freeaddrinfo F
- freopen F
- frexp F
- frexpf F
- frexpl F
- fscanf F
- fseek F
- fsetpos F
- fstatfs F
- fsync F
- ftell F
- ftime F
- ftok F
- ftruncate F
- ftrylockfile F
- fts_children F
- fts_close F
- fts_open F
- fts_read F
- fts_set F
- ftw F
- funlockfile F
- fwrite F
- gcvt F
- get_avphys_pages F
- get_current_dir_name F
- get_kernel_syms F
- get_myaddress F
- get_nprocs F
- get_nprocs_conf F
- get_phys_pages F
- getaddrinfo F
- getaliasbyname F
- getaliasbyname_r F
- getaliasent F
- getaliasent_r F
- getc F
- getc_unlocked F
- getchar F
- getchar_unlocked F
- getcwd F
- getdelim F
- getdirentries F
- getdomainname F
- getdtablesize F
- getegid F
- getenv F
- geteuid F
- getfsent F
- getfsfile F
- getfsspec F
- getgid F
- getgrent F
- getgrent_r F
- getgrgid F
- getgrgid_r F
- getgrnam F
- getgrnam_r F
- getgroups F
- gethostbyaddr F
- gethostbyaddr_r F
- gethostbyname F
- gethostbyname2 F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent F
- gethostent_r F
- gethostid F
- gethostname F
- getitimer F
- getline F
- getlogin F
- getlogin_r F
- getmntent F
- getmntent_r F
- getnetbyaddr F
- getnetbyaddr_r F
- getnetbyname F
- getnetbyname_r F
- getnetent F
- getnetent_r F
- getnetgrent F
- getnetgrent_r F
- getopt F
- getopt_long F
- getopt_long_only F
- getpagesize F
- getpass F
- getpeername F
- getpgid F
- getpgrp F
- getpid F
- getppid F
- getpriority F
- getprotobyname F
- getprotobyname_r F
- getprotobynumber F
- getprotobynumber_r F
- getprotoent F
- getprotoent_r F
- getpublickey F
- getpw F
- getpwent F
- getpwent_r F
- getpwnam F
- getpwnam_r F
- getpwuid F
- getpwuid_r F
- getresgid F
- getresuid F
- getrlimit F
- getrpcbyname F
- getrpcbyname_r F
- getrpcbynumber F
- getrpcbynumber_r F
- getrpcent F
- getrpcent_r F
- getrpcport F
- getrusage F
- gets F
- getsecretkey F
- getservbyname F
- getservbyname_r F
- getservbyport F
- getservbyport_r F
- getservent F
- getservent_r F
- getsid F
- getsockname F
- getsockopt F
- getspent F
- getspent_r F
- getspnam F
- getspnam_r F
- getsubopt F
- gettext F
- gettimeofday F
- getttyent F
- getttynam F
- getuid F
- getusershell F
- getutent F
- getutent_r F
- getutid F
- getutid_r F
- getutline F
- getutline_r F
- getw F
- getwd F
- glob F
- glob_pattern_p F
- globfree F
- gmtime F
- gmtime_r F
- group_member F
- gsignal F
- gtty F
- h_errlist D 0x14
- h_nerr D 0x4
- hasmntopt F
- hcreate F
- hcreate_r F
- hdestroy F
- hdestroy_r F
- herror F
- hsearch F
- hsearch_r F
- hstrerror F
- htonl F
- htons F
- index F
- inet_addr F
- inet_aton F
- inet_lnaof F
- inet_makeaddr F
- inet_netof F
- inet_network F
- inet_nsap_addr F
- inet_nsap_ntoa F
- inet_ntoa F
- inet_ntop F
- inet_pton F
- init_module F
- initgroups F
- initstate F
- initstate_r F
- innetgr F
- insque F
- ioctl F
- iruserok F
- isalnum F
- isalpha F
- isascii F
- isatty F
- isblank F
- iscntrl F
- isdigit F
- isfdtype F
- isgraph F
- isinf F
- isinff F
- isinfl F
- islower F
- isnan F
- isnanf F
- isprint F
- ispunct F
- isspace F
- isupper F
- iswalnum F
- iswalpha F
- iswcntrl F
- iswctype F
- iswdigit F
- iswgraph F
- iswlower F
- iswprint F
- iswpunct F
- iswspace F
- iswupper F
- iswxdigit F
- isxdigit F
- jrand48 F
- jrand48_r F
- kill F
- killpg F
- klogctl F
- l64a F
- labs F
- lchown F
- lckpwdf F
- lcong48 F
- lcong48_r F
- ldexp F
- ldexpf F
- ldexpl F
- ldiv F
- lfind F
- link F
- listen F
- llabs F
- lldiv F
- llseek F
- loc1 D 0x4
- loc2 D 0x4
- localeconv F
- localtime F
- localtime_r F
- lockf F
- locs D 0x4
- longjmp F
- lrand48 F
- lrand48_r F
- lsearch F
- lseek F
- madvise F
- mallinfo F
- malloc F
- malloc_get_state F
- malloc_set_state F
- malloc_stats F
- malloc_trim F
- malloc_usable_size F
- mallopt F
- mallwatch D 0x4
- mblen F
- mbrlen F
- mbrtowc F
- mbsinit F
- mbsnrtowcs F
- mbsrtowcs F
- mbstowcs F
- mbtowc F
- mcheck F
- memalign F
- memccpy F
- memchr F
- memcmp F
- memcpy F
- memfrob F
- memmem F
- memmove F
- memset F
- mkdir F
- mkfifo F
- mkstemp F
- mktemp F
- mktime F
- mlock F
- mlockall F
- mmap F
- modf F
- modff F
- modfl F
- monstartup F
- mount F
- mprobe F
- mprotect F
- mrand48 F
- mrand48_r F
- mremap F
- msgctl F
- msgget F
- msgrcv F
- msgsnd F
- msync F
- mtrace F
- munlock F
- munlockall F
- munmap F
- muntrace F
- nanosleep F
- nfsservctl F
- nice F
- nl_langinfo F
- nrand48 F
- nrand48_r F
- ntohl F
- ntohs F
- obstack_alloc_failed_handler D 0x4
- obstack_exit_failure D 0x4
- obstack_free F
- obstack_printf F
- obstack_vprintf F
- on_exit F
- open F
- open_memstream F
- opendir F
- openlog F
- optarg D 0x4
- opterr D 0x4
- optind D 0x4
- optopt D 0x4
- parse_printf_format F
- pathconf F
- pause F
- pclose F
- perror F
- personality F
- pipe F
- pmap_getmaps F
- pmap_getport F
- pmap_rmtcall F
- pmap_set F
- pmap_unset F
- poll F
- popen F
- prctl F
- printf F
- profil F
- program_invocation_name D 0x4
- program_invocation_short_name D 0x4
- pselect F
- psignal F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_unlock F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- ptrace F
- putc F
- putc_unlocked F
- putchar F
- putchar_unlocked F
- putenv F
- putpwent F
- puts F
- putspent F
- pututline F
- putw F
- pvalloc F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- qsort F
- query_module F
- quotactl F
- raise F
- rand F
- rand_r F
- random F
- random_r F
- rcmd F
- re_comp F
- re_compile_fastmap F
- re_compile_pattern F
- re_exec F
- re_match F
- re_match_2 F
- re_max_failures D 0x4
- re_search F
- re_search_2 F
- re_set_registers F
- re_set_syntax F
- re_syntax_options D 0x4
- read F
- readdir F
- readdir_r F
- readlink F
- readv F
- realloc F
- realpath F
- reboot F
- recv F
- recvfrom F
- recvmsg F
- regcomp F
- regerror F
- regexec F
- regfree F
- register_printf_function F
- registerrpc F
- remove F
- remque F
- rename F
- res_init F
- revoke F
- rewind F
- rewinddir F
- rexec F
- rexecoptions D 0x4
- rindex F
- rmdir F
- rpc_createerr D 0x10
- rpmatch F
- rresvport F
- ruserok F
- ruserpass F
- sbrk F
- scalbn F
- scalbnf F
- scalbnl F
- scandir F
- scanf F
- sched_get_priority_max F
- sched_get_priority_min F
- sched_getparam F
- sched_getscheduler F
- sched_rr_get_interval F
- sched_setparam F
- sched_setscheduler F
- sched_yield F
- seed48 F
- seed48_r F
- seekdir F
- select F
- semctl F
- semget F
- semop F
- send F
- sendmsg F
- sendto F
- setaliasent F
- setbuf F
- setbuffer F
- setcontext F
- setdomainname F
- setegid F
- setenv F
- seteuid F
- setfsent F
- setfsgid F
- setfsuid F
- setgid F
- setgrent F
- setgroups F
- sethostent F
- sethostid F
- sethostname F
- setitimer F
- setjmp F
- setlinebuf F
- setlocale F
- setlogin F
- setlogmask F
- setmntent F
- setnetent F
- setnetgrent F
- setpgid F
- setpgrp F
- setpriority F
- setprotoent F
- setpwent F
- setregid F
- setresgid F
- setresuid F
- setreuid F
- setrlimit F
- setrpcent F
- setservent F
- setsid F
- setsockopt F
- setspent F
- setstate F
- setstate_r F
- settimeofday F
- setttyent F
- setuid F
- setusershell F
- setutent F
- setvbuf F
- sgetspent F
- sgetspent_r F
- shmat F
- shmctl F
- shmdt F
- shmget F
- shutdown F
- sigaction F
- sigaddset F
- sigaltstack F
- sigandset F
- sigblock F
- sigdelset F
- sigemptyset F
- sigfillset F
- siggetmask F
- siginterrupt F
- sigisemptyset F
- sigismember F
- siglongjmp F
- signal F
- sigorset F
- sigpause F
- sigpending F
- sigprocmask F
- sigreturn F
- sigsetmask F
- sigstack F
- sigsuspend F
- sigvec F
- sigwait F
- sleep F
- snprintf F
- socket F
- socketpair F
- sprintf F
- srand F
- srand48 F
- srand48_r F
- srandom F
- srandom_r F
- sscanf F
- ssignal F
- sstk F
- statfs F
- stderr D 0x4
- stdin D 0x4
- stdout D 0x4
- step F
- stime F
- stpcpy F
- stpncpy F
- strcasecmp F
- strcat F
- strchr F
- strcmp F
- strcoll F
- strcpy F
- strcspn F
- strdup F
- strerror F
- strerror_r F
- strfmon F
- strfry F
- strftime F
- strlen F
- strncasecmp F
- strncat F
- strncmp F
- strncpy F
- strndup F
- strnlen F
- strpbrk F
- strptime F
- strrchr F
- strsep F
- strsignal F
- strspn F
- strstr F
- strtod F
- strtof F
- strtok F
- strtok_r F
- strtol F
- strtold F
- strtoll F
- strtoq F
- strtoul F
- strtoull F
- strtouq F
- strxfrm F
- stty F
- svc_exit F
- svc_fdset D 0x80
- svc_getreq F
- svc_getreqset F
- svc_register F
- svc_run F
- svc_sendreply F
- svc_unregister F
- svcauthdes_stats D 0xc
- svcerr_auth F
- svcerr_decode F
- svcerr_noproc F
- svcerr_noprog F
- svcerr_progvers F
- svcerr_systemerr F
- svcerr_weakauth F
- svcfd_create F
- svcraw_create F
- svctcp_create F
- svcudp_bufcreate F
- svcudp_create F
- svcudp_enablecache F
- swab F
- swapoff F
- swapon F
- symlink F
- sync F
- sys_errlist D 0x1ec
- sys_nerr D 0x4
- sys_sigabbrev D 0x80
- sys_siglist D 0x80
- syscall F
- sysconf F
- sysctl F
- sysinfo F
- syslog F
- system F
- tcdrain F
- tcflow F
- tcflush F
- tcgetattr F
- tcgetpgrp F
- tcsendbreak F
- tcsetattr F
- tcsetpgrp F
- tdelete F
- telldir F
- tempnam F
- textdomain F
- tfind F
- time F
- timegm F
- timelocal F
- times F
- timezone D 0x4
- tmpfile F
- tmpnam F
- tmpnam_r F
- toascii F
- tolower F
- toupper F
- towctrans F
- towlower F
- towupper F
- tr_break F
- truncate F
- tsearch F
- ttyname F
- ttyname_r F
- ttyslot F
- twalk F
- tzname D 0x8
- tzset F
- ualarm F
- ulckpwdf F
- ulimit F
- umask F
- umount F
- uname F
- ungetc F
- unlink F
- unsetenv F
- updwtmp F
- uselib F
- usleep F
- ustat F
- utime F
- utimes F
- utmpname F
- valloc F
- vasprintf F
- vdprintf F
- verr F
- verrx F
- vfork F
- vfprintf F
- vfscanf F
- vhangup F
- vlimit F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vsyslog F
- vtimes F
- vwarn F
- vwarnx F
- wait F
- wait3 F
- wait4 F
- waitpid F
- warn F
- warnx F
- wcpcpy F
- wcpncpy F
- wcrtomb F
- wcscat F
- wcschr F
- wcscmp F
- wcscoll F
- wcscpy F
- wcscspn F
- wcsdup F
- wcslen F
- wcsncat F
- wcsncmp F
- wcsncpy F
- wcsnrtombs F
- wcspbrk F
- wcsrchr F
- wcsrtombs F
- wcsspn F
- wcsstr F
- wcstod F
- wcstof F
- wcstok F
- wcstol F
- wcstold F
- wcstombs F
- wcstoq F
- wcstoul F
- wcstouq F
- wcswidth F
- wcsxfrm F
- wctob F
- wctomb F
- wctrans F
- wctype F
- wcwidth F
- wmemchr F
- wmemcmp F
- wmemcpy F
- wmemmove F
- wmemset F
- write F
- writev F
- xdr_accepted_reply F
- xdr_array F
- xdr_authunix_parms F
- xdr_bool F
- xdr_bytes F
- xdr_callhdr F
- xdr_callmsg F
- xdr_char F
- xdr_cryptkeyarg F
- xdr_cryptkeyarg2 F
- xdr_cryptkeyres F
- xdr_des_block F
- xdr_double F
- xdr_enum F
- xdr_float F
- xdr_free F
- xdr_int F
- xdr_key_netstarg F
- xdr_key_netstres F
- xdr_keybuf F
- xdr_keystatus F
- xdr_long F
- xdr_netobj F
- xdr_opaque F
- xdr_opaque_auth F
- xdr_pmap F
- xdr_pmaplist F
- xdr_pointer F
- xdr_reference F
- xdr_rejected_reply F
- xdr_replymsg F
- xdr_rmtcall_args F
- xdr_rmtcallres F
- xdr_short F
- xdr_string F
- xdr_u_char F
- xdr_u_int F
- xdr_u_long F
- xdr_u_short F
- xdr_union F
- xdr_vector F
- xdr_void F
- xdr_wrapstring F
- xdrmem_create F
- xdrrec_create F
- xdrrec_endofrecord F
- xdrrec_eof F
- xdrrec_skiprecord F
- xdrstdio_create F
- xencrypt F
- xprt_register F
- xprt_unregister F
-GLIBC_2.1
- GLIBC_2.1 A
- _IO_2_1_stderr_ D 0xa0
- _IO_2_1_stdin_ D 0xa0
- _IO_2_1_stdout_ D 0xa0
- _IO_do_write F
- _IO_fclose F
- _IO_fdopen F
- _IO_fgetpos64 F
- _IO_file_attach F
- _IO_file_close_it F
- _IO_file_finish F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_overflow F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_fopen F
- _IO_fsetpos64 F
- _IO_getline_info F
- _IO_popen F
- _IO_proc_close F
- _IO_proc_open F
- __asprintf F
- __backtrace F
- __backtrace_symbols F
- __backtrace_symbols_fd F
- __duplocale F
- __freelocale F
- __fxstat64 F
- __isalnum_l F
- __isalpha_l F
- __isascii_l F
- __isblank_l F
- __iscntrl_l F
- __isdigit_l F
- __isgraph_l F
- __islower_l F
- __isprint_l F
- __ispunct_l F
- __isspace_l F
- __isupper_l F
- __iswalnum_l F
- __iswalpha_l F
- __iswblank_l F
- __iswcntrl_l F
- __iswctype_l F
- __iswdigit_l F
- __iswgraph_l F
- __iswlower_l F
- __iswprint_l F
- __iswpunct_l F
- __iswspace_l F
- __iswupper_l F
- __iswxdigit_l F
- __isxdigit_l F
- __key_decryptsession_pk_LOCAL D 0x4
- __key_encryptsession_pk_LOCAL D 0x4
- __key_gendes_LOCAL D 0x4
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- __libc_freeres F
- __libc_sa_len F
- __lxstat64 F
- __newlocale F
- __poll F
- __pread64 F
- __pwrite64 F
- __rawmemchr F
- __signbit F
- __signbitf F
- __strcasecmp_l F
- __strcasestr F
- __strcoll_l F
- __strfmon_l F
- __strncasecmp_l F
- __strtod_l F
- __strtof_l F
- __strtol_l F
- __strtold_l F
- __strtoll_l F
- __strtoul_l F
- __strtoull_l F
- __strxfrm_l F
- __toascii_l F
- __tolower_l F
- __toupper_l F
- __towctrans F
- __towctrans_l F
- __towlower_l F
- __towupper_l F
- __wcscasecmp_l F
- __wcscoll_l F
- __wcsncasecmp_l F
- __wcstod_l F
- __wcstof_l F
- __wcstol_l F
- __wcstold_l F
- __wcstoll_l F
- __wcstoul_l F
- __wcstoull_l F
- __wcsxfrm_l F
- __wctype_l F
- __xstat64 F
- _authenticate F
- _dl_mcount_wrapper F
- _dl_mcount_wrapper_check F
- _sys_errlist D 0x1f4
- _sys_nerr D 0x4
- _sys_siglist D 0x100
- addseverity F
- alphasort64 F
- argp_err_exit_status D 0x4
- argp_error F
- argp_failure F
- argp_help F
- argp_parse F
- argp_program_bug_address D 0x4
- argp_program_version D 0x4
- argp_program_version_hook D 0x4
- argp_state_help F
- argp_usage F
- authdes_create F
- authdes_getucred F
- authdes_pk_create F
- backtrace F
- backtrace_symbols F
- backtrace_symbols_fd F
- capget F
- capset F
- cbc_crypt F
- chown F
- clntunix_create F
- creat64 F
- des_setparity F
- ecb_crypt F
- endutxent F
- fattach F
- fclose F
- fdetach F
- fdopen F
- ffsl F
- ffsll F
- fgetc_unlocked F
- fgetpos64 F
- fgets_unlocked F
- fmtmsg F
- fopen F
- fopen64 F
- fputs_unlocked F
- fread_unlocked F
- freopen64 F
- fseeko F
- fseeko64 F
- fsetpos64 F
- fstatfs64 F
- fstatvfs F
- fstatvfs64 F
- ftello F
- ftello64 F
- ftruncate64 F
- ftw64 F
- fwrite_unlocked F
- gai_strerror F
- getcontext F
- getdate F
- getdate_err D 0x4
- getdate_r F
- getmsg F
- getnameinfo F
- getnetname F
- getpmsg F
- getpt F
- getrlimit64 F
- getutxent F
- getutxid F
- getutxline F
- glob64 F
- globfree64 F
- gnu_get_libc_release F
- gnu_get_libc_version F
- grantpt F
- host2netname F
- iconv F
- iconv_close F
- iconv_open F
- if_freenameindex F
- if_indextoname F
- if_nameindex F
- if_nametoindex F
- in6addr_any D 0x10
- in6addr_loopback D 0x10
- isastream F
- iswblank F
- key_decryptsession F
- key_decryptsession_pk F
- key_encryptsession F
- key_encryptsession_pk F
- key_gendes F
- key_get_conv F
- key_secretkey_is_set F
- key_setnet F
- key_setsecret F
- lockf64 F
- lseek64 F
- makecontext F
- mempcpy F
- mmap64 F
- netname2host F
- netname2user F
- nftw F
- nftw64 F
- ntp_adjtime F
- ntp_gettime F
- open64 F
- passwd2des F
- pclose F
- popen F
- pread F
- pread64 F
- printf_size F
- printf_size_info F
- pthread_attr_init F
- ptsname F
- ptsname_r F
- putgrent F
- putmsg F
- putpmsg F
- pututxline F
- pwrite F
- pwrite64 F
- rawmemchr F
- readdir64 F
- readdir64_r F
- rtime F
- scandir64 F
- sendfile F
- setrlimit64 F
- setutxent F
- sighold F
- sigignore F
- sigqueue F
- sigrelse F
- sigset F
- sigtimedwait F
- sigwaitinfo F
- statfs64 F
- statvfs F
- statvfs64 F
- strcasestr F
- strtoimax F
- strtoumax F
- strverscmp F
- svcunix_create F
- svcunixfd_create F
- swapcontext F
- sys_errlist D 0x1f4
- sys_nerr D 0x4
- sys_sigabbrev D 0x100
- sys_siglist D 0x100
- sysv_signal F
- tcgetsid F
- tdestroy F
- tmpfile F
- tmpfile64 F
- truncate64 F
- umount2 F
- unlockpt F
- updwtmpx F
- user2netname F
- utmpxname F
- versionsort F
- versionsort64 F
- waitid F
- wcscasecmp F
- wcsncasecmp F
- wcsnlen F
- wcstoimax F
- wcstoll F
- wcstoull F
- wcstoumax F
- wcswcs F
- wordexp F
- wordfree F
- xdecrypt F
- xdr_authdes_cred F
- xdr_authdes_verf F
- xdr_getcredres F
- xdr_int16_t F
- xdr_int32_t F
- xdr_int8_t F
- xdr_netnamestr F
- xdr_sizeof F
- xdr_uint16_t F
- xdr_uint32_t F
- xdr_uint8_t F
- xdr_unixcred F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- _Exit F
- __mempcpy_small F
- __stpcpy_small F
- __strcpy_small F
- __strcspn_c1 F
- __strcspn_c2 F
- __strcspn_c3 F
- __strpbrk_c2 F
- __strpbrk_c3 F
- __strsep_1c F
- __strsep_2c F
- __strsep_3c F
- __strsep_g F
- __strspn_c1 F
- __strspn_c2 F
- __strspn_c3 F
- __strtok_r_1c F
- __strverscmp F
- getutmp F
- getutmpx F
- imaxabs F
- imaxdiv F
- strchrnul F
- xdr_hyper F
- xdr_int64_t F
- xdr_longlong_t F
- xdr_u_hyper F
- xdr_u_longlong_t F
- xdr_uint64_t F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
- getaliasbyname_r F
- getaliasent_r F
- getgrent_r F
- getgrgid_r F
- getgrnam_r F
- gethostbyaddr_r F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent_r F
- getnetbyaddr_r F
- getnetbyname_r F
- getnetent_r F
- getprotobyname_r F
- getprotobynumber_r F
- getprotoent_r F
- getpwent_r F
- getpwnam_r F
- getpwuid_r F
- getrpcbyname_r F
- getrpcbynumber_r F
- getrpcent_r F
- getservbyname_r F
- getservbyport_r F
- getservent_r F
- getspent_r F
- getspnam_r F
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- __cxa_atexit F
- __cxa_finalize F
- __sigsuspend F
-GLIBC_2.10
- GLIBC_2.10 A
- __cxa_at_quick_exit F
- __posix_getopt F
- accept4 F
- endsgent F
- fallocate F
- fgetsgent F
- fgetsgent_r F
- getsgent F
- getsgent_r F
- getsgnam F
- getsgnam_r F
- malloc_info F
- preadv F
- preadv64 F
- psiginfo F
- putsgent F
- pwritev F
- pwritev64 F
- quick_exit F
- register_printf_modifier F
- register_printf_specifier F
- register_printf_type F
- setsgent F
- sgetsgent F
- sgetsgent_r F
-GLIBC_2.11
- GLIBC_2.11 A
- __longjmp_chk F
- execvpe F
- fallocate64 F
- mkostemps F
- mkostemps64 F
- mkstemps F
- mkstemps64 F
-GLIBC_2.12
- GLIBC_2.12 A
- _sys_errlist D 0x21c
- _sys_nerr D 0x4
- ntp_gettimex F
- recvmmsg F
- sys_errlist D 0x21c
- sys_nerr D 0x4
-GLIBC_2.13
- GLIBC_2.13 A
- fanotify_init F
- fanotify_mark F
- prlimit F
- prlimit64 F
-GLIBC_2.14
- GLIBC_2.14 A
- clock_adjtime F
- name_to_handle_at F
- open_by_handle_at F
- sendmmsg F
- setns F
- syncfs F
-GLIBC_2.15
- GLIBC_2.15 A
- __fdelt_chk F
- __fdelt_warn F
- posix_spawn F
- posix_spawnp F
- process_vm_readv F
- process_vm_writev F
- scandirat F
- scandirat64 F
-GLIBC_2.16
- GLIBC_2.16 A
- __getauxval F
- __mcount_internal F
- __poll_chk F
- __ppoll_chk F
- aligned_alloc F
- c16rtomb F
- c32rtomb F
- getauxval F
- mbrtoc16 F
- mbrtoc32 F
- timespec_get F
-GLIBC_2.17
- GLIBC_2.17 A
- __ppc_get_timebase_freq F
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- secure_getenv F
-GLIBC_2.18
- GLIBC_2.18 A
- __cxa_thread_atexit_impl F
-GLIBC_2.2
- GLIBC_2.2 A
- _IO_adjust_wcolumn F
- _IO_fgetpos F
- _IO_fgetpos64 F
- _IO_free_wbackup_area F
- _IO_fsetpos F
- _IO_fsetpos64 F
- _IO_init_wmarker F
- _IO_iter_begin F
- _IO_iter_end F
- _IO_iter_file F
- _IO_iter_next F
- _IO_least_wmarker F
- _IO_list_lock F
- _IO_list_resetlock F
- _IO_list_unlock F
- _IO_seekwmark F
- _IO_sputbackwc F
- _IO_sungetwc F
- _IO_switch_to_main_wget_area F
- _IO_switch_to_wbackup_area F
- _IO_switch_to_wget_mode F
- _IO_unsave_wmarkers F
- _IO_wdefault_doallocate F
- _IO_wdefault_finish F
- _IO_wdefault_pbackfail F
- _IO_wdefault_uflow F
- _IO_wdefault_xsgetn F
- _IO_wdefault_xsputn F
- _IO_wdo_write F
- _IO_wdoallocbuf F
- _IO_wfile_jumps D 0x54
- _IO_wfile_overflow F
- _IO_wfile_seekoff F
- _IO_wfile_sync F
- _IO_wfile_underflow F
- _IO_wfile_xsputn F
- _IO_wmarker_delta F
- _IO_wsetb F
- __assert F
- __ctype32_tolower D 0x4
- __ctype32_toupper D 0x4
- __cyg_profile_func_enter F
- __cyg_profile_func_exit F
- __endmntent F
- __fbufsize F
- __flbf F
- __fpending F
- __fpurge F
- __freadable F
- __freading F
- __fsetlocking F
- __fwritable F
- __fwriting F
- __fxstat64 F
- __getmntent_r F
- __lxstat64 F
- __nl_langinfo_l F
- __open64 F
- __res_init F
- __res_nclose F
- __res_ninit F
- __res_state F
- __setmntent F
- __statfs F
- __strndup F
- __sysconf F
- __sysctl F
- __wctrans_l F
- __woverflow F
- __wuflow F
- __wunderflow F
- __xpg_sigpause F
- __xstat64 F
- _flushlbf F
- _res_hconf D 0x30
- bind_textdomain_codeset F
- dcngettext F
- dngettext F
- fgetpos F
- fgetpos64 F
- fgetwc F
- fgetwc_unlocked F
- fgetws F
- fgetws_unlocked F
- fmemopen F
- fopencookie F
- fputwc F
- fputwc_unlocked F
- fputws F
- fputws_unlocked F
- fsetpos F
- fsetpos64 F
- fwide F
- fwprintf F
- fwscanf F
- getdirentries64 F
- getloadavg F
- getrlimit F
- getrlimit64 F
- getwc F
- getwc_unlocked F
- getwchar F
- getwchar_unlocked F
- glob64 F
- iruserok_af F
- localeconv F
- mcheck_check_all F
- mcheck_pedantic F
- memrchr F
- mincore F
- mkdtemp F
- mkstemp64 F
- moncontrol F
- msgctl F
- ngettext F
- posix_fadvise F
- posix_fadvise64 F
- posix_fallocate F
- posix_fallocate64 F
- posix_madvise F
- posix_memalign F
- posix_spawn F
- posix_spawn_file_actions_addclose F
- posix_spawn_file_actions_adddup2 F
- posix_spawn_file_actions_addopen F
- posix_spawn_file_actions_destroy F
- posix_spawn_file_actions_init F
- posix_spawnattr_destroy F
- posix_spawnattr_getflags F
- posix_spawnattr_getpgroup F
- posix_spawnattr_getschedparam F
- posix_spawnattr_getschedpolicy F
- posix_spawnattr_getsigdefault F
- posix_spawnattr_getsigmask F
- posix_spawnattr_init F
- posix_spawnattr_setflags F
- posix_spawnattr_setpgroup F
- posix_spawnattr_setschedparam F
- posix_spawnattr_setschedpolicy F
- posix_spawnattr_setsigdefault F
- posix_spawnattr_setsigmask F
- posix_spawnp F
- putwc F
- putwc_unlocked F
- putwchar F
- putwchar_unlocked F
- rcmd_af F
- readdir64 F
- readdir64_r F
- rexec_af F
- rresvport_af F
- ruserok_af F
- scandir64 F
- semctl F
- setrlimit F
- shmctl F
- svc_getreq_common F
- svc_getreq_poll F
- svc_max_pollfd D 0x4
- svc_pollfd D 0x4
- swprintf F
- swscanf F
- ungetwc F
- vfwprintf F
- vfwscanf F
- vswprintf F
- vswscanf F
- vwprintf F
- vwscanf F
- wcschrnul F
- wcsftime F
- wmempcpy F
- wprintf F
- wscanf F
-GLIBC_2.2.1
- GLIBC_2.2.1 A
- pivot_root F
- posix_openpt F
-GLIBC_2.2.2
- GLIBC_2.2.2 A
- __nss_hostname_digits_dots F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- __rpc_thread_createerr F
- __rpc_thread_svc_fdset F
- __rpc_thread_svc_max_pollfd F
- __rpc_thread_svc_pollfd F
- fnmatch F
- sprofil F
-GLIBC_2.2.4
- GLIBC_2.2.4 A
- dl_iterate_phdr F
- getgrouplist F
- sockatmark F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
- __ctype_tolower_loc F
- __ctype_toupper_loc F
- __isctype F
- __strftime_l F
- __uselocale F
- __wcsftime_l F
- _sys_errlist D 0x1f8
- _sys_nerr D 0x4
- duplocale F
- fgetxattr F
- flistxattr F
- freeifaddrs F
- freelocale F
- fremovexattr F
- fsetxattr F
- futimes F
- getifaddrs F
- getxattr F
- isalnum_l F
- isalpha_l F
- isblank_l F
- iscntrl_l F
- isctype F
- isdigit_l F
- isgraph_l F
- islower_l F
- isprint_l F
- ispunct_l F
- isspace_l F
- isupper_l F
- iswalnum_l F
- iswalpha_l F
- iswblank_l F
- iswcntrl_l F
- iswctype_l F
- iswdigit_l F
- iswgraph_l F
- iswlower_l F
- iswprint_l F
- iswpunct_l F
- iswspace_l F
- iswupper_l F
- iswxdigit_l F
- isxdigit_l F
- lgetxattr F
- listxattr F
- llistxattr F
- lremovexattr F
- lsetxattr F
- lutimes F
- newlocale F
- nl_langinfo_l F
- readahead F
- realpath F
- removexattr F
- sendfile64 F
- setxattr F
- strcasecmp_l F
- strcoll_l F
- strfmon_l F
- strftime_l F
- strncasecmp_l F
- strtod_l F
- strtof_l F
- strtol_l F
- strtold_l F
- strtoll_l F
- strtoul_l F
- strtoull_l F
- strxfrm_l F
- sys_errlist D 0x1f8
- sys_nerr D 0x4
- tolower_l F
- toupper_l F
- towctrans_l F
- towlower_l F
- towupper_l F
- uselocale F
- wcscasecmp_l F
- wcscoll_l F
- wcsftime_l F
- wcsncasecmp_l F
- wcstod_l F
- wcstof_l F
- wcstol_l F
- wcstold_l F
- wcstoll_l F
- wcstoul_l F
- wcstoull_l F
- wcsxfrm_l F
- wctrans_l F
- wctype_l F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __register_atfork F
- epoll_create F
- epoll_ctl F
- epoll_wait F
- lchmod F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- strptime_l F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- __adddf3 F
- __divdf3 F
- __eqdf2 F
- __extendsfdf2 F
- __feraiseexcept_soft F
- __fixdfsi F
- __fixunsdfsi F
- __floatsidf F
- __gedf2 F
- __ledf2 F
- __muldf3 F
- __negdf2 F
- __sqrtdf2 F
- __subdf3 F
- __truncdfsf2 F
- _sys_siglist D 0x104
- atosfix16 F
- atosfix32 F
- atosfix64 F
- atoufix16 F
- atoufix32 F
- atoufix64 F
- getcontext F
- gnu_dev_major F
- gnu_dev_makedev F
- gnu_dev_minor F
- inet6_option_alloc F
- inet6_option_append F
- inet6_option_find F
- inet6_option_init F
- inet6_option_next F
- inet6_option_space F
- makecontext F
- nftw F
- nftw64 F
- posix_fadvise64 F
- posix_fallocate64 F
- remap_file_pages F
- sched_getaffinity F
- sched_setaffinity F
- semtimedop F
- setcontext F
- strtosfix16 F
- strtosfix32 F
- strtosfix64 F
- strtoufix16 F
- strtoufix32 F
- strtoufix64 F
- swapcontext F
- sys_sigabbrev D 0x104
- sys_siglist D 0x104
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- __chk_fail F
- __fprintf_chk F
- __gets_chk F
- __memcpy_chk F
- __memmove_chk F
- __mempcpy_chk F
- __memset_chk F
- __printf_chk F
- __sigsetjmp F
- __snprintf_chk F
- __sprintf_chk F
- __stpcpy_chk F
- __strcat_chk F
- __strcpy_chk F
- __strncat_chk F
- __strncpy_chk F
- __vfprintf_chk F
- __vprintf_chk F
- __vsnprintf_chk F
- __vsprintf_chk F
- __xpg_strerror_r F
- _longjmp F
- _setjmp F
- getcontext F
- getipv4sourcefilter F
- getsourcefilter F
- longjmp F
- makecontext F
- regexec F
- sched_getaffinity F
- sched_setaffinity F
- setcontext F
- setipv4sourcefilter F
- setjmp F
- setsourcefilter F
- siglongjmp F
- swapcontext F
- xdr_quad_t F
- xdr_u_quad_t F
-GLIBC_2.4
- GLIBC_2.4 A
- _IO_fprintf F
- _IO_printf F
- _IO_sprintf F
- _IO_sscanf F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __asprintf F
- __confstr_chk F
- __fgets_chk F
- __fgets_unlocked_chk F
- __fgetws_chk F
- __fgetws_unlocked_chk F
- __finitel F
- __fprintf_chk F
- __fwprintf_chk F
- __fxstatat F
- __fxstatat64 F
- __getcwd_chk F
- __getdomainname_chk F
- __getgroups_chk F
- __gethostname_chk F
- __getlogin_r_chk F
- __getwd_chk F
- __isinfl F
- __isnanl F
- __mbsnrtowcs_chk F
- __mbsrtowcs_chk F
- __mbstowcs_chk F
- __nldbl__IO_fprintf F
- __nldbl__IO_printf F
- __nldbl__IO_sprintf F
- __nldbl__IO_sscanf F
- __nldbl__IO_vfprintf F
- __nldbl__IO_vfscanf F
- __nldbl__IO_vsprintf F
- __nldbl___asprintf F
- __nldbl___fprintf_chk F
- __nldbl___fwprintf_chk F
- __nldbl___printf_chk F
- __nldbl___printf_fp F
- __nldbl___snprintf_chk F
- __nldbl___sprintf_chk F
- __nldbl___strfmon_l F
- __nldbl___swprintf_chk F
- __nldbl___syslog_chk F
- __nldbl___vfprintf_chk F
- __nldbl___vfscanf F
- __nldbl___vfwprintf_chk F
- __nldbl___vprintf_chk F
- __nldbl___vsnprintf F
- __nldbl___vsnprintf_chk F
- __nldbl___vsprintf_chk F
- __nldbl___vsscanf F
- __nldbl___vstrfmon F
- __nldbl___vstrfmon_l F
- __nldbl___vswprintf_chk F
- __nldbl___vsyslog_chk F
- __nldbl___vwprintf_chk F
- __nldbl___wprintf_chk F
- __nldbl_asprintf F
- __nldbl_dprintf F
- __nldbl_fprintf F
- __nldbl_fscanf F
- __nldbl_fwprintf F
- __nldbl_fwscanf F
- __nldbl_obstack_printf F
- __nldbl_obstack_vprintf F
- __nldbl_printf F
- __nldbl_printf_size F
- __nldbl_scanf F
- __nldbl_snprintf F
- __nldbl_sprintf F
- __nldbl_sscanf F
- __nldbl_strfmon F
- __nldbl_strfmon_l F
- __nldbl_swprintf F
- __nldbl_swscanf F
- __nldbl_syslog F
- __nldbl_vasprintf F
- __nldbl_vdprintf F
- __nldbl_vfprintf F
- __nldbl_vfscanf F
- __nldbl_vfwprintf F
- __nldbl_vfwscanf F
- __nldbl_vprintf F
- __nldbl_vscanf F
- __nldbl_vsnprintf F
- __nldbl_vsprintf F
- __nldbl_vsscanf F
- __nldbl_vswprintf F
- __nldbl_vswscanf F
- __nldbl_vsyslog F
- __nldbl_vwprintf F
- __nldbl_vwscanf F
- __nldbl_wprintf F
- __nldbl_wscanf F
- __pread64_chk F
- __pread_chk F
- __printf_chk F
- __printf_fp F
- __ptsname_r_chk F
- __read_chk F
- __readlink_chk F
- __realpath_chk F
- __recv_chk F
- __recvfrom_chk F
- __signbitl F
- __snprintf_chk F
- __sprintf_chk F
- __stack_chk_fail F
- __stpncpy_chk F
- __strfmon_l F
- __strtold_internal F
- __strtold_l F
- __swprintf_chk F
- __syslog_chk F
- __ttyname_r_chk F
- __vfprintf_chk F
- __vfscanf F
- __vfwprintf_chk F
- __vprintf_chk F
- __vsnprintf F
- __vsnprintf_chk F
- __vsprintf_chk F
- __vsscanf F
- __vswprintf_chk F
- __vsyslog_chk F
- __vwprintf_chk F
- __wcpcpy_chk F
- __wcpncpy_chk F
- __wcrtomb_chk F
- __wcscat_chk F
- __wcscpy_chk F
- __wcsncat_chk F
- __wcsncpy_chk F
- __wcsnrtombs_chk F
- __wcsrtombs_chk F
- __wcstold_internal F
- __wcstold_l F
- __wcstombs_chk F
- __wctomb_chk F
- __wmemcpy_chk F
- __wmemmove_chk F
- __wmempcpy_chk F
- __wmemset_chk F
- __wprintf_chk F
- __xmknodat F
- _sys_errlist D 0x210
- _sys_nerr D 0x4
- asprintf F
- copysignl F
- dprintf F
- eaccess F
- faccessat F
- fchmodat F
- fchownat F
- fdopendir F
- finitel F
- fprintf F
- frexpl F
- fscanf F
- futimesat F
- fwprintf F
- fwscanf F
- inotify_add_watch F
- inotify_init F
- inotify_rm_watch F
- isinfl F
- isnanl F
- ldexpl F
- linkat F
- mkdirat F
- mkfifoat F
- modfl F
- obstack_printf F
- obstack_vprintf F
- open_wmemstream F
- openat F
- openat64 F
- ppoll F
- printf F
- printf_size F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- readlinkat F
- renameat F
- scalbnl F
- scanf F
- snprintf F
- sprintf F
- sscanf F
- strfmon F
- strfmon_l F
- strtold F
- strtold_l F
- swprintf F
- swscanf F
- symlinkat F
- sys_errlist D 0x210
- sys_nerr D 0x4
- syslog F
- unlinkat F
- unshare F
- vasprintf F
- vdprintf F
- vfprintf F
- vfscanf F
- vfwprintf F
- vfwscanf F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vswprintf F
- vswscanf F
- vsyslog F
- vwprintf F
- vwscanf F
- wcstold F
- wcstold_l F
- wprintf F
- wscanf F
-GLIBC_2.5
- GLIBC_2.5 A
- __floatundidf F
- __floatunsidf F
- __gtdf2 F
- __ltdf2 F
- __nedf2 F
- __readlinkat_chk F
- __unorddf2 F
- inet6_opt_append F
- inet6_opt_find F
- inet6_opt_finish F
- inet6_opt_get_val F
- inet6_opt_init F
- inet6_opt_next F
- inet6_opt_set_val F
- inet6_rth_add F
- inet6_rth_getaddr F
- inet6_rth_init F
- inet6_rth_reverse F
- inet6_rth_segments F
- inet6_rth_space F
- splice F
- tee F
- vmsplice F
-GLIBC_2.6
- GLIBC_2.6 A
- __sched_cpucount F
- epoll_pwait F
- futimens F
- sched_getcpu F
- strerror_l F
- sync_file_range F
- utimensat F
-GLIBC_2.7
- GLIBC_2.7 A
- __fread_chk F
- __fread_unlocked_chk F
- __isoc99_fscanf F
- __isoc99_fwscanf F
- __isoc99_scanf F
- __isoc99_sscanf F
- __isoc99_swscanf F
- __isoc99_vfscanf F
- __isoc99_vfwscanf F
- __isoc99_vscanf F
- __isoc99_vsscanf F
- __isoc99_vswscanf F
- __isoc99_vwscanf F
- __isoc99_wscanf F
- __nldbl___isoc99_fscanf F
- __nldbl___isoc99_fwscanf F
- __nldbl___isoc99_scanf F
- __nldbl___isoc99_sscanf F
- __nldbl___isoc99_swscanf F
- __nldbl___isoc99_vfscanf F
- __nldbl___isoc99_vfwscanf F
- __nldbl___isoc99_vscanf F
- __nldbl___isoc99_vsscanf F
- __nldbl___isoc99_vswscanf F
- __nldbl___isoc99_vwscanf F
- __nldbl___isoc99_wscanf F
- __open64_2 F
- __open_2 F
- __openat64_2 F
- __openat_2 F
- __sched_cpualloc F
- __sched_cpufree F
- eventfd F
- eventfd_read F
- eventfd_write F
- mkostemp F
- mkostemp64 F
- signalfd F
-GLIBC_2.8
- GLIBC_2.8 A
- __asprintf_chk F
- __dprintf_chk F
- __nldbl___asprintf_chk F
- __nldbl___dprintf_chk F
- __nldbl___obstack_printf_chk F
- __nldbl___obstack_vprintf_chk F
- __nldbl___vasprintf_chk F
- __nldbl___vdprintf_chk F
- __obstack_printf_chk F
- __obstack_vprintf_chk F
- __vasprintf_chk F
- __vdprintf_chk F
- qsort_r F
- timerfd_create F
- timerfd_gettime F
- timerfd_settime F
-GLIBC_2.9
- GLIBC_2.9 A
- dup3 F
- epoll_create1 F
- inotify_init1 F
- pipe2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libcrypt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libcrypt.abilist
deleted file mode 100644
index 1df145f26..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libcrypt.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- crypt F
- crypt_r F
- encrypt F
- encrypt_r F
- fcrypt F
- setkey F
- setkey_r F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libdl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libdl.abilist
deleted file mode 100644
index 62e6b41ed..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libdl.abilist
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- dladdr F
- dlclose F
- dlerror F
- dlopen F
- dlsym F
-GLIBC_2.1
- GLIBC_2.1 A
- dlopen F
- dlvsym F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- dladdr1 F
- dlinfo F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- dlmopen F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libm.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libm.abilist
deleted file mode 100644
index b4a3f66a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libm.abilist
+++ /dev/null
@@ -1,503 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _LIB_VERSION D 0x4
- acos F
- acosf F
- acosh F
- acoshf F
- acoshl F
- acosl F
- asin F
- asinf F
- asinh F
- asinhf F
- asinhl F
- asinl F
- atan F
- atan2 F
- atan2f F
- atan2l F
- atanf F
- atanh F
- atanhf F
- atanhl F
- atanl F
- cbrt F
- cbrtf F
- cbrtl F
- ceil F
- ceilf F
- copysign F
- copysignf F
- cos F
- cosf F
- cosh F
- coshf F
- coshl F
- cosl F
- drem F
- dremf F
- dreml F
- erf F
- erfc F
- erfcf F
- erfcl F
- erff F
- erfl F
- exp F
- expf F
- expl F
- expm1 F
- expm1f F
- expm1l F
- fabs F
- fabsf F
- finite F
- finitef F
- finitel F
- floor F
- floorf F
- fmod F
- fmodf F
- fmodl F
- frexp F
- frexpf F
- frexpl F
- gamma F
- gammaf F
- gammal F
- hypot F
- hypotf F
- hypotl F
- ilogb F
- ilogbf F
- ilogbl F
- j0 F
- j0f F
- j0l F
- j1 F
- j1f F
- j1l F
- jn F
- jnf F
- jnl F
- ldexp F
- ldexpf F
- ldexpl F
- lgamma F
- lgamma_r F
- lgammaf F
- lgammaf_r F
- lgammal F
- lgammal_r F
- log F
- log10 F
- log10f F
- log10l F
- log1p F
- log1pf F
- log1pl F
- logb F
- logbf F
- logbl F
- logf F
- logl F
- matherr F
- modf F
- modff F
- modfl F
- nextafter F
- nextafterf F
- nextafterl F
- pow F
- powf F
- powl F
- remainder F
- remainderf F
- remainderl F
- rint F
- rintf F
- scalb F
- scalbf F
- scalbl F
- scalbn F
- scalbnf F
- scalbnl F
- signgam D 0x4
- significand F
- significandf F
- significandl F
- sin F
- sinf F
- sinh F
- sinhf F
- sinhl F
- sinl F
- sqrt F
- sqrtf F
- tan F
- tanf F
- tanh F
- tanhf F
- tanhl F
- tanl F
- y0 F
- y0f F
- y0l F
- y1 F
- y1f F
- y1l F
- yn F
- ynf F
- ynl F
-GLIBC_2.1
- GLIBC_2.1 A
- __clog10 F
- __clog10f F
- __clog10l F
- __fe_dfl_env D 0x8
- __fe_enabled_env D 0x8
- __fe_nomask_env F
- __finite F
- __finitef F
- __finitel F
- __fpclassify F
- __fpclassifyf F
- __signbit F
- __signbitf F
- cabs F
- cabsf F
- cabsl F
- cacos F
- cacosf F
- cacosh F
- cacoshf F
- cacoshl F
- cacosl F
- carg F
- cargf F
- cargl F
- casin F
- casinf F
- casinh F
- casinhf F
- casinhl F
- casinl F
- catan F
- catanf F
- catanh F
- catanhf F
- catanhl F
- catanl F
- ccos F
- ccosf F
- ccosh F
- ccoshf F
- ccoshl F
- ccosl F
- cexp F
- cexpf F
- cexpl F
- cimag F
- cimagf F
- cimagl F
- clog F
- clog10 F
- clog10f F
- clog10l F
- clogf F
- clogl F
- conj F
- conjf F
- conjl F
- cpow F
- cpowf F
- cpowl F
- cproj F
- cprojf F
- cprojl F
- creal F
- crealf F
- creall F
- csin F
- csinf F
- csinh F
- csinhf F
- csinhl F
- csinl F
- csqrt F
- csqrtf F
- csqrtl F
- ctan F
- ctanf F
- ctanh F
- ctanhf F
- ctanhl F
- ctanl F
- exp10 F
- exp10f F
- exp10l F
- exp2 F
- exp2f F
- fdim F
- fdimf F
- feclearexcept F
- fegetenv F
- fegetexceptflag F
- fegetround F
- feholdexcept F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- fesetround F
- fetestexcept F
- feupdateenv F
- fma F
- fmaf F
- fmal F
- fmax F
- fmaxf F
- fmin F
- fminf F
- llrint F
- llrintf F
- llround F
- llroundf F
- log2 F
- log2f F
- log2l F
- lrint F
- lrintf F
- lround F
- lroundf F
- nan F
- nanf F
- nanl F
- nearbyint F
- nearbyintf F
- nearbyintl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10 F
- pow10f F
- pow10l F
- remquo F
- remquof F
- remquol F
- round F
- roundf F
- scalbln F
- scalblnf F
- scalblnl F
- sincos F
- sincosf F
- sincosl F
- tgamma F
- tgammaf F
- tgammal F
- trunc F
- truncf F
-GLIBC_2.15
- GLIBC_2.15 A
- __acos_finite F
- __acosf_finite F
- __acosh_finite F
- __acoshf_finite F
- __acoshl_finite F
- __acosl_finite F
- __asin_finite F
- __asinf_finite F
- __asinl_finite F
- __atan2_finite F
- __atan2f_finite F
- __atan2l_finite F
- __atanh_finite F
- __atanhf_finite F
- __atanhl_finite F
- __cosh_finite F
- __coshf_finite F
- __coshl_finite F
- __exp10_finite F
- __exp10f_finite F
- __exp10l_finite F
- __exp2_finite F
- __exp2f_finite F
- __exp2l_finite F
- __exp_finite F
- __expf_finite F
- __expl_finite F
- __fmod_finite F
- __fmodf_finite F
- __fmodl_finite F
- __gamma_r_finite F
- __gammaf_r_finite F
- __gammal_r_finite F
- __hypot_finite F
- __hypotf_finite F
- __hypotl_finite F
- __j0_finite F
- __j0f_finite F
- __j0l_finite F
- __j1_finite F
- __j1f_finite F
- __j1l_finite F
- __jn_finite F
- __jnf_finite F
- __jnl_finite F
- __lgamma_r_finite F
- __lgammaf_r_finite F
- __lgammal_r_finite F
- __log10_finite F
- __log10f_finite F
- __log10l_finite F
- __log2_finite F
- __log2f_finite F
- __log2l_finite F
- __log_finite F
- __logf_finite F
- __logl_finite F
- __pow_finite F
- __powf_finite F
- __powl_finite F
- __remainder_finite F
- __remainderf_finite F
- __remainderl_finite F
- __scalb_finite F
- __scalbf_finite F
- __scalbl_finite F
- __sinh_finite F
- __sinhf_finite F
- __sinhl_finite F
- __sqrt_finite F
- __sqrtf_finite F
- __sqrtl_finite F
- __y0_finite F
- __y0f_finite F
- __y0l_finite F
- __y1_finite F
- __y1f_finite F
- __y1l_finite F
- __yn_finite F
- __ynf_finite F
- __ynl_finite F
-GLIBC_2.18
- GLIBC_2.18 A
- __issignaling F
- __issignalingf F
- __issignalingl F
-GLIBC_2.2
- GLIBC_2.2 A
- feclearexcept F
- fedisableexcept F
- feenableexcept F
- fegetenv F
- fegetexcept F
- fegetexceptflag F
- fesetenv F
- fesetexceptflag F
- feupdateenv F
-GLIBC_2.4
- GLIBC_2.4 A
- __clog10l F
- __finitel F
- __fpclassifyl F
- __nldbl_nexttowardf F
- __signbitl F
- acoshl F
- acosl F
- asinhl F
- asinl F
- atan2l F
- atanhl F
- atanl F
- cabsl F
- cacoshl F
- cacosl F
- cargl F
- casinhl F
- casinl F
- catanhl F
- catanl F
- cbrtl F
- ccoshl F
- ccosl F
- ceill F
- cexpl F
- cimagl F
- clog10l F
- clogl F
- conjl F
- copysignl F
- coshl F
- cosl F
- cpowl F
- cprojl F
- creall F
- csinhl F
- csinl F
- csqrtl F
- ctanhl F
- ctanl F
- dreml F
- erfcl F
- erfl F
- exp10l F
- exp2l F
- expl F
- expm1l F
- fabsl F
- fdiml F
- finitel F
- floorl F
- fmal F
- fmaxl F
- fminl F
- fmodl F
- frexpl F
- gammal F
- hypotl F
- ilogbl F
- j0l F
- j1l F
- jnl F
- ldexpl F
- lgammal F
- lgammal_r F
- llrintl F
- llroundl F
- log10l F
- log1pl F
- log2l F
- logbl F
- logl F
- lrintl F
- lroundl F
- modfl F
- nanl F
- nearbyintl F
- nextafterl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10l F
- powl F
- remainderl F
- remquol F
- rintl F
- roundl F
- scalbl F
- scalblnl F
- scalbnl F
- significandl F
- sincosl F
- sinhl F
- sinl F
- sqrtl F
- tanhl F
- tanl F
- tgammal F
- truncl F
- y0l F
- y1l F
- ynl F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libnsl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libnsl.abilist
deleted file mode 100644
index 4241e2d88..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libnsl.abilist
+++ /dev/null
@@ -1,127 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __yp_check F
- xdr_domainname F
- xdr_keydat F
- xdr_mapname F
- xdr_peername F
- xdr_valdat F
- xdr_yp_buf F
- xdr_ypbind_binding F
- xdr_ypbind_resp F
- xdr_ypbind_resptype F
- xdr_ypbind_setdom F
- xdr_ypdelete_args F
- xdr_ypmap_parms F
- xdr_ypmaplist F
- xdr_yppush_status F
- xdr_yppushresp_xfr F
- xdr_ypreq_key F
- xdr_ypreq_nokey F
- xdr_ypreq_xfr F
- xdr_ypresp_all F
- xdr_ypresp_key_val F
- xdr_ypresp_maplist F
- xdr_ypresp_master F
- xdr_ypresp_order F
- xdr_ypresp_val F
- xdr_ypresp_xfr F
- xdr_ypstat F
- xdr_ypupdate_args F
- xdr_ypxfrstat F
- yp_all F
- yp_bind F
- yp_first F
- yp_get_default_domain F
- yp_maplist F
- yp_master F
- yp_match F
- yp_next F
- yp_order F
- yp_unbind F
- yp_update F
- ypbinderr_string F
- yperr_string F
- ypprot_err F
-GLIBC_2.1
- GLIBC_2.1 A
- __free_fdresult F
- __nis_default_access F
- __nis_default_group F
- __nis_default_owner F
- __nis_default_ttl F
- __nis_finddirectory F
- __nis_hash F
- __nisbind_connect F
- __nisbind_create F
- __nisbind_destroy F
- __nisbind_next F
- nis_add F
- nis_add_entry F
- nis_addmember F
- nis_checkpoint F
- nis_clone_directory F
- nis_clone_object F
- nis_clone_result F
- nis_creategroup F
- nis_destroy_object F
- nis_destroygroup F
- nis_dir_cmp F
- nis_domain_of F
- nis_domain_of_r F
- nis_first_entry F
- nis_free_directory F
- nis_free_object F
- nis_free_request F
- nis_freenames F
- nis_freeresult F
- nis_freeservlist F
- nis_freetags F
- nis_getnames F
- nis_getservlist F
- nis_ismember F
- nis_leaf_of F
- nis_leaf_of_r F
- nis_lerror F
- nis_list F
- nis_local_directory F
- nis_local_group F
- nis_local_host F
- nis_local_principal F
- nis_lookup F
- nis_mkdir F
- nis_modify F
- nis_modify_entry F
- nis_name_of F
- nis_name_of_r F
- nis_next_entry F
- nis_perror F
- nis_ping F
- nis_print_directory F
- nis_print_entry F
- nis_print_group F
- nis_print_group_entry F
- nis_print_link F
- nis_print_object F
- nis_print_result F
- nis_print_rights F
- nis_print_table F
- nis_read_obj F
- nis_remove F
- nis_remove_entry F
- nis_removemember F
- nis_rmdir F
- nis_servstate F
- nis_sperrno F
- nis_sperror F
- nis_sperror_r F
- nis_stats F
- nis_verifygroup F
- nis_write_obj F
- readColdStartFile F
- writeColdStartFile F
- xdr_cback_data F
- xdr_obj_p F
-GLIBC_2.2
- GLIBC_2.2 A
- xdr_ypall F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libpthread.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libpthread.abilist
deleted file mode 100644
index c8a2a0471..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libpthread.abilist
+++ /dev/null
@@ -1,277 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_flockfile F
- _IO_ftrylockfile F
- _IO_funlockfile F
- __close F
- __connect F
- __errno_location F
- __fcntl F
- __fork F
- __h_errno_location F
- __lseek F
- __open F
- __pthread_getspecific F
- __pthread_key_create F
- __pthread_mutex_destroy F
- __pthread_mutex_init F
- __pthread_mutex_lock F
- __pthread_mutex_trylock F
- __pthread_mutex_unlock F
- __pthread_mutexattr_destroy F
- __pthread_mutexattr_init F
- __pthread_mutexattr_settype F
- __pthread_once F
- __pthread_setspecific F
- __read F
- __send F
- __sigaction F
- __wait F
- __write F
- _pthread_cleanup_pop F
- _pthread_cleanup_pop_restore F
- _pthread_cleanup_push F
- _pthread_cleanup_push_defer F
- accept F
- close F
- connect F
- fcntl F
- flockfile F
- fork F
- fsync F
- ftrylockfile F
- funlockfile F
- longjmp F
- lseek F
- msync F
- nanosleep F
- open F
- pause F
- pthread_atfork F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cancel F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_create F
- pthread_detach F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_getspecific F
- pthread_join F
- pthread_key_create F
- pthread_key_delete F
- pthread_kill F
- pthread_kill_other_threads_np F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_trylock F
- pthread_mutex_unlock F
- pthread_mutexattr_destroy F
- pthread_mutexattr_getkind_np F
- pthread_mutexattr_init F
- pthread_mutexattr_setkind_np F
- pthread_once F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- pthread_setspecific F
- pthread_sigmask F
- pthread_testcancel F
- raise F
- read F
- recv F
- recvfrom F
- recvmsg F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
- send F
- sendmsg F
- sendto F
- sigaction F
- siglongjmp F
- sigwait F
- system F
- tcdrain F
- vfork F
- wait F
- waitpid F
- write F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- pthread_attr_getguardsize F
- pthread_attr_getstackaddr F
- pthread_attr_getstacksize F
- pthread_attr_init F
- pthread_attr_setguardsize F
- pthread_attr_setstackaddr F
- pthread_attr_setstacksize F
- pthread_create F
- pthread_getconcurrency F
- pthread_mutexattr_gettype F
- pthread_mutexattr_settype F
- pthread_rwlock_destroy F
- pthread_rwlock_init F
- pthread_rwlock_rdlock F
- pthread_rwlock_tryrdlock F
- pthread_rwlock_trywrlock F
- pthread_rwlock_unlock F
- pthread_rwlock_wrlock F
- pthread_rwlockattr_destroy F
- pthread_rwlockattr_getkind_np F
- pthread_rwlockattr_getpshared F
- pthread_rwlockattr_init F
- pthread_rwlockattr_setkind_np F
- pthread_rwlockattr_setpshared F
- pthread_setconcurrency F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- sem_close F
- sem_open F
- sem_unlink F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
-GLIBC_2.11
- GLIBC_2.11 A
- pthread_sigqueue F
-GLIBC_2.12
- GLIBC_2.12 A
- pthread_getname_np F
- pthread_mutex_consistent F
- pthread_mutexattr_getrobust F
- pthread_mutexattr_setrobust F
- pthread_setname_np F
-GLIBC_2.18
- GLIBC_2.18 A
- pthread_getattr_default_np F
- pthread_setattr_default_np F
-GLIBC_2.2
- GLIBC_2.2 A
- __open64 F
- __pread64 F
- __pthread_rwlock_destroy F
- __pthread_rwlock_init F
- __pthread_rwlock_rdlock F
- __pthread_rwlock_tryrdlock F
- __pthread_rwlock_trywrlock F
- __pthread_rwlock_unlock F
- __pthread_rwlock_wrlock F
- __pwrite64 F
- __res_state F
- lseek64 F
- open64 F
- pread F
- pread64 F
- pthread_attr_getstack F
- pthread_attr_setstack F
- pthread_barrier_destroy F
- pthread_barrier_init F
- pthread_barrier_wait F
- pthread_barrierattr_destroy F
- pthread_barrierattr_init F
- pthread_barrierattr_setpshared F
- pthread_condattr_getpshared F
- pthread_condattr_setpshared F
- pthread_getcpuclockid F
- pthread_mutex_timedlock F
- pthread_mutexattr_getpshared F
- pthread_mutexattr_setpshared F
- pthread_rwlock_timedrdlock F
- pthread_rwlock_timedwrlock F
- pthread_spin_destroy F
- pthread_spin_init F
- pthread_spin_lock F
- pthread_spin_trylock F
- pthread_spin_unlock F
- pthread_yield F
- pwrite F
- pwrite64 F
- sem_timedwait F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- pthread_getattr_np F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- __pthread_cleanup_routine F
- __pthread_register_cancel F
- __pthread_register_cancel_defer F
- __pthread_unregister_cancel F
- __pthread_unregister_cancel_restore F
- __pthread_unwind_next F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_barrierattr_getpshared F
- pthread_condattr_getclock F
- pthread_condattr_setclock F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_timedjoin_np F
- pthread_tryjoin_np F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- longjmp F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_setschedprio F
- siglongjmp F
-GLIBC_2.4
- GLIBC_2.4 A
- pthread_mutex_consistent_np F
- pthread_mutex_getprioceiling F
- pthread_mutex_setprioceiling F
- pthread_mutexattr_getprioceiling F
- pthread_mutexattr_getprotocol F
- pthread_mutexattr_getrobust_np F
- pthread_mutexattr_setprioceiling F
- pthread_mutexattr_setprotocol F
- pthread_mutexattr_setrobust_np F
-GLIBC_2.6
- GLIBC_2.6 A
- pthread_attr_setstack F
- pthread_attr_setstacksize F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libresolv.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libresolv.abilist
deleted file mode 100644
index f68333d4a..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libresolv.abilist
+++ /dev/null
@@ -1,104 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __b64_ntop F
- __b64_pton F
- __dn_comp F
- __dn_count_labels F
- __dn_skipname F
- __fp_nquery F
- __fp_query F
- __fp_resstat F
- __hostalias F
- __loc_aton F
- __loc_ntoa F
- __p_cdname F
- __p_cdnname F
- __p_class F
- __p_class_syms D 0x54
- __p_fqname F
- __p_fqnname F
- __p_option F
- __p_query F
- __p_secstodate F
- __p_time F
- __p_type F
- __p_type_syms D 0x228
- __putlong F
- __putshort F
- __res_close F
- __res_dnok F
- __res_hnok F
- __res_isourserver F
- __res_mailok F
- __res_nameinquery F
- __res_ownok F
- __res_queriesmatch F
- __res_send F
- __sym_ntop F
- __sym_ntos F
- __sym_ston F
- _gethtbyaddr F
- _gethtbyname F
- _gethtbyname2 F
- _gethtent F
- _getlong F
- _getshort F
- _res_opcodes D 0x40
- _sethtent F
- dn_expand F
- inet_net_ntop F
- inet_net_pton F
- inet_neta F
- res_gethostbyaddr F
- res_gethostbyname F
- res_gethostbyname2 F
- res_mkquery F
- res_query F
- res_querydomain F
- res_search F
- res_send_setqhook F
- res_send_setrhook F
-GLIBC_2.2
- GLIBC_2.2 A
- __dn_expand F
- __res_hostalias F
- __res_mkquery F
- __res_nmkquery F
- __res_nquery F
- __res_nquerydomain F
- __res_nsearch F
- __res_nsend F
- __res_query F
- __res_querydomain F
- __res_search F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __p_rcode F
-GLIBC_2.9
- GLIBC_2.9 A
- ns_datetosecs F
- ns_format_ttl F
- ns_get16 F
- ns_get32 F
- ns_initparse F
- ns_makecanon F
- ns_msg_getflag F
- ns_name_compress F
- ns_name_ntol F
- ns_name_ntop F
- ns_name_pack F
- ns_name_pton F
- ns_name_rollback F
- ns_name_skip F
- ns_name_uncompress F
- ns_name_unpack F
- ns_parse_ttl F
- ns_parserr F
- ns_put16 F
- ns_put32 F
- ns_samedomain F
- ns_samename F
- ns_skiprr F
- ns_sprintrr F
- ns_sprintrrf F
- ns_subdomain F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/librt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/librt.abilist
deleted file mode 100644
index af7df27cb..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/librt.abilist
+++ /dev/null
@@ -1,52 +0,0 @@
-GLIBC_2.1
- GLIBC_2.1 A
- aio_cancel F
- aio_cancel64 F
- aio_error F
- aio_error64 F
- aio_fsync F
- aio_fsync64 F
- aio_init F
- aio_read F
- aio_read64 F
- aio_return F
- aio_return64 F
- aio_suspend F
- aio_suspend64 F
- aio_write F
- aio_write64 F
- lio_listio F
- lio_listio64 F
-GLIBC_2.2
- GLIBC_2.2 A
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- shm_open F
- shm_unlink F
- timer_create F
- timer_delete F
- timer_getoverrun F
- timer_gettime F
- timer_settime F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- mq_close F
- mq_getattr F
- mq_notify F
- mq_open F
- mq_receive F
- mq_send F
- mq_setattr F
- mq_timedreceive F
- mq_timedsend F
- mq_unlink F
-GLIBC_2.4
- GLIBC_2.4 A
- lio_listio F
- lio_listio64 F
-GLIBC_2.7
- GLIBC_2.7 A
- __mq_open_2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libthread_db.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libthread_db.abilist
deleted file mode 100644
index f33138067..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libthread_db.abilist
+++ /dev/null
@@ -1,48 +0,0 @@
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- td_init F
- td_log F
- td_ta_clear_event F
- td_ta_delete F
- td_ta_enable_stats F
- td_ta_event_addr F
- td_ta_event_getmsg F
- td_ta_get_nthreads F
- td_ta_get_ph F
- td_ta_get_stats F
- td_ta_map_id2thr F
- td_ta_map_lwp2thr F
- td_ta_new F
- td_ta_reset_stats F
- td_ta_set_event F
- td_ta_setconcurrency F
- td_ta_thr_iter F
- td_ta_tsd_iter F
- td_thr_clear_event F
- td_thr_dbresume F
- td_thr_dbsuspend F
- td_thr_event_enable F
- td_thr_event_getmsg F
- td_thr_get_info F
- td_thr_getfpregs F
- td_thr_getgregs F
- td_thr_getxregs F
- td_thr_getxregsize F
- td_thr_set_event F
- td_thr_setfpregs F
- td_thr_setgregs F
- td_thr_setprio F
- td_thr_setsigpending F
- td_thr_setxregs F
- td_thr_sigsetmask F
- td_thr_tsd F
- td_thr_validate F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- td_symbol_list F
-GLIBC_2.3
- GLIBC_2.3 A
- td_thr_tls_get_addr F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- td_thr_tlsbase F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libutil.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libutil.abilist
deleted file mode 100644
index 7422687e3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/libutil.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- forkpty F
- login F
- login_tty F
- logout F
- logwtmp F
- openpty F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data
deleted file mode 100644
index d3f2efba6..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data
+++ /dev/null
@@ -1,31 +0,0 @@
-libc.so: __adddf3 ?
-libc.so: __divdf3 ?
-libc.so: __eqdf2 ?
-libc.so: __extendsfdf2 ?
-libc.so: __fixdfsi ?
-libc.so: __fixunsdfsi ?
-libc.so: __floatsidf ?
-libc.so: __floatunsidf ?
-libc.so: __gedf2 ?
-libc.so: __gtdf2 ?
-libc.so: __ledf2 ?
-libc.so: __ltdf2 ?
-libc.so: __muldf3 ?
-libc.so: __nedf2 ?
-libc.so: __signbit
-libc.so: __signbitl
-libc.so: __subdf3 ?
-libc.so: __truncdfsf2 ?
-libc.so: __unorddf2 ?
-libc.so: abort ?
-libc.so: calloc
-libc.so: free
-libc.so: malloc
-libc.so: memalign
-libc.so: realloc
-libm.so: __signbit
-libm.so: __signbitf
-libm.so: __signbitl
-libm.so: copysignl
-libm.so: fegetround
-libm.so: matherr
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions
deleted file mode 100644
index a746f46f3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions
+++ /dev/null
@@ -1 +0,0 @@
-powerpc.*-.*-.* ABI powerpce500v1-linux-gnu
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
deleted file mode 100644
index 40836b6fb..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-powerpc/nofpu
-powerpc/soft-fp
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
deleted file mode 100644
index 90d9dcd42..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Save current context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __getcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-
-#include "getcontext-common.S"
-
-versioned_symbol (libc, __getcontext, getcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__getcontext, __novec_getcontext)
-
-compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__getcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__getcontext_stub)
- .previous
-
-compat_symbol (libc, __getcontext_stub, getcontext, GLIBC_2_1)
-
-#endif
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data
deleted file mode 100644
index fde53bf33..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:x
-blkcnt_t:l
-blksize_t:l
-caddr_t:Pc
-clockid_t:i
-clock_t:l
-daddr_t:i
-dev_t:y
-fd_mask:l
-fsblkcnt64_t:y
-fsblkcnt_t:m
-fsfilcnt64_t:y
-fsfilcnt_t:m
-fsid_t:8__fsid_t
-gid_t:j
-id_t:j
-ino64_t:y
-ino_t:m
-int16_t:s
-int32_t:i
-int64_t:x
-int8_t:a
-intptr_t:i
-key_t:i
-loff_t:x
-mode_t:j
-nlink_t:j
-off64_t:x
-off_t:l
-pid_t:i
-pthread_attr_t:14pthread_attr_t
-pthread_barrier_t:17pthread_barrier_t
-pthread_barrierattr_t:21pthread_barrierattr_t
-pthread_cond_t:14pthread_cond_t
-pthread_condattr_t:18pthread_condattr_t
-pthread_key_t:j
-pthread_mutex_t:15pthread_mutex_t
-pthread_mutexattr_t:19pthread_mutexattr_t
-pthread_once_t:i
-pthread_rwlock_t:16pthread_rwlock_t
-pthread_rwlockattr_t:20pthread_rwlockattr_t
-pthread_spinlock_t:i
-pthread_t:m
-quad_t:x
-register_t:i
-rlim64_t:y
-rlim_t:m
-sigset_t:10__sigset_t
-size_t:j
-socklen_t:j
-ssize_t:i
-suseconds_t:l
-time_t:l
-u_char:h
-uid_t:j
-uint:j
-u_int:j
-u_int16_t:t
-u_int32_t:j
-u_int64_t:y
-u_int8_t:h
-ulong:m
-u_long:m
-u_quad_t:y
-useconds_t:j
-ushort:t
-u_short:t
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist
deleted file mode 100644
index d71611f02..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/ld.abilist
+++ /dev/null
@@ -1,17 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __libc_memalign F
- _r_debug D 0x14
- calloc F
- free F
- malloc F
- realloc F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_stack_end D 0x4
- _dl_mcount F
-GLIBC_2.3
- GLIBC_2.3 A
- __tls_get_addr F
-GLIBC_2.4
- GLIBC_2.4 A
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist
deleted file mode 100644
index f4ca37f44..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libBrokenLocale.abilist
+++ /dev/null
@@ -1,3 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __ctype_get_mb_cur_max F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist
deleted file mode 100644
index c9755d8a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libanl.abilist
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- gai_cancel F
- gai_error F
- gai_suspend F
- getaddrinfo_a F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
deleted file mode 100644
index 9b6d66374..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
+++ /dev/null
@@ -1,2523 +0,0 @@
-GCC_3.0
- GCC_3.0 A
- _Unwind_Find_FDE F
- __deregister_frame_info_bases F
- __register_frame_info_bases F
- __register_frame_info_table_bases F
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_adjust_column F
- _IO_default_doallocate F
- _IO_default_finish F
- _IO_default_pbackfail F
- _IO_default_uflow F
- _IO_default_xsgetn F
- _IO_default_xsputn F
- _IO_do_write F
- _IO_doallocbuf F
- _IO_fclose F
- _IO_fdopen F
- _IO_feof F
- _IO_ferror F
- _IO_fflush F
- _IO_fgetpos F
- _IO_fgets F
- _IO_file_attach F
- _IO_file_close F
- _IO_file_close_it F
- _IO_file_doallocate F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_jumps D 0x54
- _IO_file_open F
- _IO_file_overflow F
- _IO_file_read F
- _IO_file_seek F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_stat F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_flockfile F
- _IO_flush_all F
- _IO_flush_all_linebuffered F
- _IO_fopen F
- _IO_fprintf F
- _IO_fputs F
- _IO_fread F
- _IO_free_backup_area F
- _IO_fsetpos F
- _IO_ftell F
- _IO_ftrylockfile F
- _IO_funlockfile F
- _IO_fwrite F
- _IO_getc F
- _IO_getline F
- _IO_gets F
- _IO_init F
- _IO_init_marker F
- _IO_link_in F
- _IO_list_all D 0x4
- _IO_marker_delta F
- _IO_marker_difference F
- _IO_padn F
- _IO_peekc_locked F
- _IO_popen F
- _IO_printf F
- _IO_proc_close F
- _IO_proc_open F
- _IO_putc F
- _IO_puts F
- _IO_remove_marker F
- _IO_seekmark F
- _IO_seekoff F
- _IO_seekpos F
- _IO_setb F
- _IO_setbuffer F
- _IO_setvbuf F
- _IO_sgetn F
- _IO_sprintf F
- _IO_sputbackc F
- _IO_sscanf F
- _IO_stderr_ D 0x50
- _IO_stdin_ D 0x50
- _IO_stdout_ D 0x50
- _IO_str_init_readonly F
- _IO_str_init_static F
- _IO_str_overflow F
- _IO_str_pbackfail F
- _IO_str_seekoff F
- _IO_str_underflow F
- _IO_sungetc F
- _IO_switch_to_get_mode F
- _IO_un_link F
- _IO_ungetc F
- _IO_unsave_markers F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __adjtimex F
- __after_morecore_hook D 0x4
- __argz_count F
- __argz_next F
- __argz_stringify F
- __ashldi3 F
- __ashrdi3 F
- __assert_fail F
- __assert_perror_fail F
- __bsd_getpgrp F
- __bzero F
- __check_rhosts_file D 0x4
- __clone F
- __close F
- __cmpdi2 F
- __cmsg_nxthdr F
- __connect F
- __ctype32_b D 0x4
- __ctype_b D 0x4
- __ctype_get_mb_cur_max F
- __ctype_tolower D 0x4
- __ctype_toupper D 0x4
- __curbrk D 0x4
- __daylight D 0x4
- __dcgettext F
- __default_morecore F
- __deregister_frame F
- __deregister_frame_info F
- __dgettext F
- __divdi3 F
- __dup2 F
- __environ D 0x4
- __errno_location F
- __fcntl F
- __ffs F
- __finite F
- __finitef F
- __finitel F
- __fixdfdi F
- __fixsfdi F
- __fixunsdfdi F
- __fixunssfdi F
- __floatdidf F
- __floatdisf F
- __fork F
- __fpu_control D 0x4
- __frame_state_for F
- __free_hook D 0x4
- __fxstat F
- __getdelim F
- __getpagesize F
- __getpgid F
- __getpid F
- __gettimeofday F
- __gmtime_r F
- __h_errno_location F
- __isinf F
- __isinff F
- __isinfl F
- __isnan F
- __isnanf F
- __isnanl F
- __iswctype F
- __ivaliduser F
- __libc_calloc F
- __libc_free F
- __libc_init_first F
- __libc_mallinfo F
- __libc_malloc F
- __libc_mallopt F
- __libc_memalign F
- __libc_pvalloc F
- __libc_realloc F
- __libc_start_main F
- __libc_valloc F
- __lseek F
- __lshrdi3 F
- __lxstat F
- __malloc_hook D 0x4
- __malloc_initialize_hook D 0x4
- __mbrlen F
- __mbrtowc F
- __memalign_hook D 0x4
- __mempcpy F
- __moddi3 F
- __monstartup F
- __morecore D 0x4
- __nss_configure_lookup F
- __nss_database_lookup F
- __nss_group_lookup F
- __nss_hosts_lookup F
- __nss_next F
- __nss_passwd_lookup F
- __open F
- __overflow F
- __pipe F
- __printf_fp F
- __profile_frequency F
- __progname D 0x4
- __progname_full D 0x4
- __rcmd_errstr D 0x4
- __read F
- __realloc_hook D 0x4
- __register_frame F
- __register_frame_info F
- __register_frame_info_table F
- __register_frame_table F
- __res_randomid F
- __sbrk F
- __sched_get_priority_max F
- __sched_get_priority_min F
- __sched_getparam F
- __sched_getscheduler F
- __sched_setscheduler F
- __sched_yield F
- __secure_getenv F
- __select F
- __send F
- __setpgid F
- __sigaction F
- __sigaddset F
- __sigdelset F
- __sigismember F
- __sigpause F
- __sigsetjmp F
- __stpcpy F
- __stpncpy F
- __strcasecmp F
- __strdup F
- __strerror_r F
- __strtod_internal F
- __strtof_internal F
- __strtok_r F
- __strtol_internal F
- __strtold_internal F
- __strtoll_internal F
- __strtoq_internal F
- __strtoul_internal F
- __strtoull_internal F
- __strtouq_internal F
- __sysv_signal F
- __timezone D 0x4
- __tzname D 0x8
- __ucmpdi2 F
- __udivdi3 F
- __uflow F
- __umoddi3 F
- __underflow F
- __vfscanf F
- __vsnprintf F
- __vsscanf F
- __wait F
- __waitpid F
- __wcstod_internal F
- __wcstof_internal F
- __wcstol_internal F
- __wcstold_internal F
- __wcstoll_internal F
- __wcstoul_internal F
- __wcstoull_internal F
- __write F
- __xmknod F
- __xpg_basename F
- __xstat F
- _environ D 0x4
- _exit F
- _libc_intl_domainname D 0x5
- _longjmp F
- _mcleanup F
- _mcount F
- _nl_default_dirname D 0x12
- _nl_domain_bindings D 0x4
- _nl_msg_cat_cntr D 0x4
- _null_auth D 0xc
- _obstack D 0x4
- _obstack_allocated_p F
- _obstack_begin F
- _obstack_begin_1 F
- _obstack_free F
- _obstack_memory_used F
- _obstack_newchunk F
- _res D 0x200
- _rpc_dtablesize F
- _seterr_reply F
- _setjmp F
- _sys_errlist D 0x1ec
- _sys_nerr D 0x4
- _sys_siglist D 0x80
- _tolower F
- _toupper F
- a64l F
- abort F
- abs F
- accept F
- access F
- acct F
- addmntent F
- adjtime F
- adjtimex F
- advance F
- alarm F
- alphasort F
- argz_add F
- argz_add_sep F
- argz_append F
- argz_count F
- argz_create F
- argz_create_sep F
- argz_delete F
- argz_extract F
- argz_insert F
- argz_next F
- argz_replace F
- argz_stringify F
- asctime F
- asctime_r F
- asprintf F
- atexit F
- atof F
- atoi F
- atol F
- atoll F
- authnone_create F
- authunix_create F
- authunix_create_default F
- basename F
- bcmp F
- bcopy F
- bdflush F
- bind F
- bindresvport F
- bindtextdomain F
- brk F
- bsd_signal F
- bsearch F
- btowc F
- bzero F
- calloc F
- callrpc F
- canonicalize_file_name F
- catclose F
- catgets F
- catopen F
- cfgetispeed F
- cfgetospeed F
- cfmakeraw F
- cfree F
- cfsetispeed F
- cfsetospeed F
- cfsetspeed F
- chdir F
- chflags F
- chmod F
- chown F
- chroot F
- clearenv F
- clearerr F
- clearerr_unlocked F
- clnt_broadcast F
- clnt_create F
- clnt_pcreateerror F
- clnt_perrno F
- clnt_perror F
- clnt_spcreateerror F
- clnt_sperrno F
- clnt_sperror F
- clntraw_create F
- clnttcp_create F
- clntudp_bufcreate F
- clntudp_create F
- clock F
- clone F
- close F
- closedir F
- closelog F
- confstr F
- connect F
- copysign F
- copysignf F
- copysignl F
- creat F
- create_module F
- ctermid F
- ctime F
- ctime_r F
- cuserid F
- daemon F
- daylight D 0x4
- dcgettext F
- delete_module F
- dgettext F
- difftime F
- dirfd F
- dirname F
- div F
- dprintf F
- drand48 F
- drand48_r F
- dup F
- dup2 F
- dysize F
- ecvt F
- ecvt_r F
- endaliasent F
- endfsent F
- endgrent F
- endhostent F
- endmntent F
- endnetent F
- endnetgrent F
- endprotoent F
- endpwent F
- endrpcent F
- endservent F
- endspent F
- endttyent F
- endusershell F
- endutent F
- environ D 0x4
- envz_add F
- envz_entry F
- envz_get F
- envz_merge F
- envz_remove F
- envz_strip F
- erand48 F
- erand48_r F
- err F
- error F
- error_at_line F
- error_message_count D 0x4
- error_one_per_line D 0x4
- error_print_progname D 0x4
- errx F
- ether_aton F
- ether_aton_r F
- ether_hostton F
- ether_line F
- ether_ntoa F
- ether_ntoa_r F
- ether_ntohost F
- euidaccess F
- execl F
- execle F
- execlp F
- execv F
- execve F
- execvp F
- exit F
- fchdir F
- fchflags F
- fchmod F
- fchown F
- fclose F
- fcloseall F
- fcntl F
- fcvt F
- fcvt_r F
- fdatasync F
- fdopen F
- feof F
- feof_unlocked F
- ferror F
- ferror_unlocked F
- fexecve F
- fflush F
- fflush_unlocked F
- ffs F
- fgetc F
- fgetgrent F
- fgetgrent_r F
- fgetpos F
- fgetpwent F
- fgetpwent_r F
- fgets F
- fgetspent F
- fgetspent_r F
- fileno F
- fileno_unlocked F
- finite F
- finitef F
- finitel F
- flock F
- flockfile F
- fnmatch F
- fopen F
- fopencookie F
- fork F
- fpathconf F
- fprintf F
- fputc F
- fputc_unlocked F
- fputs F
- fread F
- free F
- freeaddrinfo F
- freopen F
- frexp F
- frexpf F
- frexpl F
- fscanf F
- fseek F
- fsetpos F
- fstatfs F
- fsync F
- ftell F
- ftime F
- ftok F
- ftruncate F
- ftrylockfile F
- fts_children F
- fts_close F
- fts_open F
- fts_read F
- fts_set F
- ftw F
- funlockfile F
- fwrite F
- gcvt F
- get_avphys_pages F
- get_current_dir_name F
- get_kernel_syms F
- get_myaddress F
- get_nprocs F
- get_nprocs_conf F
- get_phys_pages F
- getaddrinfo F
- getaliasbyname F
- getaliasbyname_r F
- getaliasent F
- getaliasent_r F
- getc F
- getc_unlocked F
- getchar F
- getchar_unlocked F
- getcwd F
- getdelim F
- getdirentries F
- getdomainname F
- getdtablesize F
- getegid F
- getenv F
- geteuid F
- getfsent F
- getfsfile F
- getfsspec F
- getgid F
- getgrent F
- getgrent_r F
- getgrgid F
- getgrgid_r F
- getgrnam F
- getgrnam_r F
- getgroups F
- gethostbyaddr F
- gethostbyaddr_r F
- gethostbyname F
- gethostbyname2 F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent F
- gethostent_r F
- gethostid F
- gethostname F
- getitimer F
- getline F
- getlogin F
- getlogin_r F
- getmntent F
- getmntent_r F
- getnetbyaddr F
- getnetbyaddr_r F
- getnetbyname F
- getnetbyname_r F
- getnetent F
- getnetent_r F
- getnetgrent F
- getnetgrent_r F
- getopt F
- getopt_long F
- getopt_long_only F
- getpagesize F
- getpass F
- getpeername F
- getpgid F
- getpgrp F
- getpid F
- getppid F
- getpriority F
- getprotobyname F
- getprotobyname_r F
- getprotobynumber F
- getprotobynumber_r F
- getprotoent F
- getprotoent_r F
- getpublickey F
- getpw F
- getpwent F
- getpwent_r F
- getpwnam F
- getpwnam_r F
- getpwuid F
- getpwuid_r F
- getresgid F
- getresuid F
- getrlimit F
- getrpcbyname F
- getrpcbyname_r F
- getrpcbynumber F
- getrpcbynumber_r F
- getrpcent F
- getrpcent_r F
- getrpcport F
- getrusage F
- gets F
- getsecretkey F
- getservbyname F
- getservbyname_r F
- getservbyport F
- getservbyport_r F
- getservent F
- getservent_r F
- getsid F
- getsockname F
- getsockopt F
- getspent F
- getspent_r F
- getspnam F
- getspnam_r F
- getsubopt F
- gettext F
- gettimeofday F
- getttyent F
- getttynam F
- getuid F
- getusershell F
- getutent F
- getutent_r F
- getutid F
- getutid_r F
- getutline F
- getutline_r F
- getw F
- getwd F
- glob F
- glob_pattern_p F
- globfree F
- gmtime F
- gmtime_r F
- group_member F
- gsignal F
- gtty F
- h_errlist D 0x14
- h_nerr D 0x4
- hasmntopt F
- hcreate F
- hcreate_r F
- hdestroy F
- hdestroy_r F
- herror F
- hsearch F
- hsearch_r F
- hstrerror F
- htonl F
- htons F
- index F
- inet_addr F
- inet_aton F
- inet_lnaof F
- inet_makeaddr F
- inet_netof F
- inet_network F
- inet_nsap_addr F
- inet_nsap_ntoa F
- inet_ntoa F
- inet_ntop F
- inet_pton F
- init_module F
- initgroups F
- initstate F
- initstate_r F
- innetgr F
- insque F
- ioctl F
- iruserok F
- isalnum F
- isalpha F
- isascii F
- isatty F
- isblank F
- iscntrl F
- isdigit F
- isfdtype F
- isgraph F
- isinf F
- isinff F
- isinfl F
- islower F
- isnan F
- isnanf F
- isnanl F
- isprint F
- ispunct F
- isspace F
- isupper F
- iswalnum F
- iswalpha F
- iswcntrl F
- iswctype F
- iswdigit F
- iswgraph F
- iswlower F
- iswprint F
- iswpunct F
- iswspace F
- iswupper F
- iswxdigit F
- isxdigit F
- jrand48 F
- jrand48_r F
- kill F
- killpg F
- klogctl F
- l64a F
- labs F
- lchown F
- lckpwdf F
- lcong48 F
- lcong48_r F
- ldexp F
- ldexpf F
- ldexpl F
- ldiv F
- lfind F
- link F
- listen F
- llabs F
- lldiv F
- llseek F
- loc1 D 0x4
- loc2 D 0x4
- localeconv F
- localtime F
- localtime_r F
- lockf F
- locs D 0x4
- longjmp F
- lrand48 F
- lrand48_r F
- lsearch F
- lseek F
- madvise F
- mallinfo F
- malloc F
- malloc_get_state F
- malloc_set_state F
- malloc_stats F
- malloc_trim F
- malloc_usable_size F
- mallopt F
- mallwatch D 0x4
- mblen F
- mbrlen F
- mbrtowc F
- mbsinit F
- mbsnrtowcs F
- mbsrtowcs F
- mbstowcs F
- mbtowc F
- mcheck F
- memalign F
- memccpy F
- memchr F
- memcmp F
- memcpy F
- memfrob F
- memmem F
- memmove F
- memset F
- mkdir F
- mkfifo F
- mkstemp F
- mktemp F
- mktime F
- mlock F
- mlockall F
- mmap F
- modf F
- modff F
- modfl F
- monstartup F
- mount F
- mprobe F
- mprotect F
- mrand48 F
- mrand48_r F
- mremap F
- msgctl F
- msgget F
- msgrcv F
- msgsnd F
- msync F
- mtrace F
- munlock F
- munlockall F
- munmap F
- muntrace F
- nanosleep F
- nfsservctl F
- nice F
- nl_langinfo F
- nrand48 F
- nrand48_r F
- ntohl F
- ntohs F
- obstack_alloc_failed_handler D 0x4
- obstack_exit_failure D 0x4
- obstack_free F
- obstack_printf F
- obstack_vprintf F
- on_exit F
- open F
- open_memstream F
- opendir F
- openlog F
- optarg D 0x4
- opterr D 0x4
- optind D 0x4
- optopt D 0x4
- parse_printf_format F
- pathconf F
- pause F
- pclose F
- perror F
- personality F
- pipe F
- pmap_getmaps F
- pmap_getport F
- pmap_rmtcall F
- pmap_set F
- pmap_unset F
- poll F
- popen F
- prctl F
- printf F
- profil F
- program_invocation_name D 0x4
- program_invocation_short_name D 0x4
- pselect F
- psignal F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_unlock F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- ptrace F
- putc F
- putc_unlocked F
- putchar F
- putchar_unlocked F
- putenv F
- putpwent F
- puts F
- putspent F
- pututline F
- putw F
- pvalloc F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- qsort F
- query_module F
- quotactl F
- raise F
- rand F
- rand_r F
- random F
- random_r F
- rcmd F
- re_comp F
- re_compile_fastmap F
- re_compile_pattern F
- re_exec F
- re_match F
- re_match_2 F
- re_max_failures D 0x4
- re_search F
- re_search_2 F
- re_set_registers F
- re_set_syntax F
- re_syntax_options D 0x4
- read F
- readdir F
- readdir_r F
- readlink F
- readv F
- realloc F
- realpath F
- reboot F
- recv F
- recvfrom F
- recvmsg F
- regcomp F
- regerror F
- regexec F
- regfree F
- register_printf_function F
- registerrpc F
- remove F
- remque F
- rename F
- res_init F
- revoke F
- rewind F
- rewinddir F
- rexec F
- rexecoptions D 0x4
- rindex F
- rmdir F
- rpc_createerr D 0x10
- rpmatch F
- rresvport F
- ruserok F
- ruserpass F
- sbrk F
- scalbn F
- scalbnf F
- scalbnl F
- scandir F
- scanf F
- sched_get_priority_max F
- sched_get_priority_min F
- sched_getparam F
- sched_getscheduler F
- sched_rr_get_interval F
- sched_setparam F
- sched_setscheduler F
- sched_yield F
- seed48 F
- seed48_r F
- seekdir F
- select F
- semctl F
- semget F
- semop F
- send F
- sendmsg F
- sendto F
- setaliasent F
- setbuf F
- setbuffer F
- setcontext F
- setdomainname F
- setegid F
- setenv F
- seteuid F
- setfsent F
- setfsgid F
- setfsuid F
- setgid F
- setgrent F
- setgroups F
- sethostent F
- sethostid F
- sethostname F
- setitimer F
- setjmp F
- setlinebuf F
- setlocale F
- setlogin F
- setlogmask F
- setmntent F
- setnetent F
- setnetgrent F
- setpgid F
- setpgrp F
- setpriority F
- setprotoent F
- setpwent F
- setregid F
- setresgid F
- setresuid F
- setreuid F
- setrlimit F
- setrpcent F
- setservent F
- setsid F
- setsockopt F
- setspent F
- setstate F
- setstate_r F
- settimeofday F
- setttyent F
- setuid F
- setusershell F
- setutent F
- setvbuf F
- sgetspent F
- sgetspent_r F
- shmat F
- shmctl F
- shmdt F
- shmget F
- shutdown F
- sigaction F
- sigaddset F
- sigaltstack F
- sigandset F
- sigblock F
- sigdelset F
- sigemptyset F
- sigfillset F
- siggetmask F
- siginterrupt F
- sigisemptyset F
- sigismember F
- siglongjmp F
- signal F
- sigorset F
- sigpause F
- sigpending F
- sigprocmask F
- sigreturn F
- sigsetmask F
- sigstack F
- sigsuspend F
- sigvec F
- sigwait F
- sleep F
- snprintf F
- socket F
- socketpair F
- sprintf F
- srand F
- srand48 F
- srand48_r F
- srandom F
- srandom_r F
- sscanf F
- ssignal F
- sstk F
- statfs F
- stderr D 0x4
- stdin D 0x4
- stdout D 0x4
- step F
- stime F
- stpcpy F
- stpncpy F
- strcasecmp F
- strcat F
- strchr F
- strcmp F
- strcoll F
- strcpy F
- strcspn F
- strdup F
- strerror F
- strerror_r F
- strfmon F
- strfry F
- strftime F
- strlen F
- strncasecmp F
- strncat F
- strncmp F
- strncpy F
- strndup F
- strnlen F
- strpbrk F
- strptime F
- strrchr F
- strsep F
- strsignal F
- strspn F
- strstr F
- strtod F
- strtof F
- strtok F
- strtok_r F
- strtol F
- strtold F
- strtoll F
- strtoq F
- strtoul F
- strtoull F
- strtouq F
- strxfrm F
- stty F
- svc_exit F
- svc_fdset D 0x80
- svc_getreq F
- svc_getreqset F
- svc_register F
- svc_run F
- svc_sendreply F
- svc_unregister F
- svcauthdes_stats D 0xc
- svcerr_auth F
- svcerr_decode F
- svcerr_noproc F
- svcerr_noprog F
- svcerr_progvers F
- svcerr_systemerr F
- svcerr_weakauth F
- svcfd_create F
- svcraw_create F
- svctcp_create F
- svcudp_bufcreate F
- svcudp_create F
- svcudp_enablecache F
- swab F
- swapoff F
- swapon F
- symlink F
- sync F
- sys_errlist D 0x1ec
- sys_nerr D 0x4
- sys_sigabbrev D 0x80
- sys_siglist D 0x80
- syscall F
- sysconf F
- sysctl F
- sysinfo F
- syslog F
- system F
- tcdrain F
- tcflow F
- tcflush F
- tcgetattr F
- tcgetpgrp F
- tcsendbreak F
- tcsetattr F
- tcsetpgrp F
- tdelete F
- telldir F
- tempnam F
- textdomain F
- tfind F
- time F
- timegm F
- timelocal F
- times F
- timezone D 0x4
- tmpfile F
- tmpnam F
- tmpnam_r F
- toascii F
- tolower F
- toupper F
- towctrans F
- towlower F
- towupper F
- tr_break F
- truncate F
- tsearch F
- ttyname F
- ttyname_r F
- ttyslot F
- twalk F
- tzname D 0x8
- tzset F
- ualarm F
- ulckpwdf F
- ulimit F
- umask F
- umount F
- uname F
- ungetc F
- unlink F
- unsetenv F
- updwtmp F
- uselib F
- usleep F
- ustat F
- utime F
- utimes F
- utmpname F
- valloc F
- vasprintf F
- vdprintf F
- verr F
- verrx F
- vfork F
- vfprintf F
- vfscanf F
- vhangup F
- vlimit F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vsyslog F
- vtimes F
- vwarn F
- vwarnx F
- wait F
- wait3 F
- wait4 F
- waitpid F
- warn F
- warnx F
- wcpcpy F
- wcpncpy F
- wcrtomb F
- wcscat F
- wcschr F
- wcscmp F
- wcscoll F
- wcscpy F
- wcscspn F
- wcsdup F
- wcslen F
- wcsncat F
- wcsncmp F
- wcsncpy F
- wcsnrtombs F
- wcspbrk F
- wcsrchr F
- wcsrtombs F
- wcsspn F
- wcsstr F
- wcstod F
- wcstof F
- wcstok F
- wcstol F
- wcstold F
- wcstombs F
- wcstoq F
- wcstoul F
- wcstouq F
- wcswidth F
- wcsxfrm F
- wctob F
- wctomb F
- wctrans F
- wctype F
- wcwidth F
- wmemchr F
- wmemcmp F
- wmemcpy F
- wmemmove F
- wmemset F
- write F
- writev F
- xdr_accepted_reply F
- xdr_array F
- xdr_authunix_parms F
- xdr_bool F
- xdr_bytes F
- xdr_callhdr F
- xdr_callmsg F
- xdr_char F
- xdr_cryptkeyarg F
- xdr_cryptkeyarg2 F
- xdr_cryptkeyres F
- xdr_des_block F
- xdr_double F
- xdr_enum F
- xdr_float F
- xdr_free F
- xdr_int F
- xdr_key_netstarg F
- xdr_key_netstres F
- xdr_keybuf F
- xdr_keystatus F
- xdr_long F
- xdr_netobj F
- xdr_opaque F
- xdr_opaque_auth F
- xdr_pmap F
- xdr_pmaplist F
- xdr_pointer F
- xdr_reference F
- xdr_rejected_reply F
- xdr_replymsg F
- xdr_rmtcall_args F
- xdr_rmtcallres F
- xdr_short F
- xdr_string F
- xdr_u_char F
- xdr_u_int F
- xdr_u_long F
- xdr_u_short F
- xdr_union F
- xdr_vector F
- xdr_void F
- xdr_wrapstring F
- xdrmem_create F
- xdrrec_create F
- xdrrec_endofrecord F
- xdrrec_eof F
- xdrrec_skiprecord F
- xdrstdio_create F
- xencrypt F
- xprt_register F
- xprt_unregister F
-GLIBC_2.1
- GLIBC_2.1 A
- _IO_2_1_stderr_ D 0xa0
- _IO_2_1_stdin_ D 0xa0
- _IO_2_1_stdout_ D 0xa0
- _IO_do_write F
- _IO_fclose F
- _IO_fdopen F
- _IO_fgetpos64 F
- _IO_file_attach F
- _IO_file_close_it F
- _IO_file_finish F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_overflow F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_fopen F
- _IO_fsetpos64 F
- _IO_getline_info F
- _IO_popen F
- _IO_proc_close F
- _IO_proc_open F
- __asprintf F
- __backtrace F
- __backtrace_symbols F
- __backtrace_symbols_fd F
- __duplocale F
- __freelocale F
- __fxstat64 F
- __isalnum_l F
- __isalpha_l F
- __isascii_l F
- __isblank_l F
- __iscntrl_l F
- __isdigit_l F
- __isgraph_l F
- __islower_l F
- __isprint_l F
- __ispunct_l F
- __isspace_l F
- __isupper_l F
- __iswalnum_l F
- __iswalpha_l F
- __iswblank_l F
- __iswcntrl_l F
- __iswctype_l F
- __iswdigit_l F
- __iswgraph_l F
- __iswlower_l F
- __iswprint_l F
- __iswpunct_l F
- __iswspace_l F
- __iswupper_l F
- __iswxdigit_l F
- __isxdigit_l F
- __key_decryptsession_pk_LOCAL D 0x4
- __key_encryptsession_pk_LOCAL D 0x4
- __key_gendes_LOCAL D 0x4
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- __libc_freeres F
- __libc_sa_len F
- __lxstat64 F
- __newlocale F
- __poll F
- __pread64 F
- __pwrite64 F
- __rawmemchr F
- __signbit F
- __signbitf F
- __strcasecmp_l F
- __strcasestr F
- __strcoll_l F
- __strfmon_l F
- __strncasecmp_l F
- __strtod_l F
- __strtof_l F
- __strtol_l F
- __strtold_l F
- __strtoll_l F
- __strtoul_l F
- __strtoull_l F
- __strxfrm_l F
- __toascii_l F
- __tolower_l F
- __toupper_l F
- __towctrans F
- __towctrans_l F
- __towlower_l F
- __towupper_l F
- __wcscasecmp_l F
- __wcscoll_l F
- __wcsncasecmp_l F
- __wcstod_l F
- __wcstof_l F
- __wcstol_l F
- __wcstold_l F
- __wcstoll_l F
- __wcstoul_l F
- __wcstoull_l F
- __wcsxfrm_l F
- __wctype_l F
- __xstat64 F
- _authenticate F
- _dl_mcount_wrapper F
- _dl_mcount_wrapper_check F
- _sys_errlist D 0x1f4
- _sys_nerr D 0x4
- _sys_siglist D 0x100
- addseverity F
- alphasort64 F
- argp_err_exit_status D 0x4
- argp_error F
- argp_failure F
- argp_help F
- argp_parse F
- argp_program_bug_address D 0x4
- argp_program_version D 0x4
- argp_program_version_hook D 0x4
- argp_state_help F
- argp_usage F
- authdes_create F
- authdes_getucred F
- authdes_pk_create F
- backtrace F
- backtrace_symbols F
- backtrace_symbols_fd F
- capget F
- capset F
- cbc_crypt F
- chown F
- clntunix_create F
- creat64 F
- des_setparity F
- ecb_crypt F
- endutxent F
- fattach F
- fclose F
- fdetach F
- fdopen F
- ffsl F
- ffsll F
- fgetc_unlocked F
- fgetpos64 F
- fgets_unlocked F
- fmtmsg F
- fopen F
- fopen64 F
- fputs_unlocked F
- fread_unlocked F
- freopen64 F
- fseeko F
- fseeko64 F
- fsetpos64 F
- fstatfs64 F
- fstatvfs F
- fstatvfs64 F
- ftello F
- ftello64 F
- ftruncate64 F
- ftw64 F
- fwrite_unlocked F
- gai_strerror F
- getcontext F
- getdate F
- getdate_err D 0x4
- getdate_r F
- getmsg F
- getnameinfo F
- getnetname F
- getpmsg F
- getpt F
- getrlimit64 F
- getutxent F
- getutxid F
- getutxline F
- glob64 F
- globfree64 F
- gnu_get_libc_release F
- gnu_get_libc_version F
- grantpt F
- host2netname F
- iconv F
- iconv_close F
- iconv_open F
- if_freenameindex F
- if_indextoname F
- if_nameindex F
- if_nametoindex F
- in6addr_any D 0x10
- in6addr_loopback D 0x10
- isastream F
- iswblank F
- key_decryptsession F
- key_decryptsession_pk F
- key_encryptsession F
- key_encryptsession_pk F
- key_gendes F
- key_get_conv F
- key_secretkey_is_set F
- key_setnet F
- key_setsecret F
- lockf64 F
- lseek64 F
- makecontext F
- mempcpy F
- mmap64 F
- netname2host F
- netname2user F
- nftw F
- nftw64 F
- ntp_adjtime F
- ntp_gettime F
- open64 F
- passwd2des F
- pclose F
- popen F
- pread F
- pread64 F
- printf_size F
- printf_size_info F
- pthread_attr_init F
- ptsname F
- ptsname_r F
- putgrent F
- putmsg F
- putpmsg F
- pututxline F
- pwrite F
- pwrite64 F
- rawmemchr F
- readdir64 F
- readdir64_r F
- rtime F
- scandir64 F
- sendfile F
- setrlimit64 F
- setutxent F
- sighold F
- sigignore F
- sigqueue F
- sigrelse F
- sigset F
- sigtimedwait F
- sigwaitinfo F
- statfs64 F
- statvfs F
- statvfs64 F
- strcasestr F
- strtoimax F
- strtoumax F
- strverscmp F
- svcunix_create F
- svcunixfd_create F
- swapcontext F
- sys_errlist D 0x1f4
- sys_nerr D 0x4
- sys_sigabbrev D 0x100
- sys_siglist D 0x100
- sysv_signal F
- tcgetsid F
- tdestroy F
- tmpfile F
- tmpfile64 F
- truncate64 F
- umount2 F
- unlockpt F
- updwtmpx F
- user2netname F
- utmpxname F
- versionsort F
- versionsort64 F
- waitid F
- wcscasecmp F
- wcsncasecmp F
- wcsnlen F
- wcstoimax F
- wcstoll F
- wcstoull F
- wcstoumax F
- wcswcs F
- wordexp F
- wordfree F
- xdecrypt F
- xdr_authdes_cred F
- xdr_authdes_verf F
- xdr_getcredres F
- xdr_int16_t F
- xdr_int32_t F
- xdr_int8_t F
- xdr_netnamestr F
- xdr_sizeof F
- xdr_uint16_t F
- xdr_uint32_t F
- xdr_uint8_t F
- xdr_unixcred F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- _Exit F
- __mempcpy_small F
- __stpcpy_small F
- __strcpy_small F
- __strcspn_c1 F
- __strcspn_c2 F
- __strcspn_c3 F
- __strpbrk_c2 F
- __strpbrk_c3 F
- __strsep_1c F
- __strsep_2c F
- __strsep_3c F
- __strsep_g F
- __strspn_c1 F
- __strspn_c2 F
- __strspn_c3 F
- __strtok_r_1c F
- __strverscmp F
- getutmp F
- getutmpx F
- imaxabs F
- imaxdiv F
- strchrnul F
- xdr_hyper F
- xdr_int64_t F
- xdr_longlong_t F
- xdr_u_hyper F
- xdr_u_longlong_t F
- xdr_uint64_t F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
- getaliasbyname_r F
- getaliasent_r F
- getgrent_r F
- getgrgid_r F
- getgrnam_r F
- gethostbyaddr_r F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent_r F
- getnetbyaddr_r F
- getnetbyname_r F
- getnetent_r F
- getprotobyname_r F
- getprotobynumber_r F
- getprotoent_r F
- getpwent_r F
- getpwnam_r F
- getpwuid_r F
- getrpcbyname_r F
- getrpcbynumber_r F
- getrpcent_r F
- getservbyname_r F
- getservbyport_r F
- getservent_r F
- getspent_r F
- getspnam_r F
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- __cxa_atexit F
- __cxa_finalize F
- __sigsuspend F
-GLIBC_2.10
- GLIBC_2.10 A
- __cxa_at_quick_exit F
- __posix_getopt F
- accept4 F
- endsgent F
- fallocate F
- fgetsgent F
- fgetsgent_r F
- getsgent F
- getsgent_r F
- getsgnam F
- getsgnam_r F
- malloc_info F
- preadv F
- preadv64 F
- psiginfo F
- putsgent F
- pwritev F
- pwritev64 F
- quick_exit F
- register_printf_modifier F
- register_printf_specifier F
- register_printf_type F
- setsgent F
- sgetsgent F
- sgetsgent_r F
-GLIBC_2.11
- GLIBC_2.11 A
- __longjmp_chk F
- execvpe F
- fallocate64 F
- mkostemps F
- mkostemps64 F
- mkstemps F
- mkstemps64 F
-GLIBC_2.12
- GLIBC_2.12 A
- _sys_errlist D 0x21c
- _sys_nerr D 0x4
- ntp_gettimex F
- recvmmsg F
- sys_errlist D 0x21c
- sys_nerr D 0x4
-GLIBC_2.13
- GLIBC_2.13 A
- fanotify_init F
- fanotify_mark F
- prlimit F
- prlimit64 F
-GLIBC_2.14
- GLIBC_2.14 A
- clock_adjtime F
- name_to_handle_at F
- open_by_handle_at F
- sendmmsg F
- setns F
- syncfs F
-GLIBC_2.15
- GLIBC_2.15 A
- __fdelt_chk F
- __fdelt_warn F
- posix_spawn F
- posix_spawnp F
- process_vm_readv F
- process_vm_writev F
- scandirat F
- scandirat64 F
-GLIBC_2.16
- GLIBC_2.16 A
- __getauxval F
- __mcount_internal F
- __poll_chk F
- __ppoll_chk F
- aligned_alloc F
- c16rtomb F
- c32rtomb F
- getauxval F
- mbrtoc16 F
- mbrtoc32 F
- timespec_get F
-GLIBC_2.17
- GLIBC_2.17 A
- __ppc_get_timebase_freq F
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- secure_getenv F
-GLIBC_2.18
- GLIBC_2.18 A
- __cxa_thread_atexit_impl F
-GLIBC_2.2
- GLIBC_2.2 A
- _IO_adjust_wcolumn F
- _IO_fgetpos F
- _IO_fgetpos64 F
- _IO_free_wbackup_area F
- _IO_fsetpos F
- _IO_fsetpos64 F
- _IO_init_wmarker F
- _IO_iter_begin F
- _IO_iter_end F
- _IO_iter_file F
- _IO_iter_next F
- _IO_least_wmarker F
- _IO_list_lock F
- _IO_list_resetlock F
- _IO_list_unlock F
- _IO_seekwmark F
- _IO_sputbackwc F
- _IO_sungetwc F
- _IO_switch_to_main_wget_area F
- _IO_switch_to_wbackup_area F
- _IO_switch_to_wget_mode F
- _IO_unsave_wmarkers F
- _IO_wdefault_doallocate F
- _IO_wdefault_finish F
- _IO_wdefault_pbackfail F
- _IO_wdefault_uflow F
- _IO_wdefault_xsgetn F
- _IO_wdefault_xsputn F
- _IO_wdo_write F
- _IO_wdoallocbuf F
- _IO_wfile_jumps D 0x54
- _IO_wfile_overflow F
- _IO_wfile_seekoff F
- _IO_wfile_sync F
- _IO_wfile_underflow F
- _IO_wfile_xsputn F
- _IO_wmarker_delta F
- _IO_wsetb F
- __assert F
- __ctype32_tolower D 0x4
- __ctype32_toupper D 0x4
- __cyg_profile_func_enter F
- __cyg_profile_func_exit F
- __endmntent F
- __fbufsize F
- __flbf F
- __fpending F
- __fpurge F
- __freadable F
- __freading F
- __fsetlocking F
- __fwritable F
- __fwriting F
- __fxstat64 F
- __getmntent_r F
- __lxstat64 F
- __nl_langinfo_l F
- __open64 F
- __res_init F
- __res_nclose F
- __res_ninit F
- __res_state F
- __setmntent F
- __statfs F
- __strndup F
- __sysconf F
- __sysctl F
- __wctrans_l F
- __woverflow F
- __wuflow F
- __wunderflow F
- __xpg_sigpause F
- __xstat64 F
- _flushlbf F
- _res_hconf D 0x30
- bind_textdomain_codeset F
- dcngettext F
- dngettext F
- fgetpos F
- fgetpos64 F
- fgetwc F
- fgetwc_unlocked F
- fgetws F
- fgetws_unlocked F
- fmemopen F
- fopencookie F
- fputwc F
- fputwc_unlocked F
- fputws F
- fputws_unlocked F
- fsetpos F
- fsetpos64 F
- fwide F
- fwprintf F
- fwscanf F
- getdirentries64 F
- getloadavg F
- getrlimit F
- getrlimit64 F
- getwc F
- getwc_unlocked F
- getwchar F
- getwchar_unlocked F
- glob64 F
- iruserok_af F
- localeconv F
- mcheck_check_all F
- mcheck_pedantic F
- memrchr F
- mincore F
- mkdtemp F
- mkstemp64 F
- moncontrol F
- msgctl F
- ngettext F
- posix_fadvise F
- posix_fadvise64 F
- posix_fallocate F
- posix_fallocate64 F
- posix_madvise F
- posix_memalign F
- posix_spawn F
- posix_spawn_file_actions_addclose F
- posix_spawn_file_actions_adddup2 F
- posix_spawn_file_actions_addopen F
- posix_spawn_file_actions_destroy F
- posix_spawn_file_actions_init F
- posix_spawnattr_destroy F
- posix_spawnattr_getflags F
- posix_spawnattr_getpgroup F
- posix_spawnattr_getschedparam F
- posix_spawnattr_getschedpolicy F
- posix_spawnattr_getsigdefault F
- posix_spawnattr_getsigmask F
- posix_spawnattr_init F
- posix_spawnattr_setflags F
- posix_spawnattr_setpgroup F
- posix_spawnattr_setschedparam F
- posix_spawnattr_setschedpolicy F
- posix_spawnattr_setsigdefault F
- posix_spawnattr_setsigmask F
- posix_spawnp F
- putwc F
- putwc_unlocked F
- putwchar F
- putwchar_unlocked F
- rcmd_af F
- readdir64 F
- readdir64_r F
- rexec_af F
- rresvport_af F
- ruserok_af F
- scandir64 F
- semctl F
- setrlimit F
- shmctl F
- svc_getreq_common F
- svc_getreq_poll F
- svc_max_pollfd D 0x4
- svc_pollfd D 0x4
- swprintf F
- swscanf F
- ungetwc F
- vfwprintf F
- vfwscanf F
- vswprintf F
- vswscanf F
- vwprintf F
- vwscanf F
- wcschrnul F
- wcsftime F
- wmempcpy F
- wprintf F
- wscanf F
-GLIBC_2.2.1
- GLIBC_2.2.1 A
- pivot_root F
- posix_openpt F
-GLIBC_2.2.2
- GLIBC_2.2.2 A
- __nss_hostname_digits_dots F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- __rpc_thread_createerr F
- __rpc_thread_svc_fdset F
- __rpc_thread_svc_max_pollfd F
- __rpc_thread_svc_pollfd F
- fnmatch F
- sprofil F
-GLIBC_2.2.4
- GLIBC_2.2.4 A
- dl_iterate_phdr F
- getgrouplist F
- sockatmark F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
- __ctype_tolower_loc F
- __ctype_toupper_loc F
- __isctype F
- __strftime_l F
- __uselocale F
- __wcsftime_l F
- _sys_errlist D 0x1f8
- _sys_nerr D 0x4
- duplocale F
- fgetxattr F
- flistxattr F
- freeifaddrs F
- freelocale F
- fremovexattr F
- fsetxattr F
- futimes F
- getifaddrs F
- getxattr F
- isalnum_l F
- isalpha_l F
- isblank_l F
- iscntrl_l F
- isctype F
- isdigit_l F
- isgraph_l F
- islower_l F
- isprint_l F
- ispunct_l F
- isspace_l F
- isupper_l F
- iswalnum_l F
- iswalpha_l F
- iswblank_l F
- iswcntrl_l F
- iswctype_l F
- iswdigit_l F
- iswgraph_l F
- iswlower_l F
- iswprint_l F
- iswpunct_l F
- iswspace_l F
- iswupper_l F
- iswxdigit_l F
- isxdigit_l F
- lgetxattr F
- listxattr F
- llistxattr F
- lremovexattr F
- lsetxattr F
- lutimes F
- newlocale F
- nl_langinfo_l F
- readahead F
- realpath F
- removexattr F
- sendfile64 F
- setxattr F
- strcasecmp_l F
- strcoll_l F
- strfmon_l F
- strftime_l F
- strncasecmp_l F
- strtod_l F
- strtof_l F
- strtol_l F
- strtold_l F
- strtoll_l F
- strtoul_l F
- strtoull_l F
- strxfrm_l F
- sys_errlist D 0x1f8
- sys_nerr D 0x4
- tolower_l F
- toupper_l F
- towctrans_l F
- towlower_l F
- towupper_l F
- uselocale F
- wcscasecmp_l F
- wcscoll_l F
- wcsftime_l F
- wcsncasecmp_l F
- wcstod_l F
- wcstof_l F
- wcstol_l F
- wcstold_l F
- wcstoll_l F
- wcstoul_l F
- wcstoull_l F
- wcsxfrm_l F
- wctrans_l F
- wctype_l F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __adddf3 F
- __addsf3 F
- __divdf3 F
- __divsf3 F
- __eqdf2 F
- __eqsf2 F
- __extendsfdf2 F
- __fixdfsi F
- __fixsfsi F
- __fixunsdfsi F
- __fixunssfsi F
- __floatsidf F
- __floatsisf F
- __gedf2 F
- __gesf2 F
- __ledf2 F
- __lesf2 F
- __muldf3 F
- __mulsf3 F
- __negdf2 F
- __negsf2 F
- __register_atfork F
- __sim_disabled_exceptions D 0x4
- __sim_exceptions D 0x4
- __sim_round_mode D 0x4
- __sqrtdf2 F
- __sqrtsf2 F
- __subdf3 F
- __subsf3 F
- __truncdfsf2 F
- epoll_create F
- epoll_ctl F
- epoll_wait F
- lchmod F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- strptime_l F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- _sys_siglist D 0x104
- getcontext F
- gnu_dev_major F
- gnu_dev_makedev F
- gnu_dev_minor F
- inet6_option_alloc F
- inet6_option_append F
- inet6_option_find F
- inet6_option_init F
- inet6_option_next F
- inet6_option_space F
- makecontext F
- nftw F
- nftw64 F
- posix_fadvise64 F
- posix_fallocate64 F
- remap_file_pages F
- sched_getaffinity F
- sched_setaffinity F
- semtimedop F
- setcontext F
- swapcontext F
- sys_sigabbrev D 0x104
- sys_siglist D 0x104
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- __chk_fail F
- __fprintf_chk F
- __gets_chk F
- __memcpy_chk F
- __memmove_chk F
- __mempcpy_chk F
- __memset_chk F
- __printf_chk F
- __sigsetjmp F
- __snprintf_chk F
- __sprintf_chk F
- __stpcpy_chk F
- __strcat_chk F
- __strcpy_chk F
- __strncat_chk F
- __strncpy_chk F
- __vfprintf_chk F
- __vprintf_chk F
- __vsnprintf_chk F
- __vsprintf_chk F
- __xpg_strerror_r F
- _longjmp F
- _setjmp F
- getcontext F
- getipv4sourcefilter F
- getsourcefilter F
- longjmp F
- makecontext F
- regexec F
- sched_getaffinity F
- sched_setaffinity F
- setcontext F
- setipv4sourcefilter F
- setjmp F
- setsourcefilter F
- siglongjmp F
- swapcontext F
- xdr_quad_t F
- xdr_u_quad_t F
-GLIBC_2.4
- GLIBC_2.4 A
- _IO_fprintf F
- _IO_printf F
- _IO_sprintf F
- _IO_sscanf F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __asprintf F
- __confstr_chk F
- __fgets_chk F
- __fgets_unlocked_chk F
- __fgetws_chk F
- __fgetws_unlocked_chk F
- __finitel F
- __floatundidf F
- __floatundisf F
- __floatunsidf F
- __floatunsisf F
- __fprintf_chk F
- __fwprintf_chk F
- __fxstatat F
- __fxstatat64 F
- __getcwd_chk F
- __getdomainname_chk F
- __getgroups_chk F
- __gethostname_chk F
- __getlogin_r_chk F
- __getwd_chk F
- __gtdf2 F
- __gtsf2 F
- __isinfl F
- __isnanl F
- __ltdf2 F
- __ltsf2 F
- __mbsnrtowcs_chk F
- __mbsrtowcs_chk F
- __mbstowcs_chk F
- __nedf2 F
- __nesf2 F
- __nldbl__IO_fprintf F
- __nldbl__IO_printf F
- __nldbl__IO_sprintf F
- __nldbl__IO_sscanf F
- __nldbl__IO_vfprintf F
- __nldbl__IO_vfscanf F
- __nldbl__IO_vsprintf F
- __nldbl___asprintf F
- __nldbl___fprintf_chk F
- __nldbl___fwprintf_chk F
- __nldbl___printf_chk F
- __nldbl___printf_fp F
- __nldbl___snprintf_chk F
- __nldbl___sprintf_chk F
- __nldbl___strfmon_l F
- __nldbl___swprintf_chk F
- __nldbl___syslog_chk F
- __nldbl___vfprintf_chk F
- __nldbl___vfscanf F
- __nldbl___vfwprintf_chk F
- __nldbl___vprintf_chk F
- __nldbl___vsnprintf F
- __nldbl___vsnprintf_chk F
- __nldbl___vsprintf_chk F
- __nldbl___vsscanf F
- __nldbl___vstrfmon F
- __nldbl___vstrfmon_l F
- __nldbl___vswprintf_chk F
- __nldbl___vsyslog_chk F
- __nldbl___vwprintf_chk F
- __nldbl___wprintf_chk F
- __nldbl_asprintf F
- __nldbl_dprintf F
- __nldbl_fprintf F
- __nldbl_fscanf F
- __nldbl_fwprintf F
- __nldbl_fwscanf F
- __nldbl_obstack_printf F
- __nldbl_obstack_vprintf F
- __nldbl_printf F
- __nldbl_printf_size F
- __nldbl_scanf F
- __nldbl_snprintf F
- __nldbl_sprintf F
- __nldbl_sscanf F
- __nldbl_strfmon F
- __nldbl_strfmon_l F
- __nldbl_swprintf F
- __nldbl_swscanf F
- __nldbl_syslog F
- __nldbl_vasprintf F
- __nldbl_vdprintf F
- __nldbl_vfprintf F
- __nldbl_vfscanf F
- __nldbl_vfwprintf F
- __nldbl_vfwscanf F
- __nldbl_vprintf F
- __nldbl_vscanf F
- __nldbl_vsnprintf F
- __nldbl_vsprintf F
- __nldbl_vsscanf F
- __nldbl_vswprintf F
- __nldbl_vswscanf F
- __nldbl_vsyslog F
- __nldbl_vwprintf F
- __nldbl_vwscanf F
- __nldbl_wprintf F
- __nldbl_wscanf F
- __pread64_chk F
- __pread_chk F
- __printf_chk F
- __printf_fp F
- __ptsname_r_chk F
- __read_chk F
- __readlink_chk F
- __realpath_chk F
- __recv_chk F
- __recvfrom_chk F
- __signbitl F
- __snprintf_chk F
- __sprintf_chk F
- __stack_chk_fail F
- __stpncpy_chk F
- __strfmon_l F
- __strtold_internal F
- __strtold_l F
- __swprintf_chk F
- __syslog_chk F
- __ttyname_r_chk F
- __unorddf2 F
- __unordsf2 F
- __vfprintf_chk F
- __vfscanf F
- __vfwprintf_chk F
- __vprintf_chk F
- __vsnprintf F
- __vsnprintf_chk F
- __vsprintf_chk F
- __vsscanf F
- __vswprintf_chk F
- __vsyslog_chk F
- __vwprintf_chk F
- __wcpcpy_chk F
- __wcpncpy_chk F
- __wcrtomb_chk F
- __wcscat_chk F
- __wcscpy_chk F
- __wcsncat_chk F
- __wcsncpy_chk F
- __wcsnrtombs_chk F
- __wcsrtombs_chk F
- __wcstold_internal F
- __wcstold_l F
- __wcstombs_chk F
- __wctomb_chk F
- __wmemcpy_chk F
- __wmemmove_chk F
- __wmempcpy_chk F
- __wmemset_chk F
- __wprintf_chk F
- __xmknodat F
- _sys_errlist D 0x210
- _sys_nerr D 0x4
- asprintf F
- copysignl F
- dprintf F
- eaccess F
- faccessat F
- fchmodat F
- fchownat F
- fdopendir F
- finitel F
- fprintf F
- frexpl F
- fscanf F
- futimesat F
- fwprintf F
- fwscanf F
- inotify_add_watch F
- inotify_init F
- inotify_rm_watch F
- isinfl F
- isnanl F
- ldexpl F
- linkat F
- mkdirat F
- mkfifoat F
- modfl F
- obstack_printf F
- obstack_vprintf F
- open_wmemstream F
- openat F
- openat64 F
- ppoll F
- printf F
- printf_size F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- readlinkat F
- renameat F
- scalbnl F
- scanf F
- snprintf F
- sprintf F
- sscanf F
- strfmon F
- strfmon_l F
- strtold F
- strtold_l F
- swprintf F
- swscanf F
- symlinkat F
- sys_errlist D 0x210
- sys_nerr D 0x4
- syslog F
- unlinkat F
- unshare F
- vasprintf F
- vdprintf F
- vfprintf F
- vfscanf F
- vfwprintf F
- vfwscanf F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vswprintf F
- vswscanf F
- vsyslog F
- vwprintf F
- vwscanf F
- wcstold F
- wcstold_l F
- wprintf F
- wscanf F
-GLIBC_2.5
- GLIBC_2.5 A
- __readlinkat_chk F
- inet6_opt_append F
- inet6_opt_find F
- inet6_opt_finish F
- inet6_opt_get_val F
- inet6_opt_init F
- inet6_opt_next F
- inet6_opt_set_val F
- inet6_rth_add F
- inet6_rth_getaddr F
- inet6_rth_init F
- inet6_rth_reverse F
- inet6_rth_segments F
- inet6_rth_space F
- splice F
- tee F
- vmsplice F
-GLIBC_2.6
- GLIBC_2.6 A
- __sched_cpucount F
- epoll_pwait F
- futimens F
- sched_getcpu F
- strerror_l F
- sync_file_range F
- utimensat F
-GLIBC_2.7
- GLIBC_2.7 A
- __fread_chk F
- __fread_unlocked_chk F
- __isoc99_fscanf F
- __isoc99_fwscanf F
- __isoc99_scanf F
- __isoc99_sscanf F
- __isoc99_swscanf F
- __isoc99_vfscanf F
- __isoc99_vfwscanf F
- __isoc99_vscanf F
- __isoc99_vsscanf F
- __isoc99_vswscanf F
- __isoc99_vwscanf F
- __isoc99_wscanf F
- __nldbl___isoc99_fscanf F
- __nldbl___isoc99_fwscanf F
- __nldbl___isoc99_scanf F
- __nldbl___isoc99_sscanf F
- __nldbl___isoc99_swscanf F
- __nldbl___isoc99_vfscanf F
- __nldbl___isoc99_vfwscanf F
- __nldbl___isoc99_vscanf F
- __nldbl___isoc99_vsscanf F
- __nldbl___isoc99_vswscanf F
- __nldbl___isoc99_vwscanf F
- __nldbl___isoc99_wscanf F
- __open64_2 F
- __open_2 F
- __openat64_2 F
- __openat_2 F
- __sched_cpualloc F
- __sched_cpufree F
- eventfd F
- eventfd_read F
- eventfd_write F
- mkostemp F
- mkostemp64 F
- signalfd F
-GLIBC_2.8
- GLIBC_2.8 A
- __asprintf_chk F
- __dprintf_chk F
- __nldbl___asprintf_chk F
- __nldbl___dprintf_chk F
- __nldbl___obstack_printf_chk F
- __nldbl___obstack_vprintf_chk F
- __nldbl___vasprintf_chk F
- __nldbl___vdprintf_chk F
- __obstack_printf_chk F
- __obstack_vprintf_chk F
- __vasprintf_chk F
- __vdprintf_chk F
- qsort_r F
- timerfd_create F
- timerfd_gettime F
- timerfd_settime F
-GLIBC_2.9
- GLIBC_2.9 A
- dup3 F
- epoll_create1 F
- inotify_init1 F
- pipe2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
deleted file mode 100644
index 1df145f26..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libcrypt.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- crypt F
- crypt_r F
- encrypt F
- encrypt_r F
- fcrypt F
- setkey F
- setkey_r F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist
deleted file mode 100644
index 62e6b41ed..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libdl.abilist
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- dladdr F
- dlclose F
- dlerror F
- dlopen F
- dlsym F
-GLIBC_2.1
- GLIBC_2.1 A
- dlopen F
- dlvsym F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- dladdr1 F
- dlinfo F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- dlmopen F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist
deleted file mode 100644
index 9bd593c0e..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist
+++ /dev/null
@@ -1,519 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _LIB_VERSION D 0x4
- acos F
- acosf F
- acosh F
- acoshf F
- acoshl F
- acosl F
- asin F
- asinf F
- asinh F
- asinhf F
- asinhl F
- asinl F
- atan F
- atan2 F
- atan2f F
- atan2l F
- atanf F
- atanh F
- atanhf F
- atanhl F
- atanl F
- cbrt F
- cbrtf F
- cbrtl F
- ceil F
- ceilf F
- ceill F
- copysign F
- copysignf F
- copysignl F
- cos F
- cosf F
- cosh F
- coshf F
- coshl F
- cosl F
- drem F
- dremf F
- dreml F
- erf F
- erfc F
- erfcf F
- erfcl F
- erff F
- erfl F
- exp F
- expf F
- expl F
- expm1 F
- expm1f F
- expm1l F
- fabs F
- fabsf F
- fabsl F
- finite F
- finitef F
- finitel F
- floor F
- floorf F
- floorl F
- fmod F
- fmodf F
- fmodl F
- frexp F
- frexpf F
- frexpl F
- gamma F
- gammaf F
- gammal F
- hypot F
- hypotf F
- hypotl F
- ilogb F
- ilogbf F
- ilogbl F
- j0 F
- j0f F
- j0l F
- j1 F
- j1f F
- j1l F
- jn F
- jnf F
- jnl F
- ldexp F
- ldexpf F
- ldexpl F
- lgamma F
- lgamma_r F
- lgammaf F
- lgammaf_r F
- lgammal F
- lgammal_r F
- log F
- log10 F
- log10f F
- log10l F
- log1p F
- log1pf F
- log1pl F
- logb F
- logbf F
- logbl F
- logf F
- logl F
- matherr F
- modf F
- modff F
- modfl F
- nextafter F
- nextafterf F
- nextafterl F
- pow F
- powf F
- powl F
- remainder F
- remainderf F
- remainderl F
- rint F
- rintf F
- rintl F
- scalb F
- scalbf F
- scalbl F
- scalbn F
- scalbnf F
- scalbnl F
- signgam D 0x4
- significand F
- significandf F
- significandl F
- sin F
- sinf F
- sinh F
- sinhf F
- sinhl F
- sinl F
- sqrt F
- sqrtf F
- sqrtl F
- tan F
- tanf F
- tanh F
- tanhf F
- tanhl F
- tanl F
- y0 F
- y0f F
- y0l F
- y1 F
- y1f F
- y1l F
- yn F
- ynf F
- ynl F
-GLIBC_2.1
- GLIBC_2.1 A
- __clog10 F
- __clog10f F
- __clog10l F
- __fe_dfl_env D 0x8
- __fe_enabled_env D 0x8
- __fe_nonieee_env D 0x8
- __finite F
- __finitef F
- __finitel F
- __fpclassify F
- __fpclassifyf F
- __signbit F
- __signbitf F
- cabs F
- cabsf F
- cabsl F
- cacos F
- cacosf F
- cacosh F
- cacoshf F
- cacoshl F
- cacosl F
- carg F
- cargf F
- cargl F
- casin F
- casinf F
- casinh F
- casinhf F
- casinhl F
- casinl F
- catan F
- catanf F
- catanh F
- catanhf F
- catanhl F
- catanl F
- ccos F
- ccosf F
- ccosh F
- ccoshf F
- ccoshl F
- ccosl F
- cexp F
- cexpf F
- cexpl F
- cimag F
- cimagf F
- cimagl F
- clog F
- clog10 F
- clog10f F
- clog10l F
- clogf F
- clogl F
- conj F
- conjf F
- conjl F
- cpow F
- cpowf F
- cpowl F
- cproj F
- cprojf F
- cprojl F
- creal F
- crealf F
- creall F
- csin F
- csinf F
- csinh F
- csinhf F
- csinhl F
- csinl F
- csqrt F
- csqrtf F
- csqrtl F
- ctan F
- ctanf F
- ctanh F
- ctanhf F
- ctanhl F
- ctanl F
- exp10 F
- exp10f F
- exp10l F
- exp2 F
- exp2f F
- fdim F
- fdimf F
- fdiml F
- feclearexcept F
- fegetenv F
- fegetexceptflag F
- fegetround F
- feholdexcept F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- fesetround F
- fetestexcept F
- feupdateenv F
- fma F
- fmaf F
- fmal F
- fmax F
- fmaxf F
- fmaxl F
- fmin F
- fminf F
- fminl F
- llrint F
- llrintf F
- llrintl F
- llround F
- llroundf F
- llroundl F
- log2 F
- log2f F
- log2l F
- lrint F
- lrintf F
- lrintl F
- lround F
- lroundf F
- lroundl F
- nan F
- nanf F
- nanl F
- nearbyint F
- nearbyintf F
- nearbyintl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10 F
- pow10f F
- pow10l F
- remquo F
- remquof F
- remquol F
- round F
- roundf F
- roundl F
- scalbln F
- scalblnf F
- scalblnl F
- sincos F
- sincosf F
- sincosl F
- tgamma F
- tgammaf F
- tgammal F
- trunc F
- truncf F
- truncl F
-GLIBC_2.15
- GLIBC_2.15 A
- __acos_finite F
- __acosf_finite F
- __acosh_finite F
- __acoshf_finite F
- __acoshl_finite F
- __acosl_finite F
- __asin_finite F
- __asinf_finite F
- __asinl_finite F
- __atan2_finite F
- __atan2f_finite F
- __atan2l_finite F
- __atanh_finite F
- __atanhf_finite F
- __atanhl_finite F
- __cosh_finite F
- __coshf_finite F
- __coshl_finite F
- __exp10_finite F
- __exp10f_finite F
- __exp10l_finite F
- __exp2_finite F
- __exp2f_finite F
- __exp2l_finite F
- __exp_finite F
- __expf_finite F
- __expl_finite F
- __fmod_finite F
- __fmodf_finite F
- __fmodl_finite F
- __gamma_r_finite F
- __gammaf_r_finite F
- __gammal_r_finite F
- __hypot_finite F
- __hypotf_finite F
- __hypotl_finite F
- __j0_finite F
- __j0f_finite F
- __j0l_finite F
- __j1_finite F
- __j1f_finite F
- __j1l_finite F
- __jn_finite F
- __jnf_finite F
- __jnl_finite F
- __lgamma_r_finite F
- __lgammaf_r_finite F
- __lgammal_r_finite F
- __log10_finite F
- __log10f_finite F
- __log10l_finite F
- __log2_finite F
- __log2f_finite F
- __log2l_finite F
- __log_finite F
- __logf_finite F
- __logl_finite F
- __pow_finite F
- __powf_finite F
- __powl_finite F
- __remainder_finite F
- __remainderf_finite F
- __remainderl_finite F
- __scalb_finite F
- __scalbf_finite F
- __scalbl_finite F
- __sinh_finite F
- __sinhf_finite F
- __sinhl_finite F
- __sqrt_finite F
- __sqrtf_finite F
- __sqrtl_finite F
- __y0_finite F
- __y0f_finite F
- __y0l_finite F
- __y1_finite F
- __y1f_finite F
- __y1l_finite F
- __yn_finite F
- __ynf_finite F
- __ynl_finite F
-GLIBC_2.18
- GLIBC_2.18 A
- __issignaling F
- __issignalingf F
- __issignalingl F
-GLIBC_2.2
- GLIBC_2.2 A
- feclearexcept F
- fedisableexcept F
- feenableexcept F
- fegetenv F
- fegetexcept F
- fegetexceptflag F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- feupdateenv F
-GLIBC_2.4
- GLIBC_2.4 A
- __clog10l F
- __finitel F
- __fpclassifyl F
- __nldbl_nexttowardf F
- __signbitl F
- acoshl F
- acosl F
- asinhl F
- asinl F
- atan2l F
- atanhl F
- atanl F
- cabsl F
- cacoshl F
- cacosl F
- cargl F
- casinhl F
- casinl F
- catanhl F
- catanl F
- cbrtl F
- ccoshl F
- ccosl F
- ceill F
- cexpl F
- cimagl F
- clog10l F
- clogl F
- conjl F
- copysignl F
- coshl F
- cosl F
- cpowl F
- cprojl F
- creall F
- csinhl F
- csinl F
- csqrtl F
- ctanhl F
- ctanl F
- dreml F
- erfcl F
- erfl F
- exp10l F
- exp2l F
- expl F
- expm1l F
- fabsl F
- fdiml F
- finitel F
- floorl F
- fmal F
- fmaxl F
- fminl F
- fmodl F
- frexpl F
- gammal F
- hypotl F
- ilogbl F
- j0l F
- j1l F
- jnl F
- ldexpl F
- lgammal F
- lgammal_r F
- llrintl F
- llroundl F
- log10l F
- log1pl F
- log2l F
- logbl F
- logl F
- lrintl F
- lroundl F
- modfl F
- nanl F
- nearbyintl F
- nextafterl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10l F
- powl F
- remainderl F
- remquol F
- rintl F
- roundl F
- scalbl F
- scalblnl F
- scalbnl F
- significandl F
- sincosl F
- sinhl F
- sinl F
- sqrtl F
- tanhl F
- tanl F
- tgammal F
- truncl F
- y0l F
- y1l F
- ynl F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist
deleted file mode 100644
index 4241e2d88..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libnsl.abilist
+++ /dev/null
@@ -1,127 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __yp_check F
- xdr_domainname F
- xdr_keydat F
- xdr_mapname F
- xdr_peername F
- xdr_valdat F
- xdr_yp_buf F
- xdr_ypbind_binding F
- xdr_ypbind_resp F
- xdr_ypbind_resptype F
- xdr_ypbind_setdom F
- xdr_ypdelete_args F
- xdr_ypmap_parms F
- xdr_ypmaplist F
- xdr_yppush_status F
- xdr_yppushresp_xfr F
- xdr_ypreq_key F
- xdr_ypreq_nokey F
- xdr_ypreq_xfr F
- xdr_ypresp_all F
- xdr_ypresp_key_val F
- xdr_ypresp_maplist F
- xdr_ypresp_master F
- xdr_ypresp_order F
- xdr_ypresp_val F
- xdr_ypresp_xfr F
- xdr_ypstat F
- xdr_ypupdate_args F
- xdr_ypxfrstat F
- yp_all F
- yp_bind F
- yp_first F
- yp_get_default_domain F
- yp_maplist F
- yp_master F
- yp_match F
- yp_next F
- yp_order F
- yp_unbind F
- yp_update F
- ypbinderr_string F
- yperr_string F
- ypprot_err F
-GLIBC_2.1
- GLIBC_2.1 A
- __free_fdresult F
- __nis_default_access F
- __nis_default_group F
- __nis_default_owner F
- __nis_default_ttl F
- __nis_finddirectory F
- __nis_hash F
- __nisbind_connect F
- __nisbind_create F
- __nisbind_destroy F
- __nisbind_next F
- nis_add F
- nis_add_entry F
- nis_addmember F
- nis_checkpoint F
- nis_clone_directory F
- nis_clone_object F
- nis_clone_result F
- nis_creategroup F
- nis_destroy_object F
- nis_destroygroup F
- nis_dir_cmp F
- nis_domain_of F
- nis_domain_of_r F
- nis_first_entry F
- nis_free_directory F
- nis_free_object F
- nis_free_request F
- nis_freenames F
- nis_freeresult F
- nis_freeservlist F
- nis_freetags F
- nis_getnames F
- nis_getservlist F
- nis_ismember F
- nis_leaf_of F
- nis_leaf_of_r F
- nis_lerror F
- nis_list F
- nis_local_directory F
- nis_local_group F
- nis_local_host F
- nis_local_principal F
- nis_lookup F
- nis_mkdir F
- nis_modify F
- nis_modify_entry F
- nis_name_of F
- nis_name_of_r F
- nis_next_entry F
- nis_perror F
- nis_ping F
- nis_print_directory F
- nis_print_entry F
- nis_print_group F
- nis_print_group_entry F
- nis_print_link F
- nis_print_object F
- nis_print_result F
- nis_print_rights F
- nis_print_table F
- nis_read_obj F
- nis_remove F
- nis_remove_entry F
- nis_removemember F
- nis_rmdir F
- nis_servstate F
- nis_sperrno F
- nis_sperror F
- nis_sperror_r F
- nis_stats F
- nis_verifygroup F
- nis_write_obj F
- readColdStartFile F
- writeColdStartFile F
- xdr_cback_data F
- xdr_obj_p F
-GLIBC_2.2
- GLIBC_2.2 A
- xdr_ypall F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist
deleted file mode 100644
index c8a2a0471..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libpthread.abilist
+++ /dev/null
@@ -1,277 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_flockfile F
- _IO_ftrylockfile F
- _IO_funlockfile F
- __close F
- __connect F
- __errno_location F
- __fcntl F
- __fork F
- __h_errno_location F
- __lseek F
- __open F
- __pthread_getspecific F
- __pthread_key_create F
- __pthread_mutex_destroy F
- __pthread_mutex_init F
- __pthread_mutex_lock F
- __pthread_mutex_trylock F
- __pthread_mutex_unlock F
- __pthread_mutexattr_destroy F
- __pthread_mutexattr_init F
- __pthread_mutexattr_settype F
- __pthread_once F
- __pthread_setspecific F
- __read F
- __send F
- __sigaction F
- __wait F
- __write F
- _pthread_cleanup_pop F
- _pthread_cleanup_pop_restore F
- _pthread_cleanup_push F
- _pthread_cleanup_push_defer F
- accept F
- close F
- connect F
- fcntl F
- flockfile F
- fork F
- fsync F
- ftrylockfile F
- funlockfile F
- longjmp F
- lseek F
- msync F
- nanosleep F
- open F
- pause F
- pthread_atfork F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cancel F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_create F
- pthread_detach F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_getspecific F
- pthread_join F
- pthread_key_create F
- pthread_key_delete F
- pthread_kill F
- pthread_kill_other_threads_np F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_trylock F
- pthread_mutex_unlock F
- pthread_mutexattr_destroy F
- pthread_mutexattr_getkind_np F
- pthread_mutexattr_init F
- pthread_mutexattr_setkind_np F
- pthread_once F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- pthread_setspecific F
- pthread_sigmask F
- pthread_testcancel F
- raise F
- read F
- recv F
- recvfrom F
- recvmsg F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
- send F
- sendmsg F
- sendto F
- sigaction F
- siglongjmp F
- sigwait F
- system F
- tcdrain F
- vfork F
- wait F
- waitpid F
- write F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- pthread_attr_getguardsize F
- pthread_attr_getstackaddr F
- pthread_attr_getstacksize F
- pthread_attr_init F
- pthread_attr_setguardsize F
- pthread_attr_setstackaddr F
- pthread_attr_setstacksize F
- pthread_create F
- pthread_getconcurrency F
- pthread_mutexattr_gettype F
- pthread_mutexattr_settype F
- pthread_rwlock_destroy F
- pthread_rwlock_init F
- pthread_rwlock_rdlock F
- pthread_rwlock_tryrdlock F
- pthread_rwlock_trywrlock F
- pthread_rwlock_unlock F
- pthread_rwlock_wrlock F
- pthread_rwlockattr_destroy F
- pthread_rwlockattr_getkind_np F
- pthread_rwlockattr_getpshared F
- pthread_rwlockattr_init F
- pthread_rwlockattr_setkind_np F
- pthread_rwlockattr_setpshared F
- pthread_setconcurrency F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- sem_close F
- sem_open F
- sem_unlink F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
-GLIBC_2.11
- GLIBC_2.11 A
- pthread_sigqueue F
-GLIBC_2.12
- GLIBC_2.12 A
- pthread_getname_np F
- pthread_mutex_consistent F
- pthread_mutexattr_getrobust F
- pthread_mutexattr_setrobust F
- pthread_setname_np F
-GLIBC_2.18
- GLIBC_2.18 A
- pthread_getattr_default_np F
- pthread_setattr_default_np F
-GLIBC_2.2
- GLIBC_2.2 A
- __open64 F
- __pread64 F
- __pthread_rwlock_destroy F
- __pthread_rwlock_init F
- __pthread_rwlock_rdlock F
- __pthread_rwlock_tryrdlock F
- __pthread_rwlock_trywrlock F
- __pthread_rwlock_unlock F
- __pthread_rwlock_wrlock F
- __pwrite64 F
- __res_state F
- lseek64 F
- open64 F
- pread F
- pread64 F
- pthread_attr_getstack F
- pthread_attr_setstack F
- pthread_barrier_destroy F
- pthread_barrier_init F
- pthread_barrier_wait F
- pthread_barrierattr_destroy F
- pthread_barrierattr_init F
- pthread_barrierattr_setpshared F
- pthread_condattr_getpshared F
- pthread_condattr_setpshared F
- pthread_getcpuclockid F
- pthread_mutex_timedlock F
- pthread_mutexattr_getpshared F
- pthread_mutexattr_setpshared F
- pthread_rwlock_timedrdlock F
- pthread_rwlock_timedwrlock F
- pthread_spin_destroy F
- pthread_spin_init F
- pthread_spin_lock F
- pthread_spin_trylock F
- pthread_spin_unlock F
- pthread_yield F
- pwrite F
- pwrite64 F
- sem_timedwait F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- pthread_getattr_np F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- __pthread_cleanup_routine F
- __pthread_register_cancel F
- __pthread_register_cancel_defer F
- __pthread_unregister_cancel F
- __pthread_unregister_cancel_restore F
- __pthread_unwind_next F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_barrierattr_getpshared F
- pthread_condattr_getclock F
- pthread_condattr_setclock F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_timedjoin_np F
- pthread_tryjoin_np F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- longjmp F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_setschedprio F
- siglongjmp F
-GLIBC_2.4
- GLIBC_2.4 A
- pthread_mutex_consistent_np F
- pthread_mutex_getprioceiling F
- pthread_mutex_setprioceiling F
- pthread_mutexattr_getprioceiling F
- pthread_mutexattr_getprotocol F
- pthread_mutexattr_getrobust_np F
- pthread_mutexattr_setprioceiling F
- pthread_mutexattr_setprotocol F
- pthread_mutexattr_setrobust_np F
-GLIBC_2.6
- GLIBC_2.6 A
- pthread_attr_setstack F
- pthread_attr_setstacksize F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist
deleted file mode 100644
index f68333d4a..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libresolv.abilist
+++ /dev/null
@@ -1,104 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __b64_ntop F
- __b64_pton F
- __dn_comp F
- __dn_count_labels F
- __dn_skipname F
- __fp_nquery F
- __fp_query F
- __fp_resstat F
- __hostalias F
- __loc_aton F
- __loc_ntoa F
- __p_cdname F
- __p_cdnname F
- __p_class F
- __p_class_syms D 0x54
- __p_fqname F
- __p_fqnname F
- __p_option F
- __p_query F
- __p_secstodate F
- __p_time F
- __p_type F
- __p_type_syms D 0x228
- __putlong F
- __putshort F
- __res_close F
- __res_dnok F
- __res_hnok F
- __res_isourserver F
- __res_mailok F
- __res_nameinquery F
- __res_ownok F
- __res_queriesmatch F
- __res_send F
- __sym_ntop F
- __sym_ntos F
- __sym_ston F
- _gethtbyaddr F
- _gethtbyname F
- _gethtbyname2 F
- _gethtent F
- _getlong F
- _getshort F
- _res_opcodes D 0x40
- _sethtent F
- dn_expand F
- inet_net_ntop F
- inet_net_pton F
- inet_neta F
- res_gethostbyaddr F
- res_gethostbyname F
- res_gethostbyname2 F
- res_mkquery F
- res_query F
- res_querydomain F
- res_search F
- res_send_setqhook F
- res_send_setrhook F
-GLIBC_2.2
- GLIBC_2.2 A
- __dn_expand F
- __res_hostalias F
- __res_mkquery F
- __res_nmkquery F
- __res_nquery F
- __res_nquerydomain F
- __res_nsearch F
- __res_nsend F
- __res_query F
- __res_querydomain F
- __res_search F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __p_rcode F
-GLIBC_2.9
- GLIBC_2.9 A
- ns_datetosecs F
- ns_format_ttl F
- ns_get16 F
- ns_get32 F
- ns_initparse F
- ns_makecanon F
- ns_msg_getflag F
- ns_name_compress F
- ns_name_ntol F
- ns_name_ntop F
- ns_name_pack F
- ns_name_pton F
- ns_name_rollback F
- ns_name_skip F
- ns_name_uncompress F
- ns_name_unpack F
- ns_parse_ttl F
- ns_parserr F
- ns_put16 F
- ns_put32 F
- ns_samedomain F
- ns_samename F
- ns_skiprr F
- ns_sprintrr F
- ns_sprintrrf F
- ns_subdomain F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist
deleted file mode 100644
index af7df27cb..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/librt.abilist
+++ /dev/null
@@ -1,52 +0,0 @@
-GLIBC_2.1
- GLIBC_2.1 A
- aio_cancel F
- aio_cancel64 F
- aio_error F
- aio_error64 F
- aio_fsync F
- aio_fsync64 F
- aio_init F
- aio_read F
- aio_read64 F
- aio_return F
- aio_return64 F
- aio_suspend F
- aio_suspend64 F
- aio_write F
- aio_write64 F
- lio_listio F
- lio_listio64 F
-GLIBC_2.2
- GLIBC_2.2 A
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- shm_open F
- shm_unlink F
- timer_create F
- timer_delete F
- timer_getoverrun F
- timer_gettime F
- timer_settime F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- mq_close F
- mq_getattr F
- mq_notify F
- mq_open F
- mq_receive F
- mq_send F
- mq_setattr F
- mq_timedreceive F
- mq_timedsend F
- mq_unlink F
-GLIBC_2.4
- GLIBC_2.4 A
- lio_listio F
- lio_listio64 F
-GLIBC_2.7
- GLIBC_2.7 A
- __mq_open_2 F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist
deleted file mode 100644
index f33138067..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libthread_db.abilist
+++ /dev/null
@@ -1,48 +0,0 @@
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- td_init F
- td_log F
- td_ta_clear_event F
- td_ta_delete F
- td_ta_enable_stats F
- td_ta_event_addr F
- td_ta_event_getmsg F
- td_ta_get_nthreads F
- td_ta_get_ph F
- td_ta_get_stats F
- td_ta_map_id2thr F
- td_ta_map_lwp2thr F
- td_ta_new F
- td_ta_reset_stats F
- td_ta_set_event F
- td_ta_setconcurrency F
- td_ta_thr_iter F
- td_ta_tsd_iter F
- td_thr_clear_event F
- td_thr_dbresume F
- td_thr_dbsuspend F
- td_thr_event_enable F
- td_thr_event_getmsg F
- td_thr_get_info F
- td_thr_getfpregs F
- td_thr_getgregs F
- td_thr_getxregs F
- td_thr_getxregsize F
- td_thr_set_event F
- td_thr_setfpregs F
- td_thr_setgregs F
- td_thr_setprio F
- td_thr_setsigpending F
- td_thr_setxregs F
- td_thr_sigsetmask F
- td_thr_tsd F
- td_thr_validate F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- td_symbol_list F
-GLIBC_2.3
- GLIBC_2.3 A
- td_thr_tls_get_addr F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- td_thr_tlsbase F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist
deleted file mode 100644
index 7422687e3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libutil.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- forkpty F
- login F
- login_tty F
- logout F
- logwtmp F
- openpty F
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data
deleted file mode 100644
index 0743b08a3..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/localplt.data
+++ /dev/null
@@ -1,41 +0,0 @@
-libc.so: _Unwind_Find_FDE
-libc.so: __adddf3 ?
-libc.so: __addsf3 ?
-libc.so: __divdf3 ?
-libc.so: __divsf3 ?
-libc.so: __eqdf2 ?
-libc.so: __eqsf2 ?
-libc.so: __extendsfdf2 ?
-libc.so: __fixdfsi ?
-libc.so: __fixsfsi ?
-libc.so: __fixunsdfsi ?
-libc.so: __floatsidf ?
-libc.so: __floatsisf ?
-libc.so: __floatunsidf ?
-libc.so: __floatunsisf ?
-libc.so: __gedf2 ?
-libc.so: __gtdf2 ?
-libc.so: __ledf2 ?
-libc.so: __ltdf2 ?
-libc.so: __muldf3 ?
-libc.so: __mulsf3 ?
-libc.so: __nedf2 ?
-libc.so: __signbit
-libc.so: __signbitl
-libc.so: __subdf3 ?
-libc.so: __subsf3 ?
-libc.so: __truncdfsf2 ?
-libc.so: __unorddf2 ?
-libc.so: abort ?
-libc.so: calloc
-libc.so: free
-libc.so: malloc
-libc.so: memalign
-libc.so: realloc
-libm.so: __signbit
-libm.so: __signbitf
-libm.so: __signbitl
-libm.so: copysignl
-libm.so: fabsl
-libm.so: fegetround
-libm.so: matherr
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
deleted file mode 100644
index 06061eab9..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Jump to a new context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __setcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-
-#include "setcontext-common.S"
-
-versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__setcontext, __novec_setcontext)
-
-compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__setcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__setcontext_stub)
- .previous
-
-compat_symbol (libc, __setcontext_stub, setcontext, GLIBC_2_0)
-
-#endif
diff --git a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S b/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
deleted file mode 100644
index 2150eec3c..000000000
--- a/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Save current context and jump to a new context.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <rtld-global-offsets.h>
-#include <shlib-compat.h>
-
-#define __ASSEMBLY__
-#include <asm/ptrace.h>
-#include "ucontext_i.h"
-
-#define __CONTEXT_FUNC_NAME __swapcontext
-#undef __CONTEXT_ENABLE_FPRS
-#undef __CONTEXT_ENABLE_VRS
-
-# include "swapcontext-common.S"
-
-versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4)
-
-#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
-
-/* For the nofpu case the old/new versions are the same function. */
-strong_alias (__swapcontext, __novec_swapcontext)
-
-compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3)
-
-#endif
-
-#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3)
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- compat_text_section
-ENTRY (__swapcontext_stub)
- li r3,ENOSYS
- b __syscall_error@local
-END (__swapcontext_stub)
- .previous
-
-compat_symbol (libc, __swapcontext_stub, swapcontext, GLIBC_2_1)
-
-#endif