public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
@ 2007-12-18 20:14 tbm at cyrius dot com
2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-18 20:14 UTC (permalink / raw)
To: gcc-bugs
With 4.3.0 20071212 on hppa:
tbm@tx:~$ /usr/lib/gcc-snapshot/bin/gcc -O1 -fPIC ffcall-trampoline.i
./trampoline.c: In function 'is_trampoline_r':
./trampoline.c:1176: error: unrecognizable insn:
(insn 10 9 11 4 ./trampoline.c:1168 (set (reg:SI 100)
(plus:SI (reg:SI 19 %r19)
(high:SI (symbol_ref/v:SI ("@tramp_r") [flags 0x41] <function_decl
0x4007bb60 tramp_r>)))) -1 (nil))
./trampoline.c:1176: internal compiler error: in extract_insn, at recog.c:1990
Please submit a full bug report,
--
Summary: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on
hppa
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
GCC target triplet: hppa-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
@ 2007-12-18 20:15 ` tbm at cyrius dot com
2007-12-20 1:18 ` danglin at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-18 20:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from tbm at cyrius dot com 2007-12-18 20:15 -------
Created an attachment (id=14791)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14791&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
@ 2007-12-20 1:18 ` danglin at gcc dot gnu dot org
2007-12-20 1:43 ` danglin at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-20 1:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from danglin at gcc dot gnu dot org 2007-12-20 01:18 -------
Subject: Bug 34525
Author: danglin
Date: Thu Dec 20 01:17:57 2007
New Revision: 131096
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131096
Log:
PR target/34525
* pa.c (legitimize_pic_address): Force function labels into memory.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/pa/pa.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
2007-12-20 1:18 ` danglin at gcc dot gnu dot org
@ 2007-12-20 1:43 ` danglin at gcc dot gnu dot org
2007-12-20 5:08 ` tbm at cyrius dot com
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-20 1:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from danglin at gcc dot gnu dot org 2007-12-20 01:42 -------
Fixed by change.
What are the reasons this was marked as a 4.3 regression? I'm interested
when the regression occurred since the backend has never forced function
labels to memory in this code.
A simpler testcase is:
dave@gsyprf11:~/gcc_test$ less pr34525.c
extern void tramp_r ();
int is_trampoline_r (void* function)
{
void *tramp_r_address = &tramp_r;
if (!(((long)function & 3) == 2))
return 0;
return
((((long *) ((char*)function - 2))[0] == ((long *)
((char*)tramp_r_address-2)
)[0])
&& ((((long *) ((char*)function - 2))[2]) == (long)((char*)function - 2 +
16
))
? 1 : 0
);
}
--
danglin at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
` (2 preceding siblings ...)
2007-12-20 1:43 ` danglin at gcc dot gnu dot org
@ 2007-12-20 5:08 ` tbm at cyrius dot com
2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: tbm at cyrius dot com @ 2007-12-20 5:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from tbm at cyrius dot com 2007-12-20 05:07 -------
I marked it as a 4.3 regression because I believe 4.2 was able to compile
the code. If you think it applies to 4.2, maybe it would be a good idea
to apply the patch there as well.
BTW, it might be a good idea to check in the testcase you came up with.
Thanks for fixing this so quickly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
` (3 preceding siblings ...)
2007-12-20 5:08 ` tbm at cyrius dot com
@ 2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2007-12-20 14:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca 2007-12-20 14:45 -------
Subject: Re: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
> Thanks for fixing this so quickly.
Actually, I realized last night that I failed to load the function label
from memory. I'll try to fix it today.
I don't think I'll install the testcase. The reason is there are
no complex circumstances around this change. So, once the problem
is fixed, I expect it to stay fixed.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
` (4 preceding siblings ...)
2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
2007-12-21 23:37 ` danglin at gcc dot gnu dot org
2007-12-21 23:58 ` danglin at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-20 18:08 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
` (5 preceding siblings ...)
2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
@ 2007-12-21 23:37 ` danglin at gcc dot gnu dot org
2007-12-21 23:58 ` danglin at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-21 23:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from danglin at gcc dot gnu dot org 2007-12-21 23:37 -------
Subject: Bug 34525
Author: danglin
Date: Fri Dec 21 23:37:07 2007
New Revision: 131126
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131126
Log:
PR target/34525
* pa.c (legitimize_pic_address): Emit insn to load function label
forced to memory.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/pa/pa.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/34525] [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
` (6 preceding siblings ...)
2007-12-21 23:37 ` danglin at gcc dot gnu dot org
@ 2007-12-21 23:58 ` danglin at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-12-21 23:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from danglin at gcc dot gnu dot org 2007-12-21 23:58 -------
This problem should now be fixed. I had modified the testcase and
this led me to think I'd killed the ICE ;)
I have to say that the code in the original testcase is probably very
wrong for hppa. Like ia64, function pointers point to function descriptors
(when the plabel bit is set). The function descriptor also may point to
a stub and not the function code.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34525
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-12-21 23:58 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-18 20:14 [Bug target/34525] New: [4.3 Regression] ICE in extract_insn, at recog.c:1990 on hppa tbm at cyrius dot com
2007-12-18 20:15 ` [Bug target/34525] " tbm at cyrius dot com
2007-12-20 1:18 ` danglin at gcc dot gnu dot org
2007-12-20 1:43 ` danglin at gcc dot gnu dot org
2007-12-20 5:08 ` tbm at cyrius dot com
2007-12-20 14:45 ` dave at hiauly1 dot hia dot nrc dot ca
2007-12-20 18:08 ` pinskia at gcc dot gnu dot org
2007-12-21 23:37 ` danglin at gcc dot gnu dot org
2007-12-21 23:58 ` danglin at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).