summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-06-16 16:04:35 -0700
committerElliott Hughes <enh@google.com>2015-06-16 16:59:49 -0700
commitd49850d6abb1b70c34be99a46e383a6a878ae19e (patch)
tree4624cfeaeee8dc953c53694f3c405e5dad5f7329 /libc
parent848276051a24266e1eacf2e508692c62d5a6176d (diff)
downloadbionic-d49850d6abb1b70c34be99a46e383a6a878ae19e.zip
bionic-d49850d6abb1b70c34be99a46e383a6a878ae19e.tar.gz
bionic-d49850d6abb1b70c34be99a46e383a6a878ae19e.tar.bz2
Fixes for building gdbserver (and gdb) out of the box.
Bug: http://b/21695943 Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36 (cherry picked from commit 895241efbba344c1590b76fcada89c48f4743cf2)
Diffstat (limited to 'libc')
-rw-r--r--libc/include/sys/procfs.h3
-rw-r--r--libc/include/sys/ptrace.h24
-rw-r--r--libc/include/sys/wait.h3
3 files changed, 28 insertions, 2 deletions
diff --git a/libc/include/sys/procfs.h b/libc/include/sys/procfs.h
index ef5b25f..b5b1a46 100644
--- a/libc/include/sys/procfs.h
+++ b/libc/include/sys/procfs.h
@@ -42,6 +42,9 @@ typedef fpregset_t elf_fpregset_t;
typedef elf_gregset_t prgregset_t;
typedef elf_fpregset_t prfpregset_t;
+typedef pid_t lwpid_t;
+typedef void* psaddr_t;
+
__END_DECLS
#endif /* _SYS_PROCFS_H_ */
diff --git a/libc/include/sys/ptrace.h b/libc/include/sys/ptrace.h
index 8bba9fe..4b881e7 100644
--- a/libc/include/sys/ptrace.h
+++ b/libc/include/sys/ptrace.h
@@ -34,11 +34,31 @@
__BEGIN_DECLS
-/* glibc uses different names from the kernel for these two... */
+/* glibc uses different PTRACE_ names from the kernel for these two... */
#define PTRACE_POKEUSER PTRACE_POKEUSR
#define PTRACE_PEEKUSER PTRACE_PEEKUSR
-extern long ptrace(int, ...);
+/* glibc exports a different set of PT_ names too... */
+#define PT_TRACE_ME PTRACE_TRACEME
+#define PT_READ_I PTRACE_PEEKTEXT
+#define PT_READ_D PTRACE_PEEKDATA
+#define PT_READ_U PTRACE_PEEKUSR
+#define PT_WRITE_I PTRACE_POKETEXT
+#define PT_WRITE_D PTRACE_POKEDATA
+#define PT_WRITE_U PTRACE_POKEUSR
+#define PT_CONT PTRACE_CONT
+#define PT_KILL PTRACE_KILL
+#define PT_STEP PTRACE_SINGLESTEP
+#define PT_GETFPREGS PTRACE_GETFPREGS
+#define PT_ATTACH PTRACE_ATTACH
+#define PT_DETACH PTRACE_DETACH
+#define PT_SYSCALL PTRACE_SYSCALL
+#define PT_SETOPTIONS PTRACE_SETOPTIONS
+#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
+#define PT_GETSIGINFO PTRACE_GETSIGINFO
+#define PT_SETSIGINFO PTRACE_SETSIGINFO
+
+long ptrace(int, ...);
__END_DECLS
diff --git a/libc/include/sys/wait.h b/libc/include/sys/wait.h
index 8d9a5f6..12b7308 100644
--- a/libc/include/sys/wait.h
+++ b/libc/include/sys/wait.h
@@ -45,6 +45,9 @@ __BEGIN_DECLS
#define WIFSTOPPED(s) (WTERMSIG(s) == 0x7f)
#define WIFSIGNALED(s) (WTERMSIG((s)+1) >= 2)
+#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+
extern pid_t wait(int *);
extern pid_t waitpid(pid_t, int *, int);
extern pid_t wait4(pid_t, int *, int, struct rusage *);