Compare commits

..

No commits in common. 'c9' and 'i8c-beta' have entirely different histories.
c9 ... i8c-beta

2
.gitignore vendored

@ -1 +1 @@
SOURCES/gmp-6.2.0.tar.bz2
SOURCES/gmp-6.1.2.tar.bz2

@ -1 +1 @@
5e9341d3807bc7505376f9ed9f5c1c6c57050aa6 SOURCES/gmp-6.2.0.tar.bz2
366ded6a44cd108ba6b3f5b9a252eab3f3a95cdf SOURCES/gmp-6.1.2.tar.bz2

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -13,7 +13,7 @@ new file mode 100644
index 000000000..022e5edcc
--- /dev/null
+++ b/mpn/s390_64/z13/addmul_1.c
@@ -0,0 +1,358 @@
@@ -0,0 +1,359 @@
+/* Addmul_1 / mul_1 for IBM z13 and later
+ Contributed by Marius Hillenbrand
+
@ -45,6 +45,7 @@ index 000000000..022e5edcc
+GNU Lesser General Public License along with the GNU MP Library. If not,
+see https://www.gnu.org/licenses/. */
+
+#include "gmp.h"
+#include "gmp-impl.h"
+#include "s390_64/z13/common-vec.h"
+

@ -11,7 +11,7 @@ new file mode 100644
index 000000000..9a69fc38e
--- /dev/null
+++ b/mpn/s390_64/z13/aormul_2.c
@@ -0,0 +1,476 @@
@@ -0,0 +1,477 @@
+/* Addmul_2 / mul_2 for IBM z13 or later
+
+Copyright 2021 Free Software Foundation, Inc.
@ -42,6 +42,7 @@ index 000000000..9a69fc38e
+GNU Lesser General Public License along with the GNU MP Library. If not,
+see https://www.gnu.org/licenses/. */
+
+#include "gmp.h"
+#include "gmp-impl.h"
+
+#include "s390_64/z13/common-vec.h"

