Import openlibm_0.6.0+dfsg-2.debian.tar.xz
authorGraham Inggs <ginggs@debian.org>
Thu, 8 Nov 2018 12:37:11 +0000 (12:37 +0000)
committerGraham Inggs <ginggs@debian.org>
Thu, 8 Nov 2018 12:37:11 +0000 (12:37 +0000)
[dgit import tarball openlibm 0.6.0+dfsg-2 openlibm_0.6.0+dfsg-2.debian.tar.xz]

16 files changed:
README.Debian [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
libopenlibm-dev.install [new file with mode: 0755]
libopenlibm2.install [new file with mode: 0755]
libopenlibm2.symbols [new file with mode: 0644]
patches/add-s390x-support.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/control [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..4d6c753
--- /dev/null
@@ -0,0 +1,40 @@
+Performance Comparison to system libm
+=====================================
+
+Upstream source ships a simple benchmarker. To compile and use it, just
+
+  $ cd tests
+  $ make bench
+  $ ./bench-openlibm
+  $ ./bench-syslibm
+
+Here is a sample result (CPU=Intel I5-7440HQ, 4C4T @ 2.8~3.8GHz)
+(MPS: the larger the better)
+
+  ./bench-syslibm 
+    pow     :  19.0415 MPS
+    hypot   :  82.4286 MPS
+    exp     :  83.2189 MPS
+    log     :  57.1461 MPS
+    log10   :  44.8768 MPS
+    sin     :  94.7686 MPS
+    cos     :  84.7915 MPS
+    tan     :  71.1836 MPS
+    asin    :  81.8074 MPS
+    acos    :  90.3702 MPS
+    atan    :  70.2736 MPS
+    atan2   :  36.8241 MPS
+
+  ./bench-openlibm 
+    pow     :  13.0814 MPS
+    hypot   :  60.3638 MPS
+    exp     :  116.1055 MPS
+    log     :  95.2774 MPS
+    log10   :  77.2413 MPS
+    sin     :  120.9996 MPS
+    cos     :  124.5636 MPS
+    tan     :  71.5262 MPS
+    asin    :  38.2661 MPS
+    acos    :  41.3668 MPS
+    atan    :  88.0274 MPS
+    atan2   :  43.3577 MPS
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..a4a2c85
--- /dev/null
+++ b/changelog
@@ -0,0 +1,164 @@
+openlibm (0.6.0+dfsg-2) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Fix FTCBFS: make install needs to know CC (Closes: #912683)
+
+  [ Graham Inggs ]
+  * Add support for s390x, thanks Dan Horák
+  * Bump Standards-Version to 4.2.1, no changes
+
+ -- Graham Inggs <ginggs@debian.org>  Thu, 08 Nov 2018 12:37:11 +0000
+
+openlibm (0.6.0+dfsg-1) unstable; urgency=medium
+
+  [ Peter Colberg ]
+  * Update Vcs-* fields for move to salsa.debian.org
+
+  [ Mo Zhou ]
+  * New upstream version 0.6.0+dfsg
+  * README.Debian: Add note about benchmarking
+  * Remove all the patches:
+    - Remove fix-missing-buildflags.patch, merged by upstream.
+    - Remove kfreebsd-hurd-tests.patch, fixed upstream.
+    - Remove fix-armhf-fp-status-register.patch, merged upstream.
+    - Remove add-mips-support.patch, merged upstream.
+  * Refresh copyright for upstream 0.6.0 release.
+  * Add myself to Uploaders.
+  * Upstream moved from JuliaLang to JuliaMath.
+    + Update control, watch, and copyright accordingly.
+  * Bump Standards Version to 4.1.4 .
+    + Fix insecure-copyright-format-uri. (3.9.8 -> 4.0.0)
+  * Bump debhelper compat level to 11.
+    - Remove --parallel flag in favor of debhelper compat 11.
+  * tests: Add autopkgtest control file.
+  * Refresh symbols control file for arm64.
+
+ -- Mo Zhou <cdluminate@gmail.com>  Thu, 21 Jun 2018 09:01:29 +0000
+
+openlibm (0.5.4+dfsg-3) unstable; urgency=medium
+
+  * Add support for mips architectures,
+    thanks Radovan Birdic (Closes: #852441)
+
+ -- Graham Inggs <ginggs@debian.org>  Tue, 24 Jan 2017 20:26:37 +0200
+
+openlibm (0.5.4+dfsg-2) unstable; urgency=medium
+
+  * Fix armhf floating-point status register, thanks Elliot Saba
+  * Update Forwarded status in fix-missing-buildflags.patch
+  * Mark libopenlibm-dev Multi-Arch: same, as per MultiArch hinter
+  * Update debian/copyright
+
+ -- Graham Inggs <ginggs@debian.org>  Wed, 18 Jan 2017 20:25:14 +0200
+
+openlibm (0.5.4+dfsg-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Peter Colberg <peter@colberg.org>  Sun, 18 Sep 2016 23:15:36 -0400
+
+openlibm (0.5.3+dfsg-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Peter Colberg <peter@colberg.org>  Fri, 12 Aug 2016 00:04:11 -0400
+
+openlibm (0.5.2+dfsg-1) unstable; urgency=medium
+
+  * New upstream release
+  * Drop fix-inline-of-fpgetprec-on-i386.patch, applied upstream
+  * Add debian/gbp.conf for pristine-tar
+
+ -- Peter Colberg <peter@colberg.org>  Sat, 06 Aug 2016 23:06:47 -0400
+
+openlibm (0.5.1+dfsg-1) unstable; urgency=medium
+
+  [ Peter Colberg ]
+  * New upstream release (Closes: #803206)
+  * Enable parallel build
+  * Enable bindnow hardening flag
+  * Bump Standards-Version to 3.9.8, no further changes
+  * Add myself to Uploaders
+  * Add repacksuffix to debian/watch
+  * Fix FTBFS on i386 due to missing inline of __fpgetprec
+
+  [ Graham Inggs ]
+  * Add arm64 symbols to debian/libopenlibm2.symbols
+
+ -- Peter Colberg <peter@colberg.org>  Wed, 22 Jun 2016 16:42:34 -0400
+
+openlibm (0.5.0+dfsg-2) unstable; urgency=medium
+
+  * Update debian/libopenlibm2.symbols, add ppc64 and i386.
+  * Fix building tests on GNU/kFreeBSD and GNU/Hurd.
+  * Fix missing buildflags, enable optimization again for *int.c and *intf.c.
+
+ -- Graham Inggs <ginggs@debian.org>  Wed, 06 Apr 2016 22:32:26 +0200
+
+openlibm (0.5.0+dfsg-1) unstable; urgency=medium
+
+  [ Sébastien Villemot ]
+  * Remove Sébastien Villemot from Uploaders.
+
+  [ Graham Inggs ]
+  * New upstream release
+    - PowerPC support (Closes: #818173)
+  * Drop all patches included upstream.
+  * Update debian/rules, tests now run in dh_auto_test.
+  * Update debian/libopenlibm2.symbols, add armhf, powerpc and ppc64el.
+  * Use secure URIs for VCS fields.
+  * Bump Standards-Version to 3.9.7, no further changes.
+  * Update debian/copyright.
+
+ -- Graham Inggs <ginggs@debian.org>  Tue, 29 Mar 2016 17:37:11 +0200
+
+openlibm (0.4.1+dfsg-4) unstable; urgency=medium
+
+  * Fix unresolved symbol __fpgetprec in libopenlibm.so.1.0 on i386.
+  * Do not explicitly link libm to work around issue with
+    'ld ... invalid version 26898 (max 0)' in some julia i386 builds.
+
+ -- Graham Inggs <ginggs@debian.org>  Fri, 13 Nov 2015 12:54:29 +0200
+
+openlibm (0.4.1+dfsg-3) unstable; urgency=medium
+
+  * Build on GNU/kFreeBSD and GNU/Hurd.
+  * Update debian/libopenlibm1.symbols.
+
+ -- Graham Inggs <ginggs@debian.org>  Tue, 27 Oct 2015 11:14:31 +0200
+
+openlibm (0.4.1+dfsg-2) unstable; urgency=medium
+
+  * Add myself to uploaders.
+  * Build everywhere.
+  * Fix missing buildflags.
+  * Explicitly link libm to fix underlinking.
+
+ -- Graham Inggs <ginggs@debian.org>  Mon, 26 Oct 2015 05:47:15 +0200
+
+openlibm (0.4.1+dfsg-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.4.1+dfsg
+  * Fix debian/watch for dfsg suffix mangling.
+  * d/p/test-tolerance.patch: drop patch, applied upstream.
+  * Bump Standards-Version to 3.9.6, no changes needed.
+
+ -- Sébastien Villemot <sebastien@debian.org>  Thu, 30 Apr 2015 14:54:22 +0200
+
+openlibm (0.4+dfsg-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.4+dfsg
+  * fix-soname.patch, i386.patch: remove patches, applied upstream.
+  * Bump SONAME, shared lib package now libopenlibm1.
+  * Ship pkg-config file.
+  * No longer mark libopenlibm-dev as M-A:same. (Closes: #755213)
+  * Execute tests at build time.
+    Two new patches needed: test-tolerance.patch, exp-fpstack.patch.
+
+ -- Sébastien Villemot <sebastien@debian.org>  Tue, 29 Jul 2014 10:30:03 +0000
+
+openlibm (0.3+dfsg-1) unstable; urgency=medium
+
+  * Initial release. (Closes: #751378)
+
+ -- Sébastien Villemot <sebastien@debian.org>  Sun, 06 Jul 2014 14:22:14 +0200
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..b6a318f
--- /dev/null
+++ b/clean
@@ -0,0 +1,3 @@
+test/test-double
+test/test-float
+openlibm.pc
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..b4de394
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+11
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..9c21b13
--- /dev/null
+++ b/control
@@ -0,0 +1,45 @@
+Source: openlibm
+Priority: optional
+Maintainer: Debian Julia Team <pkg-julia-devel@lists.alioth.debian.org>
+Uploaders: Graham Inggs <ginggs@debian.org>,
+           Peter Colberg <peter@colberg.org>,
+           Mo Zhou <cdluminate@gmail.com>,
+Build-Depends: debhelper (>= 11), dh-exec
+Standards-Version: 4.2.1
+Section: libs
+Homepage: https://github.com/JuliaMath/openlibm
+Vcs-Git: https://salsa.debian.org/julia-team/openlibm.git
+Vcs-Browser: https://salsa.debian.org/julia-team/openlibm
+
+Package: libopenlibm2
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: standalone implementation of C mathematical functions (shared library)
+ OpenLibm is an effort to have a high quality, portable, standalone libm
+ implementation, under a liberal free software license. It can be used
+ standalone in applications and programming language implementations.
+ .
+ The project was born out of a need to have a good libm for the Julia
+ programming language that worked consistently across compilers and operating
+ systems, and in 32-bit and 64-bit environments.
+ .
+ This package contains a shared version of the library.
+
+Package: libopenlibm-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: libopenlibm2 (= ${binary:Version}), ${misc:Depends}
+Description: standalone implementation of C mathematical functions (development files)
+ OpenLibm is an effort to have a high quality, portable, standalone libm
+ implementation, under a liberal free software license. It can be used
+ standalone in applications and programming language implementations.
+ .
+ The project was born out of a need to have a good libm for the Julia
+ programming language that worked consistently across compilers and operating
+ systems, and in 32-bit and 64-bit environments.
+ .
+ This package contains the development files needed to compile software using
+ openlibm.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..4dd2bdc
--- /dev/null
+++ b/copyright
@@ -0,0 +1,563 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Openlibm
+Upstream-Contact: julia-dev@googlegroups.com
+Source: https://github.com/JuliaMath/openlibm
+Files-Excluded: i387/osx_asm.h
+
+Files: *
+Copyright: 2011-2016 Viral B. Shah, Keno Fischer, Jameson Nash,
+           https://github.com/JuliaMath/openlibm/graphs/contributors
+License: Expat
+
+Files: amd64/e_remainder.S
+       amd64/e_remainderf.S
+       amd64/e_remainderl.S
+       amd64/s_logbl.S
+       amd64/s_remquo.S
+       amd64/s_remquof.S
+       amd64/s_remquol.S
+       amd64/s_rintl.S
+       amd64/s_scalbnl.S
+       i387/e_exp.S
+       i387/e_fmod.S
+       i387/e_log.S
+       i387/e_log10.S
+       i387/e_log10f.S
+       i387/e_logf.S
+       i387/e_remainder.S
+       i387/e_remainderf.S
+       i387/e_remainderl.S
+       i387/e_sqrt.S
+       i387/e_sqrtf.S
+       i387/e_sqrtl.S
+       i387/s_ceil.S
+       i387/s_ceilf.S
+       i387/s_ceill.S
+       i387/s_copysign.S
+       i387/s_copysignf.S
+       i387/s_copysignl.S
+       i387/s_cos.S
+       i387/s_floor.S
+       i387/s_floorf.S
+       i387/s_floorl.S
+       i387/s_logb.S
+       i387/s_logbf.S
+       i387/s_logbl.S
+       i387/s_remquo.S
+       i387/s_remquof.S
+       i387/s_remquol.S
+       i387/s_rint.S
+       i387/s_rintf.S
+       i387/s_rintl.S
+       i387/s_scalbn.S
+       i387/s_scalbnf.S
+       i387/s_scalbnl.S
+       i387/s_sin.S
+       i387/s_tan.S
+       i387/s_trunc.S
+       i387/s_truncf.S
+       i387/s_truncl.S
+       src/w_cabs.c
+       src/w_cabsf.c
+       src/w_cabsl.c
+Copyright: none
+License: public-domain
+ Based on code written by J.T. Conklin <jtc@netbsd.org>
+
+Files: include/openlibm_math.h
+       ld128/s_remquol.c
+       ld128/s_tanhl.c
+       ld128/s_truncl.c
+       ld128/e_rem_pio2l.h
+       ld128/e_acoshl.c
+       ld128/k_tanl.c
+       ld128/s_nexttowardf.c
+       ld128/k_sinl.c
+       ld128/e_coshl.c
+       ld128/e_fmodl.c
+       ld128/e_powl.c
+       ld128/s_nexttoward.c
+       ld128/s_erfl.c
+       ld128/s_asinhl.c
+       ld128/e_hypotl.c
+       ld128/s_ceill.c
+       ld128/k_cosl.c
+       ld128/s_nextafterl.c
+       ld128/s_floorl.c
+       ld128/s_modfl.c
+       ld128/e_atanhl.c
+       ld128/e_sinhl.c
+       ld80/s_remquol.c
+       ld80/s_tanhl.c
+       ld80/s_truncl.c
+       ld80/e_rem_pio2l.h
+       ld80/e_acoshl.c
+       ld80/k_tanl.c
+       ld80/s_nexttowardf.c
+       ld80/k_sinl.c
+       ld80/e_coshl.c
+       ld80/e_fmodl.c
+       ld80/s_nexttoward.c
+       ld80/s_erfl.c
+       ld80/e_lgammal_r.c
+       ld80/s_asinhl.c
+       ld80/e_hypotl.c
+       ld80/s_ceill.c
+       ld80/k_cosl.c
+       ld80/s_nextafterl.c
+       ld80/s_floorl.c
+       ld80/s_modfl.c
+       ld80/e_atanhl.c
+       ld80/e_sinhl.c
+       src/k_logf.h
+       src/k_rem_pio2.c
+       src/s_remquol.c
+       src/e_sinh.c
+       src/s_ilogb.c
+       src/e_lgamma_r.c
+       src/e_exp.c
+       src/e_expf.c
+       src/s_tanhf.c
+       src/s_remquo.c
+       src/s_log1p.c
+       src/e_acosl.c
+       src/s_modf.c
+       src/s_logb.c
+       src/e_coshf.c
+       src/e_log10f.c
+       src/s_logbl.c
+       src/s_truncl.c
+       src/k_log.h
+       src/s_ceil.c
+       src/s_atanf.c
+       src/s_frexpf.c
+       src/s_frexp.c
+       src/s_erf.c
+       src/s_floorf.c
+       src/s_atanl.c
+       src/e_cosh.c
+       src/s_scalbnf.c
+       src/k_tanf.c
+       src/e_remainderf.c
+       src/s_nextafter.c
+       src/e_fmodf.c
+       src/e_j0.c
+       src/s_floor.c
+       src/s_tanf.c
+       src/e_sinhf.c
+       src/e_jn.c
+       src/s_rintf.c
+       src/s_ilogbl.c
+       src/math_private_openbsd.h
+       src/s_nexttowardf.c
+       src/s_tan.c
+       src/e_atan2f.c
+       src/s_truncf.c
+       src/s_copysign.c
+       src/s_fabs.c
+       src/s_expm1f.c
+       src/s_log1pf.c
+       src/e_asin.c
+       src/e_pow.c
+       src/s_cbrtl.c
+       src/e_logf.c
+       src/e_j1.c
+       src/s_scalbnl.c
+       src/e_lgammaf.c
+       src/s_cbrtf.c
+       src/e_hypotf.c
+       src/e_asinl.c
+       src/e_log2.c
+       src/s_fabsf.c
+       src/e_log2f.c
+       src/s_sinf.c
+       src/e_hypot.c
+       src/e_lgammaf_r.c
+       src/e_asinf.c
+       src/e_log10.c
+       src/s_cbrt.c
+       src/s_cosf.c
+       src/s_asinh.c
+       src/s_sincosl.c
+       src/s_remquof.c
+       src/math_private.h
+       src/e_fmodl.c
+       src/s_expm1.c
+       src/s_rint.c
+       src/k_sin.c
+       src/s_trunc.c
+       src/s_nexttoward.c
+       src/s_asinhf.c
+       src/s_logbf.c
+       src/s_atan.c
+       src/s_sin.c
+       src/s_sincos.c
+       src/s_modff.c
+       src/e_acosh.c
+       src/e_hypotl.c
+       src/s_ceill.c
+       src/e_sqrtf.c
+       src/e_j1f.c
+       src/k_sinf.c
+       src/e_atan2l.c
+       src/e_powf.c
+       src/s_erff.c
+       src/e_sqrt.c
+       src/e_atanhf.c
+       src/s_cos.c
+       src/e_fmod.c
+       src/s_ceilf.c
+       src/e_acoshf.c
+       src/e_rem_pio2.c
+       src/e_atan2.c
+       src/e_acos.c
+       src/e_rem_pio2f.c
+       src/k_cos.c
+       src/s_scalbn.c
+       src/s_nextafterl.c
+       src/e_jnf.c
+       src/s_copysignf.c
+       src/s_floorl.c
+       src/e_log.c
+       src/s_modfl.c
+       src/k_cosf.c
+       src/k_tan.c
+       src/s_nextafterf.c
+       src/s_ilogbf.c
+       src/s_tanh.c
+       src/e_lgamma.c
+       src/e_j0f.c
+       src/s_sincosf.c
+       src/e_acosf.c
+       src/e_remainder.c
+       src/e_atanh.c
+Copyright: 1993, 2004 Sun Microsystems, Inc.
+           2008-2011 Steven G. Kargl, David Schultz, Bruce D. Evans
+           2013 Elliot Saba
+License: permissive
+ Permission to use, copy, modify, and distribute this
+ software is freely granted, provided that this notice
+ is preserved.
+
+Files: amd64/e_sqrt.S
+       amd64/e_sqrtf.S
+       amd64/e_sqrtl.S
+       amd64/fenv.c
+       amd64/s_llrintl.S
+       amd64/s_lrint.S
+       amd64/s_lrintf.S
+       amd64/s_lrintl.S
+       amd64/s_remquo.S
+       amd64/s_remquof.S
+       amd64/s_remquol.S
+       amd64/s_scalbn.S
+       amd64/s_scalbnf.S
+       arm/fenv.c
+       i387/fenv.c
+       i387/invtrig.c
+       i387/s_llrint.S
+       i387/s_llrintf.S
+       i387/s_llrintl.S
+       i387/s_lrint.S
+       i387/s_lrintf.S
+       i387/s_lrintl.S
+       i387/s_remquo.S
+       i387/s_remquof.S
+       i387/s_remquol.S
+       include/openlibm_fenv_amd64.h
+       include/openlibm_fenv_arm.h
+       include/openlibm_fenv_i387.h
+       include/openlibm_fenv_powerpc.h
+       ld128/invtrig.c
+       ld128/invtrig.h
+       ld128/s_exp2l.c
+       ld128/s_nanl.c
+       ld80/invtrig.c
+       ld80/invtrig.h
+       ld80/s_exp2l.c
+       ld80/s_nanl.c
+       powerpc/fenv.c
+       src/aarch64_fpmath.h
+       src/amd64_fpmath.h
+       src/e_remainderl.c
+       src/e_sqrtl.c
+       src/fpmath.h
+       src/i386_fpmath.h
+       src/k_exp.c
+       src/k_expf.c
+       src/powerpc_fpmath.h
+       src/s_carg.c
+       src/s_cargf.c
+       src/s_cargl.c
+       src/s_ccosh.c
+       src/s_ccoshf.c
+       src/s_cexp.c
+       src/s_cexpf.c
+       src/s_cimag.c
+       src/s_cimagf.c
+       src/s_cimagl.c
+       src/s_conj.c
+       src/s_conjf.c
+       src/s_conjl.c
+       src/s_copysignl.c
+       src/s_cosl.c
+       src/s_cproj.c
+       src/s_cprojf.c
+       src/s_cprojl.c
+       src/s_creal.c
+       src/s_crealf.c
+       src/s_creall.c
+       src/s_csinh.c
+       src/s_csinhf.c
+       src/s_csqrt.c
+       src/s_csqrtf.c
+       src/s_csqrtl.c
+       src/s_ctanh.c
+       src/s_ctanhf.c
+       src/s_exp2.c
+       src/s_exp2f.c
+       src/s_fabsl.c
+       src/s_fdim.c
+       src/s_fma.c
+       src/s_fmaf.c
+       src/s_fmal.c
+       src/s_fmax.c
+       src/s_fmaxf.c
+       src/s_fmaxl.c
+       src/s_fmin.c
+       src/s_fminf.c
+       src/s_fminl.c
+       src/s_fpclassify.c
+       src/s_frexpl.c
+       src/s_isfinite.c
+       src/s_isinf.c
+       src/s_isnan.c
+       src/s_isnormal.c
+       src/s_lrint.c
+       src/s_lround.c
+       src/s_modfl.c
+       src/s_nan.c
+       src/s_nearbyint.c
+       src/s_rintl.c
+       src/s_round.c
+       src/s_roundf.c
+       src/s_roundl.c
+       src/s_scalbln.c
+       src/s_signbit.c
+       src/s_sinl.c
+       src/s_tanl.c
+       src/s_tgammaf.c
+Copyright: 2002-2008, 2011 David Schultz <das@FreeBSD.ORG>
+           2004 Stefan Farfeleder
+           2003, 2005, 2007 Steven G. Kargl
+           2005 Bruce D. Evans
+           2003 Mike Barcroft <mike@FreeBSD.org>
+           1993 Sun Microsystems, Inc.
+License: BSD-2-clause
+
+Files: amd64/bsd_asm.h
+       amd64/bsd_fpu.h
+       amd64/bsd_ieeefp.h
+       bsdsrc/b_exp.c
+       bsdsrc/b_log.c
+       bsdsrc/b_tgamma.c
+       bsdsrc/mathimpl.h
+       i387/bsd_asm.h
+       i387/bsd_ieeefp.h
+       i387/bsd_npx.h
+       src/bsd_cdefs.h
+Copyright: 1985, 1988, 1990-1993 The Regents of the University of California
+           2003 Dag-Erling Coïdan Smørgrav
+           1990 Andrew Moore, Talke Studio
+           2003 Peter Wemm
+License: BSD-3-clause
+
+Files: test/libm-test.c
+       test/test-double.c
+       test/test-float.c
+Copyright: 1997-2001 Free Software Foundation, Inc
+License: LGPL-2.1+
+
+Files: test/libm-bench.cpp
+Copyright: 2014 Dahua Lin
+License: Expat
+
+Files: include/openlibm_complex.h
+       ld128/e_coshl.c
+       ld128/e_expl.c
+       ld128/e_lgammal_r.c
+       ld128/e_log10l.c
+       ld128/e_log2l.c
+       ld128/e_logl.c
+       ld128/e_powl.c
+       ld128/e_sinhl.c
+       ld128/e_tgammal.c
+       ld128/s_erfl.c
+       ld128/s_expm1l.c
+       ld128/s_log1pl.c
+       ld128/s_tanhl.c
+       ld80/e_expl.c
+       ld80/e_lgammal_r.c
+       ld80/e_log10l.c
+       ld80/e_log2l.c
+       ld80/e_logl.c
+       ld80/e_powl.c
+       ld80/e_tgammal.c
+       ld80/s_erfl.c
+       ld80/s_expm1l.c
+       ld80/s_log1pl.c
+       src/polevll.c
+       src/s_cabs.c
+       src/s_cabsf.c
+       src/s_cabsl.c
+       src/s_cacos.c
+       src/s_cacosf.c
+       src/s_cacosh.c
+       src/s_cacoshf.c
+       src/s_cacoshl.c
+       src/s_cacosl.c
+       src/s_casin.c
+       src/s_casinf.c
+       src/s_casinh.c
+       src/s_casinhf.c
+       src/s_casinhl.c
+       src/s_casinl.c
+       src/s_catan.c
+       src/s_catanf.c
+       src/s_catanh.c
+       src/s_catanhf.c
+       src/s_catanhl.c
+       src/s_catanl.c
+       src/s_ccos.c
+       src/s_ccosf.c
+       src/s_ccoshl.c
+       src/s_ccosl.c
+       src/s_cexpl.c
+       src/s_clog.c
+       src/s_clogf.c
+       src/s_clogl.c
+       src/s_cpow.c
+       src/s_cpowf.c
+       src/s_cpowl.c
+       src/s_csin.c
+       src/s_csinf.c
+       src/s_csinhl.c
+       src/s_csinl.c
+       src/s_ctan.c
+       src/s_ctanf.c
+       src/s_ctanhl.c
+       src/s_ctanl.c
+Copyright: 2008 Stephen L. Moshier <steve@moshier.net>
+License: ISC
+
+Files: aarch64/fenv.c
+       include/openlibm_fenv_mips.h
+       mips/fenv-softfloat.h
+       mips/fenv.c
+       src/mips_fpmath.h
+Copyright: 2004-2011 David Schultz <das@FreeBSD.ORG>
+License: BSD-2-clause
+
+Files: debian/*
+Copyright: 2014-2015 Sébastien Villemot <sebastien@debian.org>
+           2015-2017 Graham Inggs <ginggs@debian.org>
+           2016 Peter Colberg <peter@colberg.org>
+License: Expat
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+ .
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the author nor the names of any contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+License: LGPL-2.1+
+ This 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.
+ .
+ This 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 this library. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License, version 2.1, can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..cec628c
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,2 @@
+[DEFAULT]
+pristine-tar = True
diff --git a/libopenlibm-dev.install b/libopenlibm-dev.install
new file mode 100755 (executable)
index 0000000..467cb84
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/bin/dh-exec
+
+usr/local/lib/libopenlibm.so    /usr/lib/${DEB_HOST_MULTIARCH}/
+usr/local/lib/libopenlibm.a     /usr/lib/${DEB_HOST_MULTIARCH}/
+usr/local/include/*             /usr/include/
+usr/local/lib/pkgconfig/*       /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
diff --git a/libopenlibm2.install b/libopenlibm2.install
new file mode 100755 (executable)
index 0000000..58fc53f
--- /dev/null
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+usr/local/lib/libopenlibm.so.*    /usr/lib/${DEB_HOST_MULTIARCH}/
diff --git a/libopenlibm2.symbols b/libopenlibm2.symbols
new file mode 100644 (file)
index 0000000..ae428e6
--- /dev/null
@@ -0,0 +1,358 @@
+libopenlibm.so.2 libopenlibm2 #MINVER#
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_aT@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_atanhi@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_atanlo@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS0@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS1@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS2@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS3@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS4@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS5@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS6@Base 0.4
+ (arch=arm64)_ItL_pS7@Base 0.6.0
+ (arch=arm64)_ItL_pS8@Base 0.6.0
+ (arch=arm64)_ItL_pS9@Base 0.6.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pi_lo@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS1@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS2@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS3@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS4@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS5@Base 0.4
+ (arch=arm64)_ItL_qS6@Base 0.6.0
+ (arch=arm64)_ItL_qS7@Base 0.6.0
+ (arch=arm64)_ItL_qS8@Base 0.6.0
+ (arch=arm64)_ItL_qS9@Base 0.6.0
+ __exp__D@Base 0.4
+ __fe_dfl_env@Base 0.4
+#MISSING: 0.5.0# (arch=!armhf)__fedisableexcept@Base 0.4
+#MISSING: 0.5.0# (arch=!armhf)__feenableexcept@Base 0.4
+ __fpclassifyd@Base 0.4
+ __fpclassifyf@Base 0.4
+ (arch=!armhf)__fpclassifyl@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386)__has_sse@Base 0.4
+ __ieee754_rem_pio2@Base 0.4
+ __ieee754_rem_pio2f@Base 0.4
+ __isfinite@Base 0.4
+ __isfinitef@Base 0.4
+ (arch=!armhf)__isfinitel@Base 0.4
+ __isinff@Base 0.4
+ (arch=!armhf)__isinfl@Base 0.4
+ __isnanf@Base 0.4
+ (arch=!armhf)__isnanl@Base 0.4
+ __isnormal@Base 0.4
+ __isnormalf@Base 0.4
+ (arch=!armhf)__isnormall@Base 0.4
+ __kernel_cos@Base 0.4
+ __kernel_cosdf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_cosl@Base 0.4
+ __kernel_rem_pio2@Base 0.4
+ __kernel_sin@Base 0.4
+#MISSING: 0.5.0# __kernel_sincos@Base 0.4
+#MISSING: 0.5.0# __kernel_sincosdf@Base 0.4
+ __kernel_sindf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_sinl@Base 0.4
+ __kernel_tan@Base 0.4
+ __kernel_tandf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_tanl@Base 0.4
+ __ldexp_cexp@Base 0.4
+ __ldexp_cexpf@Base 0.4
+ __ldexp_exp@Base 0.4
+ __ldexp_expf@Base 0.4
+ __log__D@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__p1evll@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__polevll@Base 0.5.0
+ __scan_nan@Base 0.5.0
+ __signbit@Base 0.4
+ __signbitf@Base 0.4
+ (arch=!armhf)__signbitl@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386)__test_sse@Base 0.4
+#MISSING: 0.5.0# _scan_nan@Base 0.4
+ acos@Base 0.4
+ acosf@Base 0.4
+ acosh@Base 0.4
+ acoshf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)acoshl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)acosl@Base 0.4
+ asin@Base 0.4
+ asinf@Base 0.4
+ asinh@Base 0.4
+ asinhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)asinhl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)asinl@Base 0.4
+ atan2@Base 0.4
+ atan2f@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)atan2l@Base 0.4
+ atan@Base 0.4
+ atanf@Base 0.4
+ atanh@Base 0.4
+ atanhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)atanhl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)atanl@Base 0.4
+ cabs@Base 0.4
+ cabsf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)cabsl@Base 0.4
+ cacos@Base 0.5.0
+ cacosf@Base 0.5.0
+ cacosh@Base 0.5.0
+ cacoshf@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cacoshl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cacosl@Base 0.5.0
+ carg@Base 0.4
+ cargf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cargl@Base 0.4
+ casin@Base 0.5.0
+ casinf@Base 0.5.0
+ casinh@Base 0.5.0
+ casinhf@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)casinhl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)casinl@Base 0.5.0
+ catan@Base 0.5.0
+ catanf@Base 0.5.0
+ catanh@Base 0.5.0
+ catanhf@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)catanhl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)catanl@Base 0.5.0
+ cbrt@Base 0.4
+ cbrtf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cbrtl@Base 0.5.0
+ ccos@Base 0.4
+ ccosf@Base 0.4
+ ccosh@Base 0.4
+ ccoshf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ccoshl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ccosl@Base 0.5.0
+ ceil@Base 0.4
+ ceilf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)ceill@Base 0.4
+ cexp@Base 0.4
+ cexpf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cexpl@Base 0.5.0
+ cimag@Base 0.4
+ cimagf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cimagl@Base 0.4
+ clog@Base 0.5.0
+ clogf@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)clogl@Base 0.5.0
+ conj@Base 0.4
+ conjf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)conjl@Base 0.4
+ copysign@Base 0.4
+ copysignf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)copysignl@Base 0.4
+ cos@Base 0.4
+ cosf@Base 0.4
+ cosh@Base 0.4
+ coshf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)coshl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)cosl@Base 0.4
+ cpow@Base 0.4
+ cpowf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cpowl@Base 0.4
+ cproj@Base 0.4
+ cprojf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cprojl@Base 0.4
+ creal@Base 0.4
+ crealf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)creall@Base 0.4
+ csin@Base 0.4
+ csinf@Base 0.4
+ csinh@Base 0.4
+ csinhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)csinhl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)csinl@Base 0.5.0
+ csqrt@Base 0.4
+ csqrtf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)csqrtl@Base 0.4
+ ctan@Base 0.4
+ ctanf@Base 0.4
+ ctanh@Base 0.4
+ ctanhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ctanhl@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ctanl@Base 0.5.0
+#MISSING: 0.5.0# drem@Base 0.4
+#MISSING: 0.5.0# dremf@Base 0.4
+ erf@Base 0.4
+ erfc@Base 0.4
+ erfcf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)erfcl@Base 0.5.0
+ erff@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)erfl@Base 0.5.0
+ exp2@Base 0.4
+ exp2f@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)exp2l@Base 0.4
+ exp@Base 0.4
+ expf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)expl@Base 0.5.0
+ expm1@Base 0.4
+ expm1f@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)expm1l@Base 0.5.0
+ fabs@Base 0.4
+ fabsf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fabsl@Base 0.4
+ fdim@Base 0.4
+ fdimf@Base 0.4
+ fdiml@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)feclearexcept@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fedisableexcept@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)feenableexcept@Base 0.4
+ fegetenv@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fegetexceptflag@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fegetround@Base 0.4
+ feholdexcept@Base 0.4
+ feraiseexcept@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fesetenv@Base 0.4
+ fesetexceptflag@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fesetround@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fetestexcept@Base 0.4
+ feupdateenv@Base 0.4
+#MISSING: 0.5.0# finite@Base 0.4
+#MISSING: 0.5.0# finitef@Base 0.4
+ floor@Base 0.4
+ floorf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)floorl@Base 0.4
+ fma@Base 0.4
+ fmaf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)fmal@Base 0.4
+ fmax@Base 0.4
+ fmaxf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fmaxl@Base 0.4
+ fmin@Base 0.4
+ fminf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fminl@Base 0.4
+ fmod@Base 0.4
+ fmodf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fmodl@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386)fpgetprec@Base 0.5.0
+ (arch=i386 kfreebsd-i386 hurd-i386)fpsetprec@Base 0.5.0
+ frexp@Base 0.4
+ frexpf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)frexpl@Base 0.4
+#MISSING: 0.5.0# gamma@Base 0.4
+#MISSING: 0.5.0# gamma_r@Base 0.4
+#MISSING: 0.5.0# gammaf@Base 0.4
+#MISSING: 0.5.0# gammaf_r@Base 0.4
+ hypot@Base 0.4
+ hypotf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)hypotl@Base 0.4
+ ilogb@Base 0.4
+ ilogbf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ilogbl@Base 0.4
+ isinf@Base 0.4
+ isinff@Base 0.4
+ isnan@Base 0.4
+ isnanf@Base 0.4
+ isopenlibm@Base 0.4
+ j0@Base 0.4
+ j0f@Base 0.4
+ j1@Base 0.4
+ j1f@Base 0.4
+ jn@Base 0.4
+ jnf@Base 0.4
+ ldexp@Base 0.4
+ ldexpf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)ldexpl@Base 0.4
+ lgamma@Base 0.4
+ lgamma_r@Base 0.4
+ lgammaf@Base 0.4
+ lgammaf_r@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lgammal@Base 0.5.0
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lgammal_r@Base 0.5.0
+ llrint@Base 0.4
+ llrintf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)llrintl@Base 0.4
+ llround@Base 0.4
+ llroundf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)llroundl@Base 0.4
+ log10@Base 0.4
+ log10f@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log10l@Base 0.5.0
+ log1p@Base 0.4
+ log1pf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log1pl@Base 0.5.0
+ log2@Base 0.4
+ log2f@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log2l@Base 0.5.0
+ log@Base 0.4
+ logb@Base 0.4
+ logbf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)logbl@Base 0.4
+ logf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)logl@Base 0.5.0
+ lrint@Base 0.4
+ lrintf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lrintl@Base 0.4
+ lround@Base 0.4
+ lroundf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lroundl@Base 0.4
+ modf@Base 0.4
+ modff@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)modfl@Base 0.4
+ nan@Base 0.4
+ nanf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nanl@Base 0.4
+ nearbyint@Base 0.4
+ nearbyintf@Base 0.4
+#MISSING: 0.5.0# nearbyintl@Base 0.4
+ (arch=arm64)nearbyintl@Base 0.6.0
+ nextafter@Base 0.4
+ nextafterf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nextafterl@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nexttoward@Base 0.4
+ (arch=!armhf)nexttowardf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nexttowardl@Base 0.4
+ pow@Base 0.4
+ powf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)powl@Base 0.5.0
+ remainder@Base 0.4
+ remainderf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)remainderl@Base 0.4
+ remquo@Base 0.4
+ remquof@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)remquol@Base 0.4
+ rint@Base 0.4
+ rintf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)rintl@Base 0.4
+ round@Base 0.4
+ roundf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)roundl@Base 0.4
+#MISSING: 0.5.0# scalb@Base 0.4
+#MISSING: 0.5.0# scalbf@Base 0.4
+ scalbln@Base 0.4
+ scalblnf@Base 0.4
+ scalblnl@Base 0.4
+ scalbn@Base 0.4
+ scalbnf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)scalbnl@Base 0.4
+ signgam@Base 0.4
+#MISSING: 0.5.0# significand@Base 0.4
+#MISSING: 0.5.0# significandf@Base 0.4
+ sin@Base 0.4
+ sincos@Base 0.4
+ sincosf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sincosl@Base 0.4
+ sinf@Base 0.4
+ sinh@Base 0.4
+ sinhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)sinhl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sinl@Base 0.4
+ sqrt@Base 0.4
+ sqrtf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sqrtl@Base 0.4
+ tan@Base 0.4
+ tanf@Base 0.4
+ tanh@Base 0.4
+ tanhf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)tanhl@Base 0.5.0
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)tanl@Base 0.4
+ tgamma@Base 0.4
+ tgammaf@Base 0.4
+ (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)tgammal@Base 0.5.0
+ trunc@Base 0.4
+ truncf@Base 0.4
+ (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)truncl@Base 0.4
+ y0@Base 0.4
+ y0f@Base 0.4
+ y1@Base 0.4
+ y1f@Base 0.4
+ yn@Base 0.4
+ ynf@Base 0.4
diff --git a/patches/add-s390x-support.patch b/patches/add-s390x-support.patch
new file mode 100644 (file)
index 0000000..a449006
--- /dev/null
@@ -0,0 +1,408 @@
+Description: Add s390x support
+Origin: upstream, https://github.com/JuliaMath/openlibm/commit/2a1e56858a696c09eef310ceea1ede6ccd0b229c
+Author: Dan Horák <dan@danny.cz>
+Last-Update: 2016-09-05
+
+--- a/Make.inc
++++ b/Make.inc
+@@ -60,6 +60,9 @@
+ ifeq ($(findstring ppc,$(ARCH)),ppc)
+ override ARCH := powerpc
+ endif
++ifeq ($(findstring s390,$(ARCH)),s390)
++override ARCH := s390
++endif
+ ifneq ($(filter $(ARCH),i386 i486 i586 i686 i387 i487 i587 i687),)
+ override ARCH := i387
+ MARCH ?= i686
+--- a/Makefile
++++ b/Makefile
+@@ -72,7 +72,7 @@
+       $(MAKE) -C test test-float
+ clean:
+-      rm -f aarch64/*.o amd64/*.o arm/*.o bsdsrc/*.o i387/*.o ld80/*.o ld128/*.o src/*.o powerpc/*.o mips/*.o
++      rm -f aarch64/*.o amd64/*.o arm/*.o bsdsrc/*.o i387/*.o ld80/*.o ld128/*.o src/*.o powerpc/*.o mips/*.o s390/*.o
+       rm -f libopenlibm.a libopenlibm.*$(SHLIB_EXT)*
+       $(MAKE) -C test clean
+--- a/include/openlibm_fenv.h
++++ b/include/openlibm_fenv.h
+@@ -12,6 +12,8 @@
+ #include <openlibm_fenv_powerpc.h>
+ #elif defined(__mips__)
+ #include <openlibm_fenv_mips.h>
++#elif defined(__s390__)
++#include <openlibm_fenv_s390.h>
+ #else
+ #error "Unsupported platform"
+ #endif
+--- /dev/null
++++ b/include/openlibm_fenv_s390.h
+@@ -0,0 +1,235 @@
++/*-
++ * Copyright (c) 2016 Dan Horák <dan[at]danny.cz>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * $FreeBSD$
++ */
++
++#ifndef       _FENV_H_
++#define       _FENV_H_
++
++#include <sys/types.h>
++
++#ifndef       __fenv_static
++#define       __fenv_static   static
++#endif
++
++typedef       __uint32_t      fenv_t;
++typedef       __uint32_t      fexcept_t;
++
++/* Exception flags */
++#define       FE_INEXACT      0x080000
++#define       FE_UNDERFLOW    0x100000
++#define       FE_OVERFLOW     0x200000
++#define       FE_DIVBYZERO    0x400000
++#define       FE_INVALID      0x800000        /* all types of invalid FP ops */
++
++#define       FE_ALL_EXCEPT   (FE_INVALID | FE_DIVBYZERO | FE_INEXACT | FE_OVERFLOW | FE_UNDERFLOW)
++
++/* Rounding modes */
++#define       FE_TONEAREST    0x0000
++#define       FE_TOWARDZERO   0x0001
++#define       FE_UPWARD       0x0002
++#define       FE_DOWNWARD     0x0003
++#define       _ROUND_MASK     (FE_TONEAREST | FE_DOWNWARD | \
++                       FE_UPWARD | FE_TOWARDZERO)
++
++__BEGIN_DECLS
++
++/* Default floating-point environment */
++extern const fenv_t   __fe_dfl_env;
++#define       FE_DFL_ENV      (&__fe_dfl_env)
++
++/* We need to be able to map status flag positions to mask flag positions */
++#define       _FPC_EXC_MASK_SHIFT     8
++#define       _ENABLE_MASK    ((FE_DIVBYZERO | FE_INEXACT | FE_INVALID | \
++                       FE_OVERFLOW | FE_UNDERFLOW) << _FPC_EXC_MASK_SHIFT)
++
++/* Macros for accessing the hardware control word.  */
++#define _FPU_GETCW(cw)  __asm__ __volatile__ ("efpc %0,0" : "=d" (cw))
++#define _FPU_SETCW(cw)  __asm__ __volatile__ ("sfpc  %0,0" : : "d" (cw))
++
++__fenv_static inline int
++feclearexcept(int __excepts)
++{
++      fexcept_t __r;
++
++      if (__excepts & FE_INVALID)
++              __excepts |= FE_ALL_EXCEPT;
++      _FPU_GETCW(__r);
++      __r &= ~__excepts;
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++__fenv_static inline int
++fegetexceptflag(fexcept_t *__flagp, int __excepts)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      *__flagp = __r & __excepts;
++      return (0);
++}
++
++__fenv_static inline int
++fesetexceptflag(const fexcept_t *__flagp, int __excepts)
++{
++      fexcept_t __r;
++
++      if (__excepts & FE_INVALID)
++              __excepts |= FE_ALL_EXCEPT;
++      _FPU_GETCW(__r);
++      __r &= ~__excepts;
++      __r |= *__flagp & __excepts;
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++__fenv_static inline int
++feraiseexcept(int __excepts)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      __r |= __excepts;
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++__fenv_static inline int
++fetestexcept(int __excepts)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      return (__r & __excepts);
++}
++
++__fenv_static inline int
++fegetround(void)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      return (__r & _ROUND_MASK);
++}
++
++__fenv_static inline int
++fesetround(int __round)
++{
++      fexcept_t __r;
++
++      if (__round & ~_ROUND_MASK)
++              return (-1);
++
++      _FPU_GETCW(__r);
++      __r &= ~_ROUND_MASK;
++      __r |= __round;
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++__fenv_static inline int
++fegetenv(fenv_t *__envp)
++{
++      _FPU_GETCW(*__envp);
++      return (0);
++}
++
++__fenv_static inline int
++feholdexcept(fenv_t *__envp)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      *__envp = __r;
++      __r &= ~(FE_ALL_EXCEPT | _ENABLE_MASK);
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++__fenv_static inline int
++fesetenv(const fenv_t *__envp)
++{
++      _FPU_SETCW(*__envp);
++      return (0);
++}
++
++__fenv_static inline int
++feupdateenv(const fenv_t *__envp)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      __r &= FE_ALL_EXCEPT;
++      __r |= *__envp;
++      _FPU_SETCW(__r);
++      return (0);
++}
++
++#if __BSD_VISIBLE
++
++/* We currently provide no external definitions of the functions below. */
++
++static inline int
++feenableexcept(int __mask)
++{
++      fenv_t __r;
++      fenv_t __oldmask;
++
++      _FPU_GETCW(__r);
++      __oldmask = __r;
++      __r |= (__mask & FE_ALL_EXCEPT) << _FPC_EXC_MASK_SHIFT;
++      _FPU_SETCW(__r);
++      return ((__oldmask & _ENABLE_MASK) >> _FPC_EXC_MASK_SHIFT);
++}
++
++static inline int
++fedisableexcept(int __mask)
++{
++      fenv_t __r;
++      fenv_t __oldmask;
++
++      _FPU_GETCW(__r);
++      __oldmask = __r;
++      __r &= ~((__mask & FE_ALL_EXCEPT) << _FPC_EXC_MASK_SHIFT);
++      _FPU_SETCW(__r);
++      return ((__oldmask & _ENABLE_MASK) >> _FPC_EXC_MASK_SHIFT);
++}
++
++static inline int
++fegetexcept(void)
++{
++      fexcept_t __r;
++
++      _FPU_GETCW(__r);
++      return (__r & (_ENABLE_MASK >> _FPC_EXC_MASK_SHIFT));
++}
++
++#endif /* __BSD_VISIBLE */
++
++__END_DECLS
++
++#endif        /* !_FENV_H_ */
+--- /dev/null
++++ b/s390/Make.files
+@@ -0,0 +1 @@
++$(CUR_SRCS) = fenv.c
+--- /dev/null
++++ b/s390/fenv.c
+@@ -0,0 +1,50 @@
++/*-
++ * Copyright (c) 2016 Dan Horák <dan[at]danny.cz>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * $FreeBSD$
++ *
++ * cloned from ppc/fenv.c
++ */
++
++#define       __fenv_static
++#include <openlibm_fenv.h>
++
++#ifdef __GNUC_GNU_INLINE__
++#error "This file must be compiled with C99 'inline' semantics"
++#endif
++
++const fenv_t __fe_dfl_env = 0x00000000;
++
++extern inline int feclearexcept(int __excepts);
++extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts);
++extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts);
++extern inline int feraiseexcept(int __excepts);
++extern inline int fetestexcept(int __excepts);
++extern inline int fegetround(void);
++extern inline int fesetround(int __round);
++extern inline int fegetenv(fenv_t *__envp);
++extern inline int feholdexcept(fenv_t *__envp);
++extern inline int fesetenv(const fenv_t *__envp);
++extern inline int feupdateenv(const fenv_t *__envp);
+--- a/src/fpmath.h
++++ b/src/fpmath.h
+@@ -41,6 +41,8 @@
+ #include "powerpc_fpmath.h"
+ #elif defined(__mips__)
+ #include "mips_fpmath.h"
++#elif defined(__s390__)
++#include "s390_fpmath.h"
+ #endif
+ /* Definitions provided directly by GCC and Clang. */
+--- /dev/null
++++ b/src/s390_fpmath.h
+@@ -0,0 +1,51 @@
++/*-
++ * Copyright (c) 2016 Dan Horák <dan[at]danny.cz>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * $FreeBSD$
++ *
++ * cloned from powerpc_fpmath.h
++ */
++
++union IEEEl2bits {
++      long double     e;
++      struct {
++              unsigned int            sign    :1;
++              unsigned int            exp     :11;
++              unsigned int            manh    :20;
++              unsigned int            manl    :32;
++      } bits;
++};
++
++#define       mask_nbit_l(u)  ((void)0)
++#define       LDBL_IMPLICIT_NBIT
++#define       LDBL_NBIT       0
++
++#define       LDBL_MANH_SIZE  20
++#define       LDBL_MANL_SIZE  32
++
++#define       LDBL_TO_ARRAY32(u, a) do {                      \
++      (a)[0] = (uint32_t)(u).bits.manl;               \
++      (a)[1] = (uint32_t)(u).bits.manh;               \
++} while(0)
+--- a/test/libm-test-ulps.h
++++ b/test/libm-test-ulps.h
+@@ -250,5 +250,5 @@
+ #define DELTA1663 CHOOSE(2, 2, 2, 2, 2, 1)    /* yn (10, 0.1) == -0.11831335132045197885e19  */
+ #define DELTA1664 CHOOSE(7, 6, 3, 7, 6, 3)    /* yn (10, 0.7) == -0.42447194260703866924e10  */
+ #define DELTA1665 CHOOSE(0, 1, 2, 0, 1, 1)    /* yn (10, 1.0) == -0.12161801427868918929e9  */
+-#define DELTA1666 CHOOSE(1, 3, 1, 1, 2, 1)    /* yn (10, 2.0) == -129184.54220803928264  */
++#define DELTA1666 CHOOSE(1, 3, 3, 1, 2, 1)    /* yn (10, 2.0) == -129184.54220803928264  */
+ #define DELTA1667 CHOOSE(0, 2, 1, 0, 2, 1)    /* yn (10, 10.0) == -0.35981415218340272205  */
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..800110f
--- /dev/null
@@ -0,0 +1 @@
+add-s390x-support.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..a635012
--- /dev/null
+++ b/rules
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+-include /usr/share/dpkg/buildtools.mk
+
+%:
+       dh $@
+
+override_dh_auto_install:
+       dh_auto_install -- "CC=$(CC)"
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..22c20d6
--- /dev/null
@@ -0,0 +1,13 @@
+Test-Command: make -C test test-float; ./test/test-float
+Depends: @, build-essential
+
+Test-Command: make -C test test-double; ./test/test-double
+Depends: @, build-essential
+
+Test-Command: make -C test bench-syslibm; ./test/bench-syslibm
+Depends: @, build-essential
+Restrictions: allow-stderr
+
+Test-Command: make -C test bench-openlibm; ./test/bench-openlibm
+Depends: @, build-essential
+Restrictions: allow-stderr
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..d98635c
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts=dversionmangle=s/\+dfsg$//,repacksuffix=+dfsg,filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/openlibm-$1\.tar\.gz/,dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$// \
+  https://github.com/JuliaMath/openlibm/tags .*/v?(\d\S*)\.tar\.gz