From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 71067 invoked by alias); 15 Jan 2016 23:54:30 -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 71032 invoked by uid 89); 15 Jan 2016 23:54:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=no version=3.3.2 spammy=HX-Greylist:AUTH, HX-Greylist:succeeded, HX-Greylist:SMTP, HContent-Transfer-Encoding:7Bit X-HELO: bigwig.baldwin.cx Received: from bigwig.baldwin.cx (HELO bigwig.baldwin.cx) (96.47.65.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Fri, 15 Jan 2016 23:54:27 +0000 Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 3AC77B958; Fri, 15 Jan 2016 18:54:25 -0500 (EST) From: John Baldwin To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [PATCH v2 5/6] Add support for LWP-based threads on FreeBSD. Date: Fri, 15 Jan 2016 23:54:00 -0000 Message-ID: <3063651.zqffL8m3O3@ralph.baldwin.cx> User-Agent: KMail/4.14.3 (FreeBSD/10.2-STABLE; KDE/4.14.3; amd64; ; ) In-Reply-To: <5697BEE3.3020603@redhat.com> References: <1452721551-657-1-git-send-email-jhb@FreeBSD.org> <1452721551-657-6-git-send-email-jhb@FreeBSD.org> <5697BEE3.3020603@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg00337.txt.bz2 On Thursday, January 14, 2016 03:29:39 PM Pedro Alves wrote: > On 01/13/2016 09:45 PM, John Baldwin wrote: > > > + > > +static int > > +fbsd_thread_alive (struct target_ops *ops, ptid_t ptid) > > +{ > > + if (ptid_lwp_p (ptid)) > > + { > > + struct ptrace_lwpinfo pl; > > + > > + if (ptrace (PT_LWPINFO, ptid_get_lwp (ptid), (caddr_t)&pl, sizeof pl) > > + == -1) > > Space after cast. Fixed here and throughout. My previous changes to add fork following include some of these as well. I can clean those up in a separate followup change after this series. > > +#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_TDNAME > > +/* Return the name assigned to a thread by an application. Returns > > + the string in a static buffer. */ > > + > > +static const char * > > +fbsd_thread_name (struct target_ops *self, struct thread_info *thr) > > +{ > > + struct ptrace_lwpinfo pl; > > + struct kinfo_proc kp; > > + int pid = ptid_get_pid (thr->ptid); > > + long lwp = ptid_get_lwp (thr->ptid); > > + static char buf[64]; > > Is this the kernel-side size limit? Worth it of a define/comment. > Mainly looking at the xsnprintf below and wondering whether > a we could see a longer name and thus cause gdb to internal error. Ah, I had not realized that was the reason for xsnprintf() vs snprintf(). The kernel returns a fixed-sized buffer, so I have updated the code to use 'static char buf[sizeof pl.pl_tdname + 1];' which should always be large enough. > > +/* Provide a prototype to silence -Wmissing-prototypes. */ > > +extern initialize_file_ftype _initialize_fbsd_nat; > > + > > +void > > +_initialize_fbsd_nat (void) > > +{ > > +#ifdef PT_LWPINFO > > + add_setshow_boolean_cmd ("fbsd-lwp", class_maintenance, > > + &debug_fbsd_lwp, _("\ > > +Set debugging of FreeBSD lwp module."), _("\ > > +Show debugging of FreeBSD lwp module."), _("\ > > +Enables printf debugging output."), > > + NULL, > > + NULL, > > Please implement a show callback, for i18n. Done. I've also added entries to NEWS. -- John Baldwin