diff -Nru gmp-6.3.0+dfsg/debian/changelog gmp-6.3.0+dfsg/debian/changelog --- gmp-6.3.0+dfsg/debian/changelog 2023-08-02 06:33:24.000000000 +0000 +++ gmp-6.3.0+dfsg/debian/changelog 2023-08-18 09:30:18.000000000 +0000 @@ -1,3 +1,15 @@ +gmp (2:6.3.0+dfsg-2ubuntu4) mantic; urgency=medium + + * Add d/p/0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch + to fix failed build on s390x reported in v2:6.3.0+dfsg-2ubuntu3 + with an upstream commit. (LP: #2028937) + * d/rules: Revert workaround introduced in v2:6.3.0+dfsg-2ubuntu3 + to circumvent build issue on s390x and set MPN_PATH again, + since the workaround is no longer needed with patch above. + * d/control: Modification due to update-maintainer run. + + -- Frank Heimes Fri, 18 Aug 2023 11:30:18 +0200 + gmp (2:6.3.0+dfsg-2ubuntu3) mantic; urgency=medium * Don't set MPN_PATH for a first build on s390x. diff -Nru gmp-6.3.0+dfsg/debian/control gmp-6.3.0+dfsg/debian/control --- gmp-6.3.0+dfsg/debian/control 2023-08-01 01:22:53.000000000 +0000 +++ gmp-6.3.0+dfsg/debian/control 2023-08-18 09:30:18.000000000 +0000 @@ -1,5 +1,6 @@ Source: gmp -Maintainer: Debian Science Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Science Maintainers Uploaders: Steve M. Robbins , Anton Gladky Section: libs diff -Nru gmp-6.3.0+dfsg/debian/patches/0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch gmp-6.3.0+dfsg/debian/patches/0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch --- gmp-6.3.0+dfsg/debian/patches/0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmp-6.3.0+dfsg/debian/patches/0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch 2023-08-18 09:30:18.000000000 +0000 @@ -0,0 +1,315 @@ +Description: Revert "Move popcount and hamdist back from z14 to z13 after needed edits." + Unfortunately not only the extended mnemonics are not available with z13, + but also vpopct M3=1-3 is reserved. Thus you'll get an illegal-instruction + if run on z13 as vector enhancement facility 1 (introduced with z14) is + not available. +Author: Stefan Liebler +Origin: upstream, https://gmplib.org/repo/gmp/rev/372acfd0c33e +Bug-Ubuntu: https://bugs.launchpad.net/bugs/2028937 +Bug-IBM: BZ#203279 +Reviewed-by: Frank Heimes +Last-Update: 2023-08-18 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/mpn/s390_64/z13/hamdist.asm ++++ /dev/null +@@ -1,76 +0,0 @@ +-dnl S/390-64 mpn_hamdist +- +-dnl Copyright 2023 Free Software Foundation, Inc. +- +-dnl This file is part of the GNU MP Library. +-dnl +-dnl The GNU MP Library is free software; you can redistribute it and/or modify +-dnl it under the terms of either: +-dnl +-dnl * the GNU Lesser General Public License as published by the Free +-dnl Software Foundation; either version 3 of the License, or (at your +-dnl option) any later version. +-dnl +-dnl or +-dnl +-dnl * the GNU General Public License as published by the Free Software +-dnl Foundation; either version 2 of the License, or (at your option) any +-dnl later version. +-dnl +-dnl or both in parallel, as here. +-dnl +-dnl The GNU MP Library is distributed in the hope that it will be useful, but +-dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +-dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-dnl for more details. +-dnl +-dnl You should have received copies of the GNU General Public License and the +-dnl GNU Lesser General Public License along with the GNU MP Library. If not, +-dnl see https://www.gnu.org/licenses/. +- +-include(`../config.m4') +- +-C cycles/limb +-C z900 - +-C z990 - +-C z9 - +-C z10 - +-C z196 - +-C z12 ? +-C z13 ? +-C z14 ? +-C z15 ? +- +-define(`ap', `%r2') +-define(`bp', `%r3') +-define(`n', `%r4') +- +-ASM_START() +-PROLOGUE(mpn_hamdist) +- vzero %v30 +- tmll n, 1 +- srlg n, n, 1 +- je L(top) +- +-L(odd): vllezg %v16, 0(ap) +- vllezg %v17, 0(bp) +- vx %v16, %v16, %v17 +- vpopct %v30, %v16, 3 +- la ap, 8(ap) +- la bp, 8(bp) +- clgije n, 0, L(end) +- +-L(top): vl %v16, 0(ap), 3 +- vl %v17, 0(bp), 3 +- vx %v16, %v16, %v17 +- vpopct %v20, %v16, 3 +- vag %v30, %v30, %v20 +- la ap, 16(ap) +- la bp, 16(bp) +- brctg n, L(top) +- +-L(end): vzero %v29 +- vsumqg %v30, %v30, %v29 +- vlgvg %r2, %v30, 1(%r0) +- br %r14 +-EPILOGUE() +--- a/mpn/s390_64/z13/popcount.asm ++++ /dev/null +@@ -1,69 +0,0 @@ +-dnl S/390-64 mpn_popcount +- +-dnl Copyright 2023 Free Software Foundation, Inc. +- +-dnl This file is part of the GNU MP Library. +-dnl +-dnl The GNU MP Library is free software; you can redistribute it and/or modify +-dnl it under the terms of either: +-dnl +-dnl * the GNU Lesser General Public License as published by the Free +-dnl Software Foundation; either version 3 of the License, or (at your +-dnl option) any later version. +-dnl +-dnl or +-dnl +-dnl * the GNU General Public License as published by the Free Software +-dnl Foundation; either version 2 of the License, or (at your option) any +-dnl later version. +-dnl +-dnl or both in parallel, as here. +-dnl +-dnl The GNU MP Library is distributed in the hope that it will be useful, but +-dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +-dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-dnl for more details. +-dnl +-dnl You should have received copies of the GNU General Public License and the +-dnl GNU Lesser General Public License along with the GNU MP Library. If not, +-dnl see https://www.gnu.org/licenses/. +- +-include(`../config.m4') +- +-C cycles/limb +-C z900 - +-C z990 - +-C z9 - +-C z10 - +-C z196 - +-C z12 ? +-C z13 ? +-C z14 ? +-C z15 ? +- +-define(`ap', `%r2') +-define(`n', `%r3') +- +-ASM_START() +-PROLOGUE(mpn_popcount) +- vzero %v30 +- tmll n, 1 +- srlg n, n, 1 +- je L(top) +- +-L(odd): vllezg %v16, 0(ap) +- vpopct %v30, %v16, 3 +- la ap, 8(ap) +- clgije n, 0, L(end) +- +-L(top): vl %v16, 0(ap), 3 +- vpopct %v20, %v16, 3 +- vag %v30, %v30, %v20 +- la ap, 16(ap) +- brctg n, L(top) +- +-L(end): vzero %v29 +- vsumqg %v30, %v30, %v29 +- vlgvg %r2, %v30, 1(%r0) +- br %r14 +-EPILOGUE() +--- /dev/null ++++ b/mpn/s390_64/z14/hamdist.asm +@@ -0,0 +1,76 @@ ++dnl S/390-64 mpn_hamdist ++ ++dnl Copyright 2023 Free Software Foundation, Inc. ++ ++dnl This file is part of the GNU MP Library. ++dnl ++dnl The GNU MP Library is free software; you can redistribute it and/or modify ++dnl it under the terms of either: ++dnl ++dnl * the GNU Lesser General Public License as published by the Free ++dnl Software Foundation; either version 3 of the License, or (at your ++dnl option) any later version. ++dnl ++dnl or ++dnl ++dnl * the GNU General Public License as published by the Free Software ++dnl Foundation; either version 2 of the License, or (at your option) any ++dnl later version. ++dnl ++dnl or both in parallel, as here. ++dnl ++dnl The GNU MP Library is distributed in the hope that it will be useful, but ++dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++dnl for more details. ++dnl ++dnl You should have received copies of the GNU General Public License and the ++dnl GNU Lesser General Public License along with the GNU MP Library. If not, ++dnl see https://www.gnu.org/licenses/. ++ ++include(`../config.m4') ++ ++C cycles/limb ++C z900 - ++C z990 - ++C z9 - ++C z10 - ++C z196 - ++C z12 ? ++C z13 ? ++C z14 ? ++C z15 ? ++ ++define(`ap', `%r2') ++define(`bp', `%r3') ++define(`n', `%r4') ++ ++ASM_START() ++PROLOGUE(mpn_hamdist) ++ vzero %v30 ++ tmll n, 1 ++ srlg n, n, 1 ++ je L(top) ++ ++L(odd): vllezg %v16, 0(ap) ++ vllezg %v17, 0(bp) ++ vx %v16, %v16, %v17 ++ vpopctg %v30, %v16 ++ la ap, 8(ap) ++ la bp, 8(bp) ++ clgije n, 0, L(end) ++ ++L(top): vl %v16, 0(ap), 3 ++ vl %v17, 0(bp), 3 ++ vx %v16, %v16, %v17 ++ vpopctg %v20, %v16 ++ vag %v30, %v30, %v20 ++ la ap, 16(ap) ++ la bp, 16(bp) ++ brctg n, L(top) ++ ++L(end): vzero %v29 ++ vsumqg %v30, %v30, %v29 ++ vlgvg %r2, %v30, 1(%r0) ++ br %r14 ++EPILOGUE() +--- /dev/null ++++ b/mpn/s390_64/z14/popcount.asm +@@ -0,0 +1,69 @@ ++dnl S/390-64 mpn_popcount ++ ++dnl Copyright 2023 Free Software Foundation, Inc. ++ ++dnl This file is part of the GNU MP Library. ++dnl ++dnl The GNU MP Library is free software; you can redistribute it and/or modify ++dnl it under the terms of either: ++dnl ++dnl * the GNU Lesser General Public License as published by the Free ++dnl Software Foundation; either version 3 of the License, or (at your ++dnl option) any later version. ++dnl ++dnl or ++dnl ++dnl * the GNU General Public License as published by the Free Software ++dnl Foundation; either version 2 of the License, or (at your option) any ++dnl later version. ++dnl ++dnl or both in parallel, as here. ++dnl ++dnl The GNU MP Library is distributed in the hope that it will be useful, but ++dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++dnl for more details. ++dnl ++dnl You should have received copies of the GNU General Public License and the ++dnl GNU Lesser General Public License along with the GNU MP Library. If not, ++dnl see https://www.gnu.org/licenses/. ++ ++include(`../config.m4') ++ ++C cycles/limb ++C z900 - ++C z990 - ++C z9 - ++C z10 - ++C z196 - ++C z12 ? ++C z13 ? ++C z14 ? ++C z15 ? ++ ++define(`ap', `%r2') ++define(`n', `%r3') ++ ++ASM_START() ++PROLOGUE(mpn_popcount) ++ vzero %v30 ++ tmll n, 1 ++ srlg n, n, 1 ++ je L(top) ++ ++L(odd): vllezg %v16, 0(ap) ++ vpopctg %v30, %v16 ++ la ap, 8(ap) ++ clgije n, 0, L(end) ++ ++L(top): vl %v16, 0(ap), 3 ++ vpopctg %v20, %v16 ++ vag %v30, %v30, %v20 ++ la ap, 16(ap) ++ brctg n, L(top) ++ ++L(end): vzero %v29 ++ vsumqg %v30, %v30, %v29 ++ vlgvg %r2, %v30, 1(%r0) ++ br %r14 ++EPILOGUE() diff -Nru gmp-6.3.0+dfsg/debian/patches/series gmp-6.3.0+dfsg/debian/patches/series --- gmp-6.3.0+dfsg/debian/patches/series 2023-08-02 03:59:38.000000000 +0000 +++ gmp-6.3.0+dfsg/debian/patches/series 2023-08-18 09:30:18.000000000 +0000 @@ -12,3 +12,4 @@ 0011-x86-p6-Prepend-X86_NOTRACK-to-jmp-reg.patch 0012-x86-k6-Prepend-X86_NOTRACK-to-jmp-reg.patch 0013-x86-k7-Prepend-X86_NOTRACK-to-indirect-branches.patch +0014-s390x-revert_popcount_and_hamdist_back_from_z14_to_z13.patch diff -Nru gmp-6.3.0+dfsg/debian/rules gmp-6.3.0+dfsg/debian/rules --- gmp-6.3.0+dfsg/debian/rules 2023-08-02 06:33:17.000000000 +0000 +++ gmp-6.3.0+dfsg/debian/rules 2023-08-18 09:30:18.000000000 +0000 @@ -60,9 +60,9 @@ confflags += ABI=64 endif -#ifneq (,$(filter $(DEB_HOST_ARCH), s390x)) -# confflags += MPN_PATH="s390_64/z13 s390_64 generic" -#endif +ifneq (,$(filter $(DEB_HOST_ARCH), s390x)) + confflags += MPN_PATH="s390_64/z13 s390_64 generic" +endif confflags_ma = $(confflags) $(confflags_build) --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)