Bug 59083
Summary: | gcc-3.1-0.18 aborts when using -mmmx flag | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Valdis Kletnieks <valdis.kletnieks> | ||||
Component: | gcc | Assignee: | Jakub Jelinek <jakub> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 7.2 | ||||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i686 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2002-02-01 16:33:28 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: | |||||||
Attachments: |
|
Description
Valdis Kletnieks
2002-01-30 18:18:05 UTC
Created attachment 43996 [details]
Pre-processed C source for -mmx compiler abort
Well, primarily this is bug in the source (does invalid type punning), so even if gcc did not ICE on this (which is a bug), it could do anything (unless -fno-strict-aliasing is given). I've created a minimal testcase, no fix yet. Are you saying "it *could* do anything, unless -fno-strict-aliasing is set" as meaning "if no-strict-aliasing was set, it would do something specific, otherwise it's free to generate any code it wants"? Or did you mean "It can't do anything legal without -fno-strict-aliasing"? I'm assuming you meant this, in which case having the compiler issue a reasonable error message rather than an ICE is perfectly acceptable - I'll take the error message back to the code authors and get the code fixed. ;) Interestingly enough, the compiler didn't seem to mind the type punning when -mmmx wasn't specified - is that the root cause of THIS bug (that it failed to catch it), or is that a second problem? The ICE is fixed in gcc-3.1-0.21. With the above I meant to say that the source is triggering undefined behaviour and that -fno-strict-aliasing disables optimizations taking advantage of that, so with -fno-strict-aliasing (and 3.1-0.21) the code should work properly, while without that option it may work now but may read a value before it is written or whatever in the next gcc rpm release. |