Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 May 2000 22:55:16 +1000 (EST)
From:      User Raymond <raymond@one.com.au>
Subject:   gcc on the alpha
Message-ID:  <200005241255.WAA39656@gw.one.com.au>

next in thread | raw e-mail | index | archive | help
To:   freebsd-alpha@FreeBSD.ORG

Consider the following code:

  systab->lockstart =
    (void *)((void *)systab->jobtab + (sizeof(jobtab)*jobs)); //locktab
  systab->locksize = locksize;                  // the size
  systab->lockhead = NULL;                      // no locks currently
  systab->lockfree = (locktab *) systab->lockstart; // free space
  systab->lockfree->fwd_link = NULL;            // only one
  systab->lockfree->size = locksize;            // the whole space

and on the last instruction I get a Program terminated with signal 10, Bus
error.  If I swap it with the one following (which references the same
structure), I still get the signal 10.

I am currently compiling this with:
  -Wall -g -O0 -fvolatile -fvolatile-global -fvolatile-static

What switches do I need to convince gcc version 2.95.2 to evaluate
the pointer (in this case systab->lockfree) before it gets used?


Ray Newman


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005241255.WAA39656>