On Sat, 23 Jun 2001, Justin Erenkrantz wrote: | I just ran across a compiler bug when dealing with long long in the GCC | shipped with Mandrake 8.0 (Intel). When -O2 is specified (it's in the | default), it seems to lose the upper 32 bits of the 64 bit integers. | (I was playing with the XML code in apr-util and the return values from | elem_size() were corrupted.) Removing -O2 fixes this. | | % gcc -v | Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.96/specs | gcc version 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk) | | This is a fairly old snapshot. I am building gcc-3.0 now and going to | see if the problem still exists (unlikely). Even if it doesn't, we | probably need to stick something in autoconf to avoid optimizations | with this buggy compiler.
I started seeing this *exact* same problem a few months back, running 2.96 20000619 on Solaris. If Apache was compiled with -O2, httpd would segfault when servicing a request. It would always segfault in mod_autoindex when in a va_list statement when building a FancyIndex page. When Apache was compile sans -O2, everything worked well and there was no segfault. You're right... because of a 2.96 snapshot was used in RH, the use of 2.96 (I'm assuming any snapshot. I see that your's was older than mine) should probably tell autoconf not to include any optimization. /dale
