From 4f9f811a3d7395c3f703faaed473fa67a2093bd5 Mon Sep 17 00:00:00 2001 From: Douglas Stebila Date: Wed, 7 Aug 2019 08:47:40 -0400 Subject: [PATCH] Fix compilation problems on ARM --- .circleci/config.yml | 7 +++++-- scripts/arm-cross-compile.sh | 2 ++ src/common/rand_nist.c | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8cc810765..a789a7a41 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,14 +25,14 @@ version: 2 - run: name: Install the emulation handlers command: docker run --rm --privileged multiarch/qemu-user-static:register --reset - - run: + - run: # Skipping sig-sphincs because it exhausts memory on CircleCI name: Run the tests in a container command: | docker run -e SKIP_TESTS=style --rm -v `pwd`:`pwd` -w `pwd` dstebila/liboqs:debian-buster-${ARCH}-0.1.0 /bin/bash -c " uname -a && file /bin/ls && autoreconf -i && - ./configure --enable-silent-rules --disable-sig-sphincs && + ./configure --enable-silent-rules ${CONFIGURE_ARGS} && make -j && make check && mkdir -p test-results/pytest && @@ -52,14 +52,17 @@ jobs: <<: *emulatedjob environment: ARCH: aarch64 + CONFIGURE_ARGS: --disable-sig-sphincs # sig-sphincs exhausts memory on CircleCI servers debian-buster-armhf: <<: *emulatedjob environment: ARCH: armhf + CONFIGURE_ARGS: --disable-sig-sphincs --disable-sig-qtesla # sig-sphincs exhausts memory on CircleCI servers; qTesla fails on armhf debian-buster-armel: <<: *emulatedjob environment: ARCH: armel + CONFIGURE_ARGS: --disable-sig-sphincs --disable-sig-qtesla # sig-sphincs exhausts memory on CircleCI servers; qTesla fails on armel ubuntu-xenial-x86_64-gcc49: <<: *oqsjob environment: diff --git a/scripts/arm-cross-compile.sh b/scripts/arm-cross-compile.sh index 487c1f38b..d97428205 100755 --- a/scripts/arm-cross-compile.sh +++ b/scripts/arm-cross-compile.sh @@ -26,6 +26,8 @@ autoreconf -i hacks=( gcc_cv_compiler=true # Detecting at this phase isn't good for cross compilation CFLAGS=-D_ARM_ # Several files aren't using the right define + --disable-sig-picnic # Problems building Picnic using cross compilation + --disable-sig-qtesla # qTesla fails on armhf and armel ) ./configure --disable-shared --enable-static --host="${CHOST}" --build="$CBUILD" CC="${CHOST}-gcc" --with-openssl="${PREFIX}" "${hacks[@]}" diff --git a/src/common/rand_nist.c b/src/common/rand_nist.c index 3a5d2de27..6d5a85bac 100644 --- a/src/common/rand_nist.c +++ b/src/common/rand_nist.c @@ -79,7 +79,7 @@ OQS_API void OQS_randombytes_nist_kat_init(unsigned char *entropy_input, unsigne DRBG_ctx.reseed_counter = 1; } -void OQS_randombytes_nist_kat(unsigned char *x, unsigned long long xlen) { +void OQS_randombytes_nist_kat(unsigned char *x, size_t xlen) { unsigned char block[16]; int i = 0;