java-11-openjdk/fix_armv6_build.patch

25 lines
987 B
Diff

--- src/hotspot/cpu/arm/stubGenerator_arm.cpp.orig 2018-05-03 03:36:49.000000000 +0200
+++ src/hotspot/cpu/arm/stubGenerator_arm.cpp 2018-05-07 17:55:16.692263547 +0200
@@ -755,7 +755,9 @@ class StubGenerator: public StubCodeGene
__ clrex(); // FIXME: safe to remove?
__ bx(LR);
} else {
- __ stop("Atomic load(jlong) unsupported on this platform");
+ //__ stop("Atomic load(jlong) unsupported on this platform");
+ // Workaround for armv6 built on multi core machines
+ __ ldmia(src, RegisterSet(result_lo, result_hi));
__ bx(LR);
}
@@ -787,7 +789,9 @@ class StubGenerator: public StubCodeGene
__ b(retry, eq);
__ bx(LR);
} else {
- __ stop("Atomic store(jlong) unsupported on this platform");
+ //__ stop("Atomic store(jlong) unsupported on this platform");
+ // Workaround for armv6 built on multi core machines
+ __ stmia(dest, RegisterSet(newval_lo, newval_hi));
__ bx(LR);
}