From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14880 invoked by alias); 26 Oct 2007 01:15:01 -0000 Received: (qmail 14816 invoked by uid 22791); 26 Oct 2007 01:15:00 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate7.de.ibm.com (HELO mtagate7.de.ibm.com) (195.212.29.156) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 26 Oct 2007 01:14:58 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate7.de.ibm.com (8.13.8/8.13.8) with ESMTP id l9Q1EtqC532816 for ; Fri, 26 Oct 2007 01:14:55 GMT Received: from d12av02.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l9Q1Et7Y2252978 for ; Fri, 26 Oct 2007 03:14:55 +0200 Received: from d12av02.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l9Q1Et6o003051 for ; Fri, 26 Oct 2007 03:14:55 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with SMTP id l9Q1EtUT003048 for ; Fri, 26 Oct 2007 03:14:55 +0200 Message-Id: <200710260114.l9Q1EtUT003048@d12av02.megacenter.de.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Fri, 26 Oct 2007 03:14:55 +0200 Subject: [rfc] [0/9] Multi-target support To: gdb-patches@sourceware.org Date: Fri, 26 Oct 2007 01:15:00 -0000 From: "Ulrich Weigand" X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00691.txt.bz2 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