Import openlibm_0.5.4+dfsg-3.debian.tar.xz
authorGraham Inggs <ginggs@debian.org>
Tue, 24 Jan 2017 18:26:37 +0000 (18:26 +0000)
committerGraham Inggs <ginggs@debian.org>
Tue, 24 Jan 2017 18:26:37 +0000 (18:26 +0000)
[dgit import tarball openlibm 0.5.4+dfsg-3 openlibm_0.5.4+dfsg-3.debian.tar.xz]

17 files changed:
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-mips-support.patch [new file with mode: 0644]
patches/fix-armhf-fp-status-register.patch [new file with mode: 0644]
patches/fix-missing-buildflags.patch [new file with mode: 0644]
patches/kfreebsd-hurd-tests.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]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..9156ac8
--- /dev/null
+++ b/changelog
@@ -0,0 +1,127 @@
+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..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..0f21b5e
--- /dev/null
+++ b/control
@@ -0,0 +1,43 @@
+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>
+Build-Depends: debhelper (>= 9), dh-exec
+Standards-Version: 3.9.8
+Section: libs
+Homepage: https://github.com/JuliaLang/openlibm
+Vcs-Git: https://anonscm.debian.org/git/pkg-julia/openlibm.git
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-julia/openlibm.git
+
+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..26213f3
--- /dev/null
+++ b/copyright
@@ -0,0 +1,555 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Openlibm
+Upstream-Contact: julia-dev@googlegroups.com
+Source: https://github.com/JuliaLang/openlibm
+Files-Excluded: i387/osx_asm.h
+
+Files: *
+Copyright: 2011-2016 Viral B. Shah, Keno Fischer, Jameson Nash,
+           https://github.com/JuliaLang/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: 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..5a59ce2
--- /dev/null
@@ -0,0 +1,350 @@
+libopenlibm.so.2 libopenlibm2 #MINVER#
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_aT@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_atanhi@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_atanlo@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS0@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS1@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS2@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS3@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS4@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS5@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pS6@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_pi_lo@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS1@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS2@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS3@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS4@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)_ItL_qS5@Base 0.4
+ __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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__kernel_sinl@Base 0.4
+ __kernel_tan@Base 0.4
+ __kernel_tandf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__p1evll@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)__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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)acoshl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)acosl@Base 0.4
+ asin@Base 0.4
+ asinf@Base 0.4
+ asinh@Base 0.4
+ asinhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)asinhl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)asinl@Base 0.4
+ atan2@Base 0.4
+ atan2f@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)atan2l@Base 0.4
+ atan@Base 0.4
+ atanf@Base 0.4
+ atanh@Base 0.4
+ atanhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)atanhl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)atanl@Base 0.4
+ cabs@Base 0.4
+ cabsf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cacoshl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cacosl@Base 0.5.0
+ carg@Base 0.4
+ cargf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)casinhl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)catanhl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)catanl@Base 0.5.0
+ cbrt@Base 0.4
+ cbrtf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cbrtl@Base 0.5.0
+ ccos@Base 0.4
+ ccosf@Base 0.4
+ ccosh@Base 0.4
+ ccoshf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)ccoshl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)ccosl@Base 0.5.0
+ ceil@Base 0.4
+ ceilf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)ceill@Base 0.4
+ cexp@Base 0.4
+ cexpf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cexpl@Base 0.5.0
+ cimag@Base 0.4
+ cimagf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cimagl@Base 0.4
+ clog@Base 0.5.0
+ clogf@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)clogl@Base 0.5.0
+ conj@Base 0.4
+ conjf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)conjl@Base 0.4
+ copysign@Base 0.4
+ copysignf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)copysignl@Base 0.4
+ cos@Base 0.4
+ cosf@Base 0.4
+ cosh@Base 0.4
+ coshf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)coshl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)cosl@Base 0.4
+ cpow@Base 0.4
+ cpowf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cpowl@Base 0.4
+ cproj@Base 0.4
+ cprojf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)cprojl@Base 0.4
+ creal@Base 0.4
+ crealf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)creall@Base 0.4
+ csin@Base 0.4
+ csinf@Base 0.4
+ csinh@Base 0.4
+ csinhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)csinhl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)csinl@Base 0.5.0
+ csqrt@Base 0.4
+ csqrtf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)csqrtl@Base 0.4
+ ctan@Base 0.4
+ ctanf@Base 0.4
+ ctanh@Base 0.4
+ ctanhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)ctanhl@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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 !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)erfcl@Base 0.5.0
+ erff@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)erfl@Base 0.5.0
+ exp2@Base 0.4
+ exp2f@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)exp2l@Base 0.4
+ exp@Base 0.4
+ expf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)expl@Base 0.5.0
+ expm1@Base 0.4
+ expm1f@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)expm1l@Base 0.5.0
+ fabs@Base 0.4
+ fabsf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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)feclearexcept@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)fedisableexcept@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)feenableexcept@Base 0.4
+ fegetenv@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el)fegetexceptflag@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el)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)fesetenv@Base 0.4
+ fesetexceptflag@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el)fesetround@Base 0.4
+ (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)floorl@Base 0.4
+ fma@Base 0.4
+ fmaf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)fmal@Base 0.4
+ fmax@Base 0.4
+ fmaxf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)fmaxl@Base 0.4
+ fmin@Base 0.4
+ fminf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)fminl@Base 0.4
+ fmod@Base 0.4
+ fmodf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)hypotl@Base 0.4
+ ilogb@Base 0.4
+ ilogbf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)ldexpl@Base 0.4
+ lgamma@Base 0.4
+ lgamma_r@Base 0.4
+ lgammaf@Base 0.4
+ lgammaf_r@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)lgammal@Base 0.5.0
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)lgammal_r@Base 0.5.0
+ llrint@Base 0.4
+ llrintf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)llrintl@Base 0.4
+ llround@Base 0.4
+ llroundf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)llroundl@Base 0.4
+ log10@Base 0.4
+ log10f@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)log10l@Base 0.5.0
+ log1p@Base 0.4
+ log1pf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)log1pl@Base 0.5.0
+ log2@Base 0.4
+ log2f@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)log2l@Base 0.5.0
+ log@Base 0.4
+ logb@Base 0.4
+ logbf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)logbl@Base 0.4
+ logf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)logl@Base 0.5.0
+ lrint@Base 0.4
+ lrintf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)lrintl@Base 0.4
+ lround@Base 0.4
+ lroundf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)lroundl@Base 0.4
+ modf@Base 0.4
+ modff@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)modfl@Base 0.4
+ nan@Base 0.4
+ nanf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)nanl@Base 0.4
+ nearbyint@Base 0.4
+ nearbyintf@Base 0.4
+#MISSING: 0.5.0# nearbyintl@Base 0.4
+ nextafter@Base 0.4
+ nextafterf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)nextafterl@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)nexttoward@Base 0.4
+ (arch=!armhf)nexttowardf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)nexttowardl@Base 0.4
+ pow@Base 0.4
+ powf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)powl@Base 0.5.0
+ remainder@Base 0.4
+ remainderf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)remainderl@Base 0.4
+ remquo@Base 0.4
+ remquof@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)remquol@Base 0.4
+ rint@Base 0.4
+ rintf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)rintl@Base 0.4
+ round@Base 0.4
+ roundf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)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=!arm64 !powerpc !ppc64el !ppc64 !mips64el)sincosl@Base 0.4
+ sinf@Base 0.4
+ sinh@Base 0.4
+ sinhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)sinhl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)sinl@Base 0.4
+ sqrt@Base 0.4
+ sqrtf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)sqrtl@Base 0.4
+ tan@Base 0.4
+ tanf@Base 0.4
+ tanh@Base 0.4
+ tanhf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)tanhl@Base 0.5.0
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)tanl@Base 0.4
+ tgamma@Base 0.4
+ tgammaf@Base 0.4
+ (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el)tgammal@Base 0.5.0
+ trunc@Base 0.4
+ truncf@Base 0.4
+ (arch=!arm64 !powerpc !ppc64el !ppc64 !mips64el)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-mips-support.patch b/patches/add-mips-support.patch
new file mode 100644 (file)
index 0000000..dcfb413
--- /dev/null
@@ -0,0 +1,486 @@
+Description: Add support for mips architectures
+Bug: https://github.com/JuliaLang/openlibm/pull/152
+Bug-Debian: https://bugs.debian.org/852441
+Author: Radovan Birdic <Radovan.Birdic@imgtec.com>
+Last-Update: 2017-01-24
+--- a/Make.inc
++++ b/Make.inc
+@@ -92,6 +92,10 @@
+ override ARCH := amd64
+ endif
++ifeq ($(findstring mips,$(ARCH)),mips)
++override ARCH := mips
++endif
++
+ # If CFLAGS does not contain a -O optimization flag, default to -O3
+ ifeq ($(findstring -O,$(CFLAGS)),)
+ CFLAGS_add += -O3
+--- a/Makefile
++++ b/Makefile
+@@ -4,9 +4,11 @@
+ SUBDIRS = src $(ARCH) bsdsrc
+ ifneq ($(ARCH), arm)
+ ifneq ($(ARCH), powerpc)
++ifneq ($(ARCH), mips)
+ SUBDIRS += ld80
+ endif
+ endif
++endif
+ define INC_template
+ TEST=test
+--- a/include/openlibm_fenv.h
++++ b/include/openlibm_fenv.h
+@@ -10,6 +10,8 @@
+ #include <openlibm_fenv_i387.h>
+ #elif defined(__powerpc__)
+ #include <openlibm_fenv_powerpc.h>
++#elif defined(__mips__)
++#include <openlibm_fenv_mips.h>
+ #else
+ #error "Unsupported platform"
+ #endif
+--- /dev/null
++++ b/include/openlibm_fenv_mips.h
+@@ -0,0 +1,277 @@
++/*-
++ * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
++ * 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 */
++#ifdef SOFTFLOAT
++#define       _FPUSW_SHIFT    16
++#define       FE_INVALID      0x0001
++#define       FE_DIVBYZERO    0x0002
++#define       FE_OVERFLOW     0x0004
++#define       FE_UNDERFLOW    0x0008
++#define       FE_INEXACT      0x0010
++#else
++#define       _FCSR_CAUSE_SHIFT       10
++#define       FE_INVALID      0x0040
++#define       FE_DIVBYZERO    0x0020
++#define       FE_OVERFLOW     0x0010
++#define       FE_UNDERFLOW    0x0008
++#define       FE_INEXACT      0x0004
++#endif
++#define       FE_ALL_EXCEPT   (FE_DIVBYZERO | FE_INEXACT | \
++                       FE_INVALID | 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       _ENABLE_SHIFT   5
++#define       _ENABLE_MASK    (FE_ALL_EXCEPT << _ENABLE_SHIFT)
++
++#ifndef       SOFTFLOAT
++#define       __cfc1(__fcsr)  __asm __volatile("cfc1 %0, $31" : "=r" (__fcsr))
++#define       __ctc1(__fcsr)  __asm __volatile("ctc1 %0, $31" :: "r" (__fcsr))
++#endif
++
++#ifdef SOFTFLOAT
++int feclearexcept(int __excepts);
++int fegetexceptflag(fexcept_t *__flagp, int __excepts);
++int fesetexceptflag(const fexcept_t *__flagp, int __excepts);
++int feraiseexcept(int __excepts);
++int fetestexcept(int __excepts);
++int fegetround(void);
++int fesetround(int __round);
++int fegetenv(fenv_t *__envp);
++int feholdexcept(fenv_t *__envp);
++int fesetenv(const fenv_t *__envp);
++int feupdateenv(const fenv_t *__envp);
++#else
++__fenv_static inline int
++feclearexcept(int __excepts)
++{
++      fexcept_t fcsr;
++
++      __excepts &= FE_ALL_EXCEPT;
++      __cfc1(fcsr);
++      fcsr &= ~(__excepts | (__excepts << _FCSR_CAUSE_SHIFT));
++      __ctc1(fcsr);
++
++      return (0);
++}
++
++__fenv_static inline int
++fegetexceptflag(fexcept_t *__flagp, int __excepts)
++{
++      fexcept_t fcsr;
++
++      __excepts &= FE_ALL_EXCEPT;
++      __cfc1(fcsr);
++      *__flagp = fcsr & __excepts;
++
++      return (0);
++}
++
++__fenv_static inline int
++fesetexceptflag(const fexcept_t *__flagp, int __excepts)
++{
++      fexcept_t fcsr;
++
++      __excepts &= FE_ALL_EXCEPT;
++      __cfc1(fcsr);
++      fcsr &= ~__excepts;
++      fcsr |= *__flagp & __excepts;
++      __ctc1(fcsr);
++
++      return (0);
++}
++
++__fenv_static inline int
++feraiseexcept(int __excepts)
++{
++      fexcept_t fcsr;
++
++      __excepts &= FE_ALL_EXCEPT;
++      __cfc1(fcsr);
++      fcsr |= __excepts | (__excepts << _FCSR_CAUSE_SHIFT);
++      __ctc1(fcsr);
++
++      return (0);
++}
++
++__fenv_static inline int
++fetestexcept(int __excepts)
++{
++      fexcept_t fcsr;
++
++      __excepts &= FE_ALL_EXCEPT;
++      __cfc1(fcsr);
++
++      return (fcsr & __excepts);
++}
++
++__fenv_static inline int
++fegetround(void)
++{
++      fexcept_t fcsr;
++
++      __cfc1(fcsr);
++
++      return (fcsr & _ROUND_MASK);
++}
++
++__fenv_static inline int
++fesetround(int __round)
++{
++      fexcept_t fcsr;
++
++      if (__round & ~_ROUND_MASK)
++              return (-1);
++
++      __cfc1(fcsr);
++      fcsr &= ~_ROUND_MASK;
++      fcsr |= __round;
++      __ctc1(fcsr);
++
++      return (0);
++}
++
++__fenv_static inline int
++fegetenv(fenv_t *__envp)
++{
++
++      __cfc1(*__envp);
++
++      return (0);
++}
++
++__fenv_static inline int
++feholdexcept(fenv_t *__envp)
++{
++      fexcept_t fcsr;
++
++      __cfc1(fcsr);
++      *__envp = fcsr;
++      fcsr &= ~(FE_ALL_EXCEPT | _ENABLE_MASK);
++      __ctc1(fcsr);
++
++      return (0);
++}
++
++__fenv_static inline int
++fesetenv(const fenv_t *__envp)
++{
++
++      __ctc1(*__envp);
++
++      return (0);
++}
++
++__fenv_static inline int
++feupdateenv(const fenv_t *__envp)
++{
++      fexcept_t fcsr;
++
++      __cfc1(fcsr);
++      fesetenv(__envp);
++      feraiseexcept(fcsr);
++
++      return (0);
++}
++#endif /* !SOFTFLOAT */
++
++#if __BSD_VISIBLE
++
++/* We currently provide no external definitions of the functions below. */
++
++#ifdef SOFTFLOAT
++int feenableexcept(int __mask);
++int fedisableexcept(int __mask);
++int fegetexcept(void);
++#else
++static inline int
++feenableexcept(int __mask)
++{
++      fenv_t __old_fcsr, __new_fcsr;
++
++      __cfc1(__old_fcsr);
++      __new_fcsr = __old_fcsr | (__mask & FE_ALL_EXCEPT) << _ENABLE_SHIFT;
++      __ctc1(__new_fcsr);
++
++      return ((__old_fcsr >> _ENABLE_SHIFT) & FE_ALL_EXCEPT);
++}
++
++static inline int
++fedisableexcept(int __mask)
++{
++      fenv_t __old_fcsr, __new_fcsr;
++
++      __cfc1(__old_fcsr);
++      __new_fcsr = __old_fcsr & ~((__mask & FE_ALL_EXCEPT) << _ENABLE_SHIFT);
++      __ctc1(__new_fcsr);
++
++      return ((__old_fcsr >> _ENABLE_SHIFT) & FE_ALL_EXCEPT);
++}
++
++static inline int
++fegetexcept(void)
++{
++      fexcept_t fcsr;
++
++      __cfc1(fcsr);
++
++      return ((fcsr & _ENABLE_MASK) >> _ENABLE_SHIFT);
++}
++
++#endif /* !SOFTFLOAT */
++
++#endif /* __BSD_VISIBLE */
++
++__END_DECLS
++
++#endif        /* !_FENV_H_ */
+--- /dev/null
++++ b/mips/Make.files
+@@ -0,0 +1 @@
++$(CUR_SRCS) = fenv.c
+--- /dev/null
++++ b/mips/fenv.c
+@@ -0,0 +1,67 @@
++/*-
++ * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
++ * 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$
++ */
++
++#define       __fenv_static
++#include "openlibm_fenv.h"
++
++#ifdef __GNUC_GNU_INLINE__
++#error "This file must be compiled with C99 'inline' semantics"
++#endif
++
++/*
++ * Hopefully the system ID byte is immutable, so it's valid to use
++ * this as a default environment.
++ */
++const fenv_t __fe_dfl_env = 0;
++
++#ifdef        SOFTFLOAT
++#define __set_env(env, flags, mask, rnd) env = ((flags)                 \
++                                                | (mask)<<_FPUSW_SHIFT  \
++                                                | (rnd) << 24)
++#define __env_flags(env)                ((env) & FE_ALL_EXCEPT)
++#define __env_mask(env)                 (((env) >> _FPUSW_SHIFT)        \
++                                                & FE_ALL_EXCEPT)
++#define __env_round(env)                (((env) >> 24) & _ROUND_MASK)
++#include "fenv-softfloat.h"
++#endif
++
++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);
++extern inline int feenableexcept(int __mask);
++extern inline int fedisableexcept(int __mask);
++extern inline int fegetexcept(void);
++
+--- a/src/Make.files
++++ b/src/Make.files
+@@ -38,6 +38,7 @@
+ ifneq ($(ARCH), arm)
+ ifneq ($(ARCH), powerpc)
++ifneq ($(ARCH), mips)
+ # C99 long double functions
+ $(CUR_SRCS) +=        s_copysignl.c s_fabsl.c s_llrintl.c s_lrintl.c s_modfl.c
+@@ -58,6 +59,7 @@
+       s_clogl.c s_ctanhl.c s_ccosl.c s_cbrtl.c
+ endif
+ endif
++endif
+ # C99 complex functions
+ $(CUR_SRCS) +=        s_ccosh.c s_ccoshf.c s_cexp.c s_cexpf.c \
+--- a/src/fpmath.h
++++ b/src/fpmath.h
+@@ -39,6 +39,8 @@
+ #endif
+ #elif defined(__powerpc__)
+ #include "powerpc_fpmath.h"
++#elif defined(__mips__)
++#include "mips_fpmath.h"
+ #endif
+ /* Definitions provided directly by GCC and Clang. */
+--- /dev/null
++++ b/src/mips_fpmath.h
+@@ -0,0 +1,57 @@
++/*-
++ * Copyright (c) 2002, 2003 David Schultz <das@FreeBSD.ORG>
++ * 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$
++ */
++
++union IEEEl2bits {
++      long double     e;
++      struct {
++#ifndef __MIPSEB__
++              unsigned int    manl    :32;
++              unsigned int    manh    :20;
++              unsigned int    exp     :11;
++              unsigned int    sign    :1;
++#else
++              unsigned int            sign    :1;
++              unsigned int            exp     :11;
++              unsigned int            manh    :20;
++              unsigned int            manl    :32;
++#endif
++      } bits;
++};
++
++#define       LDBL_NBIT       0
++#define       mask_nbit_l(u)  ((void)0)
++#define       LDBL_IMPLICIT_NBIT
++
++#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)
++
diff --git a/patches/fix-armhf-fp-status-register.patch b/patches/fix-armhf-fp-status-register.patch
new file mode 100644 (file)
index 0000000..3ddd7b5
--- /dev/null
@@ -0,0 +1,29 @@
+Description: Fix armhf floating-point status register
+ * Use an actual compiler definition to determine whether we have a
+   floating-point unit or not
+ * Use a modern (VFPU) assembly instruction to get/set the fpsr
+ * If we don't have an fpsr, at least zero out the return value
+Bug: https://github.com/JuliaLang/openlibm/pull/151
+Origin: upstream, https://github.com/JuliaLang/openlibm/commit/d982368bec9638619a6dfcaf9242896661695353
+Author: Elliot Saba <staticfloat@gmail.com>
+Last-Update: 2017-01-15
+--- a/include/openlibm_fenv_arm.h
++++ b/include/openlibm_fenv_arm.h
+@@ -69,11 +69,13 @@
+ #if defined(__aarch64__)
+ #define __rfs(__fpsr)   __asm __volatile("mrs %0,fpsr" : "=r" (*(__fpsr)))
+ #define __wfs(__fpsr)   __asm __volatile("msr fpsr,%0" : : "r" (__fpsr))
+-#elif defined(ARM_HARD_FLOAT)
+-#define       __rfs(__fpsr)   __asm __volatile("rfs %0" : "=r" (*(__fpsr)))
+-#define       __wfs(__fpsr)   __asm __volatile("wfs %0" : : "r" (__fpsr))
++/* Test for hardware support for ARM floating point operations, explicitly
++checking for float and double support, see "ARM C Language Extensions", 6.5.1 */
++#elif defined(__ARM_FP) && (__ARM_FP & 0x0C) != 0
++#define __rfs(__fpsr)   __asm __volatile("vmrs %0,fpscr" : "=&r" (*(__fpsr)))
++#define __wfs(__fpsr)   __asm __volatile("vmsr fpscr,%0" : : "r" (__fpsr))
+ #else
+-#define __rfs(__fpsr)
++#define __rfs(__fpsr) (*(__fpsr) = 0)
+ #define __wfs(__fpsr)
+ #endif
diff --git a/patches/fix-missing-buildflags.patch b/patches/fix-missing-buildflags.patch
new file mode 100644 (file)
index 0000000..ced456c
--- /dev/null
@@ -0,0 +1,23 @@
+Description: Fix missing buildflags
+ Upstream dropped CFLAGS while lowering optimization for *int.c and *intf.c:
+ https://github.com/JuliaLang/openlibm/commit/dcc0d8da7400b68cb0b02c4605ce10fd605f3a1a
+ Tests ran fine for me on ppc64el, so enabling optimization again.
+Forwarded: https://github.com/JuliaLang/openlibm/pull/130
+Author: Graham Inggs <ginggs@debian.org>
+Last-Update: 2016-04-06
+--- a/Make.inc
++++ b/Make.inc
+@@ -55,13 +55,6 @@
+ default: all
+-# *int / *intf need to be built with -O0
+-src/%int.c.o: src/%int.c
+-      $(CC) $(CPPFLAGS) -O0 $(CFLAGS_add) -c $< -o $@
+-
+-src/%intf.c.o: src/%intf.c
+-      $(CC) $(CPPFLAGS) -O0 $(CFLAGS_add) -c $< -o $@
+-
+ %.c.o: %.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_add) -c $< -o $@
diff --git a/patches/kfreebsd-hurd-tests.patch b/patches/kfreebsd-hurd-tests.patch
new file mode 100644 (file)
index 0000000..853fd42
--- /dev/null
@@ -0,0 +1,20 @@
+Description: Fix building tests on GNU/kFreeBSD and GNU/Hurd
+ Upstream only sets -rpath for $(OS) = Linux since
+ https://github.com/JuliaLang/openlibm/commit/4c8740ad589fd243eb2d3691f2c2395b505d713d
+Author: Graham Inggs <ginggs@debian.org>
+Forwarded: https://github.com/JuliaLang/openlibm/pull/129
+Last-Update: 2016-04-03
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -3,9 +3,9 @@
+ # Set rpath of tests to builddir for loading shared library
+ OPENLIBM_LIB = -L.. -lopenlibm
+-ifeq ($(OS),Linux)
++ifneq ($(OS), Darwin)
+ OPENLIBM_LIB += -Wl,-rpath=$(OPENLIBM_HOME)
+-endif
++endif
+ all: test-double test-float # test-double-system test-float-system
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..0065cc5
--- /dev/null
@@ -0,0 +1,4 @@
+kfreebsd-hurd-tests.patch
+fix-missing-buildflags.patch
+fix-armhf-fp-status-register.patch
+add-mips-support.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..a8f2787
--- /dev/null
+++ b/rules
@@ -0,0 +1,6 @@
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+
+%:
+       dh $@ --parallel
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/watch b/watch
new file mode 100644 (file)
index 0000000..7420877
--- /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/JuliaLang/openlibm/tags .*/v?(\d\S*)\.tar\.gz