diff --git a/chromium-122-arm64-memory_tagging.patch b/chromium-122-arm64-memory_tagging.patch new file mode 100644 index 00000000..6850e586 --- /dev/null +++ b/chromium-122-arm64-memory_tagging.patch @@ -0,0 +1,13 @@ +diff -up chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni.me chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni +--- chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni.me 2024-02-22 20:22:44.115269845 +0100 ++++ chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni 2024-02-22 20:23:07.067681890 +0100 +@@ -29,8 +29,7 @@ if (is_nacl) { + assert(false, "Unknown CPU: $current_cpu") + } + +-has_memory_tagging = +- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android) ++has_memory_tagging = false + + declare_args() { + # Causes all the allocations to be routed via allocator_shim.cc. Usually, diff --git a/chromium.spec b/chromium.spec index ea5b2ff8..5a6db8d9 100644 --- a/chromium.spec +++ b/chromium.spec @@ -427,6 +427,10 @@ Patch303: chromium-121-typename.patch # error: invalid operands to binary expression Patch304: chromium-117-string-convert.patch +# disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver +# not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found +Patch305: chromium-122-arm64-memory_tagging.patch + Patch306: chromium-119-assert.patch # compiler errors on epel @@ -1115,6 +1119,12 @@ udev. %patch -P130 -p1 -b .revert-av1enc %endif +%ifarch aarch64 +%if 0%{?rhel} <= 8 +%patch -P305 -p1 -b .memory_tagging +%endif +%endif + %if 0%{?rhel} || 0%{?fedora} && 0%{?fedora} < 39 %patch -P307 -p1 -R -b .v8-c++20 %patch -P308 -p1 -R -b .v8-c++20