Fix RISC-V compilation error

Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
David Abdurachmanov 2020-05-02 13:08:34 +03:00
parent fc0174ead1
commit e9b8914369
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,28 @@
diff --git nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
index 67d5af5..beaa862 100644
--- nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
+++ nss/lib/freebl/verified/kremlin/include/kremlin/internal/types.h
@@ -56,7 +56,8 @@ typedef const char *Prims_string;
#include <emmintrin.h>
typedef __m128i FStar_UInt128_uint128;
#elif !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
+ (defined(__riscv) && __riscv_xlen == 64))
typedef unsigned __int128 FStar_UInt128_uint128;
#else
typedef struct FStar_UInt128_uint128_s {
diff --git nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
index ba01362..8bd90bc 100644
--- nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
+++ nss/lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar_uint128_gcc64.h
@@ -25,7 +25,8 @@
#include "LowStar_Endianness.h"
#if !defined(KRML_VERIFIED_UINT128) && !defined(_MSC_VER) && \
- (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__))
+ (defined(__x86_64__) || defined(__x86_64) || defined(__aarch64__) || \
+ (defined(__riscv) && __riscv_xlen == 64))
/* GCC + using native unsigned __int128 support */

View File

@ -44,7 +44,7 @@ rpm.define(string.format("nss_release_tag NSS_%s_RTM",
Summary: Network Security Services
Name: nss
Version: %{nss_version}
Release: 2%{?dist}
Release: 2.0.riscv64%{?dist}
License: MPLv2.0
URL: http://www.mozilla.org/projects/security/pki/nss/
Requires: nspr >= %{nspr_version}
@ -117,6 +117,9 @@ Patch12: nss-signtool-format.patch
# https://github.com/FStarLang/kremlin/issues/166
Patch13: nss-kremlin-ppc64le.patch
# Fix RISC-V compilation
Patch20: nss-3.50-fix-riscv64.patch
%description
Network Security Services (NSS) is a set of libraries designed to
support cross-platform development of security-enabled client and
@ -894,6 +897,9 @@ update-crypto-policies &> /dev/null || :
%changelog
* Sat May 2 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 3.51.1-2.0.riscv64
- Fix RISC-V compilation errors
* Sat Apr 25 2020 Daiki Ueno <dueno@redhat.com> - 3.51.1-2
- Temporarily revert DBM disablement for kernel build failure (#1827902)