aarch64 v8 gcc cfi fix

epel8
Tom spot Callaway 2 years ago
parent 5d6968f9db
commit cd477185d5

@ -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
}

@ -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

Loading…
Cancel
Save