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/ppc64.patch | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 user/nettle/ppc64.patch (limited to 'user/nettle/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-60-g2f50