diff options
| author | Theo Buehler <tb@openbsd.org> | 2025-04-12 15:02:41 +0200 |
|---|---|---|
| committer | Theo Buehler <tb@openbsd.org> | 2025-04-12 15:02:41 +0200 |
| commit | 34480a7eba9b3af01bf5ccbd844dc749147c9341 (patch) | |
| tree | ae7680622519077af36d2fa49696b8d120f35b69 | |
| parent | f625098f8b64b917b239afd72d1317139bef1e3b (diff) | |
| parent | 031c2f1722f9af10299de3d22ff3c1467d541241 (diff) | |
| download | portable-34480a7eba9b3af01bf5ccbd844dc749147c9341.tar.gz portable-34480a7eba9b3af01bf5ccbd844dc749147c9341.tar.bz2 portable-34480a7eba9b3af01bf5ccbd844dc749147c9341.zip | |
Land #1146 - Basic longarch64 support
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | configure.ac | 21 | ||||
| -rw-r--r-- | crypto/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | crypto/Makefile.am | 7 | ||||
| -rw-r--r-- | crypto/arch/loongarch64/crypto_arch.h | 21 | ||||
| -rw-r--r-- | crypto/bn/arch/loongarch64/bn_arch.h | 23 | ||||
| -rw-r--r-- | include/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | include/arch/loongarch64/opensslconf.h | 154 | ||||
| -rw-r--r-- | include/openssl/Makefile.am.tpl | 3 | ||||
| -rw-r--r-- | ssl/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | ssl/Makefile.am | 5 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | tests/Makefile.am | 4 |
13 files changed, 239 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 437570b..3673922 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -389,6 +389,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64|AMD64)") | |||
| 389 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|[xX]86)") | 389 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|[xX]86)") |
| 390 | set(ENABLE_ASM false) | 390 | set(ENABLE_ASM false) |
| 391 | set(HOST_I386 true) | 391 | set(HOST_I386 true) |
| 392 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64") | ||
| 393 | set(HOST_LOONGARCH64 true) | ||
| 392 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64") | 394 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64") |
| 393 | set(HOST_MIPS64 true) | 395 | set(HOST_MIPS64 true) |
| 394 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") | 396 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") |
diff --git a/configure.ac b/configure.ac index 864a4ad..7a88f27 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -86,16 +86,17 @@ AS_CASE([$host_cpu], | |||
| 86 | ) | 86 | ) |
| 87 | AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"]) | 87 | AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"]) |
| 88 | 88 | ||
| 89 | AM_CONDITIONAL([HOST_AARCH64], [test "$host_cpu" = "aarch64"]) | 89 | AM_CONDITIONAL([HOST_AARCH64], [test "$host_cpu" = "aarch64"]) |
| 90 | AM_CONDITIONAL([HOST_ARM], [test "$host_cpu" = "arm"]) | 90 | AM_CONDITIONAL([HOST_ARM], [test "$host_cpu" = "arm"]) |
| 91 | AM_CONDITIONAL([HOST_I386], [test "$host_cpu" = "i386"]) | 91 | AM_CONDITIONAL([HOST_I386], [test "$host_cpu" = "i386"]) |
| 92 | AM_CONDITIONAL([HOST_MIPS], [test "$host_cpu" = "mips"]) | 92 | AM_CONDITIONAL([HOST_LOONGARCH64], [test "$host_cpu" = "loongarch64"]) |
| 93 | AM_CONDITIONAL([HOST_MIPS64], [test "$host_cpu" = "mips64"]) | 93 | AM_CONDITIONAL([HOST_MIPS], [test "$host_cpu" = "mips"]) |
| 94 | AM_CONDITIONAL([HOST_POWERPC], [test "$host_cpu" = "powerpc"]) | 94 | AM_CONDITIONAL([HOST_MIPS64], [test "$host_cpu" = "mips64"]) |
| 95 | AM_CONDITIONAL([HOST_POWERPC64], [test "$host_cpu" = "ppc64"]) | 95 | AM_CONDITIONAL([HOST_POWERPC], [test "$host_cpu" = "powerpc"]) |
| 96 | AM_CONDITIONAL([HOST_RISCV64], [test "$host_cpu" = "riscv64"]) | 96 | AM_CONDITIONAL([HOST_POWERPC64], [test "$host_cpu" = "ppc64"]) |
| 97 | AM_CONDITIONAL([HOST_SPARC64], [test "$host_cpu" = "sparc64"]) | 97 | AM_CONDITIONAL([HOST_RISCV64], [test "$host_cpu" = "riscv64"]) |
| 98 | AM_CONDITIONAL([HOST_X86_64], [test "$host_cpu" = "x86_64"]) | 98 | AM_CONDITIONAL([HOST_SPARC64], [test "$host_cpu" = "sparc64"]) |
| 99 | AM_CONDITIONAL([HOST_X86_64], [test "$host_cpu" = "x86_64"]) | ||
| 99 | 100 | ||
| 100 | AC_MSG_CHECKING([if .gnu.warning accepts long strings]) | 101 | AC_MSG_CHECKING([if .gnu.warning accepts long strings]) |
| 101 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | 102 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index e642b01..a714059 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
| @@ -774,6 +774,9 @@ elseif(HOST_ARM) | |||
| 774 | elseif(HOST_I386) | 774 | elseif(HOST_I386) |
| 775 | target_include_directories(crypto_obj PRIVATE arch/i386/) | 775 | target_include_directories(crypto_obj PRIVATE arch/i386/) |
| 776 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) | 776 | target_include_directories(crypto_obj PRIVATE bn/arch/i386/) |
| 777 | elseif(HOST_LOONGARCH64) | ||
| 778 | target_include_directories(crypto_obj PRIVATE arch/loongarch64) | ||
| 779 | target_include_directories(crypto_obj PRIVATE bn/arch/loongarch64) | ||
| 777 | elseif(HOST_MIPS64) | 780 | elseif(HOST_MIPS64) |
| 778 | target_include_directories(crypto_obj PRIVATE arch/mips64) | 781 | target_include_directories(crypto_obj PRIVATE arch/mips64) |
| 779 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) | 782 | target_include_directories(crypto_obj PRIVATE bn/arch/mips64) |
diff --git a/crypto/Makefile.am b/crypto/Makefile.am index 438da8b..0952494 100644 --- a/crypto/Makefile.am +++ b/crypto/Makefile.am | |||
| @@ -396,6 +396,13 @@ endif | |||
| 396 | noinst_HEADERS += arch/i386/crypto_arch.h | 396 | noinst_HEADERS += arch/i386/crypto_arch.h |
| 397 | noinst_HEADERS += bn/arch/i386/bn_arch.h | 397 | noinst_HEADERS += bn/arch/i386/bn_arch.h |
| 398 | 398 | ||
| 399 | if HOST_LOONGARCH64 | ||
| 400 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
| 401 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/loongarch64/ | ||
| 402 | endif | ||
| 403 | noinst_HEADERS += arch/loongarch64/crypto_arch.h | ||
| 404 | noinst_HEADERS += bn/arch/loongarch64/bn_arch.h | ||
| 405 | |||
| 399 | # XXX - do we still need this? | 406 | # XXX - do we still need this? |
| 400 | if HOST_MIPS | 407 | if HOST_MIPS |
| 401 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips/ | 408 | libcrypto_la_CPPFLAGS += -I$(top_srcdir)/crypto/bn/arch/mips/ |
diff --git a/crypto/arch/loongarch64/crypto_arch.h b/crypto/arch/loongarch64/crypto_arch.h new file mode 100644 index 0000000..a3dd98d --- /dev/null +++ b/crypto/arch/loongarch64/crypto_arch.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* $OpenBSD: crypto_arch.h,v 1.1 2024/08/11 13:02:39 jsing Exp $ */ | ||
| 2 | /* | ||
| 3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> | ||
| 4 | * | ||
| 5 | * Permission to use, copy, modify, and distribute this software for any | ||
| 6 | * purpose with or without fee is hereby granted, provided that the above | ||
| 7 | * copyright notice and this permission notice appear in all copies. | ||
| 8 | * | ||
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #ifndef HEADER_CRYPTO_ARCH_H | ||
| 19 | #define HEADER_CRYPTO_ARCH_H | ||
| 20 | |||
| 21 | #endif | ||
diff --git a/crypto/bn/arch/loongarch64/bn_arch.h b/crypto/bn/arch/loongarch64/bn_arch.h new file mode 100644 index 0000000..672ac12 --- /dev/null +++ b/crypto/bn/arch/loongarch64/bn_arch.h | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | /* $OpenBSD: bn_arch.h,v 1.7 2023/07/09 10:37:32 jsing Exp $ */ | ||
| 2 | /* | ||
| 3 | * Copyright (c) 2023 Joel Sing <jsing@openbsd.org> | ||
| 4 | * | ||
| 5 | * Permission to use, copy, modify, and distribute this software for any | ||
| 6 | * purpose with or without fee is hereby granted, provided that the above | ||
| 7 | * copyright notice and this permission notice appear in all copies. | ||
| 8 | * | ||
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include <openssl/bn.h> | ||
| 19 | |||
| 20 | #ifndef HEADER_BN_ARCH_H | ||
| 21 | #define HEADER_BN_ARCH_H | ||
| 22 | |||
| 23 | #endif | ||
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 59f5b62..11ab7c2 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt | |||
| @@ -24,6 +24,8 @@ elseif(HOST_ARM) | |||
| 24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) | 24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) |
| 25 | elseif(HOST_I386) | 25 | elseif(HOST_I386) |
| 26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) | 26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) |
| 27 | elseif(HOST_LOONGARCH64) | ||
| 28 | file(READ arch/loongarch64/opensslconf.h OPENSSLCONF) | ||
| 27 | elseif(HOST_MIPS) | 29 | elseif(HOST_MIPS) |
| 28 | file(READ arch/mips/opensslconf.h OPENSSLCONF) | 30 | file(READ arch/mips/opensslconf.h OPENSSLCONF) |
| 29 | elseif(HOST_MIPS64) | 31 | elseif(HOST_MIPS64) |
diff --git a/include/arch/loongarch64/opensslconf.h b/include/arch/loongarch64/opensslconf.h new file mode 100644 index 0000000..731b06a --- /dev/null +++ b/include/arch/loongarch64/opensslconf.h | |||
| @@ -0,0 +1,154 @@ | |||
| 1 | #include <openssl/opensslfeatures.h> | ||
| 2 | /* crypto/opensslconf.h.in */ | ||
| 3 | |||
| 4 | #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) | ||
| 5 | #define OPENSSLDIR "/etc/ssl" | ||
| 6 | #endif | ||
| 7 | |||
| 8 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION | ||
| 9 | |||
| 10 | #ifndef OPENSSL_FILE | ||
| 11 | #ifdef OPENSSL_NO_FILENAMES | ||
| 12 | #define OPENSSL_FILE "" | ||
| 13 | #define OPENSSL_LINE 0 | ||
| 14 | #else | ||
| 15 | #define OPENSSL_FILE __FILE__ | ||
| 16 | #define OPENSSL_LINE __LINE__ | ||
| 17 | #endif | ||
| 18 | #endif | ||
| 19 | |||
| 20 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | ||
| 21 | #define IDEA_INT unsigned int | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #if defined(HEADER_MD2_H) && !defined(MD2_INT) | ||
| 25 | #define MD2_INT unsigned int | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #if defined(HEADER_RC2_H) && !defined(RC2_INT) | ||
| 29 | /* I need to put in a mod for the alpha - eay */ | ||
| 30 | #define RC2_INT unsigned int | ||
| 31 | #endif | ||
| 32 | |||
| 33 | #if defined(HEADER_RC4_H) | ||
| 34 | #if !defined(RC4_INT) | ||
| 35 | /* using int types make the structure larger but make the code faster | ||
| 36 | * on most boxes I have tested - up to %20 faster. */ | ||
| 37 | /* | ||
| 38 | * I don't know what does "most" mean, but declaring "int" is a must on: | ||
| 39 | * - Intel P6 because partial register stalls are very expensive; | ||
| 40 | * - elder Alpha because it lacks byte load/store instructions; | ||
| 41 | */ | ||
| 42 | #define RC4_INT unsigned int | ||
| 43 | #endif | ||
| 44 | #if !defined(RC4_CHUNK) | ||
| 45 | /* | ||
| 46 | * This enables code handling data aligned at natural CPU word | ||
| 47 | * boundary. See crypto/rc4/rc4_enc.c for further details. | ||
| 48 | */ | ||
| 49 | #define RC4_CHUNK unsigned long | ||
| 50 | #endif | ||
| 51 | #endif | ||
| 52 | |||
| 53 | #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) | ||
| 54 | /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a | ||
| 55 | * %20 speed up (longs are 8 bytes, int's are 4). */ | ||
| 56 | #ifndef DES_LONG | ||
| 57 | #define DES_LONG unsigned int | ||
| 58 | #endif | ||
| 59 | #endif | ||
| 60 | |||
| 61 | #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) | ||
| 62 | #define CONFIG_HEADER_BN_H | ||
| 63 | #undef BN_LLONG | ||
| 64 | |||
| 65 | /* Should we define BN_DIV2W here? */ | ||
| 66 | |||
| 67 | /* Only one for the following should be defined */ | ||
| 68 | /* The prime number generation stuff may not work when | ||
| 69 | * EIGHT_BIT but I don't care since I've only used this mode | ||
| 70 | * for debugging the bignum libraries */ | ||
| 71 | #define SIXTY_FOUR_BIT_LONG | ||
| 72 | #undef SIXTY_FOUR_BIT | ||
| 73 | #undef THIRTY_TWO_BIT | ||
| 74 | #undef SIXTEEN_BIT | ||
| 75 | #undef EIGHT_BIT | ||
| 76 | #endif | ||
| 77 | |||
| 78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | ||
| 79 | #define CONFIG_HEADER_BF_LOCL_H | ||
| 80 | #undef BF_PTR | ||
| 81 | #endif /* HEADER_BF_LOCL_H */ | ||
| 82 | |||
| 83 | #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) | ||
| 84 | #define CONFIG_HEADER_DES_LOCL_H | ||
| 85 | #ifndef DES_DEFAULT_OPTIONS | ||
| 86 | /* the following is tweaked from a config script, that is why it is a | ||
| 87 | * protected undef/define */ | ||
| 88 | #ifndef DES_PTR | ||
| 89 | #undef DES_PTR | ||
| 90 | #endif | ||
| 91 | |||
| 92 | /* This helps C compiler generate the correct code for multiple functional | ||
| 93 | * units. It reduces register dependencies at the expense of 2 more | ||
| 94 | * registers */ | ||
| 95 | #ifndef DES_RISC1 | ||
| 96 | #undef DES_RISC1 | ||
| 97 | #endif | ||
| 98 | |||
| 99 | #ifndef DES_RISC2 | ||
| 100 | #undef DES_RISC2 | ||
| 101 | #endif | ||
| 102 | |||
| 103 | #if defined(DES_RISC1) && defined(DES_RISC2) | ||
| 104 | YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! | ||
| 105 | #endif | ||
| 106 | |||
| 107 | /* Unroll the inner loop, this sometimes helps, sometimes hinders. | ||
| 108 | * Very much CPU dependent */ | ||
| 109 | #ifndef DES_UNROLL | ||
| 110 | #define DES_UNROLL | ||
| 111 | #endif | ||
| 112 | |||
| 113 | /* These default values were supplied by | ||
| 114 | * Peter Gutman <pgut001@cs.auckland.ac.nz> | ||
| 115 | * They are only used if nothing else has been defined */ | ||
| 116 | #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) | ||
| 117 | /* Special defines which change the way the code is built depending on the | ||
| 118 | CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find | ||
| 119 | even newer MIPS CPU's, but at the moment one size fits all for | ||
| 120 | optimization options. Older Sparc's work better with only UNROLL, but | ||
| 121 | there's no way to tell at compile time what it is you're running on */ | ||
| 122 | |||
| 123 | #if defined( sun ) /* Newer Sparc's */ | ||
| 124 | # define DES_PTR | ||
| 125 | # define DES_RISC1 | ||
| 126 | # define DES_UNROLL | ||
| 127 | #elif defined( __ultrix ) /* Older MIPS */ | ||
| 128 | # define DES_PTR | ||
| 129 | # define DES_RISC2 | ||
| 130 | # define DES_UNROLL | ||
| 131 | #elif defined( __osf1__ ) /* Alpha */ | ||
| 132 | # define DES_PTR | ||
| 133 | # define DES_RISC2 | ||
| 134 | #elif defined ( _AIX ) /* RS6000 */ | ||
| 135 | /* Unknown */ | ||
| 136 | #elif defined( __hpux ) /* HP-PA */ | ||
| 137 | /* Unknown */ | ||
| 138 | #elif defined( __aux ) /* 68K */ | ||
| 139 | /* Unknown */ | ||
| 140 | #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ | ||
| 141 | # define DES_UNROLL | ||
| 142 | #elif defined( __sgi ) /* Newer MIPS */ | ||
| 143 | # define DES_PTR | ||
| 144 | # define DES_RISC2 | ||
| 145 | # define DES_UNROLL | ||
| 146 | #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ | ||
| 147 | # define DES_PTR | ||
| 148 | # define DES_RISC1 | ||
| 149 | # define DES_UNROLL | ||
| 150 | #endif /* Systems-specific speed defines */ | ||
| 151 | #endif | ||
| 152 | |||
| 153 | #endif /* DES_DEFAULT_OPTIONS */ | ||
| 154 | #endif /* HEADER_DES_LOCL_H */ | ||
diff --git a/include/openssl/Makefile.am.tpl b/include/openssl/Makefile.am.tpl index 303d0b9..4bbbd60 100644 --- a/include/openssl/Makefile.am.tpl +++ b/include/openssl/Makefile.am.tpl | |||
| @@ -17,6 +17,9 @@ endif | |||
| 17 | if HOST_I386 | 17 | if HOST_I386 |
| 18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h | 18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h |
| 19 | endif | 19 | endif |
| 20 | if HOST_LOONGARCH64 | ||
| 21 | -cp $(top_srcdir)/include/arch/loongarch64/opensslconf.h opensslconf.h | ||
| 22 | endif | ||
| 20 | if HOST_MIPS | 23 | if HOST_MIPS |
| 21 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h | 24 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h |
| 22 | endif | 25 | endif |
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index bdcfbb2..5baa5bc 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt | |||
| @@ -117,6 +117,8 @@ elseif(HOST_ARM) | |||
| 117 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/arm/) | 117 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/arm/) |
| 118 | elseif(HOST_I386) | 118 | elseif(HOST_I386) |
| 119 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/i386/) | 119 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/i386/) |
| 120 | elseif(HOST_LOONGARCH64) | ||
| 121 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/loongarch64) | ||
| 120 | elseif(HOST_MIPS64) | 122 | elseif(HOST_MIPS64) |
| 121 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips64) | 123 | target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips64) |
| 122 | elseif(HOST_MIPS) | 124 | elseif(HOST_MIPS) |
diff --git a/ssl/Makefile.am b/ssl/Makefile.am index f9a66a3..8beb65a 100644 --- a/ssl/Makefile.am +++ b/ssl/Makefile.am | |||
| @@ -131,6 +131,11 @@ libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ | |||
| 131 | endif | 131 | endif |
| 132 | noinst_HEADERS += $(top_srcdir)/crypto/arch/i386/crypto_arch.h | 132 | noinst_HEADERS += $(top_srcdir)/crypto/arch/i386/crypto_arch.h |
| 133 | 133 | ||
| 134 | if HOST_LOONGARCH64 | ||
| 135 | libssl_la_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
| 136 | endif | ||
| 137 | noinst_HEADERS += $(top_srcdir)/crypto/arch/loongarch64/crypto_arch.h | ||
| 138 | |||
| 134 | # XXX - do we still need this? | 139 | # XXX - do we still need this? |
| 135 | if HOST_MIPS | 140 | if HOST_MIPS |
| 136 | endif | 141 | endif |
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 8d6fa9d..f38486c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt | |||
| @@ -30,6 +30,8 @@ elseif(HOST_I386) | |||
| 30 | include_directories(../crypto/arch/i386/) | 30 | include_directories(../crypto/arch/i386/) |
| 31 | elseif(HOST_MIPS64) | 31 | elseif(HOST_MIPS64) |
| 32 | include_directories(../crypto/arch/mips64) | 32 | include_directories(../crypto/arch/mips64) |
| 33 | elseif(HOST_LOONGARCH64) | ||
| 34 | include_directories(../crypto/arch/loongarch64) | ||
| 33 | elseif(HOST_MIPS) | 35 | elseif(HOST_MIPS) |
| 34 | # XXX - can this go away? the directory doesn't exist... | 36 | # XXX - can this go away? the directory doesn't exist... |
| 35 | elseif(HOST_POWERPC) | 37 | elseif(HOST_POWERPC) |
diff --git a/tests/Makefile.am b/tests/Makefile.am index 8153fc9..217f445 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am | |||
| @@ -36,6 +36,10 @@ if HOST_I386 | |||
| 36 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ | 36 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/i386/ |
| 37 | endif | 37 | endif |
| 38 | 38 | ||
| 39 | if HOST_LOONGARCH64 | ||
| 40 | AM_CPPFLAGS += -I$(top_srcdir)/crypto/arch/loongarch64/ | ||
| 41 | endif | ||
| 42 | |||
| 39 | # XXX - do we still need this? | 43 | # XXX - do we still need this? |
| 40 | if HOST_MIPS | 44 | if HOST_MIPS |
| 41 | endif | 45 | endif |
