Hello community, here is the log from the commit of package Botan for openSUSE:Factory checked in at 2017-10-10 11:34:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/Botan (Old) and /work/SRC/openSUSE:Factory/.Botan.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Botan" Tue Oct 10 11:34:03 2017 rev:44 rq:531210 version:1.10.17 Changes: -------- --- /work/SRC/openSUSE:Factory/Botan/Botan.changes 2017-10-02 16:50:55.234040214 +0200 +++ /work/SRC/openSUSE:Factory/.Botan.new/Botan.changes 2017-10-10 11:34:08.922745547 +0200 @@ -1,0 +2,38 @@ +Wed Oct 4 07:49:54 UTC 2017 - daniel.molken...@suse.com + +- Update to 1.10.17 + - Address a side channel affecting modular exponentiation. An attacker + capable of a local or cross-VM cache analysis attack may be able to recover + bits of secret exponents as used in RSA, DH, etc. CVE-2017-14737 Workaround + a miscompilation bug in GCC 7 on x86-32 affecting GOST-34.11 hash function. + (GH #1192 #1148 #882, bsc#1060433) + - Add SecureVector::data() function which returns the start of the buffer. + This makes it slightly simpler to support both 1.10 and 2.x APIs in the + same codebase. When compiled by a C++11 (or later) compiler, a template + typedef of SecureVector, secure_vector, is added. In 2.x this class is a + std::vector with a custom allocator, so has a somewhat different interface + than SecureVector in 1.10. But this makes it slightly simpler to support + both 1.10 and 2.x APIs in the same codebase. + - Fix a bug that prevented configure.py from running under Python3 + - Botan 1.10.x does not support the OpenSSL 1.1 API. Now the build will + #error if OpenSSL 1.1 is detected. Avoid –with-openssl if compiling against + 1.1 or later. (GH #753) + - Import patches from Debian adding basic support for + building on aarch64, ppc64le, or1k, and mipsn32 platforms. + + * obsoletes CVE-2017-14737.patch + + * refreshes aarch64-support.patch + + * drop ppc64le-support.patch for upstream version + (disables altivec support as per concerns by upstream) + +------------------------------------------------------------------- +Tue Sep 26 13:03:46 UTC 2017 - daniel.molken...@suse.com + +- Fix for CVE-2017-14737: A cryptographic cache-based side channel in the RSA + implementation allows local attacker to recover information about RSA secret + keys. + * add CVE-2017-14737.patch + +------------------------------------------------------------------- Old: ---- Botan-1.10.16.tgz Botan-1.10.16.tgz.asc ppc64le-support.patch New: ---- Botan-1.10.17.tgz Botan-1.10.17.tgz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Botan.spec ++++++ --- /var/tmp/diff_new_pack.lmG2IK/_old 2017-10-10 11:34:12.050608270 +0200 +++ /var/tmp/diff_new_pack.lmG2IK/_new 2017-10-10 11:34:12.054608094 +0200 @@ -19,7 +19,7 @@ %define version_suffix 1_10-1 %define short_version 1.10 Name: Botan -Version: 1.10.16 +Version: 1.10.17 Release: 0 Summary: A C++ Crypto Library License: BSD-2-Clause @@ -36,7 +36,6 @@ Patch6: Botan-fix_pkgconfig.patch Patch7: dont-set-mach-value.diff Patch8: aarch64-support.patch -Patch9: ppc64le-support.patch Patch10: no-cpuid-header.patch BuildRequires: bzip2 >= 1.0.2 BuildRequires: gcc-c++ @@ -94,8 +93,7 @@ %patch4 %patch6 %patch7 -p1 -%patch8 -%patch9 +%patch8 -p1 %if 0%{?suse_version} == 1110 %patch10 -p1 %endif ++++++ Botan-1.10.16.tgz -> Botan-1.10.17.tgz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/botan_version.py new/Botan-1.10.17/botan_version.py --- old/Botan-1.10.16/botan_version.py 2017-04-05 03:07:02.000000000 +0200 +++ new/Botan-1.10.17/botan_version.py 2017-10-02 08:00:00.000000000 +0200 @@ -1,11 +1,11 @@ release_major = 1 release_minor = 10 -release_patch = 16 +release_patch = 17 release_so_abi_rev = 1 # These are set by the distribution script -release_vc_rev = 'git:3756c97d295d06ac19cec6736e05003afb10623e' -release_datestamp = 20170404 -release_type = 'released' +release_vc_rev = 'git:f7fe6beb5b3b6f944aa7bac491a3455e48ef6ebb' +release_datestamp = 20171002 +release_type = 'release' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/configure.py new/Botan-1.10.17/configure.py --- old/Botan-1.10.16/configure.py 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/configure.py 2017-10-02 08:00:00.000000000 +0200 @@ -59,9 +59,6 @@ logging.debug('Monotone reported revision %s' % (rev)) return 'mtn:' + rev - except OSError as e: - logging.debug('Error getting rev from monotone - %s' % (e[1])) - return 'unknown' except Exception as e: logging.debug('Error getting rev from monotone - %s' % (e)) return 'unknown' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/doc/log.txt new/Botan-1.10.17/doc/log.txt --- old/Botan-1.10.16/doc/log.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/doc/log.txt 2017-10-02 08:00:00.000000000 +0200 @@ -7,6 +7,36 @@ Series 1.10 ---------------------------------------- +Version 1.10.17, 1.10.17 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* Address a side channel affecting modular exponentiation. An attacker + capabable of a local or cross-VM cache analysis attack may be able + to recover bits of secret exponents as used in RSA, DH, etc. + CVE-2017-14737 + +* Workaround a miscompilation bug in GCC 7 on x86-32 affecting GOST-34.11 + hash function. (GH #1192 #1148 #882) + +* Add SecureVector::data() function which returns the start of the + buffer. This makes it slightly simpler to support both 1.10 and 2.x + APIs in the same codebase. + +* When compiled by a C++11 (or later) compiler, a template typedef of + SecureVector, secure_vector, is added. In 2.x this class is a + std::vector with a custom allocator, so has a somewhat different + interface than SecureVector in 1.10. But this makes it slightly + simpler to support both 1.10 and 2.x APIs in the same codebase. + +* Fix a bug that prevented `configure.py` from running under Python3 + +* Botan 1.10.x does not support the OpenSSL 1.1 API. Now the build + will `#error` if OpenSSL 1.1 is detected. Avoid `--with-openssl` + if compiling against 1.1 or later. (GH #753) + +* Import patches from Debian adding basic support for building on + aarch64, ppc64le, or1k, and mipsn32 platforms. + Version 1.10.16, 2017-04-04 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/readme.txt new/Botan-1.10.17/readme.txt --- old/Botan-1.10.16/readme.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/readme.txt 2017-10-02 08:00:00.000000000 +0200 @@ -1,6 +1,6 @@ This branch (1.10) of Botan is only supported for security fixes until -the end of 2017. Please upgrade to 2.0 API as soon as possible. +the end of 2017. Please upgrade to 2.x as soon as possible. Botan is a C++ library for performing a wide variety of cryptographic diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/alloc/secmem.h new/Botan-1.10.17/src/alloc/secmem.h --- old/Botan-1.10.16/src/alloc/secmem.h 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/alloc/secmem.h 2017-10-02 08:00:00.000000000 +0200 @@ -50,6 +50,12 @@ * Get a pointer to the first element in the buffer. * @return pointer to the first element in the buffer */ + T* data() { return buf; } + + /** + * Get a pointer to the first element in the buffer. + * @return pointer to the first element in the buffer + */ T* begin() { return buf; } /** @@ -369,6 +375,13 @@ } }; +#if __cplusplus >= 201103 + +// For better compatability with 2.x API + template<typename T> + using secure_vector = SecureVector<T>; +#endif + template<typename T> MemoryRegion<T>& operator+=(MemoryRegion<T>& out, const MemoryRegion<T>& in) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/arch/aarch64.txt new/Botan-1.10.17/src/build-data/arch/aarch64.txt --- old/Botan-1.10.16/src/build-data/arch/aarch64.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/Botan-1.10.17/src/build-data/arch/aarch64.txt 2017-10-02 08:00:00.000000000 +0200 @@ -0,0 +1,6 @@ +endian little + +<aliases> +arm64 # For Debian +</aliases> + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/arch/mipsn32.txt new/Botan-1.10.17/src/build-data/arch/mipsn32.txt --- old/Botan-1.10.16/src/build-data/arch/mipsn32.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/Botan-1.10.17/src/build-data/arch/mipsn32.txt 2017-10-02 08:00:00.000000000 +0200 @@ -0,0 +1,22 @@ +<aliases> +mipsn32el # For Debian +</aliases> + +<submodels> +r4000 +r4100 +r4300 +r4400 +r4600 +r4560 +r5000 +r8000 +r10000 +</submodels> + +<submodel_aliases> +r4k -> r4000 +r5k -> r5000 +r8k -> r8000 +r10k -> r10000 +</submodel_aliases> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/arch/or1k.txt new/Botan-1.10.17/src/build-data/arch/or1k.txt --- old/Botan-1.10.16/src/build-data/arch/or1k.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/Botan-1.10.17/src/build-data/arch/or1k.txt 2017-10-02 08:00:00.000000000 +0200 @@ -0,0 +1,4 @@ +endian big +<submodels> +or1k +</submodels> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/arch/ppc64.txt new/Botan-1.10.17/src/build-data/arch/ppc64.txt --- old/Botan-1.10.16/src/build-data/arch/ppc64.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/build-data/arch/ppc64.txt 2017-10-02 08:00:00.000000000 +0200 @@ -17,6 +17,9 @@ power5 power6 power7 +power7p +power8 +power8e cellppu </submodels> @@ -25,5 +28,5 @@ </submodel_aliases> <isa_extn> -altivec:cellppu,ppc970,power6,power7 +altivec:cellppu,ppc970,power6,power7,power7p,power8,power8e </isa_extn> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/arch/ppc64le.txt new/Botan-1.10.17/src/build-data/arch/ppc64le.txt --- old/Botan-1.10.16/src/build-data/arch/ppc64le.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/Botan-1.10.17/src/build-data/arch/ppc64le.txt 2017-10-02 08:00:00.000000000 +0200 @@ -0,0 +1,21 @@ +endian little + +family ppc + +<aliases> +powerpc64le +ppc64el +</aliases> + +<submodels> +power7 +power7p +power8 +power8e +</submodels> + +# This should be enabled for all targets, but the Altivec code currently +# makes lots of endian assumptions that I don't have the time to fix up: +#<isa_extn> +#altivec:all +#</isa_extn> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/cc/clang.txt new/Botan-1.10.17/src/build-data/cc/clang.txt --- old/Botan-1.10.16/src/build-data/cc/clang.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/build-data/cc/clang.txt 2017-10-02 08:00:00.000000000 +0200 @@ -39,6 +39,8 @@ <mach_abi_linking> x86_64 -> "-m64" +mips32 -> "-mabi=32" +mipsn32 -> "-mabi=n32" mips64 -> "-mabi=64" s390 -> "-m31" s390x -> "-m64" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/build-data/cc/gcc.txt new/Botan-1.10.17/src/build-data/cc/gcc.txt --- old/Botan-1.10.16/src/build-data/cc/gcc.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/build-data/cc/gcc.txt 2017-10-02 08:00:00.000000000 +0200 @@ -75,14 +75,17 @@ alpha -> "-mcpu=SUBMODEL" alpha- arm -> "-march=SUBMODEL" +aarch64 -> "-mtune=generic" superh -> "-mSUBMODEL" sh hppa -> "-march=SUBMODEL" hppa ia64 -> "-mtune=SUBMODEL" m68k -> "-mSUBMODEL" mips32 -> "-mips1 -mcpu=SUBMODEL" mips32- +mipsn32 -> "-mips3 -mcpu=SUBMODEL" mips64- mips64 -> "-mips3 -mcpu=SUBMODEL" mips64- ppc32 -> "-mcpu=SUBMODEL" ppc ppc64 -> "-mcpu=SUBMODEL" ppc +ppc64le -> "-mcpu=power7 -mtune=power8" ppc sparc32 -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus" sparc32- sparc64 -> "-mcpu=v9 -mtune=SUBMODEL" x86_32 -> "-march=SUBMODEL -momit-leaf-frame-pointer" @@ -98,6 +101,7 @@ sparc32 -> "-m32 -mno-app-regs" sparc64 -> "-m64 -mno-app-regs" ppc64 -> "-m64" +ppc64le -> "-m64" # This should probably be used on most/all targets, but the docs are unclear openbsd -> "-pthread" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/engine/openssl/ossl_bc.cpp new/Botan-1.10.17/src/engine/openssl/ossl_bc.cpp --- old/Botan-1.10.16/src/engine/openssl/ossl_bc.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/engine/openssl/ossl_bc.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -8,6 +8,10 @@ #include <botan/internal/openssl_engine.h> #include <openssl/evp.h> +#if OPENSSL_VERSION_NUMBER >= 0x10100000 + #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x" +#endif + namespace Botan { namespace { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/engine/openssl/ossl_md.cpp new/Botan-1.10.17/src/engine/openssl/ossl_md.cpp --- old/Botan-1.10.16/src/engine/openssl/ossl_md.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/engine/openssl/ossl_md.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -8,6 +8,10 @@ #include <botan/internal/openssl_engine.h> #include <openssl/evp.h> +#if OPENSSL_VERSION_NUMBER >= 0x10100000 + #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x" +#endif + namespace Botan { namespace { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/hash/gost_3411/gost_3411.cpp new/Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp --- old/Botan-1.10.16/src/hash/gost_3411/gost_3411.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/hash/gost_3411/gost_3411.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -90,8 +90,11 @@ // P transformation for(size_t k = 0; k != 4; ++k) + { + const uint64_t UVk = U[k] ^ V[k]; for(size_t l = 0; l != 8; ++l) - key[4*l+k] = get_byte(l, U[k]) ^ get_byte(l, V[k]); + key[4*l+k] = get_byte(l, UVk); + } cipher.set_key(key, 32); cipher.encrypt(&hash[8*j], S + 8*j); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/math/bigint/bigint.cpp new/Botan-1.10.17/src/math/bigint/bigint.cpp --- old/Botan-1.10.16/src/math/bigint/bigint.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/math/bigint/bigint.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -10,6 +10,7 @@ #include <botan/get_byte.h> #include <botan/parsing.h> #include <botan/internal/rounding.h> +#include <botan/internal/ct_utils.h> namespace Botan { @@ -373,4 +374,25 @@ binary_decode(buf, buf.size()); } +void BigInt::shrink_to_fit() + { + reg.resize(sig_words()); + } + +void BigInt::const_time_lookup(SecureVector<word>& output, + const std::vector<BigInt>& vec, + size_t idx) + { + const size_t words = output.size(); + + clear_mem(output.data(), output.size()); + + for(size_t i = 0; i != vec.size(); ++i) + { + for(size_t w = 0; w != words; ++w) + output[w] |= CT::select<word>(CT::is_equal(i, idx), vec[i].word_at(w), 0); + } + } + + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/math/bigint/bigint.h new/Botan-1.10.17/src/math/bigint/bigint.h --- old/Botan-1.10.16/src/math/bigint/bigint.h 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/math/bigint/bigint.h 2017-10-02 08:00:00.000000000 +0200 @@ -500,6 +500,12 @@ */ BigInt(NumberType type, size_t n); + void shrink_to_fit(); + + static void const_time_lookup(SecureVector<word>& output, + const std::vector<BigInt>& vec, + size_t idx); + private: SecureVector<word> reg; Sign signedness; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/math/mp/mp_asm64/info.txt new/Botan-1.10.17/src/math/mp/mp_asm64/info.txt --- old/Botan-1.10.16/src/math/mp/mp_asm64/info.txt 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/math/mp/mp_asm64/info.txt 2017-10-02 08:00:00.000000000 +0200 @@ -8,10 +8,12 @@ </header:internal> <arch> +aarch64 alpha ia64 mips64 ppc64 +ppc64le sparc64 </arch> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/math/numbertheory/powm_mnt.cpp new/Botan-1.10.17/src/math/numbertheory/powm_mnt.cpp --- old/Botan-1.10.16/src/math/numbertheory/powm_mnt.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/math/numbertheory/powm_mnt.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -68,6 +68,7 @@ &workspace[0]); g[i].assign(&z[0], mod_words + 1); + g[i].grow_to(mod_words); } } @@ -81,6 +82,7 @@ BigInt x = R_mod; SecureVector<word> z(2 * (mod_words + 1)); SecureVector<word> workspace(2 * (mod_words + 1)); + SecureVector<word> e(mod_words); for(size_t i = exp_nibbles; i > 0; --i) { @@ -98,12 +100,13 @@ const u32bit nibble = exp.get_substring(window_bits*(i-1), window_bits); - const BigInt& y = g[nibble]; - zeroise(z); + + BigInt::const_time_lookup(e, g, nibble); + bigint_monty_mul(&z[0], z.size(), x.data(), x.size(), x.sig_words(), - y.data(), y.size(), y.sig_words(), + e.data(), e.size(), e.size(), modulus.data(), mod_words, mod_prime, &workspace[0]); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Botan-1.10.16/src/utils/cpuid.cpp new/Botan-1.10.17/src/utils/cpuid.cpp --- old/Botan-1.10.16/src/utils/cpuid.cpp 2017-04-05 03:06:45.000000000 +0200 +++ new/Botan-1.10.17/src/utils/cpuid.cpp 2017-10-02 08:00:00.000000000 +0200 @@ -157,6 +157,9 @@ const u16bit PVR_G5_970GX = 0x0045; const u16bit PVR_POWER6 = 0x003E; const u16bit PVR_POWER7 = 0x003F; + const u16bit PVR_POWER7p = 0x004A; + const u16bit PVR_POWER8 = 0x004D; + const u16bit PVR_POWER8E = 0x004B; const u16bit PVR_CELL_PPU = 0x0070; // Motorola produced G4s with PVR 0x800[0123C] (at least) @@ -177,6 +180,9 @@ altivec_capable |= (pvr == PVR_G5_970GX); altivec_capable |= (pvr == PVR_POWER6); altivec_capable |= (pvr == PVR_POWER7); + altivec_capable |= (pvr == PVR_POWER7p); + altivec_capable |= (pvr == PVR_POWER8); + altivec_capable |= (pvr == PVR_POWER8E); altivec_capable |= (pvr == PVR_CELL_PPU); #endif ++++++ aarch64-support.patch ++++++ --- /var/tmp/diff_new_pack.lmG2IK/_old 2017-10-10 11:34:12.986567192 +0200 +++ /var/tmp/diff_new_pack.lmG2IK/_new 2017-10-10 11:34:12.986567192 +0200 @@ -1,11 +1,11 @@ -Index: src/build-data/arch/aarch64.txt -=================================================================== ---- /dev/null -+++ src/build-data/arch/aarch64.txt -@@ -0,0 +1,6 @@ -+endian little -+ -+<aliases> -+arm64 -+armv8 -+</aliases> +diff --git a/src/build-data/arch/aarch64.txt b/src/build-data/arch/aarch64.txt +index 863b000c5..9ea51c936 100644 +--- a/src/build-data/arch/aarch64.txt ++++ b/src/build-data/arch/aarch64.txt +@@ -2,5 +2,6 @@ endian little + + <aliases> + arm64 # For Debian ++armv8 # For SUSE + </aliases> +