aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-tdep.c
diff options
context:
space:
mode:
authorWalfred Tedeschi <walfred.tedeschi@intel.com>2016-02-02 11:46:28 +0100
committerWalfred Tedeschi <walfred.tedeschi@intel.com>2016-02-02 11:46:28 +0100
commit43564574f1de367f537a37bf6ec83bb4c29627c6 (patch)
treee77dc4abf2e14cb85cf5ec3d8d8ef7102ecd90d7 /gdb/linux-tdep.c
parent93813b37c86a70fbd4d8c9d63f95cf8b87bbf425 (diff)
Preparation for new siginfo on Linux
First add new structure and function to allow architecture customization for the siginfo structure. 2016-01-15 Walfred Tedeschi <walfred.tedeschi@intel.com> gdb/ChangeLog: * linux-tdep.h (linux_siginfo_extra_field_values): New enum values. (linux_siginfo_extra_fields): New enum type. * linux-tdep.c (linux_get_siginfo_type_with_fields): New function. (linux_get_siginfo_type): Use new function.
Diffstat (limited to 'gdb/linux-tdep.c')
-rw-r--r--gdb/linux-tdep.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index 29f5f3c003..375730611d 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -243,11 +243,12 @@ get_linux_inferior_data (void)
return info;
}
-/* This function is suitable for architectures that don't
- extend/override the standard siginfo structure. */
+/* This function is suitable for architectures that
+ extend/override the standard siginfo in a specific way. */
static struct type *
-linux_get_siginfo_type (struct gdbarch *gdbarch)
+linux_get_siginfo_type_with_fields (struct gdbarch *gdbarch,
+ linux_siginfo_extra_fields extra_fields)
{
struct linux_gdbarch_data *linux_gdbarch_data;
struct type *int_type, *uint_type, *long_type, *void_ptr_type;
@@ -364,6 +365,15 @@ linux_get_siginfo_type (struct gdbarch *gdbarch)
return siginfo_type;
}
+/* This function is suitable for architectures that don't
+ extend/override the standard siginfo structure. */
+
+static struct type *
+linux_get_siginfo_type (struct gdbarch *gdbarch)
+{
+ return linux_get_siginfo_type_with_fields (gdbarch, 0);
+}
+
/* Return true if the target is running on uClinux instead of normal
Linux kernel. */