summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/minimum-linux_p.h
Commit message (Collapse)AuthorAgeFilesLines
* CMake: remove check for statx() and replace with STATX_BASIC_STATSThiago Macieira2023-08-031-2/+4
| | | | | | | | | | We were already using this in qfilesystemengine_unix.cpp. In fact, the only place where we had QT_CONFIG(statx) was in minimum-linux_p.h. Saves 350 ms of CMake time. Change-Id: Ifbf974a4d10745b099b1fffd177756e2edf2bf3e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: remove TEST_glibcThiago Macieira2023-08-021-3/+1
| | | | | | | | | Commit aa82d295c8954a5d04fd446abc7452f007594422 changed from using minimum-linux.S to qlibraryinfo.cpp, so we no longer need this. Saves 350 ms of CMake time. Change-Id: Ifbf974a4d10745b099b1fffd177754aa5a4096ac Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Switch futex support to QDeadlineTimerThiago Macieira2023-06-151-0/+1
| | | | | | | | | | This allows us to use absolute times on Linux (today) and FreeBSD (soon), plus simplifies both QMutex and QSemaphore. Change-Id: I63b988479db546dabffcfffd17675a182aa528fa Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Move the ABI tag from minimum-linux.S to qlibraryinfo.cppThiago Macieira2021-10-211-13/+14
| | | | | | | | | | | | | | | We don't need the assembly file any more. According to a comment to patchsets 2 in the Gerrit code review for commit bb8a61866ec6a6de2426012f8c4219d41b3a414a, the section ended up as SHT_PROGBITS instead of SHT_NOTE. I didn't know then that the section type is not actually important, only whether it's present in the segment pointed by a PT_NOTE is. That isn't recorded in the review. Since we now depend on the linker properly placing the .note.* sections for Qt plugins, we can rely on this working. Change-Id: Icb2516126f674e7b8bb3fffd16ad659149e34a23 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Accept that glibc's statx() falls back for usThiago Macieira2019-03-221-1/+5
| | | | | | | | | | | | | | | | | | | So we don't need to have a high kernel requirement on its account. I needed to introduce a configure-time check because we need to include a header to get the __GLIBC__ macro, but we can't include any header in assembler until we know it's glibc (we need to know that the header is assembler-safe). glibc, uClibc and MUSL do provide an assembler-safe features.h, but Bionic does not. And we need to know that it's glibc's implementation, since the fallback was not required. The other three libraries may not implement such a thing when they get around to adding the system call. Fixes: QTBUG-74526 Change-Id: I1004b4b819774c4c9296fffd158d14da98bf571c Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Linux: Remove our use of syscall() for statx(2) and renameat2(2)Thiago Macieira2018-10-121-1/+6
| | | | | | | | | | | | Those system calls are present in glibc 2.28. Instead of using syscall(3) to place the system calls directly, let's use only the glibc functions. That also means we no longer accept ENOSYS from either function, if they were detected in glibc. Change-Id: I44e7d800c68141bdaae0fffd1555b4b8fe63786b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* QTemporaryFile: hide the O_TMPFILE feature behind a check for linkat()Thiago Macieira2017-11-111-1/+1
| | | | | | | | | | | | | | | Some Linux libc (I'm looking at you, Bionic) use the system call but don't expose it to userspace. We could use syscall() to make the system call, but instead I decided to penalize users of those libc by not having the feature. It's probably a good thing, since there were likely to be more problems with Android anyway and I don't have an environment to debug. Task-number: QTBUG-64154 Change-Id: I57a1bd6e0c194530b732fffd14f3007a1062d935 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the minimum Linux version declarations to a headerThiago Macieira2017-10-281-0/+98
I'll need it in the AF_NETLINK implementation of QNetworkInterface. Change-Id: Icaa86fc7b54d4b368c0efffd14ef5ce895d0ed5b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>