mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 05:20:46 +00:00
The JIT uses the ISB instruction, but being a multi-core barrier
instruction this doesn't exist on the single-core ARMv5 ISA. Check the
ISA level before using ISB.
Also set [cleandirs] for ${B} to ensure clean builds are done when
reconfiguring.
[ YOCTO #14572 ]
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
20 lines
766 B
Diff
20 lines
766 B
Diff
The ISB instruction isn't available in ARMv5 or v6, so
|
|
guard it's use to fix the build on qemuarmv5.
|
|
|
|
Upstream-Status: Pending
|
|
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
|
|
|
diff --git a/js/src/jit/arm/Architecture-arm.cpp b/js/src/jit/arm/Architecture-arm.cpp
|
|
--- a/js/src/jit/arm/Architecture-arm.cpp 2024-01-18 17:31:32.078718197 +0000
|
|
+++ b/js/src/jit/arm/Architecture-arm.cpp 2024-01-18 18:00:16.738921445 +0000
|
|
@@ -529,7 +529,9 @@
|
|
void FlushExecutionContext() {
|
|
#ifndef JS_SIMULATOR_ARM
|
|
+#if __ARM_ARCH >= 7
|
|
// Ensure that any instructions already in the pipeline are discarded and
|
|
// reloaded from the icache.
|
|
asm volatile("isb\n" : : : "memory");
|
|
+#endif
|
|
#else
|
|
// We assume the icache flushing routines on other platforms take care of this
|