Fix compilation
diff --git a/sysdeps/linux-gnu/events.c b/sysdeps/linux-gnu/events.c
index 6e5eb60..d0c1e5c 100644
--- a/sysdeps/linux-gnu/events.c
+++ b/sysdeps/linux-gnu/events.c
@@ -22,20 +22,22 @@
#include "config.h"
#define _GNU_SOURCE 1
-#include <stdlib.h>
+#include <sys/ptrace.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <assert.h>
#include <errno.h>
#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <sys/ptrace.h>
-#include <assert.h>
#include <unistd.h>
-#include "breakpoint.h"
-#include "proc.h"
#include "backend.h"
+#include "breakpoint.h"
+#include "debug.h"
#include "events.h"
+#include "proc.h"
static Event event;
@@ -57,7 +59,7 @@
event->proc->pid, event->type);
Event * ne = malloc(sizeof(*ne));
if (ne == NULL) {
- perror("event will be missed: malloc");
+ fprintf(stderr, "event will be missed: %s\n", strerror(errno));
return;
}
diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
index 1550220..e7556f5 100644
--- a/sysdeps/linux-gnu/proc.c
+++ b/sysdeps/linux-gnu/proc.c
@@ -35,15 +35,18 @@
#include <link.h>
#include <signal.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-#include "config.h"
-#include "breakpoint.h"
-#include "proc.h"
-#include "library.h"
#include "backend.h"
+#include "breakpoint.h"
+#include "config.h"
+#include "debug.h"
#include "events.h"
+#include "library.h"
+#include "ltrace-elf.h"
+#include "proc.h"
/* /proc/pid doesn't exist just after the fork, and sometimes `ltrace'
* couldn't open it to find the executable. So it may be necessary to
@@ -113,7 +116,7 @@
char * line;
while ((line = find_line_starting(file, prefix, len)) != NULL) {
enum callback_status st = (*cb)(line, prefix, data);
- free (line);
+ free(line);
if (st == CBS_STOP)
return;
}
diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c
index 5924df1..3fc4df0 100644
--- a/sysdeps/linux-gnu/trace.c
+++ b/sysdeps/linux-gnu/trace.c
@@ -37,13 +37,15 @@
# include <selinux/selinux.h>
#endif
-#include "ptrace.h"
-#include "breakpoint.h"
-#include "proc.h"
#include "linux-gnu/trace.h"
#include "backend.h"
-#include "type.h"
+#include "breakpoint.h"
+#include "debug.h"
#include "events.h"
+#include "options.h"
+#include "proc.h"
+#include "ptrace.h"
+#include "type.h"
/* If the system headers did not provide the constants, hard-code the normal
values. */
@@ -673,8 +675,8 @@
struct Process *teb = self->task_enabling_breakpoint;
struct breakpoint *sbp = self->breakpoint_being_enabled;
fprintf(stderr, "%d couldn't continue when handling %s (%p) at %p\n",
- teb->pid, sbp->libsym != NULL ? sbp->libsym->name : NULL,
- sbp->addr, get_instruction_pointer(teb));
+ teb->pid, breakpoint_name(sbp), sbp->addr,
+ get_instruction_pointer(teb));
delete_breakpoint(teb->leader, sbp->addr);
}
diff --git a/sysdeps/linux-gnu/trace.h b/sysdeps/linux-gnu/trace.h
index 0f40709..88ac33d 100644
--- a/sysdeps/linux-gnu/trace.h
+++ b/sysdeps/linux-gnu/trace.h
@@ -21,6 +21,8 @@
#ifndef _LTRACE_LINUX_TRACE_H_
#define _LTRACE_LINUX_TRACE_H_
+#include "proc.h"
+
/* This publishes some Linux-specific data structures used for process
* handling. */
diff --git a/sysdeps/linux-gnu/x86_64/trace.c b/sysdeps/linux-gnu/x86_64/trace.c
index 8e89ae7..bb4d67f 100644
--- a/sysdeps/linux-gnu/x86_64/trace.c
+++ b/sysdeps/linux-gnu/x86_64/trace.c
@@ -29,12 +29,14 @@
#include <stdlib.h>
#include <string.h>
-#include "common.h"
-#include "ptrace.h"
-#include "proc.h"
-#include "value.h"
+#include "backend.h"
+#include "debug.h"
#include "expr.h"
+#include "fetch.h"
+#include "proc.h"
+#include "ptrace.h"
#include "type.h"
+#include "value.h"
#if (!defined(PTRACE_PEEKUSER) && defined(PTRACE_PEEKUSR))
# define PTRACE_PEEKUSER PTRACE_PEEKUSR