summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2010-09-22 13:16:28 (GMT)
committerBradley T. Hughes <bradley.hughes@nokia.com>2010-09-23 09:21:21 (GMT)
commit82b4fff07dc21382274bc92e480a9eff897dabf1 (patch)
tree344f16f71baabf35e4536b6faf0dd5f38645f9dc /bin
parent6d1fb317f53017aee99ec191cc8740e7e668ba0e (diff)
downloadQt-82b4fff07dc21382274bc92e480a9eff897dabf1.zip
Qt-82b4fff07dc21382274bc92e480a9eff897dabf1.tar.gz
Qt-82b4fff07dc21382274bc92e480a9eff897dabf1.tar.bz2
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 b2a2577..faa3575 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;