@ -9,7 +9,7 @@ new file mode 100644
index 000000000..f1b7160b3
--- /dev/null
+++ b/mpn/s390_64/z13/mul_basecase.c
@@ -0,0 +1,124 @@
@@ -0,0 +1,125 @@
+/* mpn_mul_basecase for IBM z13 and later -- Internal routine to multiply two
+ natural numbers of length m and n.
+
@ -46,6 +46,7 @@ index 000000000..f1b7160b3
+
+#include <stdlib.h>
+
+#include "gmp.h"
+#include "gmp-impl.h"
+
+/* Note: we explicitly inline all mul and addmul routines here to reduce the

@ -5,8 +5,8 @@
Summary: A GNU arbitrary precision library
Name: gmp
Version: 6.2.0
Release: 13%{?dist}
Version: 6.1.2
Release: 12%{?dist}
Epoch: 1
URL: http://gmplib.org/
Source0: ftp://ftp.gmplib.org/pub/gmp-%{version}/gmp-%{version}.tar.bz2
@ -14,25 +14,20 @@ Source0: ftp://ftp.gmplib.org/pub/gmp-%{version}/gmp-%{version}.tar.bz2
Source2: gmp.h
Source3: gmp-mparam.h
Patch2: gmp-6.0.0-debuginfo.patch
Patch3: gmp-intel-cet.patch
Patch3: gmp-fcf-protection.patch
Patch4: cve-2021-43618.patch
Patch5: ibm_z13_simd_part1.patch
Patch6: ibm_z13_simd_part2.patch
Patch7: ibm_z13_simd_part3.patch
Patch8: ibm_z13_simd_part4.patch
License: LGPLv3+ or GPLv2+
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: autoconf automake libtool
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git
#autoreconf on arm needs:
BuildRequires: perl-Carp
# Generate the .hmac checksum unless --without fips is used
%bcond_without fips
%if %{with fips}
BuildRequires: fipscheck
%endif
BuildRequires: make
%description
The gmp package contains GNU MP, a library for arbitrary precision
@ -48,6 +43,7 @@ library.
%package c++
Summary: C++ bindings for the GNU MP arbitrary precision library
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description c++
@ -55,8 +51,11 @@ Bindings for using the GNU MP arbitrary precision library in C++ applications.
%package devel
Summary: Development tools for the GNU MP arbitrary precision library
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-c++%{?_isa} = %{epoch}:%{version}-%{release}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description devel
The libraries, header files and documentation for using the GNU MP
@ -68,6 +67,7 @@ install the gmp package.
%package static
Summary: Development tools for the GNU MP arbitrary precision library
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
@ -94,6 +94,10 @@ fi
export CXXFLAGS=$(echo %{optflags} | sed -e "s/-mtune=[^ ]*//g" | sed -e "s/-march=[^ ]*/-march=i686/g")
%endif
export CCAS="$CCAS -Wa,--generate-missing-build-notes=yes"
export CFLAGS="$(echo %{optflags}) -fplugin=annobin"
export CXXFLAGS="$(echo %{optflags}) -fplugin=annobin"
%configure --enable-cxx --enable-fat
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
@ -101,26 +105,23 @@ sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|-lstdc++ -lm|-lstdc++|' \
-i libtool
export LD_LIBRARY_PATH=`pwd`/.libs
%make_build
make %{?_smp_mflags}
make check
%if %{with fips}
# Add generation of HMAC checksums of the final stripped binaries
# bz#1117188
%define __spec_install_post \
%{?__debug_package:%{__debug_install_post}} \
%{__arch_install_post} \
%{__os_install_post} \
fipshmac -d $RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libdir}/libgmp.so.10.* \
file=`basename $RPM_BUILD_ROOT%{_libdir}/libgmp.so.10.*.hmac` && \
mkdir -p $RPM_BUILD_ROOT%{_libdir}/fipscheck && \
mv $RPM_BUILD_ROOT%{_libdir}/$file $RPM_BUILD_ROOT%{_libdir}/fipscheck/$file && \
ln -s $file $RPM_BUILD_ROOT%{_libdir}/fipscheck/libgmp.so.10.hmac && \
cp $RPM_BUILD_ROOT%{_libdir}/fipscheck/$file $RPM_BUILD_ROOT%{_libdir}/.$file && \
ln -s .$file $RPM_BUILD_ROOT%{_libdir}/.libgmp.so.10.hmac
%{nil}
%endif
%{?__debug_package:%{__debug_install_post}} \
%{__arch_install_post} \
%{__os_install_post} \
mkdir -p $RPM_BUILD_ROOT%{_libdir}/fipscheck \
fipshmac -d $RPM_BUILD_ROOT%{_libdir}/fipscheck $RPM_BUILD_ROOT%{_libdir}/libgmp.so.10.3.2 \
ln -s libgmp.so.10.3.2.hmac $RPM_BUILD_ROOT%{_libdir}/fipscheck/libgmp.so.10.hmac \
%{nil}
%install
export LD_LIBRARY_PATH=`pwd`/.libs
%make_install
make install DESTDIR=$RPM_BUILD_ROOT
install -m 644 gmp-mparam.h ${RPM_BUILD_ROOT}%{_includedir}
rm -f $RPM_BUILD_ROOT%{_libdir}/lib{gmp,mp,gmpxx}.la
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
@ -154,104 +155,79 @@ install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/gmp-mparam.h
%check
%ifnarch ppc
export LD_LIBRARY_PATH=`pwd`/.libs
%make_build check
make %{?_smp_mflags} check
%endif
%ldconfig_scriptlets
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post c++ -p /sbin/ldconfig
%postun c++ -p /sbin/ldconfig
%ldconfig_scriptlets c++
%post devel
if [ -f %{_infodir}/gmp.info.gz ]; then
/sbin/install-info %{_infodir}/gmp.info.gz %{_infodir}/dir || :
fi
exit 0
%preun devel
if [ $1 = 0 ]; then
if [ -f %{_infodir}/gmp.info.gz ]; then
/sbin/install-info --delete %{_infodir}/gmp.info.gz %{_infodir}/dir || :
fi
fi
exit 0
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LESSERv3 COPYINGv2 COPYINGv3
%doc NEWS README
%{_libdir}/libgmp.so.*
%if %{with fips}
%{_libdir}/.libgmp.so.*.hmac
%{_libdir}/fipscheck/libgmp.so.*.hmac
%endif
%{_libdir}/fipscheck/libgmp.so.10.3.2.hmac
%{_libdir}/fipscheck/libgmp.so.10.hmac
%files c++
%{_libdir}/libgmpxx.so.*
%files devel
%defattr(-,root,root,-)
%{_libdir}/libgmp.so
%{_libdir}/libgmpxx.so
%{_libdir}/pkgconfig/gmp.pc
%{_libdir}/pkgconfig/gmpxx.pc
%{_includedir}/*.h
%{_infodir}/gmp.info*
%files static
%defattr(-,root,root,-)
%{_libdir}/libgmp.a
%{_libdir}/libgmpxx.a
%changelog
* Tue Aug 03 2023 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-13
- Fix: previous commit removed one function from the library and thus broke the ABI
- function gmpn_preinv_divrem_1 should now not be removed
Related: rhbz#2044216
* Tue Jul 18 2023 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-12
- Add SIMD optimization patches for s390x (provided by the IBM)
Resolves: rhbz#2044216
* Tue Jun 06 2023 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-11
Fix: Integer overflow and resultant buffer overflow via crafted input
Resolves: CVE-2021-43618
* Fri Aug 27 2021 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-10
- Add the support for intel CET
Resolves: rhbz#1977890
* Wed Aug 18 2021 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-9
- Move the .hmac files to the fipscheck subfolder
- Make symlinks from their original location (Fedora contains the .hmac files there) pointing to their new location
Resolves: rhbz#1980758
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:6.2.0-8
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1:6.2.0-7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 15 2020 Kalev Lember <klember@redhat.com> - 1:6.2.0-5
- Move gmpxx.pc to -devel subpackage as well
* Fri Aug 07 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 1:6.2.0-4
- The pkgcfg file should be in devel
* Tue Jul 28 2020 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-3
- Use make macros
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 17 2020 Jakub Martisko <jamartis@redhat.com> - 1:6.2.0-1
- Rebase to 6.2.0
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Mar 29 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1:6.1.2-12
- Rebuilt for MSVSphere 8.10 beta
* Tue Dec 03 2019 Jakub Martisko <jamartis@redhat.com> - 1:6.1.2-12
- Reenable the fat binaries build option
Resolves: #1779060
* Mon Feb 05 2024 Jakub Martisko <jamartis@redhat.com> - 1:6.1.2-12
- Add s390x optimizations
Resolves: RHEL-10549
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jan 29 2024 Jakub Martisko <jamartis@redhat.com> - 1:6.1.2-11
- Fix: CVE-2021-43618
Resolves: RHEL-23055
* Fri Feb 15 2019 Anderson Toshiyuki Sasaki <ansasaki@redhat.com> - 1:6.1.2-10
- Create HMAC checksum for FIPS integrity self tests
* Fri Jun 14 2019 Jakub Martisko <jamartis@redhat.com> - 1:6.1.2-10
- Add gating.yaml
Related: #1681026
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jun 11 2019 Jakub Martisko <jamartis@redhat.com> - 1:6.1.2-9
- Add support for intel CET and -fcf-protection
- Add missing compiler/linker flags
Related: #1630567
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jul 26 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 1:6.1.2-8
- Missing fipschecks added into build process (bug #1553679)
- --enable-fat option added to %%configure (bug #1493218)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

Loading…
Cancel
Save