summaryrefslogtreecommitdiffstats
path: root/src/corelib/configure.json
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-11-01 08:40:24 -0700
committerThiago Macieira <thiago.macieira@intel.com>2017-11-11 08:12:11 +0000
commit490b24b06408e90e9684d8331fd3fe8b0c51b0b5 (patch)
treed414b68f200e7a97ee61e74332e21988b6db2670 /src/corelib/configure.json
parent28c1e17aef520abfa051c7d9a9fe0f45ec6a5db8 (diff)
QTemporaryFile: hide the O_TMPFILE feature behind a check for linkat()
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>
Diffstat (limited to 'src/corelib/configure.json')
-rw-r--r--src/corelib/configure.json15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index 8067ca70f1..bf44f2649d 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -349,6 +349,15 @@
"qmake": "linux: LIBS += -lpthread -lrt"
}
},
+ "linkat": {
+ "label": "linkat()",
+ "type": "compile",
+ "test": {
+ "head": "#define _ATFILE_SOURCE 1",
+ "include": [ "fcntl.h", "unistd.h" ],
+ "main": "linkat(AT_FDCWD, \"foo\", AT_FDCWD, \"bar\", AT_SYMLINK_FOLLOW);"
+ }
+ },
"ppoll": {
"label": "ppoll()",
"type": "compile",
@@ -540,6 +549,12 @@
"condition": "libs.journald",
"output": [ "privateFeature" ]
},
+ "linkat": {
+ "label": "linkat()",
+ "autoDetect": "config.linux",
+ "condition": "tests.linkat",
+ "output": [ "privateFeature" ]
+ },
"std-atomic64": {
"label": "64 bit atomic operations",
"condition": "libs.libatomic",