summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2010-09-22 15:16:28 +0200
committerBradley T. Hughes <bradley.hughes@nokia.com>2010-09-23 11:21:21 +0200
commit82b4fff07dc21382274bc92e480a9eff897dabf1 (patch)
tree344f16f71baabf35e4536b6faf0dd5f38645f9dc /bin
parent6d1fb317f53017aee99ec191cc8740e7e668ba0e (diff)
Add support for ARMv7 atomic operations
ARMv7 adds the DMB (data memory barrier) instruction which we can use to enforce memory barriers in QAtomicInt and QAtomicPointer. Other than that, ARMv7 is identical to ARMv6. Adjust the ARMv6 code to relax the compiler memory barriers on the *Relaxed() operations, and use *Relaxed() functions together the appropriate compiler barriers in the *Acquire(), *Release(), and *Ordered() functions. For "pure" ARMv6 code, the barriers are only compiler barriers, but for ARMv7, we also emit the DMB instruction. Reviewed-by: thiago
Diffstat (limited to 'bin')
-rwxr-xr-xbin/syncqt2
1 files changed, 1 insertions, 1 deletions
diff --git a/bin/syncqt b/bin/syncqt
index b2a25770ce..faa357538e 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -691,7 +691,7 @@ my $class_lib_map_contents = "";
my @ignore_for_master_contents = ( "qt.h", "qpaintdevicedefs.h" );
my @ignore_for_include_check = ( "qatomic.h" );
my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
-my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", "qatomic_arm.h" );
+my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", "qatomic_arm.h", "qatomic_armv7.h" );
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
my %colliding_headers = ();
my %inject_headers;