From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- .../asmjit/files/asmjit-2021.11.13-gentoo.patch | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch (limited to 'dev-libs/asmjit/files') diff --git a/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch b/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch new file mode 100644 index 000000000000..035ffbbbdcea --- /dev/null +++ b/dev-libs/asmjit/files/asmjit-2021.11.13-gentoo.patch @@ -0,0 +1,45 @@ +diff --git a/src/asmjit/core/support.h b/src/asmjit/core/support.h +index f98ffaa..2329cb2 100644 +--- a/src/asmjit/core/support.h ++++ b/src/asmjit/core/support.h +@@ -33,33 +33,40 @@ + ASMJIT_BEGIN_NAMESPACE + + //! \addtogroup asmjit_utilities + //! \{ + + //! Contains support classes and functions that may be used by AsmJit source + //! and header files. Anything defined here is considered internal and should + //! not be used outside of AsmJit and related projects like AsmTK. + namespace Support { + + // ============================================================================ + // [asmjit::Support - Architecture Features & Constraints] + // ============================================================================ + + //! \cond INTERNAL ++#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 11 ++// There is a bug in GCC11+ that makes it unusable to use annotated unaligned loads/stores. ++static constexpr bool kUnalignedAccess16 = false; ++static constexpr bool kUnalignedAccess32 = false; ++static constexpr bool kUnalignedAccess64 = false; ++#else + static constexpr bool kUnalignedAccess16 = ASMJIT_ARCH_X86 != 0; + static constexpr bool kUnalignedAccess32 = ASMJIT_ARCH_X86 != 0; + static constexpr bool kUnalignedAccess64 = ASMJIT_ARCH_X86 != 0; ++#endif + //! \endcond + + // ============================================================================ + // [asmjit::Support - Internal] + // ============================================================================ + + //! \cond INTERNAL + namespace Internal { + template + struct AlignedInt {}; + + template<> struct AlignedInt { typedef uint16_t ASMJIT_ALIGN_TYPE(T, 1); }; + template<> struct AlignedInt { typedef uint16_t T; }; + template<> struct AlignedInt { typedef uint32_t ASMJIT_ALIGN_TYPE(T, 1); }; + template<> struct AlignedInt { typedef uint32_t ASMJIT_ALIGN_TYPE(T, 2); }; -- cgit v1.2.3