Index: www/firefox/files/patch-gfx_skia_skia_src_core_SkCpu.cpp =================================================================== --- www/firefox/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (revision 526265) +++ www/firefox/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (working copy) @@ -4,21 +4,24 @@ uint32_t hwcaps = getauxval(AT_HWCAP); ^ ---- gfx/skia/skia/src/core/SkCpu.cpp.orig 2019-02-27 22:18:23 UTC +--- gfx/skia/skia/src/core/SkCpu.cpp.orig 2020-02-07 22:13:22 UTC +++ gfx/skia/skia/src/core/SkCpu.cpp -@@ -70,6 +70,20 @@ +@@ -72,6 +72,23 @@ return features; } +#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__) + #include ++ #ifndef ID_AA64ISAR0_CRC32_VAL ++ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++ #endif + + static uint32_t read_cpu_features() { + uint32_t features = 0; + uint64_t id_aa64isar0; + -+ id_aa64isar0 = READ_SPECIALREG(ID_AA64ISAR0_EL1); -+ if (ID_AA64ISAR0_CRC32(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { + features |= SkCpu::CRC32; + } + return features; Index: www/firefox-esr/files/patch-gfx_skia_skia_src_core_SkCpu.cpp =================================================================== --- www/firefox-esr/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (revision 526272) +++ www/firefox-esr/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (working copy) @@ -4,21 +4,24 @@ uint32_t hwcaps = getauxval(AT_HWCAP); ^ ---- gfx/skia/skia/src/core/SkCpu.cpp.orig 2019-02-27 22:18:23 UTC +--- gfx/skia/skia/src/core/SkCpu.cpp.orig 2020-02-07 01:27:03 UTC +++ gfx/skia/skia/src/core/SkCpu.cpp -@@ -70,6 +70,20 @@ +@@ -70,6 +70,23 @@ return features; } +#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__) + #include ++ #ifndef ID_AA64ISAR0_CRC32_VAL ++ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++ #endif + + static uint32_t read_cpu_features() { + uint32_t features = 0; + uint64_t id_aa64isar0; + -+ id_aa64isar0 = READ_SPECIALREG(ID_AA64ISAR0_EL1); -+ if (ID_AA64ISAR0_CRC32(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { + features |= SkCpu::CRC32; + } + return features; Index: mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp =================================================================== --- mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (revision 526317) +++ mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp (working copy) @@ -4,21 +4,24 @@ uint32_t hwcaps = getauxval(AT_HWCAP); ^ ---- gfx/skia/skia/src/core/SkCpu.cpp.orig 2019-02-27 22:18:23 UTC +--- gfx/skia/skia/src/core/SkCpu.cpp.orig 2020-02-10 09:43:20 UTC +++ gfx/skia/skia/src/core/SkCpu.cpp -@@ -70,6 +70,20 @@ +@@ -70,6 +70,23 @@ return features; } +#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__) + #include ++ #ifndef ID_AA64ISAR0_CRC32_VAL ++ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++ #endif + + static uint32_t read_cpu_features() { + uint32_t features = 0; + uint64_t id_aa64isar0; + -+ id_aa64isar0 = READ_SPECIALREG(ID_AA64ISAR0_EL1); -+ if (ID_AA64ISAR0_CRC32(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) { + features |= SkCpu::CRC32; + } + return features;