This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Remove only use of current_inferior ()->gdbarch outside of gdbarch.*
- From: Doug Evans <xdje42 at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 27 Aug 2015 22:15:14 -0700
- Subject: [PATCH] Remove only use of current_inferior ()->gdbarch outside of gdbarch.*
- Authentication-results: sourceware.org; auth=none
Hi.
target_gdbarch is a magical thing, there are different kinds of arches:
for multiarch systems (e.g., call) which arch you use for certain
struct gdbarch API calls is important.
E.g.,
https://sourceware.org/ml/gdb-patches/2015-08/msg00789.html
Until this is cleaned up it'd be best to only use target_gdbarch
and not its underlying implementation.
Fortunately there is only one place that needed changing
(further reinforcing my sense that only target_gdbarch should be
used and never current_inferior ()->gdbarch).
Alas, short of an API reorg (which I think is reasonable), I can't think
of a way to prevent this from recurring.
2015-08-27 Doug Evans <xdje42@gmail.com>
* ravenscar-thread.c (ravenscar_inferior_created): Replace
current_inferior ()->gdbarch with its wrapper target_gdbarch.
diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c
index ef82507..fe36c96 100644
--- a/gdb/ravenscar-thread.c
+++ b/gdb/ravenscar-thread.c
@@ -341,7 +341,7 @@ ravenscar_inferior_created (struct target_ops *target, int from_tty)
struct ravenscar_arch_ops *ops;
if (!ravenscar_task_support
- || gdbarch_ravenscar_ops (current_inferior ()->gdbarch) == NULL
+ || gdbarch_ravenscar_ops (target_gdbarch ()) == NULL
|| !has_ravenscar_runtime ())
return;