diff --git a/bindings/go/assembly.S b/bindings/go/assembly.S deleted file mode 100644 index c0c5db30..00000000 --- a/bindings/go/assembly.S +++ /dev/null @@ -1,116 +0,0 @@ -#if defined(__x86_64) || defined(__x86_64__) -# if defined(__ELF__) -# if defined(__BLST_PORTABLE__) -# include "elf/sha256-portable-x86_64.s" -# define blst_sha256_block_data_order blst_sha256_block_ssse3 -# endif -# include "elf/sha256-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "elf/ctx_inverse_mod_384-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "elf/ctq_inverse_mod_384-x86_64.s" -# endif -# include "elf/add_mod_384-x86_64.s" -# include "elf/add_mod_384x384-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "elf/mulx_mont_384-x86_64.s" -# include "elf/mulx_mont_256-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "elf/mulq_mont_384-x86_64.s" -# include "elf/mulq_mont_256-x86_64.s" -# endif -# include "elf/add_mod_256-x86_64.s" -# include "elf/ct_inverse_mod_256-x86_64.s" -# include "elf/div3w-x86_64.s" -# include "elf/ct_is_square_mod_384-x86_64.s" -# elif defined(_WIN64) || defined(__CYGWIN__) -# include "coff/sha256-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "coff/ctx_inverse_mod_384-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "coff/ctq_inverse_mod_384-x86_64.s" -# endif -# include "coff/add_mod_384-x86_64.s" -# include "coff/add_mod_384x384-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "coff/mulx_mont_384-x86_64.s" -# include "coff/mulx_mont_256-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "coff/mulq_mont_384-x86_64.s" -# include "coff/mulq_mont_256-x86_64.s" -# endif -# include "coff/add_mod_256-x86_64.s" -# include "coff/ct_inverse_mod_256-x86_64.s" -# include "coff/div3w-x86_64.s" -# include "coff/ct_is_square_mod_384-x86_64.s" -# elif defined(__APPLE__) -# include "mach-o/sha256-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "mach-o/ctx_inverse_mod_384-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "mach-o/ctq_inverse_mod_384-x86_64.s" -# endif -# include "mach-o/add_mod_384-x86_64.s" -# include "mach-o/add_mod_384x384-x86_64.s" -# if defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "mach-o/mulx_mont_384-x86_64.s" -# include "mach-o/mulx_mont_256-x86_64.s" -# endif -# if !defined(__ADX__) || defined(__BLST_PORTABLE__) -# include "mach-o/mulq_mont_384-x86_64.s" -# include "mach-o/mulq_mont_256-x86_64.s" -# endif -# include "mach-o/add_mod_256-x86_64.s" -# include "mach-o/ct_inverse_mod_256-x86_64.s" -# include "mach-o/div3w-x86_64.s" -# include "mach-o/ct_is_square_mod_384-x86_64.s" -# endif -#elif defined(__aarch64__) -# if defined(__ELF__) -# include "elf/sha256-armv8.S" -# include "elf/ct_inverse_mod_384-armv8.S" -# include "elf/add_mod_384-armv8.S" -# define __add_mod_384 __add_mont_384 -# define __sub_mod_384 __sub_mont_384 -# include "elf/mul_mont_384-armv8.S" -# include "elf/mul_mont_256-armv8.S" -# include "elf/add_mod_256-armv8.S" -# include "elf/ct_inverse_mod_256-armv8.S" -# include "elf/div3w-armv8.S" -# include "elf/ct_is_square_mod_384-armv8.S" -# elif defined(_WIN64) -# include "coff/sha256-armv8.S" -# include "coff/ct_inverse_mod_384-armv8.S" -# include "coff/add_mod_384-armv8.S" -# define __add_mod_384 __add_mont_384 -# define __sub_mod_384 __sub_mont_384 -# include "coff/mul_mont_384-armv8.S" -# include "coff/mul_mont_256-armv8.S" -# include "coff/add_mod_256-armv8.S" -# include "coff/ct_inverse_mod_256-armv8.S" -# include "coff/div3w-armv8.S" -# include "coff/ct_is_square_mod_384-armv8.S" -# elif defined(__APPLE__) -# include "mach-o/sha256-armv8.S" -# include "mach-o/ct_inverse_mod_384-armv8.S" -# include "mach-o/add_mod_384-armv8.S" -# define __add_mod_384 __add_mont_384 -# define __sub_mod_384 __sub_mont_384 -# include "mach-o/mul_mont_384-armv8.S" -# include "mach-o/mul_mont_256-armv8.S" -# include "mach-o/add_mod_256-armv8.S" -# include "mach-o/ct_inverse_mod_256-armv8.S" -# include "mach-o/div3w-armv8.S" -# include "mach-o/ct_is_square_mod_384-armv8.S" -# endif -#elif defined(__BLST_NO_ASM__) || \ - (defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__==4) -/* inaccurate way to detect a 32-bit processor, but it's close enough */ -#else -# error "unsupported platform" -#endif diff --git a/bindings/go/cgo_assembly.S b/bindings/go/cgo_assembly.S new file mode 100644 index 00000000..87d9d372 --- /dev/null +++ b/bindings/go/cgo_assembly.S @@ -0,0 +1 @@ +#include "assembly.S" diff --git a/bindings/go/cgo_server.c b/bindings/go/cgo_server.c new file mode 100644 index 00000000..eac8d202 --- /dev/null +++ b/bindings/go/cgo_server.c @@ -0,0 +1 @@ +#include "server.c" diff --git a/bindings/go/server.c b/bindings/go/server.c deleted file mode 100644 index 0a3c3f23..00000000 --- a/bindings/go/server.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Supranational LLC - * Licensed under the Apache License, Version 2.0, see LICENSE for details. - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "keygen.c" -#include "hash_to_field.c" -#include "e1.c" -#include "map_to_g1.c" -#include "e2.c" -#include "map_to_g2.c" -#include "fp12_tower.c" -#include "pairing.c" -#include "aggregate.c" -#include "exp.c" -#include "sqrt.c" -#include "recip.c" -#include "bulk_addition.c" -#include "multi_scalar.c" -#include "consts.c" -#include "vect.c" -#include "exports.c" -#include "cpuid.c" diff --git a/src/server.c b/src/server.c index 0c7b0826..0e72e2e2 100644 --- a/src/server.c +++ b/src/server.c @@ -21,7 +21,9 @@ #include "consts.c" #include "vect.c" #include "exports.c" -#include "rb_tree.c" +#ifndef __BLST_CGO__ +# include "rb_tree.c" +#endif #ifdef BLST_FR_PENTAROOT # include "pentaroot.c" #endif