Subject: Re: DTC Patch for Cygwin

From: David Gibson <[email-masked]>
Date: Sat, 22 Sep 2007 10:19:56 +1000

On Fri, Sep 21, 2007 at 03:42:04PM -0400, Matt Tyrlik wrote:
> >Scott Wood <[email-masked]> wrote on 09/21/2007 02:46:39 PM:
> > On Fri, Sep 21, 2007 at 11:26:04AM -0400, Matt Tyrlik wrote:
> > >
> > > Changes required to compile DTC under Cygwin

A S-o-b line will be needed before this can be applied.

> > >
> > > ===================================================================
> > > --- dtc-org.orig/tests/supernode_atdepth_offset.c
> > > +++ dtc-org/tests/supernode_atdepth_offset.c
> > > @@ -63,8 +63,11 @@ int path_prefix(const char *path, int de
> > >                 return 1;
> > >
> > >         p = path;
> > > -       for (i = 0; i < depth; i++)
> > > -               p = strchrnul(p+1, '/');
> > > +       for (i = 0; i < depth; i++) {
> > > +               p = strchr(p+1, '/');
> > > +               if (!p)
> > > +                       p = path + strlen(path);
> > > +       }
> > >
> > >         return p - path;
> > >  }
> >
> > Maybe we should define strchrnul under #ifndef GLIBC, similar to
> > strndupa?
> Since this is used only in one place David Gibson suggested that the
> change should be done in code.

Yeah, I don't actually particularly care which way we go with this one.

> > > Index: dtc-org/tests/testutils.c
> > > ===================================================================
> > > --- dtc-org.orig/tests/testutils.c
> > > +++ dtc-org/tests/testutils.c
> > > @@ -52,10 +52,9 @@ static void sigint_handler(int signum, s
> > >  void test_init(int argc, char *argv[])
> > >  {
> > >         int err;
> > > -       struct sigaction sa_int = {
> > > -               .sa_sigaction = sigint_handler,
> > > -       };
> > > +       struct sigaction sa_int;
> > >
> > > +       sa_int.sa_sigaction = sigint_handler,
> > >         test_name = argv[0];
> >
> > What version of GCC does cygwin use?  That doesn't seem like something
> > that should break due to OS differences.
> >
> > -Scott
> Currently 3.4.4. The compiler can't handle unnamed union in an
> initializer.

Or at least that's my surmise, I can't see why else it would be
breaking.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson