From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28292 invoked by alias); 22 Apr 2005 17:30:26 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 28050 invoked from network); 22 Apr 2005 17:30:10 -0000 Received: from unknown (HELO nwd2mail3.analog.com) (137.71.25.52) by sourceware.org with SMTP; 22 Apr 2005 17:30:10 -0000 Received: from nwd2mhb1.analog.com (nwd2mhb1.analog.com [137.71.5.12]) by nwd2mail3.analog.com (8.12.10/8.12.10) with ESMTP id j3MHU9Rh003844 for ; Fri, 22 Apr 2005 13:30:09 -0400 Received: from nwd2exm3.ad.analog.com (nwd2exm3.ad.analog.com [10.64.51.19]) by nwd2mhb1.analog.com (8.9.3 (PHNE_28810+JAGae91741)/8.9.3) with ESMTP id NAA25982 for ; Fri, 22 Apr 2005 13:30:07 -0400 (EDT) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: gdb port project Date: Fri, 22 Apr 2005 17:30:00 -0000 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Decker, Paul" To: X-Spam-Status: No, hits=-100.0 required=10.0 tests=USER_IN_WHITELIST version=3.0.2 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 3.000002 (2004-11-16) X-SW-Source: 2005-04/txt/msg00155.txt.bz2 =20 Hello everyone, We've been considering a port of gdb to support a new processor. A couple of implementation specific questions seem to come to mind and I was curious if anyone had any ideas on these: 1. The gdb port would consist of the gdb application and a gdb proxy(server) which would connect to a custom ICE. The gdb proxy has a list of registers for the specific processor which are in a specific order. The gdb application also will have a list of registers. Is there a way to insure these register lists are in 'sync' with each other, for example if an older version of the gdb proxy were used with a newer gdb which supported more registers, or registers in a different order. This question could also be extended to include a basic gdb connecting to a proxy which supported multiple derivatives of the same processor, perhaps with a different feature set. One thought I had was to extend the gdb debugger to ask, on startup, the proxy how many registers it supported, what their names were, and what order they were in.=20 2. I've searched around for multi-processing support within gdb, and I don't see much in the way of supporting debugging multi-processor systems. Specifically, if a processor has multiple cores, is there any standard convention for gdb to support this? My initial idea was to have the proxy & ice support the multi cores, and have the ability of two instances of gdb to be started, the first instance would connect over tcp to port n, the second instance would connect to the second core on port n+1. This way, 1 to n multi-cores could be debugged and controlled. The downside is that there are no native multi-processor commands in gdb, for example, a run would cause a specific core to start running. There isn't a method of issuing a 'run all' or a 'run group' to cause all the cores to or a group of cores to start running.=20=20 Sorry for the long winded discussion, I'm really looking for your creative ideas. Thanks, Paul.