summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-04-22 15:02:39 -0700
committerKhem Raj <raj.khem@gmail.com>2020-04-25 08:32:41 -0700
commit0b5662a1ed3d0520cfc3a751dd31fb37acc5d4b6 (patch)
treece857017b2d5f1a73789ce16b2ad2ac46b5b8903
parent2d7e3a772fe343823eae3f387ce6d8c3989dd3e4 (diff)
downloadmeta-openembedded-0b5662a1ed3d0520cfc3a751dd31fb37acc5d4b6.tar.gz
nss: Fix build on riscv64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-support/nss/nss/riscv.patch36
-rw-r--r--meta-oe/recipes-support/nss/nss_3.51.1.bb1
2 files changed, 37 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/nss/nss/riscv.patch b/meta-oe/recipes-support/nss/nss/riscv.patch
new file mode 100644
index 0000000000..aef91a7c37
--- /dev/null
+++ b/meta-oe/recipes-support/nss/nss/riscv.patch
@@ -0,0 +1,36 @@
1Enable uint128 on riscv64
2
3Fixes
4| verified/kremlin/kremlib/dist/minimal/LowStar_Endianness.h:29:37: error: 'load128_be' declared 'static' but never defined [-Werror=unused-function]
5| 29 | inline static FStar_UInt128_uint128 load128_be(uint8_t *x0);
6| | ^~~~~~~~~~
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10--- a/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
11+++ b/nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
12@@ -56,7 +56,8 @@ typedef const char *Prims_string;
13 #include <emmintrin.h>
14 typedef __m128i FStar_UInt128_uint128;
15 #elif !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
16- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
17+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
18+ (defined(__riscv) && __riscv_xlen == 64))
19 typedef unsigned __int128 FStar_UInt128_uint128;
20 #else
21 typedef struct FStar_UInt128_uint128_s {
22--- a/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
23+++ b/nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
24@@ -23,9 +23,10 @@
25 #include "FStar_UInt128.h"
26 #include "FStar_UInt_8_16_32_64.h"
27 #include "LowStar_Endianness.h"
28-
29+#include <stdint.h>
30 #if !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
31- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
32+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
33+ (defined(__riscv) && __riscv_xlen == 64))
34
35 /* GCC + using native unsigned __int128 support */
36
diff --git a/meta-oe/recipes-support/nss/nss_3.51.1.bb b/meta-oe/recipes-support/nss/nss_3.51.1.bb
index 755eb76585..001124011e 100644
--- a/meta-oe/recipes-support/nss/nss_3.51.1.bb
+++ b/meta-oe/recipes-support/nss/nss_3.51.1.bb
@@ -32,6 +32,7 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO
32 file://system-pkcs11.txt \ 32 file://system-pkcs11.txt \
33 file://nss-fix-nsinstall-build.patch \ 33 file://nss-fix-nsinstall-build.patch \
34 file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ 34 file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
35 file://riscv.patch \
35 " 36 "
36 37
37SRC_URI[md5sum] = "6acaf1ddff69306ae30a908881c6f233" 38SRC_URI[md5sum] = "6acaf1ddff69306ae30a908881c6f233"