Make guality.h handle Yama restricted ptrace mode
Richard Sandiford
richard.sandiford@arm.com
Sun Jul 7 09:40:00 GMT 2019
guality.exp is silently skipped on Linux systems with
kernel.yama.ptrace_scope=1 because gdb fails to attach to the
sanity check test. This patch uses PR_SET_PTRACER (where available)
to avoid this.
prctl was apparently added in Linux 2.1.57, so I don't think we
need any tests other than __linux for the #include.
Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
Richard
2019-07-07 Richard Sandiford <richard.sandiford@arm.com>
gcc/testsuite/
* gcc.dg/guality/guality.h: Include <sys/prctl.h> on Linux targets.
(main): Use PR_SET_PTRACER where available.
Index: gcc/testsuite/gcc.dg/guality/guality.h
===================================================================
--- gcc/testsuite/gcc.dg/guality/guality.h 2019-03-08 18:15:03.052868249 +0000
+++ gcc/testsuite/gcc.dg/guality/guality.h 2019-07-07 10:18:20.240698144 +0100
@@ -23,6 +23,9 @@ the Free Software Foundation; either ver
#include <string.h>
#include <stdint.h>
#include <unistd.h>
+#ifdef __linux
+#include <sys/prctl.h>
+#endif
/* This is a first cut at checking that debug information matches
run-time. The idea is to annotate programs with GUALCHK* macros
@@ -214,6 +217,10 @@ main (int argc, char *argv[])
int i;
char *argv0 = argv[0];
+#if defined(PR_SET_PTRACER_ANY)
+ prctl (PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0);
+#endif
+
guality_gdb_command = getenv ("GUALITY_GDB");
if (!guality_gdb_command)
{
More information about the Gcc-patches
mailing list