summaryrefslogtreecommitdiff
path: root/gdb/linux-tdep.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2012-01-20 09:56:56 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2012-01-20 09:56:56 +0000
commit6432734d1ddb783a4f7ed377dfe5920013ee9872 (patch)
tree788eb35fda8ae21ba5caafe36331cff96d2e7ca9 /gdb/linux-tdep.h
parent1f20dca58b3deb69b2d65df5075f3288c366f93f (diff)
downloadbinutils-gdb-6432734d1ddb783a4f7ed377dfe5920013ee9872.tar.gz
* gdbarch.sh (make_corefile_notes): New architecture callback.
* gdbarch.c: Regenerate. * gdbarch.h: Likewise. * gcore.c (write_gcore_file): Try gdbarch_make_corefile_notes before target_make_corefile_notes. If NULL is returned, the target does not support core file generation. * linux-nat.c: Include "linux-tdep.h". (find_signalled_thread, find_stop_signal): Remove. (linux_nat_do_thread_registers): Likewise. (struct linux_nat_corefile_thread_data): Likewise. (linux_nat_corefile_thread_callback): Likewise. (iterate_over_spus): Likewise. (struct linux_spu_corefile_data): Likewise. (linux_spu_corefile_callback): Likewise. (linux_spu_make_corefile_notes): Likewise. (linux_nat_collect_thread_registers): New function. (linux_nat_make_corefile_notes): Replace contents by call to linux_make_corefile_notes passing linux_nat_collect_thread_registers as native-only callback. * linux-tdep.h: Include "bfd.h". (struct regcache): Add forward declaration. (linux_collect_thread_registers_ftype): New typedef. (linux_make_corefile_notes): Add prototype. * linux-tdep.c: Include "gdbthread.h", "gdbcore.h", "regcache.h", "regset.h", and "elf-bfd.h". (find_signalled_thread, find_stop_signal): New functions. (linux_spu_make_corefile_notes): Likewise. (linux_collect_thread_registers): Likewise. (struct linux_corefile_thread_data): New data structure. (linux_corefile_thread_callback): New funcion. (linux_make_corefile_notes): Likewise. (linux_make_corefile_notes_1): Likewise. (linux_init_abi): Install it.
Diffstat (limited to 'gdb/linux-tdep.h')
-rw-r--r--gdb/linux-tdep.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
index 4e9f5600f85..d2f40773c5b 100644
--- a/gdb/linux-tdep.h
+++ b/gdb/linux-tdep.h
@@ -20,6 +20,18 @@
#ifndef LINUX_TDEP_H
#define LINUX_TDEP_H
+#include "bfd.h"
+
+struct regcache;
+
+typedef char *(*linux_collect_thread_registers_ftype) (const struct regcache *,
+ ptid_t,
+ bfd *, char *, int *,
+ enum target_signal);
+
+char *linux_make_corefile_notes (struct gdbarch *, bfd *, int *,
+ linux_collect_thread_registers_ftype);
+
struct type *linux_get_siginfo_type (struct gdbarch *);
extern void linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);