summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2018-02-15 14:44:18 +0100
committerMark Wielaard <[email protected]>2018-02-15 14:55:39 +0100
commit4482d0009a99b1773f2426479b666b08f57af9d5 (patch)
tree675c48a48a3156da1d2f7c9a0db46c985691e73f
parent212b4e3d431449056aed316331ee654611671513 (diff)
Include sys/ptrace.h as early as possible.
On some systems, at least on Fedora 27 ppc64le with glibc 2.26-24 and kernel 4.14.18-300, including sys/ptrace.h late (after signal.h or sys/wait.h for example) will cause issues and produce errors like: In file included from /usr/include/asm/sigcontext.h:12:0, from /usr/include/bits/sigcontext.h:30, from /usr/include/signal.h:287, from /usr/include/sys/wait.h:36, from linux-pid-attach.c:38: /usr/include/sys/ptrace.h:73:3: error: expected identifier before numeric constant PTRACE_GETREGS = 12, ^ Swapping the include order fixes these issues. Signed-off-by: Mark Wielaard <[email protected]>
-rw-r--r--backends/ChangeLog4
-rw-r--r--backends/ppc_initreg.c5
-rw-r--r--libdwfl/ChangeLog4
-rw-r--r--libdwfl/linux-pid-attach.c2
-rw-r--r--tests/ChangeLog6
-rw-r--r--tests/backtrace-child.c2
-rw-r--r--tests/backtrace-dwarf.c4
7 files changed, 21 insertions, 6 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 098bed76..b5258013 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-15 Mark Wielaard <[email protected]>
+
+ * ppc_initreg.c: Include ptrace.h before system.h and sys/user.h.
+
2018-02-09 Joshua Watt <[email protected]>
* aarch64_retval.c (aarch64_return_value_location): Use FALLTHROUGH
diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
index 69d623b9..3e4432f6 100644
--- a/backends/ppc_initreg.c
+++ b/backends/ppc_initreg.c
@@ -30,13 +30,14 @@
# include <config.h>
#endif
-#include "system.h"
#include <stdlib.h>
#if defined(__powerpc__) && defined(__linux__)
-# include <sys/user.h>
# include <sys/ptrace.h>
+# include <sys/user.h>
#endif
+#include "system.h"
+
#define BACKEND ppc_
#include "libebl_CPU.h"
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 453f1d3e..43fc1517 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-15 Mark Wielaard <[email protected]>
+
+ * linux-pid-attach.c: Include sys/wait.h after sys/ptrace.h.
+
2018-02-09 Joshua Watt <[email protected]>
* dwfl_report_elf.c (__libdwfl_elf_address_range): Use FALLTHROUGH
diff --git a/libdwfl/linux-pid-attach.c b/libdwfl/linux-pid-attach.c
index e6a5c419..2ab4109c 100644
--- a/libdwfl/linux-pid-attach.c
+++ b/libdwfl/linux-pid-attach.c
@@ -35,7 +35,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <sys/wait.h>
#include <dirent.h>
#include <unistd.h>
@@ -43,6 +42,7 @@
#include <sys/ptrace.h>
#include <sys/syscall.h>
+#include <sys/wait.h>
static bool
linux_proc_pid_is_stopped (pid_t pid)
diff --git a/tests/ChangeLog b/tests/ChangeLog
index eb4576ca..cfdd7f90 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-15 Mark Wielaard <[email protected]>
+
+ * backtrace-child.c: Include signal.h after sys/ptrace.h.
+ * backtrace-dwarf.c: Include sys/wait.h and signal.h after
+ sys/ptrace.h.
+
2018-01-25 Mark Wielaard <[email protected]>
* Makefile.am (check_PROGRAMS): Add dwarf-die-addr-die.
diff --git a/tests/backtrace-child.c b/tests/backtrace-child.c
index 2c27414f..9c6ba94f 100644
--- a/tests/backtrace-child.c
+++ b/tests/backtrace-child.c
@@ -81,7 +81,6 @@
#include <config.h>
#include <assert.h>
#include <stdlib.h>
-#include <signal.h>
#include <errno.h>
#include <string.h>
#include <pthread.h>
@@ -100,6 +99,7 @@ main (int argc __attribute__ ((unused)), char **argv)
#else /* __linux__ */
#include <sys/ptrace.h>
+#include <signal.h>
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
#define NOINLINE_NOCLONE __attribute__ ((noinline, noclone))
diff --git a/tests/backtrace-dwarf.c b/tests/backtrace-dwarf.c
index 2dc8a9a2..7ff826cd 100644
--- a/tests/backtrace-dwarf.c
+++ b/tests/backtrace-dwarf.c
@@ -17,7 +17,6 @@
#include <config.h>
#include <assert.h>
-#include <signal.h>
#include <inttypes.h>
#include <stdio_ext.h>
#include <locale.h>
@@ -25,7 +24,6 @@
#include <error.h>
#include <unistd.h>
#include <sys/types.h>
-#include <sys/wait.h>
#include ELFUTILS_HEADER(dwfl)
#ifndef __linux__
@@ -40,6 +38,8 @@ main (int argc __attribute__ ((unused)), char **argv)
#else /* __linux__ */
#include <sys/ptrace.h>
+#include <sys/wait.h>
+#include <signal.h>
#define main cleanup_13_main
#include "cleanup-13.c"