apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dale Ghent <da...@elemental.org>
Subject Re: GCC 2.96 optimization bug
Date Sun, 24 Jun 2001 15:00:36 GMT
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


Mime
View raw message