Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
java-1_8_0-openjdk.6010
zero-atomic_copy64.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File zero-atomic_copy64.patch of Package java-1_8_0-openjdk.6010
--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp 2017-08-31 16:35:40.546293657 +0200 +++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp 2017-08-31 16:39:53.186297970 +0200 @@ -36,18 +36,19 @@ // Atomically copy 64 bits of data static void atomic_copy64(volatile void *src, volatile void *dst) { -#if defined(PPC32) +#if defined(PPC32) && !defined(__NO_FPRS__) double tmp; - asm volatile ("lfd %0, 0(%1)\n" - "stfd %0, 0(%2)\n" - : "=f"(tmp) - : "b"(src), "b"(dst)); + asm volatile ("lfd %0, %2\n" + "stfd %0, %1\n" + : "=&f"(tmp), "=Q"(*(volatile double*)dst) + : "Q"(*(volatile double*)src)); #elif defined(S390) && !defined(_LP64) double tmp; asm volatile ("ld %0, 0(%1)\n" "std %0, 0(%2)\n" - : "=r"(tmp) - : "a"(src), "a"(dst)); + : "=&r"(tmp) + : "a"(src), "a"(dst) + : "memory"); #else *(jlong *) dst = *(jlong *) src; #endif
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor