Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:12.1
libqt4-sql-plugins
fix-arm-assembler-for-thumb2.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fix-arm-assembler-for-thumb2.diff of Package libqt4-sql-plugins
Index: src/corelib/arch/qatomic_armv6.h =================================================================== --- src/corelib/arch/qatomic_armv6.h.orig +++ src/corelib/arch/qatomic_armv6.h @@ -144,6 +144,9 @@ inline bool QBasicAtomicInt::testAndSetO asm volatile("0:\n" "ldrex %[result], [%[_q_value]]\n" "eors %[result], %[result], %[expectedValue]\n" + + "itt eq\n" + "strexeq %[result], %[newValue], [%[_q_value]]\n" "teqeq %[result], #1\n" "beq 0b\n" @@ -202,6 +205,9 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPoint asm volatile("0:\n" "ldrex %[result], [%[_q_value]]\n" "eors %[result], %[result], %[expectedValue]\n" + + "itt eq\n" + "strexeq %[result], %[newValue], [%[_q_value]]\n" "teqeq %[result], #1\n" "beq 0b\n" Index: src/corelib/arch/qatomic_arm.h =================================================================== --- src/corelib/arch/qatomic_arm.h.orig +++ src/corelib/arch/qatomic_arm.h @@ -355,10 +355,7 @@ template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue) { T *originalValue; - asm volatile("swp %0,%2,[%3]" - : "=&r"(originalValue), "=m" (_q_value) - : "r"(newValue), "r"(&_q_value) - : "cc", "memory"); + originalValue = __sync_lock_test_and_set(&_q_value, newValue); return originalValue; }
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