public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
@ 2008-05-08 22:44 hp at gcc dot gnu dot org
2008-05-08 22:48 ` [Bug rtl-optimization/36182] " pinskia at gcc dot gnu dot org
` (19 more replies)
0 siblings, 20 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-05-08 22:44 UTC (permalink / raw)
To: gcc-bugs
With 135074 no regressions.
With 135087, I see the following regressions:
FAIL: ext/malloc_allocator/deallocate_local.cc (test for excess errors)
WARNING: ext/malloc_allocator/deallocate_local.cc compilation failed to produce
executable
FAIL: ext/mt_allocator/deallocate_local-2.cc (test for excess errors)
WARNING: ext/mt_allocator/deallocate_local-2.cc compilation failed to produce
executable
FAIL: ext/mt_allocator/deallocate_local-4.cc (test for excess errors)
WARNING: ext/mt_allocator/deallocate_local-4.cc compilation failed to produce
executable
FAIL: ext/mt_allocator/deallocate_local-6.cc (test for excess errors)
WARNING: ext/mt_allocator/deallocate_local-6.cc compilation failed to produce
executable
FAIL: ext/mt_allocator/deallocate_local-8.cc (test for excess errors)
WARNING: ext/mt_allocator/deallocate_local-8.cc compilation failed to produce
executable
FAIL: ext/new_allocator/deallocate_local.cc (test for excess errors)
WARNING: ext/new_allocator/deallocate_local.cc compilation failed to produce
executable
FAIL: ext/throw_allocator/deallocate_local.cc (test for excess errors)
WARNING: ext/throw_allocator/deallocate_local.cc compilation failed to produce
executable
with the .log file saying similar for all errors:
/tmp/ccDpHWIJ.s: Assembler messages:^M
/tmp/ccDpHWIJ.s:788: Error: can't resolve `.LC2' {.rodata.str1.2 section} -
`__ZNSbIcSt11char_traitsIcEN9__gnu_cxx16malloc_allocatorIcEEE4_Rep20_S_empty_rep_storageE'
{.bss._ZNSbIcSt11char_traitsIcEN9__gnu_cxx16malloc_allocatorIcEEE4_Rep20_S_empty_rep_storageE
section}^M
/tmp/ccDpHWIJ.s:788: Error: expression too complex^M
compiler exited with status 1
output is:
/tmp/ccDpHWIJ.s: Assembler messages:^M
/tmp/ccDpHWIJ.s:788: Error: can't resolve `.LC2' {.rodata.str1.2 section} -
`__ZNSbIcSt11char_traitsIcEN9__gnu_cxx16malloc_allocatorIcEEE4_Rep20_S_empty_rep_storageE'
{.bss._ZNSbIcSt11char_traitsIcEN9__gnu_cxx16malloc_allocatorIcEEE4_Rep20_S_empty_rep_storageE
section}^M
/tmp/ccDpHWIJ.s:788: Error: expression too complex^M
FAIL: ext/malloc_allocator/deallocate_local.cc (test for excess errors)
There's only the PR36090 simplify_plus_minus change between these two revisions
on the 4.3 branch. So, the CONST change now causes a wrap of a MINUS between
two symbols to _different_ sections, which must not happen. Curiously, the
same change on HEAD doesn't exhibit these regressions. Author of patch CC:ed.
--
Summary: [4.3 Regression] Fix for PR 36090 causes libstdc++
regressions
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hp at gcc dot gnu dot org
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
@ 2008-05-08 22:48 ` pinskia at gcc dot gnu dot org
2008-05-09 5:05 ` bonzini at gnu dot org
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-05-08 22:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-05-08 22:47 -------
I have a similar issue on spu-elf where we get s-t+3@l which is too complex for
the linker to handle.
/tmp/ccbhdI9l.s:19: Error: reloc 132 not supported by object file format^M
/tmp/ccbhdI9l.s:22: Error: reloc 131 not supported by object file format^M
ilhu $3,s-t+3@h
iohl $3,s-t+3@l
This is with compiling pr34029-2.c
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Target Milestone|--- |4.3.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
2008-05-08 22:48 ` [Bug rtl-optimization/36182] " pinskia at gcc dot gnu dot org
2008-05-09 5:05 ` bonzini at gnu dot org
@ 2008-05-09 5:05 ` bonzini at gnu dot org
2008-05-09 5:06 ` bonzini at gnu dot org
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 5:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from bonzini at gnu dot org 2008-05-09 05:05 -------
i'll post a temptative patch for the cris issue if i get to it during the
commute.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
2008-05-08 22:48 ` [Bug rtl-optimization/36182] " pinskia at gcc dot gnu dot org
@ 2008-05-09 5:05 ` bonzini at gnu dot org
2008-05-09 5:05 ` bonzini at gnu dot org
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 5:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from bonzini at gnu dot org 2008-05-09 05:04 -------
unfortunately my current gcc time is ~0, which is why dje actually tested and
committed the patch for me, but sorry for causing these regressions anyway.
for cris, i believe the correct fix is to strengthen the check and only wrap
symbol_refs if they are from the same section. (this is a problem in my patch,
which is why i'm confirming the bug).
for spu, this is a target bug where legitimate_address is not rejecting an
invalid address.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-05-09 05:04:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-05-09 5:05 ` bonzini at gnu dot org
@ 2008-05-09 5:06 ` bonzini at gnu dot org
2008-05-09 9:00 ` rguenth at gcc dot gnu dot org
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 5:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from bonzini at gnu dot org 2008-05-09 05:05 -------
ahem, tentative
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-05-09 5:06 ` bonzini at gnu dot org
@ 2008-05-09 9:00 ` rguenth at gcc dot gnu dot org
2008-05-09 13:37 ` bonzini at gnu dot org
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-09 9:00 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |blocker
Keywords| |wrong-code
Known to fail| |4.3.1
Known to work| |4.3.0
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-05-09 9:00 ` rguenth at gcc dot gnu dot org
@ 2008-05-09 13:37 ` bonzini at gnu dot org
2008-05-09 13:38 ` bonzini at gnu dot org
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 13:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from bonzini at gnu dot org 2008-05-09 13:36 -------
Created an attachment (id=15620)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15620&action=view)
patch for cris problem
This patch should fix the CRIS problem. However, we should also check that it
does not make PR36090 resurface -- obviously. David, can you look at that?
It does not attempt to fix the SPU problem, which should be fixed in the
target.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |bonzini at gnu dot org
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (5 preceding siblings ...)
2008-05-09 13:37 ` bonzini at gnu dot org
@ 2008-05-09 13:38 ` bonzini at gnu dot org
2008-05-09 13:38 ` bonzini at gnu dot org
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 13:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from bonzini at gnu dot org 2008-05-09 13:37 -------
Richard (Sandiford), could you look at the patch? You are the varasm.c expert.
:-)
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (6 preceding siblings ...)
2008-05-09 13:38 ` bonzini at gnu dot org
@ 2008-05-09 13:38 ` bonzini at gnu dot org
2008-05-09 14:37 ` dje at gcc dot gnu dot org
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 13:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from bonzini at gnu dot org 2008-05-09 13:37 -------
not wrong-code, it fails to assemble.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|wrong-code |rejects-valid
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (7 preceding siblings ...)
2008-05-09 13:38 ` bonzini at gnu dot org
@ 2008-05-09 14:37 ` dje at gcc dot gnu dot org
2008-05-09 16:04 ` bonzini at gnu dot org
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: dje at gcc dot gnu dot org @ 2008-05-09 14:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from dje at gcc dot gnu dot org 2008-05-09 14:36 -------
The TOC anchor SYMBOL_REF does not have an associated DECL, so the new patch
crashes with a segfault. I'm not sure if there is a safe section to assume for
SYMBOL_REFs without DECLs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (8 preceding siblings ...)
2008-05-09 14:37 ` dje at gcc dot gnu dot org
@ 2008-05-09 16:04 ` bonzini at gnu dot org
2008-05-09 17:15 ` dje at gcc dot gnu dot org
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2008-05-09 16:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from bonzini at gnu dot org 2008-05-09 16:03 -------
I'll revert my patch on Monday even if no alternative solution for PR36090 is
found during the weekend. It opened too big cans of worms for a release
branch, even though it fixed a serious regression.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (9 preceding siblings ...)
2008-05-09 16:04 ` bonzini at gnu dot org
@ 2008-05-09 17:15 ` dje at gcc dot gnu dot org
2008-05-09 17:17 ` rsandifo at nildram dot co dot uk
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: dje at gcc dot gnu dot org @ 2008-05-09 17:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from dje at gcc dot gnu dot org 2008-05-09 17:14 -------
Subject: Bug 36182
Author: dje
Date: Fri May 9 17:13:30 2008
New Revision: 135118
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135118
Log:
PR target/36090
* config/rs6000/rs6000.c (print_operand_address): If the TOC
address RHS contains an offset, output it as well.
PR target/36182
Revert:
2008-05-08 Paolo Bonzini <bonzini@gnu.org>
PR target/36090
* simplify-rtx.c (simplify_plus_minus): Create CONST of
similar RTX_CONST_OBJ before CONST_INT.
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_3-branch/gcc/simplify-rtx.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (10 preceding siblings ...)
2008-05-09 17:15 ` dje at gcc dot gnu dot org
@ 2008-05-09 17:17 ` rsandifo at nildram dot co dot uk
2008-05-09 19:19 ` hp at gcc dot gnu dot org
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rsandifo at nildram dot co dot uk @ 2008-05-09 17:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from rsandifo at nildram dot co dot uk 2008-05-09 17:17 -------
Subject: Re: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
"bonzini at gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:
> I'll revert my patch on Monday even if no alternative solution for PR36090 is
> found during the weekend. It opened too big cans of worms for a release
> branch, even though it fixed a serious regression.
For the record, I think it would be easier if the rs6000 port
used an unspec wrapper around the symbol, rather than a MINUS
of two symbols. E.g.
(const (unspec [(symbol_ref "foo")] UNSPEC_TOC))
and:
(const (plus (unspec [(symbol_ref "foo")] UNSPEC_TOC)
(const_int OFFSET)))
Richard
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (11 preceding siblings ...)
2008-05-09 17:17 ` rsandifo at nildram dot co dot uk
@ 2008-05-09 19:19 ` hp at gcc dot gnu dot org
2008-05-09 19:29 ` hp at gcc dot gnu dot org
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-05-09 19:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from hp at gcc dot gnu dot org 2008-05-09 19:18 -------
There has been some speculation that the back-ends where the bug
appear are *all* to blame by e.g. having a flawed
GO_IF_LEGITIMATE_ADDRESS. A gdb session shows that the back-end
validation hook that is used for the (CONST (MINUS sym2 sym1))
expression is (naturally when you think of it)
LEGITIMATE_CONSTANT_P. In cases similar to the failure for CRIS,
the flawed expression isn't used in an address-operand so
GO_IF_LEGITIMATE_ADDRESS won't hit.
But, consider the documentation, which recommends defining
LEGITIMATE_CONSTANT_P to 1, which indeed most targets do; very
few actually look inside a CONST, i386 being a notable
exception.
I think that kind of CONST should simply not be generated by gcc
for now, and certainly not on the 4.3 branch.
If this CONST *is* to be generated (on trunk), IMHO some new
constant-expression validation needs to take place in
CONSTANT_P, one where the target can refuse expressions that
aren't valid assembly-code (in this case, for CRIS, sym2-sym1
where sym2 and sym1 are in different sections). Alternatively,
LEGITIMATE_CONSTANT_P redefined in the documentation and most
back-ends.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (12 preceding siblings ...)
2008-05-09 19:19 ` hp at gcc dot gnu dot org
@ 2008-05-09 19:29 ` hp at gcc dot gnu dot org
2008-05-09 21:42 ` dje at gcc dot gnu dot org
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-05-09 19:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from hp at gcc dot gnu dot org 2008-05-09 19:28 -------
(In reply to comment #5)
> Created an attachment (id=15620)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15620&action=view) [edit]
> patch for cris problem
>
> This patch should fix the CRIS problem.
Looks fine except (as the OP also mentioned), I can't see what happens when
neither symbol has any information on the section.
Do you need me to test it?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (13 preceding siblings ...)
2008-05-09 19:29 ` hp at gcc dot gnu dot org
@ 2008-05-09 21:42 ` dje at gcc dot gnu dot org
2008-05-10 6:59 ` hp at gcc dot gnu dot org
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: dje at gcc dot gnu dot org @ 2008-05-09 21:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from dje at gcc dot gnu dot org 2008-05-09 21:41 -------
HP,
If there is no CONST wrapping the difference of symbols, does the CRIS port
continue to believe the address is legitimate? In other words, Paolo's patch
without the CONST? I would not object to removing the CONST because that
particular RTX disappears later and CONST is placed in the correct position.
Separate from the specific grouping satisfying legitimate_address, the RTL does
contain a difference of SYMBOL_REFs from different sections. If it is not a
valid address, valid instruction, valid relocation, GCC will generate the
difference as an explicit subtraction across multiple instructions because it
is trying to calculate that operation. I do not understand how the operation
GCC is trying to perform in the CRIS port is valid using multiple instructions.
Thanks, David
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (14 preceding siblings ...)
2008-05-09 21:42 ` dje at gcc dot gnu dot org
@ 2008-05-10 6:59 ` hp at gcc dot gnu dot org
2008-05-16 19:45 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-05-10 6:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from hp at gcc dot gnu dot org 2008-05-10 06:59 -------
(In reply to comment #14)
> If there is no CONST wrapping the difference of symbols, does the CRIS port
> continue to believe the address is legitimate?
As I said, for the failure on CRIS, it's not passed as an
*address*, just an ordinary operand.
> In other words, Paolo's patch
> without the CONST?
The CONST changes the world, so hopefully the right thing
would happen.
> Separate from the specific grouping satisfying legitimate_address, the RTL does
> contain a difference of SYMBOL_REFs from different sections. If it is not a
> valid address, valid instruction, valid relocation, GCC will generate the
> difference as an explicit subtraction across multiple instructions because it
> is trying to calculate that operation.
Correct.
> I do not understand how the operation
> GCC is trying to perform in the CRIS port is valid using multiple instructions.
Maybe it'll help if I just quote the faulty assembly code:
...
move.d $r12,$r13
add.d .LC6-__ZN...mangling elided...rep_storageE-12,$r13
ba .L98
nop
...
(The add.d does what you think; adds the offset to register $r13).
The ".LC6-__ZN...mangling elided...rep_storageE-12" (wrapped in a CONST) is
just passed to LEGITIMATE_CONSTANT_P at replacement time. No MEM in sight,
hence no GO_IF_LEGITIMATE_ADDRESS call.
brgds, H-P
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (15 preceding siblings ...)
2008-05-10 6:59 ` hp at gcc dot gnu dot org
@ 2008-05-16 19:45 ` rguenth at gcc dot gnu dot org
2008-05-17 2:05 ` hp at gcc dot gnu dot org
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-16 19:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from rguenth at gcc dot gnu dot org 2008-05-16 19:45 -------
Is this fixed on the branch?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (16 preceding siblings ...)
2008-05-16 19:45 ` rguenth at gcc dot gnu dot org
@ 2008-05-17 2:05 ` hp at gcc dot gnu dot org
2008-09-04 2:42 ` pinskia at gcc dot gnu dot org
2008-09-04 2:46 ` hp at gcc dot gnu dot org
19 siblings, 0 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-05-17 2:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from hp at gcc dot gnu dot org 2008-05-17 02:04 -------
For cris-axis-elf, this was fixed on the branch with (e.g.) r135125 (never saw
a problem on trunk, FWIW, previous erroneous branch revision was r135087),
matching dje's reversion of bonzin's patch, so I'm closing this.
Fallout-problems on other ports, please clone your own PR:s.
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (17 preceding siblings ...)
2008-05-17 2:05 ` hp at gcc dot gnu dot org
@ 2008-09-04 2:42 ` pinskia at gcc dot gnu dot org
2008-09-04 2:46 ` hp at gcc dot gnu dot org
19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-09-04 2:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from pinskia at gcc dot gnu dot org 2008-09-04 02:40 -------
Note the SPU back-end was not really the issue, the assembler/linker was the
issue and upgrading to a new one fixed the testcase for that issue.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/36182] [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
` (18 preceding siblings ...)
2008-09-04 2:42 ` pinskia at gcc dot gnu dot org
@ 2008-09-04 2:46 ` hp at gcc dot gnu dot org
19 siblings, 0 replies; 21+ messages in thread
From: hp at gcc dot gnu dot org @ 2008-09-04 2:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from hp at gcc dot gnu dot org 2008-09-04 02:44 -------
(In reply to comment #18)
> Note the SPU back-end was not really the issue, the assembler/linker was the
> issue and upgrading to a new one fixed the testcase for that issue.
... but that wasn't the issue for this PR, just the anectdotal reference in
comment #1 IIUC.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2008-09-04 2:46 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-08 22:44 [Bug rtl-optimization/36182] New: [4.3 Regression] Fix for PR 36090 causes libstdc++ regressions hp at gcc dot gnu dot org
2008-05-08 22:48 ` [Bug rtl-optimization/36182] " pinskia at gcc dot gnu dot org
2008-05-09 5:05 ` bonzini at gnu dot org
2008-05-09 5:05 ` bonzini at gnu dot org
2008-05-09 5:06 ` bonzini at gnu dot org
2008-05-09 9:00 ` rguenth at gcc dot gnu dot org
2008-05-09 13:37 ` bonzini at gnu dot org
2008-05-09 13:38 ` bonzini at gnu dot org
2008-05-09 13:38 ` bonzini at gnu dot org
2008-05-09 14:37 ` dje at gcc dot gnu dot org
2008-05-09 16:04 ` bonzini at gnu dot org
2008-05-09 17:15 ` dje at gcc dot gnu dot org
2008-05-09 17:17 ` rsandifo at nildram dot co dot uk
2008-05-09 19:19 ` hp at gcc dot gnu dot org
2008-05-09 19:29 ` hp at gcc dot gnu dot org
2008-05-09 21:42 ` dje at gcc dot gnu dot org
2008-05-10 6:59 ` hp at gcc dot gnu dot org
2008-05-16 19:45 ` rguenth at gcc dot gnu dot org
2008-05-17 2:05 ` hp at gcc dot gnu dot org
2008-09-04 2:42 ` pinskia at gcc dot gnu dot org
2008-09-04 2:46 ` hp 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).