aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm
Commit message (Collapse)AuthorAgeFilesLines
* Add JIT to VxWorksKarim Pinter2025-11-113-4/+19
| | | | | | | | | Qt 5.15 for VxWorks had JIT and this change brings back this feature. Task-number: QTBUG-133449 Pick-to: 6.8 6.10 Change-Id: I0ce487ca01e5578f47fdb5cddac9ea4e5804b857 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QtQml: Adapt to restructuring of QUnicodeTablesUlf Hermann2025-10-291-2/+2
| | | | | | | | | | case conversions are now separate from other properties. See commit 763f19151cc31ca1ba4912e0828359be5dba89e8 in qtbase. Pick-to: 6.10 6.8 6.5 Change-Id: Ia13f515e613c7470f816c9930e870e391c88e367 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix typo: rename occured to occurredTian Shilin2025-07-311-1/+1
| | | | | | | | The function name had a spelling error. This change improves code readability and follows Qt naming conventions. Change-Id: Ic0646ea679bf3619691b6a581ba5ef589e7827bd Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
* Allow udis86 generation scripts to work with a more modern pythonLuca Di Sera2025-07-083-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | V4's baseline JIT uses some old JavaScriptCore code to optimize functions. As part of the offering, it is possible to use a disassembler, if enabled, to peek into the code that the JIT has generated for a function. For i386 and x86_64 udis86 is used, of which we bundle a very old version. To build and make use of udis86 it is necessary to generate some code running some bundled python scripts. The scripts are still written for a python2 target, which has long been sunsetted, making the scripts difficult to run on more modern systems. To allow the scripts to be run more easily, some modifications were made to support more modern pythons versions. In particular, print statements were modified to print functions. Furthermore, usages of the division operator("/") were modified to the integer division operator("//"), as the meaning of "/" was changed to non-integer division between python 2 and 3. Finally, a usage of the sort method was modified with self assignment to a `sorted()` value, due to python 3 not returning a list anymore, which has a sort method, on dict's `items` method. The changes are expected to mostly be semantically compatible, albeit it wasn't ascertained whether the behavior of other parts of the script might have been silently hit when running on a more modern python version. Informally, the script was used with a python 3.13 version, and the generated code was used to disassemble a few jitted function with success during an unrelated bug investigation. Change-Id: Ide0bcf4d29a51759f9bb9bd07d940562a8cfcc04 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Add PURL and CPE info to 3rd party attribution filesAlexandru Croitor2025-06-041-0/+1
| | | | | | | | | | | [ChangeLog][Third-Party Code] Added PURL and CPE information to the attribution files of 3rd party sources. Pick-to: 6.5 6.8 6.9 6.10 Fixes: QTBUG-137262 Task-number: QTBUG-129602 Change-Id: I1a5691ff042c47461fe4769399c3bd2d6ec52160 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* masm: fix -Wundef warningsGiuseppe D'Angelo2025-02-212-9/+9
| | | | | | | | | | | | Change the compiler/platform detection macros to check whether a macro is defined, before testing its value. See also the discussion at https://bugs.webkit.org/show_bug.cgi?id=167643 https://codereview.qt-project.org/c/qt/qtbase/+/618094 Task-number: QTBUG-132900 Change-Id: Ic3cc02b23e034cc7622e899b4acc381166a9ec95 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Set allocated memory to 0 on VxWorksKarim Pinter2025-02-191-0/+5
| | | | | | | | | | | | | | When VxWorks is configured with RTP_MEM_FILL false for performance reasons, then it is not filling the allocated memory to 0, causing the QML engine to crash, because it is expecting that it is filled with 0s. This change handles this scenario by calling memset 0 on the allocated memory. Qt needs to be configured with QT_RTP_MEM_FILL define. Task-number: QTBUG-133305 Pick-to: 6.8 6.9 Change-Id: I885c3cad7d81a11b8a0c125ddc098751b9643392 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use MAP_JIT on all Apple platformsUlf Hermann2024-12-171-5/+4
| | | | | | | | | | | | ... and make it actually compile. ... and set the flag for JIT pages being prepared. We are clever enough not to make them executable right away. Pick-to: 6.9 6.8 Task-number: QTBUG-131957 Change-Id: I07dc6a9c8ec7d0881d73fc5bd44a6059f66dd2eb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Revert to old executable memory detection for macOS on x86Ulf Hermann2024-12-171-0/+21
| | | | | | | | | | | | | | | Since we cannot figure out what exactly has to be done to prevent the JIT from crashing, we perform a partial revert of commit 912af1e8b4c1f62802a3e0a4b428bb4e9f4d2c90, only for this platform. The bug fixed by the original change is specific to linux. Therefore this doesn't cause any real harm. Pick-to: 6.9 6.8 Fixes: QTBUG-131957 Change-Id: Ic3baf32aae1f0f2feb9abc34b9f43a5db867165b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add REUSE.toml files and missing licensesLucie Gérard2024-10-291-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | REUSE.toml files are read by reuse to complement or override the copyright and licensing information found in file. The use of REUSE.toml files was introduced in REUSE version 3.1.0a1. This reuse version is compatible with reuse specification version 3.2 [1]. With this commit's files, * The SPDX document generated by reuse spdx conforms to SPDX 2.3, * The reuse lint command reports that the Qt project is reuse compliant. In order to be reuse compliant all the licenses referenced in file or within a REUSE.toml files must be present in the LICENSES directory at the base of the module. The missing licenses are added. [1]: https://reuse.software/spec-3.2/ Task-number: QTBUG-124453 Task-number: QTBUG-125211 Change-Id: I5a83879a7fee1bba046b2c53d9727dc0cde05c25 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* masm: On canAllocateExecutableMemory(), test for actual usage patternUlf Hermann2024-10-241-3/+22
| | | | | | | | | | | | | We want memfd-backed memory that we first write and then make executable using mprotect. This may be prohibited even if we can get a simple anonymous read/write/execute page. Pick-to: 6.8 Fixes: QTBUG-122102 Change-Id: Ic794a034d211a3a6518c823186f9953967b52ad0 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Optimize fixed numbersLiu Zheng2024-08-191-1/+1
| | | | | | | | Optimize fixed numbers to facilitate subsequent character array expansion Pick-to: 6.8 6.7 6.5 Change-Id: Ieb3b2ba527a88054594e00ddbf1072cccefb6965 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* fix: mips array out of boundsLiu Zheng2024-08-131-1/+1
| | | | | | | | | | When the incoming data is 4, the index defined by this macro has a crash Log: mips array out of bounds Pick-to: 6.8 6.7 6.5 Change-Id: I5acff5479f17e55d5731443d08b0915c701968f6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port to std::(v)snprinf() and mark the module q(v)snprinf-freeMarc Mutz2024-08-061-3/+5
| | | | | | | Pick-to: 6.8 Change-Id: I682ddfae8d6132ee2d5f8e763e2af2d76ed4bb4c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* OSAllocatorPosix.cpp: Don't rely on transitive includesFabian Kosmale2024-06-261-0/+1
| | | | | | Change-Id: Ie65ac757ecfd016d818395670c7d021e0e989ebb Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Remove unnecessary MADV_DONTNEED on LinuxAntonio Napolitano2024-01-301-2/+0
| | | | | | | | | | | | Calling madvise(MADV_DONTNEED) immediately after creating a new mapping is redundant, as mmap already returns an uncommitted and zero-filled memory. Note that even if a memfd is used, it is already zeroed out by ftruncate. Change-Id: I326f6b5be20bdc5658b704e35a73b745f00c4272 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Don't crash on failed MADV_DONTNEED on LinuxAntonio Napolitano2024-01-301-6/+5
| | | | | | | | | | | | | The application could call mlockall(MCL_CURRENT|MCL_FUTURE) to lock all its memory for performance reasons, causing the madvise call to fail. There's no need to crash. Instead, manually zero-out the memory when decommitting. Fixes: QTBUG-120450 Pick-to: 5.15 6.2 6.5 6.6 6.7 Change-Id: I6f1a8968853cc5e61561371bd2a435a686eaf0e4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update 3rd party directories to SPDX-License-RefLucie Gérard2024-01-1031-1179/+63
| | | | | | | | Task-number: QTBUG-120262 Pick-to: 6.6 6.7 Change-Id: I57c610421e9d499175856ff6f9520710b18c8a3c Signed-off-by: Lucie Gérard <lucie.gerard@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Modify copyright format in qt_attribution.sonLucie Gérard2023-11-281-13/+13
| | | | | | | | | Multiline copyright entries are entered via string array. Task-number: QTBUG-111873 Pick-to: 6.5 6.6 Change-Id: I931b7fa7e790a3438198e898b3bc8a7ea6d74372 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Undefine CPU definition as it is already defined in VxWorks sourcesTomasz Kozlowski2023-09-111-0/+3
| | | | | | | | | Change made to ensure that no previous definition interferes with another definition, which occurs in VxWorks VSB Task-number: QTBUG-115777 Change-Id: I6593a4d8059725288b48c55316389fea6ec71591 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* vxworks: mark vxworks as unixŁukasz Matysiak2023-08-311-0/+6
| | | | | | | | | | | this fixes issues related to undeclared identifier systemPageSize systemPageSize is defined in PageBlock.cpp and is guarded by an if that checks if the OS is unix or windows Task-number: QTBUG-115777 Change-Id: I2c71e62b147d9c0d8a64c718a8f8555333feaf3a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support building for Raspberry Pi 1 or ZeroDimitrios Apostolou2023-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | Cross-compiling (using Clang-13) for Raspberry Pi OS on Raspberry Pi 1 and Zero, requires adding "-target arm-linux-gnueabihf" to the compiler flags, which defines macro __ARM_ARCH_6KZ__ to detect for armv6. Fixes error: qtdeclarative/src/qml/../3rdparty/masm/wtf/Platform.h:312:6: error: "Not supported ARM architecture" More details: it turns out that the already checked macro __ARM_ARCH_6ZK__ is a typo with significance because older versions of GCC only had this. On the other hand __ARM_ARCH_6KZ__ (that this patch checks for) is the correct spelling, and it's the only one defined by Clang. Newer versions of GCC define both. Pick-to: 6.5 6.4 6.2 Change-Id: I60532bfcaa62677f88ed2cff05d872a14c4c2111 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Revert "masm: Treat Android as generic Posix regarding mmap and friends"Ulf Hermann2022-11-251-16/+7
| | | | | | | | | | | | | | | | | This reverts commit ffecc122d785de9c4c5defd8724526b8dd4982dc. It turns out that madvise() only fails when given MADV_WILLNEED as argument on the affected devices. MADV_WILLNEED is indeed optional. Since commit 2034e10c9378364ecc7aa1af27505562d86688de we do not crash on a failed MADV_WILLNEED anymore. Therefore, we can re-enable the linux code path for android. Pick-to: 6.4 6.2 5.15 Task-number: QTBUG-107774 Task-number: QTBUG-106864 Task-number: QTBUG-106269 Change-Id: If67a38e4fc206bd5d5ed0ef8bf66ededd09d8f59 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Do not crash if madvise() fails on MADV_WILLNEEDUlf Hermann2022-11-081-1/+1
| | | | | | | | | | | | MADV_WILLNEED is only advisory. The kernel may ignore it anyway. Any subsequent access to the pages in question will trigger them to be re-populated. Pick-to: 6.4 6.2 5.15 Fixes: QTBUG-107774 Change-Id: I8d70003502fdeb3e53c169b28ea6826801d47c74 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-072-3/+3
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* masm: Treat Android as generic Posix regarding mmap and friendsUlf Hermann2022-10-061-7/+16
| | | | | | | | | | Apparently we cannot rely on madvise() to work as we expect it on linux. Pick-to: 6.4 6.2 5.15 Fixes: QTBUG-106864 Fixes: QTBUG-106269 Change-Id: Ie488ad788386c1a8c493d6bba632787f5282baaa Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix our unicode stub for the Yarr interpreterUlf Hermann2022-09-071-10/+13
| | | | | | | | | | | | | The interpreter expects the semantics of ICU's u_tolower and u_toupper for the functions called u_tolower and u_toupper. This means they should only perform simple case conversions. QChar tries all possible case conversions. Task-number: QTBUG-100242 Change-Id: If5f27b12e55459b64460adc2c56e6de026754803 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* masm: Add copy ctors for LinkRecordUlf Hermann2022-09-072-0/+8
| | | | | | | | | | | Having an implicit copy ctor and an explicit assignment operator is deprecated. Fixes: QTBUG-104077 Pick-to: 6.4 Change-Id: I03a08c71ac49d50728b1675f6f4533f4421f8126 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* masm: fix -Wdeprecated-enum-enum-conversionMarc Mutz2022-07-061-2/+2
| | | | | | | | | | | C++20 deprecated mixed-enum arithmetic. Cast one of the enums to int to suppress the warning. Pick-to: 6.4 6.3 6.2 5.15 Fixes: QTBUG-103943 Change-Id: I157be3368d6a0f201f3f4ddd7248479ee544d32d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Move up include in WTFStubs.cppAndreas Buhr2022-06-221-2/+4
| | | | | | | | | | | | The compiler complained about dataLogFV() being declared in DataLog.h with attributes after being defined in WTFStubs.cpp without attributes. This patch moves the include up so the declaration comes before the definition. Pick-to: 6.2 6.3 6.4 Task-number: QTBUG-102943 Change-Id: If9143274a25218c10659edcd07b95127701302ea Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QML: Protect against EAGAIN when calling madvise on linuxUlf Hermann2022-03-251-3/+15
| | | | | | | | | | | Apparently it can fail with EAGAIN. We rely on madvise to zero out the memory. Therefore loop until it succeeds like we do on other OS. Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-100431 Change-Id: I9819f8d82a251e222b0b500991584d40e641b672 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* masm: Repace bitwise | with || in bool expression in X86Assembler.hAndrei Golubev2022-03-091-1/+1
| | | | | | | | | | | | | | | Produces a warning with clang 15 on Ubuntu: /home/ag/work/qt5/qtdeclarative/src/qml/../3rdparty/masm/assembler/X86Assembler.h:2368:23: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical] emitRexIf(byteRegRequiresRex(reg)|byteRegRequiresRex(rm), reg, 0, rm); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Similar logic already uses || so this seems to be a typo. Pick-to: 6.3 6.2 Change-Id: Ie539600e28748d902fbb443e47892a703003c7e6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Fix whitespaces in x86Assembler.hAndrei Golubev2022-03-091-72/+72
| | | | | | | Pick-to: 6.3 6.2 Change-Id: I7a64585cc47c5dd3b1bb2139246bd98eea6335b9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QNX: Fix compiler warnings about unused parametersPasi Petäjäjärvi2022-03-051-0/+3
| | | | | | | | | | | | | warning: unused parameter 'usage' [-Wunused-parameter] warning: unused parameter 'writable' [-Wunused-parameter] warning: unused parameter 'executable' [-Wunused-parameter] warning: unused parameter 'lineCount' [-Wunused-parameter] Pick-to: 6.2 6.3 Fixes: QTBUG-101383 Change-Id: I22089b1aeea927468e61769dcbbc8e363b9d734e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Modify m_compareRegister bitfieldTang Haixiang2022-02-021-1/+1
| | | | | | | | | | | It's from https://trac.webkit.org/changeset/246151/webkit/trunk/ Source/JavaScriptCore/assembler/ARM64Assembler.h Fixes: QTBUG-100221 Fixes: QTBUG-100279 Pick-to: 5.15 6.2 6.3 Change-Id: I7a5ec6d97bf52f8cc7bcfb70f184565fc4b78624 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Avoid -Wignored-attributes warning with clangFabian Kosmale2021-11-021-1/+5
| | | | | | | | | | | | The WTF macro only really works for gcc, so do not enable it for clang. Clang expects the attribute to come before the function; however, as WTF is (originally) third-party code, we avoid extensive modifications. Task-number: QTBUG-91163 Change-Id: Ic555c6721d2c4232a7d7bd84d53cdf6ad6cea86b Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace all includes of windows.h with qt_windows.hUlf Hermann2021-10-255-5/+5
| | | | | | | We don't want min and max to be macros. Change-Id: Ifa79eaecf00c9f8b9c61494aa9d883eebfdabc65 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Replace 0 pointer constants with nullptrAllan Sandfeld Jensen2021-10-181-9/+9
| | | | | | | Replaced in most common patterns. Change-Id: Idcaff1f2e915f29922702d3600a2e5f1e2418a7a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Include <limits> in Yarr.h to fix build with GCC 11Dmitry Shachnev2021-08-191-0/+1
| | | | | | | | | | | | | | | | | | - <limits.h> (aka <climits>) is needed for UINT_MAX macro constant. - <limits> is needed for std::numeric_limits. Without this fix, qtdeclarative failed to build on some platforms: In file included from jsruntime/qv4regexp_p.h:62, from jsruntime/qv4regexp.cpp:40: ../3rdparty/masm/yarr/Yarr.h:46:44: error: ‘numeric_limits’ is not a member of ‘std’ 46 | static const unsigned offsetNoMatch = std::numeric_limits<unsigned>::max(); | ^~~~~~~~~~~~~~ Pick-to: 5.15 6.2 Change-Id: I7cc9f7bc6624a52c8659f09034ab16064da5fd2f Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Directly include Unicode.h in YarrCanonicalize.hUlf Hermann2021-07-142-2/+1
| | | | | | | | | | | | The redirection via utypes.h can be problematic if you have another utypes.h around in a prominent place. It's easily avoided, though. Fixes: QTBUG-77528 Change-Id: I50368f56b0d7eb957955900a32dbb625a38d02af Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Eric Lemanissier <eric.lemanissier@gmail.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Remove unneeded dlfcn.h in OSAllocatorPosix.cppPierre-Yves Siret2021-07-021-1/+0
| | | | | | | | | Commit ef8a27544ac47b0ec2fc8c058d32c5b22650b359 removed the dependency on libdl in the code but did not remove the corresponding include Change-Id: I140fc02882af01eef2c8d714969f40e05371dc79 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Avoid undefined behavior in the JITUlf Hermann2021-06-174-1/+5
| | | | | | | | | | | We need to add an entry to all the RegisterID enums, so that we can mark a RegisterID as invalid. Pick-to: 6.2 Task-number: QTBUG-94068 Change-Id: I5c13b271eade50fd63327612514ba7ebe33a5c39 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Unconditionally require std::make_uniqueFabian Kosmale2021-05-251-11/+0
| | | | | | Change-Id: I69fc84a192901889e0e69d28a355db57a1b0cccf Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* MASM: Put pageSize into an inline namespaceFabian Kosmale2021-05-072-0/+7
| | | | | | | | | | | Apple errorneously detects pagesize as belonging to their private API. Avoid this by putting the functions into an inline namespace to change their mangling. Fixes: QTBUG-69577 Pick-to: 6.1 5.15 5.12 Change-Id: I061febdc6f961fa8a6e1d43de4154a8e26b04f27 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove the qmake project filesFabian Kosmale2021-01-153-221/+0
| | | | | | | | | Remove all qmake project files, except for examples which are used to test that qmake continues to work. Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* masm: Add error handling for failed mprotect()Ulf Hermann2021-01-1211-204/+23
| | | | | | | | | | | | If we cannot mprotect() we have to abort the JIT compilation. Delete RepatchBuffer.h as it is unfixable in that regard. Luckily we don't use it. Task-number: QTBUG-89659 Pick-to: 5.15 Change-Id: Ic5ddbdf51b471db4ddeaa75aab48b24c1f7ced56 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* JIT: When making memory writable, include the exception handlerUlf Hermann2020-12-174-12/+18
| | | | | | | | | | | | makeWritable() rounds the memory down to the next page boundary. Usually we include the exception handler this way, unless the offset from the page boundary is less than the exception handler size. Make it explicit that we do want the exception handler to be writable, too. Fixes: QTBUG-89513 Pick-to: 5.15 6.0 Change-Id: I2fb8fb0e1dcc3450b036924463dc1b40d2020c46 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* YarrParser: compile with explicit QChar(int) constructorDavid Faure2020-11-151-7/+7
| | | | | Change-Id: I10d30d1ba83f8db9568cef18a32baac1627b2c17 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace old Q_DECL statements with modern C++Allan Sandfeld Jensen2020-10-311-8/+8
| | | | | | | Since we depend on C++17 now, all of these can go. Change-Id: I0484fd4bb99e4367ec211c29146c316453729959 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove qmake wildcard in masm.priFriedemann Kleint2020-06-301-22/+55
| | | | | | | | | | It stopped working on Windows after the QRegularExpression refactoring of qmake. Change-Id: Ic91193ffe709eae36104a7ffd9c09d6b4461322f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>