Bug 459921

Summary: gcc: optimization failures with "-O2"
Product: [openSUSE] openSUSE 11.1 Reporter: Klaus Singvogel <kssingvo>
Component: DevelopmentAssignee: Michael Matz <matz>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: rguenther
Version: Final   
Target Milestone: ---   
Hardware: All   
OS: openSUSE 11.1   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Klaus Singvogel 2008-12-17 19:41:49 UTC
I tried to built package "gpg1", locate at http://build.opensuse.org in project "security:privacy".

The default is to compile with "-O2", as RPM_OPT_FLAGS introduces them.

The package could be compiled fine. But when doing the checks ("make checks"), every test which includes Rijndael-128 (= AES-128) fails with error message "weak key created".

So I compiled the module "cipher/rijndael.c" with "-O1" and the errors vanished.

==> error is restricted to "-O2"
==> I changed specfile accordingly.

The bad side-effect is, that I could no longer use the profiling mechanism to optimize the code. As the profiler doesn't like to see "-O1" and "-O2" modules for the same binary.

It's not related to specific architecture, as this issue happens on x86_64 as well as on i586.

Don't know, if Component = "Development" is right choice. Please adjust if necessary.
Comment 1 Michael Matz 2009-01-12 16:10:26 UTC
That's a bug in the rijndael.c implementation which is full of aliasing
bugs.  Dup of bug 443693 (see comment #14 there which explains the problem).

*** This bug has been marked as a duplicate of bug 443693 ***