aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2020-07-21 17:28:16 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2020-07-21 17:28:16 -0700
commit4cec0c66899aed1eff0c5ef844e9bf658ab2b2af (patch)
treefb51ce33b1511395c6d3864236e0ba5900f49766 /gdb
parent0e42f66a30d06654b47147e885f35e56211bc3c2 (diff)
downloadgdb-4cec0c66899aed1eff0c5ef844e9bf658ab2b2af.zip
gdb-4cec0c66899aed1eff0c5ef844e9bf658ab2b2af.tar.gz
gdb-4cec0c66899aed1eff0c5ef844e9bf658ab2b2af.tar.bz2
Retire the now-unused gdbarch handle_segmentation_fault hook.
* gdbarch.c: Regenerate. * gdbarch.h: Regenerate. * gdbarch.sh (handle_segmentation_fault): Remove method. * infrun.c (handle_segmentation_fault): Remove. (print_signal_received_reason): Remove call to handle_segmentation_fault.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/gdbarch.c32
-rw-r--r--gdb/gdbarch.h11
-rwxr-xr-xgdb/gdbarch.sh6
-rw-r--r--gdb/infrun.c17
5 files changed, 9 insertions, 66 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c06471e..05e4390 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2020-07-21 John Baldwin <jhb@FreeBSD.org>
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * gdbarch.sh (handle_segmentation_fault): Remove method.
+ * infrun.c (handle_segmentation_fault): Remove.
+ (print_signal_received_reason): Remove call to
+ handle_segmentation_fault.
+
+2020-07-21 John Baldwin <jhb@FreeBSD.org>
+
* sparc64-linux-tdep.c (sparc64_linux_handle_segmentation_fault):
Rename to sparc64_linux_report_signal_info and add siggnal
argument.
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index d393e7a..fd5b030 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -191,7 +191,6 @@ struct gdbarch
int num_pseudo_regs;
gdbarch_ax_pseudo_register_collect_ftype *ax_pseudo_register_collect;
gdbarch_ax_pseudo_register_push_stack_ftype *ax_pseudo_register_push_stack;
- gdbarch_handle_segmentation_fault_ftype *handle_segmentation_fault;
gdbarch_report_signal_info_ftype *report_signal_info;
int sp_regnum;
int pc_regnum;
@@ -556,7 +555,6 @@ verify_gdbarch (struct gdbarch *gdbarch)
/* Skip verify of num_pseudo_regs, invalid_p == 0 */
/* Skip verify of ax_pseudo_register_collect, has predicate. */
/* Skip verify of ax_pseudo_register_push_stack, has predicate. */
- /* Skip verify of handle_segmentation_fault, has predicate. */
/* Skip verify of report_signal_info, has predicate. */
/* Skip verify of sp_regnum, invalid_p == 0 */
/* Skip verify of pc_regnum, invalid_p == 0 */
@@ -1089,12 +1087,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: half_format = %s\n",
pformat (gdbarch->half_format));
fprintf_unfiltered (file,
- "gdbarch_dump: gdbarch_handle_segmentation_fault_p() = %d\n",
- gdbarch_handle_segmentation_fault_p (gdbarch));
- fprintf_unfiltered (file,
- "gdbarch_dump: handle_segmentation_fault = <%s>\n",
- host_address_to_string (gdbarch->handle_segmentation_fault));
- fprintf_unfiltered (file,
"gdbarch_dump: has_dos_based_file_system = %s\n",
plongest (gdbarch->has_dos_based_file_system));
fprintf_unfiltered (file,
@@ -2098,30 +2090,6 @@ set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch,
}
int
-gdbarch_handle_segmentation_fault_p (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- return gdbarch->handle_segmentation_fault != NULL;
-}
-
-void
-gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch, struct ui_out *uiout)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->handle_segmentation_fault != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_handle_segmentation_fault called\n");
- gdbarch->handle_segmentation_fault (gdbarch, uiout);
-}
-
-void
-set_gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch,
- gdbarch_handle_segmentation_fault_ftype handle_segmentation_fault)
-{
- gdbarch->handle_segmentation_fault = handle_segmentation_fault;
-}
-
-int
gdbarch_report_signal_info_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 9414407..6c125d1 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -321,17 +321,6 @@ typedef int (gdbarch_ax_pseudo_register_push_stack_ftype) (struct gdbarch *gdbar
extern int gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int reg);
extern void set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, gdbarch_ax_pseudo_register_push_stack_ftype *ax_pseudo_register_push_stack);
-/* Some targets/architectures can do extra processing/display of
- segmentation faults. E.g., Intel MPX boundary faults.
- Call the architecture dependent function to handle the fault.
- UIOUT is the output stream where the handler will place information. */
-
-extern int gdbarch_handle_segmentation_fault_p (struct gdbarch *gdbarch);
-
-typedef void (gdbarch_handle_segmentation_fault_ftype) (struct gdbarch *gdbarch, struct ui_out *uiout);
-extern void gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch, struct ui_out *uiout);
-extern void set_gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch, gdbarch_handle_segmentation_fault_ftype *handle_segmentation_fault);
-
/* Some architectures can display additional information for specific
signals.
UIOUT is the output stream where the handler will place information. */
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 1601879..5adfd29 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -414,12 +414,6 @@ M;int;ax_pseudo_register_collect;struct agent_expr *ax, int reg;ax, reg
# Return -1 if something goes wrong, 0 otherwise.
M;int;ax_pseudo_register_push_stack;struct agent_expr *ax, int reg;ax, reg
-# Some targets/architectures can do extra processing/display of
-# segmentation faults. E.g., Intel MPX boundary faults.
-# Call the architecture dependent function to handle the fault.
-# UIOUT is the output stream where the handler will place information.
-M;void;handle_segmentation_fault;struct ui_out *uiout;uiout
-
# Some architectures can display additional information for specific
# signals.
# UIOUT is the output stream where the handler will place information.
diff --git a/gdb/infrun.c b/gdb/infrun.c
index e58b623..ca850f8 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -8243,20 +8243,6 @@ print_exited_reason (struct ui_out *uiout, int exitstatus)
}
}
-/* Some targets/architectures can do extra processing/display of
- segmentation faults. E.g., Intel MPX boundary faults.
- Call the architecture dependent function to handle the fault. */
-
-static void
-handle_segmentation_fault (struct ui_out *uiout)
-{
- struct regcache *regcache = get_current_regcache ();
- struct gdbarch *gdbarch = regcache->arch ();
-
- if (gdbarch_handle_segmentation_fault_p (gdbarch))
- gdbarch_handle_segmentation_fault (gdbarch, uiout);
-}
-
void
print_signal_received_reason (struct ui_out *uiout, enum gdb_signal siggnal)
{
@@ -8304,9 +8290,6 @@ print_signal_received_reason (struct ui_out *uiout, enum gdb_signal siggnal)
if (gdbarch_report_signal_info_p (gdbarch))
gdbarch_report_signal_info (gdbarch, uiout, siggnal);
- if (siggnal == GDB_SIGNAL_SEGV)
- handle_segmentation_fault (uiout);
-
annotate_signal_string_end ();
}
uiout->text (".\n");