Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Dec 1999 12:52:55 -0500 (EST)
From:      Bosko Milekic <bmilekic@dsuper.net>
To:        Thomas David Rivers <rivers@dignus.com>
Cc:        freebsd-current@FreeBSD.ORG, jwd@unx.sas.com
Subject:   Re: cc taking a signal 11
Message-ID:  <Pine.OSF.4.05.9912201249310.9836-100000@oracle.dsuper.net>
In-Reply-To: <199912201637.LAA81110@lakes.dignus.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 20 Dec 1999, Thomas David Rivers wrote:

!>> FreeBSD(root)/tmp %cc -O foo.c -o foo.o -c
!>> cc: Internal compiler error: program cc1 got fatal signal 11
!>> 
!>> 
!>> 
!>> static void getsig11(parfree,dbl,lambda)
!>>  long parfree;
!>>  double *dbl;
!>>  double *lambda;
!>> {
!>>     long i, j;
!>>     j = -1;
!>>     for(i = 0; i < parfree; i++)  {
!>>        j += i+1;
!>>        dbl[j] *= (1.0 + *lambda);
!>>        }
!>>     return;
!>> }
!>> 
!>> 
!>>    Yes, the algorithm looks funny, but is correct. The program will
!>> compile correctly if the 'j += i+1;' is changed to 'j = i+1;' or if
!>> the variable 'lambda' is changed from a pointer to an actual value.
!>> 
!>>    Anyone want to take a stab at this? I'm not a big compiler
!>> person myself... (Dave, you there?).
!>
!>  Yes - I'm here :-)
!>
!>  Typically - signal 11 problems from GNU's front-end are hardware 
!> memory issues....
!>
!>  I will add that a quick test on a 3.3 system compiles this just
!> fine (Systems/C compiles it as well.)
!>
!>  I would suspect hardware problems first.
!>
!>  As I have learned from painful experience, *always* use ECC or at least
!> parity memory...
!>
!>	- Dave R. -

	This seems to only be an issue if you're compiling with optimization.
  I *think* it's because the compiler tries to make `j' a register. If you
  explicitly declare `j' a volatile, you should not get this.

  Is this correct?

  Bosko.

 ...... . . . . .  .   .    .      .        . . .
 . Bosko Milekic  --  bmilekic@dsuper.net   .   .
 .       .      .      .    .  . . . . ......   .
 . WWW: http://pages.infinit.net/bmilekic/      . 
 ................................................
 



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.OSF.4.05.9912201249310.9836-100000>