This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: [Ada] Bootstrapping mainline GNAT fails


    It's really hard to guess what is going on here. Especially since we
    don' t duplicate this bomb. I wonder what is different about your
    setup and ours?

I'm guessing this is compiling snames.adb and I think we *do* take the
exception here, which is a latent bug.

The real problem is that builtin setjmp/longjmp seems to be broken.

Zack, try compiling and running the following with the same compiler you
built gnat1 with:

int buf[20];

int
main ()
{
  char *p = (char *) alloca (20);

  strcpy (p, "test\n");

  if (__builtin_setjmp (buf))
    {
      printf (p);
      exit (0);
    }

  {
    int *q = (int *) alloca (p[2] * sizeof (int));
    int i;
    
    for (i = 0; i < p[2]; i++)
      q[i] = 0;

    while (1)
      sub2 ();
  }
}

sub2 ()
{
  __builtin_longjmp (buf, 1);
}



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