kernel-2.4.21-4.EL gcc-3.2.3-20 gcc -O crashes with the below error: (insn 2883 2881 1074 (set (reg/v/f:DI 62 f30 [127]) (plus:DI (reg/v/f:DI 62 f30 [127]) (const_int 192 [0xc0]))) 225 {*adddi3_internal1} (nil) (expr_list:REG_EQUIV (plus:DI (reg/f:DI 1 r1) (const_int 192 [0xc0])) (nil))) grouper/subodh.c:7800: Internal compiler error in reload_cse_simplify_operands, at reload1.c:8352 Please submit a full bug report, with preprocessed source if appropriate. Wondering if there already is a patch available. Can send preprocessed file if necessary. Ameet, Please investigate this issue. Glen/Stacy, Please mirror to RedHat, They may have more insights on this. Thanks. ---------- Action by: Glen Johnson ----- Additional Comments From ameet.com 2004-08-05 16:19 ------- Your system is running old versions of the kernel and gcc, so try updating to RHEL 3 U2 and gcc-3.2.3-24. ---------- Action by: Glen Johnson ----- Additional Comments From umuta.com 2004-08-12 17:31 ------- We have upgraded the system to U2. kernel = 2.4.21-11 gcc =3.2.3-39 and the problem still exists. ---------- Action by: Glen Johnson ----- Additional Comments From ameet.com 2004-08-16 12:25 ------- Umut, please try updating to RHEL3 Update 3. ---------- Action by: Glen Johnson ----- Additional Comments From jgrimm.com 2004-09-09 16:43 ------- Attached preprocessed testcase. Attached patch against rh3.2 cvs for fix that is already in 3.4 Here are the links again for GCC bugzilla, describing bug/fix: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16239 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16239#c8 Glen, please mirror the above + patch + new testcase + comments to RH. Thanks, jon Status set to: Waiting on Tech ---------- Action by: Glen Johnson ------ Additional Comments From jgrimm.com 2004-09-09 16:36 ------- Patch against rh3.2 cvs tree to disparage FPR use under the bug condition. The problem is that GCC's reload phase is choosing an FPR to hold a DImode address and then tries to add a constant to the value in the FPR. The DImode addition pattern only handles GPRs, so the constraint does not match the predicate. Restricting the predicate does not work because reload already has chosen the reload register before it checks the predicate and fails another way. It looks like the fix will require convincing reload not to use an FPR for a DImode address. This fix is already in 3.4. File uploaded: disparage.diff ---------- Action by: Glen Johnson ------ Additional Comments From jgrimm.com 2004-09-09 16:39 ------- preprocessed testcase gcc -c -O -m64 -mminimal-toc problem2.c -o dontcare Currently this will cause an internal check to fail in the compiler per reported bug. File uploaded: problem2.c ---------- Action by: gavin Mike, This looks like a ppc only bug, I couldn't reproduce it on x86. Could you try reproducing it on a ppc machine, or give me access to one so I can do so? -gavin... ---------- Action by: gavin repro'd again on RHEL3U3, gcc-3.2.3-42, pseries. Issue escalated to Sustaining Engineering by: gavin. ---------- Action by: mgahagan Thanks Gavin! SE: if/when you need hardware for this, please contact myself of Jim Laska. We repro'ed this on a Power5 LPAR, I think any ppc system is sufficient however. ---------- Action by: mgahagan disparage.diff is they patch they are refering to, should be from upstream gcc 3.4. I need to know what update we will get this one in, looks like its too late for U4.
Created attachment 106612 [details] patch from IBM
Created attachment 106614 [details] testcase
*** Bug 144030 has been marked as a duplicate of this bug. ***
Fix for this has been added to gcc-3.2.3-50, for the time being available from: ftp://people.redhat.com/jakub/gcc/3.2.3-50/
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2005-258.html