diff --git c/math/cln/Makefile i/math/cln/Makefile index 52cdbd331088..1f6bde635dc4 100644 --- c/math/cln/Makefile +++ i/math/cln/Makefile @@ -21,8 +21,6 @@ USE_LDCONFIG= yes INFO= cln -BROKEN_aarch64= Fails to compile: error: declaration of divu_64_rest in global scope conflicts with declaration with C language linkage - .include .if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7 diff --git c/math/cln/files/patch-include_cln_exception.h i/math/cln/files/patch-include_cln_exception.h deleted file mode 100644 index ca3ed8763c2b..000000000000 --- c/math/cln/files/patch-include_cln_exception.h +++ /dev/null @@ -1,10 +0,0 @@ ---- include/cln/exception.h.orig 2013-09-12 12:47:22.000000000 +0000 -+++ include/cln/exception.h 2013-09-12 12:43:48.000000000 +0000 -@@ -4,6 +4,7 @@ - #define _CL_EXCEPTION_H - - #include -+#include - - namespace cln { - diff --git c/math/cln/files/patch-src_base_cl__low.h i/math/cln/files/patch-src_base_cl__low.h index 7177af422b36..ea20d9b07f64 100644 --- c/math/cln/files/patch-src_base_cl__low.h +++ i/math/cln/files/patch-src_base_cl__low.h @@ -27,3 +27,12 @@ #endif #if defined(__GNUC__) && defined(__sparc64__) && !defined(NO_ASM) #define divu_3232_3232(x,y,q_zuweisung,r_zuweisung) \ +@@ -979,7 +979,7 @@ inline uint32 mulu32_unchecked (uint32 arg1, uint32 ar + // Workaround MSVC compiler bug. + } extern "C" uint64 divu_64_rest; namespace cln { // -> Rest r + #else +- extern "C" uint64 divu_64_rest; // -> Rest r ++} extern "C" uint64 divu_64_rest; namespace cln { // -> Rest r + #endif + #define divu_6464_6464(x,y,q_zuweisung,r_zuweisung) \ + { q_zuweisung divu_6464_6464_(x,y); r_zuweisung divu_64_rest; } diff --git c/math/cln/files/patch-src_base_low_cl__low__div.cc i/math/cln/files/patch-src_base_low_cl__low__div.cc new file mode 100644 index 000000000000..fa6c2c78daf9 --- /dev/null +++ i/math/cln/files/patch-src_base_low_cl__low__div.cc @@ -0,0 +1,11 @@ +--- src/base/low/cl_low_div.cc.orig 2018-06-23 21:13:46 UTC ++++ src/base/low/cl_low_div.cc +@@ -207,7 +207,7 @@ uint32 divu_6432_3232_(uint32 xhi, uint32 xlo, uint32 + #endif + + #ifdef NEED_VAR_divu_64_rest +-uint64 divu_64_rest; ++extern "C" uint64 divu_64_rest; + #endif + + #ifdef NEED_FUNCTION_divu_6464_6464_ diff --git c/math/cln/files/patch-src_base_low_cl__low__mul.cc i/math/cln/files/patch-src_base_low_cl__low__mul.cc new file mode 100644 index 000000000000..ecdb7c70891c --- /dev/null +++ i/math/cln/files/patch-src_base_low_cl__low__mul.cc @@ -0,0 +1,16 @@ +--- src/base/low/cl_low_mul.cc.orig 2018-06-23 21:15:19 UTC ++++ src/base/low/cl_low_mul.cc +@@ -50,11 +50,11 @@ uint64 mulu32_w (uint32 arg1, uint32 arg2) + + + #ifdef NEED_VAR_mulu64_high +-uint64 mulu64_high; ++extern "C" uint64 mulu64_high; + #endif + + #ifdef NEED_FUNCTION_mulu64_ +-uint64 mulu64_high; ++extern "C" uint64 mulu64_high; + namespace cln { + extern "C" uint64 mulu64_ (uint64 x, uint64 y); + uint64 mulu64_ (uint64 x, uint64 y)