From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24082 invoked by alias); 29 May 2012 18:54:40 -0000 Received: (qmail 24071 invoked by uid 22791); 29 May 2012 18:54:39 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 29 May 2012 18:54:25 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3) with ESMTP id q4TIsJp6014642; Tue, 29 May 2012 20:54:19 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3/Submit) id q4TIsH0i008399; Tue, 29 May 2012 20:54:17 +0200 (CEST) Date: Tue, 29 May 2012 18:54:00 -0000 Message-Id: <201205291854.q4TIsH0i008399@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: emachado@linux.vnet.ibm.com CC: gdb-patches@sourceware.org, mark.kettenis@xs4all.nl, prasad@linux.vnet.ibm.com In-reply-to: <4FBF0153.4060108@linux.vnet.ibm.com> (message from Edjunior Barbosa Machado on Fri, 25 May 2012 00:49:39 -0300) Subject: Re: [PATCH] disable ptrace BookE interface for PowerPC server processors References: <1337700251-9366-1-git-send-email-emachado@linux.vnet.ibm.com> <201205221734.q4MHY0FQ014975@glazunov.sibelius.xs4all.nl> <4FBF0153.4060108@linux.vnet.ibm.com> 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: 2012-05/txt/msg01031.txt.bz2 > Date: Fri, 25 May 2012 00:49:39 -0300 > From: Edjunior Barbosa Machado > > On 05/22/2012 02:34 PM, Mark Kettenis wrote: > > > But how are you going to handle this when that functionality does > > become available? > > > Thanks for the feedback and sorry for the late reply. I was discussing > with the kernel developer responsible for the next version of the ptrace > booke interface and he proposed that the 'features' field from the > struct ppc_debug_info returned by ptrace PPC_PTRACE_GETHWDBGINFO call > could be used to check if its availability. According to him, this field > is currently 0 for servers, but once the new ptrace interface becomes > functional, it will return the flag PPC_DEBUG_FEATURE_DATA_BP_RANGE > enabled. Moreover, this change will not affect the behavior on embedded > processors (which already has PPC_DEBUG_FEATURE_DATA_BP_RANGE and > PPC_DEBUG_FEATURE_DATA_BP_MASK enabled). > > Please consider the new version of the patch below. Certainly makes more sense to me ;) > gdb/ > 2012-25-05 Edjunior Machado > > * ppc-linux-nat.c (have_ptrace_booke_interface): disable ptrace booke > interface for powerpc server processors if not available in kernel. > > diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c > index 34c40b4..9ffcf88 100644 > --- a/gdb/ppc-linux-nat.c > +++ b/gdb/ppc-linux-nat.c > @@ -1421,17 +1421,18 @@ have_ptrace_booke_interface (void) > /* Check for kernel support for BOOKE debug registers. */ > if (ptrace (PPC_PTRACE_GETHWDBGINFO, tid, 0, &booke_debug_info) >= 0) > { > - have_ptrace_booke_interface = 1; > - max_slots_number = booke_debug_info.num_instruction_bps > - + booke_debug_info.num_data_bps > - + booke_debug_info.num_condition_regs; > - } > - else > - { > - /* Old school interface and no BOOKE debug registers support. */ > - have_ptrace_booke_interface = 0; > - memset (&booke_debug_info, 0, sizeof (struct ppc_debug_info)); > + if (booke_debug_info.features) > + { > + have_ptrace_booke_interface = 1; > + max_slots_number = booke_debug_info.num_instruction_bps > + + booke_debug_info.num_data_bps > + + booke_debug_info.num_condition_regs; > + return have_ptrace_booke_interface; > + } > } > + /* Old school interface and no BOOKE debug registers support. */ > + have_ptrace_booke_interface = 0; > + memset (&booke_debug_info, 0, sizeof (struct ppc_debug_info)); > } > > return have_ptrace_booke_interface; > >