From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15179 invoked by alias); 30 May 2013 12:16:16 -0000 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 Received: (qmail 15144 invoked by uid 89); 30 May 2013 12:16:16 -0000 X-Spam-SWARE-Status: No, score=-8.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Thu, 30 May 2013 12:16:16 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r4UCGEnR014466 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 30 May 2013 08:16:14 -0400 Received: from brno.lan (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r4UCGDYM010004 for ; Thu, 30 May 2013 08:16:14 -0400 Subject: [PATCH 22/22] [GDBserver] Multi-process + multi-arch: QNX NTO To: gdb-patches@sourceware.org From: Pedro Alves Date: Thu, 30 May 2013 12:16:00 -0000 Message-ID: <20130530121613.15047.7725.stgit@brno.lan> In-Reply-To: <20130530121335.15047.12654.stgit@brno.lan> References: <20130530121335.15047.12654.stgit@brno.lan> User-Agent: StGit/0.16 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-SW-Source: 2013-05/txt/msg01079.txt.bz2 This adjusts the QNX NTO port to new interfaces. Completely untested. 2012-05-30 Pedro Alves * nto-low.c (nto_tdesc): New global. (do_attach): Set the new process'es tdesc. * nto-low.h (struct target_desc): Forward declare. (nto_tdesc): Declare. * nto-x86-low.c (tdesc_i386): Declare. (nto_x86_arch_setup): Set `nto_tdesc'. --- gdb/gdbserver/nto-low.c | 6 +++++- gdb/gdbserver/nto-low.h | 6 ++++++ gdb/gdbserver/nto-x86-low.c | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gdb/gdbserver/nto-low.c b/gdb/gdbserver/nto-low.c index 5e4c60d..3670133 100644 --- a/gdb/gdbserver/nto-low.c +++ b/gdb/gdbserver/nto-low.c @@ -35,6 +35,8 @@ extern int using_threads; int using_threads = 1; +const struct target_desc *nto_tdesc; + static void nto_trace (const char *fmt, ...) { @@ -203,11 +205,13 @@ do_attach (pid_t pid) && (status.flags & _DEBUG_FLAG_STOPPED)) { ptid_t ptid; + struct process_info *proc; kill (pid, SIGCONT); ptid = ptid_build (status.pid, status.tid, 0); the_low_target.arch_setup (); - add_process (status.pid, 1); + proc = add_process (status.pid, 1); + proc->tdesc = nto_tdesc; TRACE ("Adding thread: pid=%d tid=%ld\n", status.pid, ptid_get_lwp (ptid)); nto_find_new_threads (&nto_inferior); diff --git a/gdb/gdbserver/nto-low.h b/gdb/gdbserver/nto-low.h index 2c450b7..1cc8f22 100644 --- a/gdb/gdbserver/nto-low.h +++ b/gdb/gdbserver/nto-low.h @@ -19,6 +19,8 @@ #ifndef NTO_LOW_H #define NTO_LOW_H +struct target_desc; + enum regset_type { NTO_REG_GENERAL, @@ -40,5 +42,9 @@ struct nto_target_ops extern struct nto_target_ops the_low_target; +/* The inferior's target description. This is a global because the + LynxOS ports support neither bi-arch nor multi-process. */ +extern const struct target_desc *nto_tdesc; + #endif diff --git a/gdb/gdbserver/nto-x86-low.c b/gdb/gdbserver/nto-x86-low.c index 9163880..c9cb004 100644 --- a/gdb/gdbserver/nto-x86-low.c +++ b/gdb/gdbserver/nto-x86-low.c @@ -28,6 +28,7 @@ /* Definition auto generated from reg-i386.dep. */ extern void init_registers_i386 (); extern struct reg *regs_i386; +extern const struct target_desc *tdesc_i386; const unsigned char x86_breakpoint[] = { 0xCC }; #define x86_breakpoint_len 1 @@ -91,6 +92,7 @@ nto_x86_arch_setup (void) { init_registers_i386 (); the_low_target.num_regs = 16; + nto_tdesc = tdesc_i386; } struct nto_target_ops the_low_target =