This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2 5/6] Add support for LWP-based threads on FreeBSD.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]