Bug 426181

Summary: 4.1.2 20070925 (Red Hat 4.1.2-33) -fstrict-aliasing causes skipped code
Product: [Fedora] Fedora Reporter: Ehud Gavron <gavron>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 8   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-12-19 07:55:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ehud Gavron 2007-12-19 01:46:58 UTC
Description of problem:

This problem is described in detail in 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32328

Which says gnu.org's 4.1.2 is clean of this bug.

That fix needs to be backported to Redhat 4.1.2-33 and Fedora 4.1.2 20070925

Version-Release number of selected component (if applicable):
Fedora 4.1.2 20070925 (Redhat 4.1.2-33)


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Ehud Gavron 2007-12-19 05:52:51 UTC
The symptoms appear when compiling kernel module 
drivers/net/wireless/b43/rfkill.c

The code that calls KEY_WLAN 1 and KEY_WLAN 0 is optimized out.

This is why Fedora 2.6.22-1.42 (f8 x86_64) worked in lighting the LED and
Fedora 2.6.22-1.49 (same arch) didn't.  Same code, different compilation result.

There are additional examples in the references bugzillas... just thought I'd
add a Fedora-specific one.  I'm not a compiler-internals guy.  Just pointing out
this was patched in the gnu 4.1.2 but not in the RH/F 4.1.2.


Comment 2 Jakub Jelinek 2007-12-19 07:55:00 UTC
Kernel modules should be compiled with -fno-strict-aliasing anyway, kernel
violates aliasing in hundreds of places.
If you read the PR properly, it would be clear this is a WONTFIX for 4.1.x/4.2.x,
the changes aren't really backportable to earlier GCC versions and are massive.