diff --git a/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch new file mode 100644 index 0000000..5c0200a --- /dev/null +++ b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch @@ -0,0 +1,26 @@ +diff -up chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h +--- chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix 2022-06-14 16:34:21.710049421 -0400 ++++ chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h 2022-06-14 16:35:17.650427761 -0400 +@@ -47,15 +47,17 @@ V8_INLINE Address PointerAuthentication: + #ifdef USE_SIMULATOR + return Simulator::StripPAC(pc, Simulator::kInstructionPointer); + #else ++ // x30 == lr, but use 'x30' instead of 'lr' below, as GCC does not accept ++ // 'lr' in the clobbers list. + asm volatile( +- " mov x16, lr\n" +- " mov lr, %[pc]\n" ++ " mov x16, x30\n" ++ " mov x30, %[pc]\n" + " xpaclri\n" +- " mov %[pc], lr\n" +- " mov lr, x16\n" ++ " mov %[pc], x30\n" ++ " mov x30, x16\n" + : [pc] "+r"(pc) + : +- : "x16", "lr"); ++ : "x16", "x30"); + return pc; + #endif + } diff --git a/chromium.spec b/chromium.spec index 3303698..7feebf1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,9 @@ Patch61: chromium-102-swiftshader-template-instantiation.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-102-symbolize-include.patch Patch62: chromium-102-symbolize-include.patch +# https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 +Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch + # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds @@ -1005,6 +1008,7 @@ udev. %patch60 -p1 -b .regex_pattern-array %patch61 -p1 -b .swiftshader-template-instantiation %patch62 -p1 -b .symbolize-include +%patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed %patch67 -p1 -b .remoting-cstring