[lug] povray on fedora core 4
zlynx at acm.org
Tue Sep 13 11:04:04 MDT 2005
On Tue, 2005-09-13 at 10:47 -0600, D. Stimits wrote:
> Povray is an autoconf project. I could not possibly be at fault by using
> "./configure". It isn't possible. This is plain vanilla pentium 3, I
> didn't write any of the povray code, I'm just an end user. This same
> code works perfectly fine on compat gcc 3.2, it only fails under gcc 4.
> I've found other bugs in gcc4 which are verified bugs that did not exist
> in earlier releases, but those bugs came up with internal compiler error
> (which is a lot easier to report).
> > Actually, just post what CFLAGS were used to build, what the CPU is, and
> > the disassembly of the instruction where it dies.
> I used ./configure, I didn't adjust anything...but 64 bit systems are
> not valid for the test, it needs to be 32 bit, preferably P3. An illegal
> instruction really sounds like either someone hand coded asm and it
> isn't portable, or else the compiler itself is buggy...since I traced
> the line down to a simple variable initialization, it almost has to be a
> gcc 4 bug, initializing a floating point variable to "0.0" is trivial.
> Program received signal SIGILL, Illegal instruction.
> 0x0806750f in pov::init_vars ()
> (gdb) disas
> Dump of assembler code for function _ZN3pov9init_varsEv:
> 0x0806750f <_ZN3pov9init_varsEv+15>: movsd %xmm0,0x817f0e8
Okay, that is the problem there. That is an SSE2 instruction. I looked
at the autoconf script for povray, and it does some fancy stuff,
grepping /proc/cpuinfo and testing the compiler for options it can use.
I suggest getting a clean povray directory again, run ./configure and
start make, then Control-C or Control-S and look at the GCC commands
that are being run. Are they defining -march=pentium4 or -msse2?
If it is only defining i686, pentium, pentium3 or the like, and -msse,
-mfpmath=sse and NOT -msse2, then it is a GCC bug. But if it is
defining -msse2, march or mcpu pentium4, athlon-xp/mp or anything else
like that, it is a bug in povray's autoconf script.
Zan Lynx <zlynx at acm.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 189 bytes
Desc: This is a digitally signed message part
More information about the LUG