Make this build on arm64.

ok ajacoutot@
This commit is contained in:
kettenis 2018-05-17 09:14:05 +00:00
parent 12ba5869ec
commit d8758b5dbd
2 changed files with 20 additions and 6 deletions

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-Source_JavaScriptCore_offlineasm_arm64_rb,v 1.1 2018/05/17 09:14:05 kettenis Exp $
Index: Source/JavaScriptCore/offlineasm/arm64.rb
--- Source/JavaScriptCore/offlineasm/arm64.rb.orig
+++ Source/JavaScriptCore/offlineasm/arm64.rb
@@ -945,7 +945,7 @@ class Instruction
$asm.puts "ldr #{operands[1].arm64Operand(:ptr)}, [#{operands[1].arm64Operand(:ptr)}, #{operands[0].asmLabel}@GOTPAGEOFF]"
# On Linux, use ELF GOT relocation specifiers.
- $asm.putStr("#elif OS(LINUX)")
+ $asm.putStr("#elif OS(LINUX) || OS(OPENBSD)")
$asm.puts "adrp #{operands[1].arm64Operand(:ptr)}, :got:#{operands[0].asmLabel}"
$asm.puts "ldr #{operands[1].arm64Operand(:ptr)}, [#{operands[1].arm64Operand(:ptr)}, :got_lo12:#{operands[0].asmLabel}]"

View File

@ -1,4 +1,4 @@
$OpenBSD: patch-Source_JavaScriptCore_runtime_MachineContext_h,v 1.2 2018/03/19 08:13:15 ajacoutot Exp $
$OpenBSD: patch-Source_JavaScriptCore_runtime_MachineContext_h,v 1.3 2018/05/17 09:14:05 kettenis Exp $
Index: Source/JavaScriptCore/runtime/MachineContext.h
--- Source/JavaScriptCore/runtime/MachineContext.h.orig
@ -16,7 +16,7 @@ Index: Source/JavaScriptCore/runtime/MachineContext.h
+#elif CPU(ARM)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_SP]);
+#elif CPU(ARM64)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_sp);
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_sp);
+#elif CPU(MIPS)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[29]);
+#elif CPU(SPARC64)
@ -41,7 +41,7 @@ Index: Source/JavaScriptCore/runtime/MachineContext.h
+#elif CPU(ARM)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_FP]);
+#elif CPU(ARM64)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_x[29]);
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[29]);
+#elif CPU(MIPS)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[30]);
+#elif CPU(SPARC64)
@ -66,7 +66,7 @@ Index: Source/JavaScriptCore/runtime/MachineContext.h
+#elif CPU(ARM)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_PC]);
+#elif CPU(ARM64)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_elr);
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_elr);
+#elif CPU(MIPS)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_pc);
+#elif CPU(SPARC64)
@ -91,7 +91,7 @@ Index: Source/JavaScriptCore/runtime/MachineContext.h
+#elif CPU(ARM)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R1]);
+#elif CPU(ARM64)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_x[1]);
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[1]);
+#elif CPU(MIPS)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[5]);
+#elif CPU(SPARC64)
@ -120,7 +120,7 @@ Index: Source/JavaScriptCore/runtime/MachineContext.h
+#elif CPU(ARM)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R8]);
+#elif CPU(ARM64)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_x[4]);
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[4]);
+#elif CPU(MIPS)
+ return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[12]);
+#elif CPU(SPARC64)