Red Hat Bugzilla – Bug 122013
gcc 3.2.3-24 miscompiles metakit libraries
Last modified: 2007-11-30 17:07:01 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET
Description of problem:
During the porting our application to IA64 running on RH AS 3.0
series, we catched the problem. I do not know what the cause is, but
our application crashes. I run unit tests on the metakit package,
(since it was the last one in call stack) and it crashed also. I do
not know if any other parts of the code effected, but this package
the same code works on RH AS 3.0 x86, same compiler.
The miscompilation only happens if we use -g -O2 flag with inlining
turned on (in the metakit configuration files)
If we turn inlining off, it works. If we use -g it works, -g -0 works.
The source code can be downloaded from www.equi4.com, it has
anonymous cvs archive.
If you have never compilers in beta, we can test since our release
data is couple of months ahead.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.download metakit from anon cvs at www.equi4.com
2.compile and run tests in the tests directory
Actual Results: Tests failing and crashing.
Expected Results: Tests pass
I rerun unit tests, with -g -0, 1 unit test failure remains.
-g runs cleanly. So we cannot even enable -0.
Assuming you mean -O0 instead of -0, if there are no -O* options on
the command line, -O0 is assumed. So that should make no difference.
The fact that some third party library works on x86 and doesn't work
on IA-64 does not necessarily mean a bug in the compiler.
There are many other possibilities, including 64-bit unclean code
in the library, incorrect use of varargs, strict-aliasing unsafe code,
unitialized variables etc.
As we don't ship the metakit libraries in the distro, if you suspect a bug in the compiler, can you please
distill a small self-contained testcase which shows the bug and attach
No testcase provided, there is nothing we can do about this. Closing.