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: Small patch to enable build of gdb-7.6 for GNU/Hurd


On Thu, May 23, 2013 at 11:59:46PM -0300, Sergio Durigan Junior wrote:
> Thanks for your patch, Svante.
> 
> On Thursday, May 23 2013, Svante Signell wrote:
> 
> > --- a/gdb/nto-tdep.c	2013-05-23 14:28:24.000000000 +0000
> > +++ b/gdb/nto-tdep.c	2013-05-23 15:01:24.000000000 +0000
> > @@ -147,9 +147,11 @@ nto_find_and_open_solib (char *solib, un
> >  void
> >  nto_init_solib_absolute_prefix (void)
> >  {
> > -  char buf[PATH_MAX * 2], arch_path[PATH_MAX];
> > +  char *buf, *arch_path;
> >    char *nto_root, *endian;
> >    const char *arch;
> > +  int arch_len, len;
> > +#define FMT "set solib-absolute-prefix %s"
> >  
> >    nto_root = nto_target ();
> >    if (strcmp (gdbarch_bfd_arch_info (target_gdbarch ())->arch_name, "i386") == 0)
> > @@ -172,9 +174,13 @@ nto_init_solib_absolute_prefix (void)
> >  	       == BFD_ENDIAN_BIG ? "be" : "le";
> >      }
> >  
> > -  xsnprintf (arch_path, sizeof (arch_path), "%s/%s%s", nto_root, arch, endian);
> > +  arch_len = strlen (nto_root) + 1 + strlen (arch) + strlen (endian) + 1;
> > +  arch_path = alloca (arch_len);
> > +  xsnprintf (arch_path, arch_len, "%s/%s%s", nto_root, arch, endian);
> >  
> > -  xsnprintf (buf, sizeof (buf), "set solib-absolute-prefix %s", arch_path);
> > +  len = strlen (FMT) - 2 + strlen (arch_path) + 1;
> > +  buf =  alloca (len);
> > +  xsnprintf (buf, len, FMT, arch_path);
> 
> When I define things in the middle of functions/code, I usually #undef
> them just after I finished using, to avoid conflicts with others
> #defines.  Specially when the #define is called "FMT", which is very
> generic IMO.

Agreed.

And quite honestly, I find this use of a macro in the middle of
a function quite ugly and unnecessary, no matter what was done
before.  My preference mirrors Tom's suggestion, but failing that,
I'd rather FMT be a const char * or a const char [].

I do not think that this file has a responsible maintainer, so
it falls under Global Maintainership...

-- 
Joel


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