| From 03c2661b1243cc529fc3d8cfa65073f1da420307 Mon Sep 17 00:00:00 2001 |
| From: Simon Hausmann <simon.hausmann@qt.io> |
| Date: Thu, 22 Jun 2017 13:34:09 +0200 |
| Subject: [PATCH 1/1] Fix alignment issue on ARMv7 |
| |
| As analyzed in the bug report, it appears that we may get |
| QV4::CompiledData::Function pointers for writing that are not aligned |
| for the 64-bit fields at the beginning. |
| |
| [ChangeLog][QtQml] Fix crash due to misaligned data structures on ARMv7 |
| |
| Task-number: QTBUG-61552 |
| Change-Id: I6b2c166b725496150c8850475577628ccd811d65 |
| Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> |
| commit: https://codereview.qt-project.org/#/c/198278/ |
| |
| Signed-off-by: Petar Koretic <petar.koretic@qaap.io> |
| --- |
| src/qml/compiler/qv4compiler.cpp | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp |
| index e32749bbf7..c32e1685a0 100644 |
| --- a/src/qml/compiler/qv4compiler.cpp |
| +++ b/src/qml/compiler/qv4compiler.cpp |
| @@ -406,6 +406,8 @@ QV4::CompiledData::Unit QV4::Compiler::JSUnitGenerator::generateHeader(QV4::Comp |
| *jsClassDataOffset = nextOffset; |
| nextOffset += jsClassData.size(); |
| |
| + nextOffset = (nextOffset + 7) & ~quint32(0x7); |
| + |
| for (int i = 0; i < irModule->functions.size(); ++i) { |
| QV4::IR::Function *f = irModule->functions.at(i); |
| functionOffsets[i] = nextOffset; |
| -- |
| 2.13.3 |
| |