From e4528928d291f5ff89d8c0bdbfa70a7147ac8dec Mon Sep 17 00:00:00 2001 From: Jacek Kryszyn Date: Fri, 21 Jul 2023 07:47:22 +0200 Subject: [PATCH] changes made to build for arm7vl/aarch64 --- .gitignore | 3 + lib/liblog/logger.h | 7 ++ lpmake_non_sparse.sh | 2 + lpmake_sparse.sh | 2 + make.sh | 241 ++++++++++++++++++++----------------------- 5 files changed, 127 insertions(+), 128 deletions(-) create mode 100644 .gitignore create mode 100755 lpmake_non_sparse.sh create mode 100755 lpmake_sparse.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8130ae6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +bin/ +.project +.vscode/ diff --git a/lib/liblog/logger.h b/lib/liblog/logger.h index ddff19d..22675b9 100755 --- a/lib/liblog/logger.h +++ b/lib/liblog/logger.h @@ -16,7 +16,14 @@ #pragma once +#ifdef __cplusplus +#include +using namespace std; +#else #include +#endif + +//#include #include #include diff --git a/lpmake_non_sparse.sh b/lpmake_non_sparse.sh new file mode 100755 index 0000000..ce3e9db --- /dev/null +++ b/lpmake_non_sparse.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./x86_64/lpmake --device-size=3221225472 --metadata-size=65536 --metadata-slots=2 -o=/tmp/super.img -g "tizen_a:1609564160" -p "rootfs_a:none:1341128704:tizen_a" -p "hal_a:none:268435456:tizen_a" -g "tizen_b:1609564160" -p "rootfs_b:none:1341128704:tizen_b" -p "hal_b:none:268435456:tizen_b" diff --git a/lpmake_sparse.sh b/lpmake_sparse.sh new file mode 100755 index 0000000..c7b2a69 --- /dev/null +++ b/lpmake_sparse.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./x86_64/lpmake -S --device-size=3221225472 --metadata-size=65536 --metadata-slots=2 -o=/tmp/super_sparse.img -g "tizen_a:1610547200" -p "rootfs_a:none:1237254144:tizen_a" -p "hal_a:none:268435456:tizen_a" -g "tizen_b:1610547200" -p "rootfs_b:none:1237254144:tizen_b" -p "hal_b:none:268435456:tizen_b" -i "rootfs_a=plik.txt" -i "rootfs_b=plik.txt" -i "hal_a=plik.txt" -i "hal_b=plik.txt" diff --git a/make.sh b/make.sh index 8dc0188..dce53e3 100755 --- a/make.sh +++ b/make.sh @@ -1,10 +1,38 @@ #!/bin/bash set -x -e -mkdir -p lib/lib bin -CC=clang -CPP=clang++ -AR=ar -STRIP=strip + +if [ "$#" -eq 0 ]; then + ARCH="x86_64" +else + ARCH=$1 +fi + +if [ "$ARCH" = "aarch64" ]; then + CC=aarch64-linux-gnu-gcc + CPP=aarch64-linux-gnu-g++ + AR=aarch64-linux-gnu-ar + STRIP=aarch64-linux-gnu-strip +elif [ "$ARCH" = "arm7vl" ]; then + CC=arm-linux-gnueabi-gcc + CPP=arm-linux-gnueabi-g++ + AR=arm-linux-gnueabi-ar + STRIP=arm-linux-gnueabi-strip +elif [ "$ARCH" = "arm7hf" ]; then + CC=arm-linux-gnueabihf-gcc + CPP=arm-linux-gnueabihf-g++ + AR=arm-linux-gnueabihf-ar + STRIP=arm-linux-gnueabihf-strip +elif [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i686" ]; then + CC=clang + CPP=clang++ + AR=ar + STRIP=strip +else + echo "Unknown architecture. Goodbye." + exit 1 +fi + +mkdir -p lib/lib "bin/$ARCH" CFLAGS=-static cd lib @@ -75,119 +103,76 @@ case "$OSTYPE" in ;; esac -if [ -z "$OS"];then - case "$HOSTTYPE" in - arm) - src="linux-arm/crypto/chacha/chacha-armv4.S \ - linux-arm/crypto/fipsmodule/aes-armv4.S \ - linux-arm/crypto/fipsmodule/aesv8-armx32.S \ - linux-arm/crypto/fipsmodule/armv4-mont.S \ - linux-arm/crypto/fipsmodule/bsaes-armv7.S \ - linux-arm/crypto/fipsmodule/ghash-armv4.S \ - linux-arm/crypto/fipsmodule/ghashv8-armx32.S \ - linux-arm/crypto/fipsmodule/sha1-armv4-large.S \ - linux-arm/crypto/fipsmodule/sha256-armv4.S \ - linux-arm/crypto/fipsmodule/sha512-armv4.S \ - linux-arm/crypto/fipsmodule/vpaes-armv7.S \ - linux-arm/crypto/test/trampoline-armv4.S \ - src/crypto/curve25519/asm/x25519-asm-arm.S \ - src/crypto/poly1305/poly1305_arm_asm.S" - ;; - aarch64) - src="linux-aarch64/crypto/chacha/chacha-armv8.S \ - linux-aarch64/crypto/fipsmodule/aesv8-armx64.S \ - linux-aarch64/crypto/fipsmodule/armv8-mont.S \ - linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S \ - linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S \ - linux-aarch64/crypto/fipsmodule/sha1-armv8.S \ - linux-aarch64/crypto/fipsmodule/sha256-armv8.S \ - linux-aarch64/crypto/fipsmodule/sha512-armv8.S \ - linux-aarch64/crypto/fipsmodule/vpaes-armv8.S \ - linux-aarch64/crypto/test/trampoline-armv8.S" - ;; - i686) - src="linux-x86/crypto/chacha/chacha-x86.S \ - linux-x86/crypto/fipsmodule/aes-586.S \ - linux-x86/crypto/fipsmodule/aesni-x86.S \ - linux-x86/crypto/fipsmodule/bn-586.S \ - linux-x86/crypto/fipsmodule/co-586.S \ - linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S \ - linux-x86/crypto/fipsmodule/ghash-x86.S \ - linux-x86/crypto/fipsmodule/md5-586.S \ - linux-x86/crypto/fipsmodule/sha1-586.S \ - linux-x86/crypto/fipsmodule/sha256-586.S \ - linux-x86/crypto/fipsmodule/sha512-586.S \ - linux-x86/crypto/fipsmodule/vpaes-x86.S \ - linux-x86/crypto/fipsmodule/x86-mont.S \ - linux-x86/crypto/test/trampoline-x86.S" - ;; - x86_64) - src="linux-x86_64/crypto/chacha/chacha-x86_64.S \ - linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S \ - linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S \ - linux-x86_64/crypto/fipsmodule/aes-x86_64.S \ - linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S \ - linux-x86_64/crypto/fipsmodule/aesni-x86_64.S \ - linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S \ - linux-x86_64/crypto/fipsmodule/ghash-x86_64.S \ - linux-x86_64/crypto/fipsmodule/md5-x86_64.S \ - linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S \ - linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S \ - linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S \ - linux-x86_64/crypto/fipsmodule/rsaz-avx2.S \ - linux-x86_64/crypto/fipsmodule/sha1-x86_64.S \ - linux-x86_64/crypto/fipsmodule/sha256-x86_64.S \ - linux-x86_64/crypto/fipsmodule/sha512-x86_64.S \ - linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S \ - linux-x86_64/crypto/fipsmodule/x86_64-mont.S \ - linux-x86_64/crypto/fipsmodule/x86_64-mont5.S \ - linux-x86_64/crypto/test/trampoline-x86_64.S \ - src/crypto/hrss/asm/poly_rq_mul.S" - ;; - esac -else - case "$HOSTTYPE" in - i686) - src="win-x86/crypto/chacha/chacha-x86.asm \ - win-x86/crypto/fipsmodule/aes-586.asm \ - win-x86/crypto/fipsmodule/aesni-x86.asm \ - win-x86/crypto/fipsmodule/bn-586.asm \ - win-x86/crypto/fipsmodule/co-586.asm \ - win-x86/crypto/fipsmodule/ghash-ssse3-x86.asm \ - win-x86/crypto/fipsmodule/ghash-x86.asm \ - win-x86/crypto/fipsmodule/md5-586.asm \ - win-x86/crypto/fipsmodule/sha1-586.asm \ - win-x86/crypto/fipsmodule/sha256-586.asm \ - win-x86/crypto/fipsmodule/sha512-586.asm \ - win-x86/crypto/fipsmodule/vpaes-x86.asm \ - win-x86/crypto/fipsmodule/x86-mont.asm \ - win-x86/crypto/test/trampoline-x86.asm" - ;; - x86_64) - src="win-x86_64/crypto/chacha/chacha-x86_64.asm \ - win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm \ - win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm \ - win-x86_64/crypto/fipsmodule/aes-x86_64.asm \ - win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm \ - win-x86_64/crypto/fipsmodule/aesni-x86_64.asm \ - win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm \ - win-x86_64/crypto/fipsmodule/ghash-x86_64.asm \ - win-x86_64/crypto/fipsmodule/md5-x86_64.asm \ - win-x86_64/crypto/fipsmodule/p256-x86_64-asm.asm \ - win-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.asm \ - win-x86_64/crypto/fipsmodule/rdrand-x86_64.asm \ - win-x86_64/crypto/fipsmodule/rsaz-avx2.asm \ - win-x86_64/crypto/fipsmodule/sha1-x86_64.asm \ - win-x86_64/crypto/fipsmodule/sha256-x86_64.asm \ - win-x86_64/crypto/fipsmodule/sha512-x86_64.asm \ - win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm \ - win-x86_64/crypto/fipsmodule/x86_64-mont.asm \ - win-x86_64/crypto/fipsmodule/x86_64-mont5.asm \ - win-x86_64/crypto/test/trampoline-x86_64.asm" - ;; - esac -fi - +case "$ARCH" in + arm7vl|arm7hf) + src="linux-arm/crypto/chacha/chacha-armv4.S \ + linux-arm/crypto/fipsmodule/aes-armv4.S \ + linux-arm/crypto/fipsmodule/aesv8-armx32.S \ + linux-arm/crypto/fipsmodule/armv4-mont.S \ + linux-arm/crypto/fipsmodule/bsaes-armv7.S \ + linux-arm/crypto/fipsmodule/ghash-armv4.S \ + linux-arm/crypto/fipsmodule/ghashv8-armx32.S \ + linux-arm/crypto/fipsmodule/sha1-armv4-large.S \ + linux-arm/crypto/fipsmodule/sha256-armv4.S \ + linux-arm/crypto/fipsmodule/sha512-armv4.S \ + linux-arm/crypto/fipsmodule/vpaes-armv7.S \ + linux-arm/crypto/test/trampoline-armv4.S \ + src/crypto/curve25519/asm/x25519-asm-arm.S \ + src/crypto/poly1305/poly1305_arm_asm.S" + ;; + aarch64) + src="linux-aarch64/crypto/chacha/chacha-armv8.S \ + linux-aarch64/crypto/fipsmodule/aesv8-armx64.S \ + linux-aarch64/crypto/fipsmodule/armv8-mont.S \ + linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S \ + linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S \ + linux-aarch64/crypto/fipsmodule/sha1-armv8.S \ + linux-aarch64/crypto/fipsmodule/sha256-armv8.S \ + linux-aarch64/crypto/fipsmodule/sha512-armv8.S \ + linux-aarch64/crypto/fipsmodule/vpaes-armv8.S \ + linux-aarch64/crypto/test/trampoline-armv8.S" + ;; + i686) + src="linux-x86/crypto/chacha/chacha-x86.S \ + linux-x86/crypto/fipsmodule/aes-586.S \ + linux-x86/crypto/fipsmodule/aesni-x86.S \ + linux-x86/crypto/fipsmodule/bn-586.S \ + linux-x86/crypto/fipsmodule/co-586.S \ + linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S \ + linux-x86/crypto/fipsmodule/ghash-x86.S \ + linux-x86/crypto/fipsmodule/md5-586.S \ + linux-x86/crypto/fipsmodule/sha1-586.S \ + linux-x86/crypto/fipsmodule/sha256-586.S \ + linux-x86/crypto/fipsmodule/sha512-586.S \ + linux-x86/crypto/fipsmodule/vpaes-x86.S \ + linux-x86/crypto/fipsmodule/x86-mont.S \ + linux-x86/crypto/test/trampoline-x86.S" + ;; + x86_64) + src="linux-x86_64/crypto/chacha/chacha-x86_64.S \ + linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S \ + linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S \ + linux-x86_64/crypto/fipsmodule/aes-x86_64.S \ + linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S \ + linux-x86_64/crypto/fipsmodule/aesni-x86_64.S \ + linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S \ + linux-x86_64/crypto/fipsmodule/ghash-x86_64.S \ + linux-x86_64/crypto/fipsmodule/md5-x86_64.S \ + linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S \ + linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S \ + linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S \ + linux-x86_64/crypto/fipsmodule/rsaz-avx2.S \ + linux-x86_64/crypto/fipsmodule/sha1-x86_64.S \ + linux-x86_64/crypto/fipsmodule/sha256-x86_64.S \ + linux-x86_64/crypto/fipsmodule/sha512-x86_64.S \ + linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S \ + linux-x86_64/crypto/fipsmodule/x86_64-mont.S \ + linux-x86_64/crypto/fipsmodule/x86_64-mont5.S \ + linux-x86_64/crypto/test/trampoline-x86_64.S \ + src/crypto/hrss/asm/poly_rq_mul.S" + ;; +esac + $CC -Iinclude -std=c99 \ ${CFLAGS} \ ${CFLAGS_CRYPTO} \ @@ -530,20 +515,20 @@ case "$OSTYPE" in ;; esac -${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o ../bin/lpmake lpmake.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} +${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o "../bin/$ARCH/lpmake" lpmake.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} -${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o ../bin/lpadd lpadd.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} +${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o "../bin/$ARCH/lpadd" lpadd.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} -${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o ../bin/lpflash lpflash.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} +${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o "../bin/$ARCH/lpflash" lpflash.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} -${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o ../bin/lpunpack lpunpack.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} +${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o "../bin/$ARCH/lpunpack" lpunpack.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a -lpthread ${LDFLAGS} -${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o ../bin/lpdump lpdump.cc dynamic_partitions_device_info.pb.cc lpdump_host.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a ../lib/lib/libjsonpbparse.a ../lib/lib/libprotobuf-cpp-full.a -lpthread ${LDFLAGS} +${CPP} -std=c++17 -I../lib/include ${CFLAGS} -D_FILE_OFFSET_BITS=64 -o "../bin/$ARCH/lpdump" lpdump.cc dynamic_partitions_device_info.pb.cc lpdump_host.cc ../lib/lib/liblp.a ../lib/lib/libsparse.a ../lib/lib/libext4_utils.a ../lib/lib/libz.a ../lib/lib/libbase.a ../lib/lib/fmtlib.a ../lib/lib/liblog.a ../lib/lib/libcrypto_utils.a ../lib/lib/libcrypto.a ../lib/lib/libjsonpbparse.a ../lib/lib/libprotobuf-cpp-full.a -lpthread ${LDFLAGS} cd .. rm -rf lib/lib -$STRIP bin/lpmake -$STRIP bin/lpadd -$STRIP bin/lpflash -$STRIP bin/lpunpack -$STRIP bin/lpdump +$STRIP "bin/$ARCH/lpmake" +$STRIP "bin/$ARCH/lpadd" +$STRIP "bin/$ARCH/lpflash" +$STRIP "bin/$ARCH/lpunpack" +$STRIP "bin/$ARCH/lpdump" -- 2.34.1