This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[rfc] [0/9] Multi-target support


Hello,

as promised, here's a set of patches to provide the --enable-targets=
configure option, allowing to support multiple (remote) targets within
a single GDB executable.

The basic implementation idea is simple: now that DEPRECATED_TM_FILE
is no longer in use, the only remaining settings provided by target-
specific makefile fragments *.mt are TDEPFILES, SIM, and SIM_OBS.

The patch series moves this information from the makefile fragments
into configure.tgt itself (removing the then-obsolete concept of
per-target makefile fragments in the process).

Once we have the list of target-dependent object files available in
configure.tgt, we can simply execute that script multiple times,
once for every desired target configuration, and simply accumulate
the total set of needed object files to support all of them.

Note that other target-specific information, in particular whether
to build a simulator or the gdbserver, remains determined by the
"master" target (specified via --target), not --enable-targets.
Also, only the master target can be used as native configuration
(if applicable).  All other targets are supported as remote or
core file targets only.

I'm aware of one bug that still needs to be fixed: "info set"
crashes as show_mipsfpu_command unconditionally refers to
gdbarch_tdep (current_gdbarch), and assumes it to be formatted
as defined in mips-tdep.c.  This is of course no longer guaranteed
to be the case ...   It is certainly possible that other problems
of that sort still lurk.

I'd appreciate any feedback on the approach, and testers of
various combinations of host vs. --enable-targets=... settings
would certainly be welcome.

I've tested the full patch set with no regressions (except for
the mips issue above) with both a regular build and an 
--enable-targets=all build on each of powerpc64-linux, 
s390-ibm-linux, s390x-ibm-linux, and amd64-linux.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]