From 51ff0102842ab586e39b2b2c479ff03c10dbf793 Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Thu, 26 May 2022 22:08:50 -0500 Subject: user/nettle: add ppc64 patch. fixes #698. --- user/nettle/APKBUILD | 14 ++++++-- user/nettle/ppc64.patch | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 user/nettle/ppc64.patch (limited to 'user/nettle') diff --git a/user/nettle/APKBUILD b/user/nettle/APKBUILD index e39fb203c..a77783a17 100644 --- a/user/nettle/APKBUILD +++ b/user/nettle/APKBUILD @@ -10,10 +10,17 @@ arch="all" license="LGPL-3.0+ OR GPL-2.0+" depends="" depends_dev="gmp-dev" -makedepends="$depends_dev m4 openssl-dev texinfo" +makedepends="$depends_dev m4 openssl-dev texinfo autoconf automake" subpackages="$pkgname-dev $pkgname-utils" source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz - nettle-2.4-makefile.patch" + nettle-2.4-makefile.patch + ppc64.patch + " + +prepare() { + default_prepare + autoreconf -i +} build() { ./configure \ @@ -47,4 +54,5 @@ utils() { } sha512sums="9901eba305421adff6d551ac7f478dff3f68a339d444c776724ab0b977fe6be792b1d2950c8705acbe76bd924fd6d898a65eded546777884be3b436d0e052437 nettle-3.7.3.tar.gz -c7d9741a7a37d225f3f0db16d355e13b04cc0f1ac56882a6ff31ef15c1a1a0aee7a70cf1ec8bbf2c46b9b0dcec153da7a7aa6b8909a72d76dd4d669cbbaceaa4 nettle-2.4-makefile.patch" +c7d9741a7a37d225f3f0db16d355e13b04cc0f1ac56882a6ff31ef15c1a1a0aee7a70cf1ec8bbf2c46b9b0dcec153da7a7aa6b8909a72d76dd4d669cbbaceaa4 nettle-2.4-makefile.patch +10bd1d5b3c8bd9b602cfcbe9530dece8c35df0c47899cc3cc4670e6462ed662a468a7ee42de10aa180b5956b2ef6af53be36edc59cb7c5de2ed2f7c80dd56a2e ppc64.patch" diff --git a/user/nettle/ppc64.patch b/user/nettle/ppc64.patch new file mode 100644 index 000000000..d13a2ec88 --- /dev/null +++ b/user/nettle/ppc64.patch @@ -0,0 +1,95 @@ +From c7cf19390dcb0e9792fc23b0c935c1fe5e4f91e1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niels=20M=C3=B6ller?= +Date: Tue, 4 Jan 2022 20:37:27 +0100 +Subject: [PATCH] ppc: New configure test for ELFV2_ABI + +--- + ChangeLog | 9 +++++++++ + config.m4.in | 1 + + configure.ac | 14 +++++++++++++- + powerpc64/machine.m4 | 4 ++-- + 4 files changed, 25 insertions(+), 3 deletions(-) + +diff --git a/config.m4.in b/config.m4.in +index d89325b8..b98a5817 100644 +--- a/config.m4.in ++++ b/config.m4.in +@@ -5,6 +5,7 @@ define(`COFF_STYLE', `@ASM_COFF_STYLE@')dnl + define(`TYPE_FUNCTION', `@ASM_TYPE_FUNCTION@')dnl + define(`TYPE_PROGBITS', `@ASM_TYPE_PROGBITS@')dnl + define(`ALIGN_LOG', `@ASM_ALIGN_LOG@')dnl ++define(`ELFV2_ABI', `@ELFV2_ABI@')dnl + define(`W64_ABI', `@W64_ABI@')dnl + define(`RODATA', `@ASM_RODATA@')dnl + define(`WORDS_BIGENDIAN', `@ASM_WORDS_BIGENDIAN@')dnl +diff --git a/configure.ac b/configure.ac +index 54df43ec..da72f908 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -311,6 +311,9 @@ AC_SUBST([GMP_NUMB_BITS]) + # Figure out ABI. Currently, configurable only by setting CFLAGS. + ABI=standard + ++ELFV2_ABI=no # For powerpc64 ++W64_ABI=no # For x86_64 windows ++ + case "$host_cpu" in + [x86_64 | amd64]) + AC_TRY_COMPILE([ +@@ -355,6 +358,15 @@ case "$host_cpu" in + ], [ + ABI=64 + ]) ++ if test "$ABI" = 64 ; then ++ AC_TRY_COMPILE([ ++#if _CALL_ELF == 2 ++#error ELFv2 ABI ++#endif ++ ], [], [], [ ++ ELFV2_ABI=yes ++ ]) ++ fi + ;; + aarch64*) + AC_TRY_COMPILE([ +@@ -756,7 +768,6 @@ IF_DLL='#' + LIBNETTLE_FILE_SRC='$(LIBNETTLE_FORLINK)' + LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FORLINK)' + EMULATOR='' +-W64_ABI=no + + case "$host_os" in + mingw32*|cygwin*) +@@ -1037,6 +1048,7 @@ AC_SUBST(ASM_TYPE_FUNCTION) + AC_SUBST(ASM_TYPE_PROGBITS) + AC_SUBST(ASM_MARK_NOEXEC_STACK) + AC_SUBST(ASM_ALIGN_LOG) ++AC_SUBST(ELFV2_ABI) + AC_SUBST(W64_ABI) + AC_SUBST(ASM_WORDS_BIGENDIAN) + AC_SUBST(EMULATOR) +diff --git a/powerpc64/machine.m4 b/powerpc64/machine.m4 +index 187a49b8..b59f0863 100644 +--- a/powerpc64/machine.m4 ++++ b/powerpc64/machine.m4 +@@ -1,7 +1,7 @@ + define(`PROLOGUE', + `.globl C_NAME($1) + DECLARE_FUNC(C_NAME($1)) +-ifelse(WORDS_BIGENDIAN,no, ++ifelse(ELFV2_ABI,yes, + `ifdef(`FUNC_ALIGN',`.align FUNC_ALIGN') + C_NAME($1): + addis 2,12,(.TOC.-C_NAME($1))@ha +@@ -17,7 +17,7 @@ ifdef(`FUNC_ALIGN',`.align FUNC_ALIGN') + undefine(`FUNC_ALIGN')') + + define(`EPILOGUE', +-`ifelse(WORDS_BIGENDIAN,no, ++`ifelse(ELFV2_ABI,yes, + `.size C_NAME($1), . - C_NAME($1)', + `.size .C_NAME($1), . - .C_NAME($1) + .size C_NAME($1), . - .C_NAME($1)')') +-- +GitLab + -- cgit v1.2.3-70-g09d2