[rfc] [17/17] Get rid of current_gdbarch in go32-nat.c
Daniel Jacobowitz
drow@false.org
Tue Oct 23 21:55:00 GMT 2007
On Tue, Oct 23, 2007 at 10:53:03PM +0200, Eli Zaretskii wrote:
> Well, that just says its purpose is to get rid of current_gdbarch, but
> there's no serious discussion of the issue. So I'm still wondering:
> was this discussed, and if so, where can I read it?
I believe it was Andrew's goal as long ago as when he started adding
"gdbarch" arguments to methods. I can't think of any specific
discussion, but I've been aware of this trend as long as I can
remember working on GDB.
> I can understand why this is a Good Thing for ports that can actually
> support multiple architectures. But why is this a good idea for
> single-architecture ports? You are replacing a variable reference
> with a function call, which is a slowdown. That's the downside;
> what's the upside, please?
Even a single-architecture port may have more than one
current_gdbarch. A gdbarch is fine-grained and e.g. different
executables can lead to different gdbarches. So a GDB for DJGPP which
supported debugging two programs at once might need more than one
"current" gdbarch.
Also, getting rid of current_gdbarch is hard. If we leave it
in some targets then we have to continue making it work; it'll
creep back in to ports that were trying to get rid of it. I
think having more than one way to do this is not worthwhile.
> Good God! you don't really mean that, do you? What kind of bloated
> GDB executable will we have when this happens?
FYI, I'd love to ship a single GDB binary that supported multiple
targets. That's practical for our case. I don't know if we would
turn on all targets or just a set list.
> > This is a cool feature ;-) Whereas I cannot imagine a scenario
> > where GDB debugs for example an x86 binary and a PowerPC binary in one session.
>
> If we cannot imagine such a scenario, why are we trying to support it?
I can imagine it; people build such systems today, and some of
CodeSourcery's customers are interested in debugging them. Of course,
that's not a terribly frequent example, but there's all sorts of
weird hybrids out there. An ARM and a signal processor or a PowerPC
and eight SPUs are both real cases I'm familiar with.
--
Daniel Jacobowitz
CodeSourcery
More information about the Gdb-patches
mailing list