summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2011-02-03 13:09:20 +0100
committerhjk <qtc-committer@nokia.com>2011-02-03 13:37:06 +0100
commitc6dc656a9d0696ed9011ba0cf0416bfc76941a4b (patch)
tree35e36675d18dbe4ca33ea923aa17a57f9d8c44fa
parentef1fd91fae7a38c3ca771dc50954b969c9bec3cb (diff)
downloadqt-creator-c6dc656a9d0696ed9011ba0cf0416bfc76941a4b.tar.gz
debugger: proactively attempt to work around ubuntu's "kernel hardening" attempts
-rw-r--r--src/plugins/debugger/ptracepreload.c12
-rw-r--r--src/plugins/debugger/ptracepreload.pro13
-rw-r--r--src/plugins/plugins.pro4
3 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/debugger/ptracepreload.c b/src/plugins/debugger/ptracepreload.c
new file mode 100644
index 0000000000..43f77ddb15
--- /dev/null
+++ b/src/plugins/debugger/ptracepreload.c
@@ -0,0 +1,12 @@
+
+#include <unistd.h>
+#include <sys/prctl.h>
+#include <sys/types.h>
+
+int _init(void)
+{
+ prctl(0x59616d61, getppid(), 0, 0, 0);
+ puts("eeks\n");
+ return 0;
+}
+
diff --git a/src/plugins/debugger/ptracepreload.pro b/src/plugins/debugger/ptracepreload.pro
new file mode 100644
index 0000000000..9c305f22cb
--- /dev/null
+++ b/src/plugins/debugger/ptracepreload.pro
@@ -0,0 +1,13 @@
+
+include(../../qtcreatorlibrary.pri)
+
+TEMPLATE = lib
+TARGET = ptracepreload
+CONFIG += shared
+CONFIG -= qt
+DESTDIR = $$IDE_LIBRARY_PATH
+
+QMAKE_LFLAGS *= -nostdlib -ldl -lc
+
+SOURCES = ptracepreload.c
+
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 5c8fb87cc8..10de206a59 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -40,6 +40,10 @@ SUBDIRS = plugin_coreplugin \
plugin_macros \
debugger/dumper.pro
+linux-* {
+ SUBDIRS += debugger/ptracepreload.pro
+}
+
include(../../qtcreator.pri)
contains(QT_CONFIG, declarative) {