diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-09-22 13:16:28 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-09-23 09:21:21 (GMT) |
commit | 82b4fff07dc21382274bc92e480a9eff897dabf1 (patch) | |
tree | 344f16f71baabf35e4536b6faf0dd5f38645f9dc /bin | |
parent | 6d1fb317f53017aee99ec191cc8740e7e668ba0e (diff) | |
download | Qt-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-x | bin/syncqt | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |