* [Bug c++/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
@ 2014-03-17 20:46 ` reed.kotler at imgtec dot com
2014-03-17 21:04 ` [Bug target/60556] " pinskia at gcc dot gnu.org
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 20:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #1 from reed kotler <reed.kotler at imgtec dot com> ---
Created attachment 32377
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32377&action=edit
.sh file to run the compiler
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
2014-03-17 20:46 ` [Bug c++/60556] " reed.kotler at imgtec dot com
@ 2014-03-17 21:04 ` pinskia at gcc dot gnu.org
2014-03-17 21:08 ` pinskia at gcc dot gnu.org
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 21:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I don't see the .ii file.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
2014-03-17 20:46 ` [Bug c++/60556] " reed.kotler at imgtec dot com
2014-03-17 21:04 ` [Bug target/60556] " pinskia at gcc dot gnu.org
@ 2014-03-17 21:08 ` pinskia at gcc dot gnu.org
2014-03-17 21:09 ` reed.kotler at imgtec dot com
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 21:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2014-03-17
Ever confirmed|0 |1
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Also how did you configure your compiler?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (2 preceding siblings ...)
2014-03-17 21:08 ` pinskia at gcc dot gnu.org
@ 2014-03-17 21:09 ` reed.kotler at imgtec dot com
2014-03-17 21:17 ` pinskia at gcc dot gnu.org
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 21:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #4 from reed kotler <reed.kotler at imgtec dot com> ---
it's too big.
what do you suggest?
Where should i put it?
1200k bytes
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (3 preceding siblings ...)
2014-03-17 21:09 ` reed.kotler at imgtec dot com
@ 2014-03-17 21:17 ` pinskia at gcc dot gnu.org
2014-03-17 21:23 ` reed.kotler at imgtec dot com
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 21:17 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to reed kotler from comment #4)
> it's too big.
>
> what do you suggest?
Try to use gzip or bzip to compress it.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (4 preceding siblings ...)
2014-03-17 21:17 ` pinskia at gcc dot gnu.org
@ 2014-03-17 21:23 ` reed.kotler at imgtec dot com
2014-03-17 21:25 ` reed.kotler at imgtec dot com
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 21:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #6 from reed kotler <reed.kotler at imgtec dot com> ---
(In reply to Andrew Pinski from comment #3)
> Also how did you configure your compiler?
$ /home/rkotler/slave/slavebuildgccbe/build/src/gcc/configure
--prefix=/home/r
kotler/slave/slavebuildgccbe/build/install-mips-mti-linux-gnu --disable-libssp
-
-disable-libgomp --disable-libmudflap --disable-fixed-point
--disable-decimal-fl
oat --with-mips-plt --target=mips-mti-linux-gnu --enable-languages=c
--with-newl
ib --without-headers --disable-shared --disable-threads --disable-libquadmath
--
disable-libatomic
$ /home/rkotler/slave/slavebuildgccbe/build/src/gcc/libatomic/configure
--cach
e-file=./config.cache --enable-multilib
--with-cross-host=x86_64-unknown-linux-g
nu
--prefix=/home/rkotler/slave/slavebuildgccbe/build/install-mips-mti-linux-gnu
--disable-libssp --disable-libgomp --disable-libmudflap --disable-fixed-point
-
-disable-decimal-float --with-mips-plt --enable-__cxa_atexit
--with-sysroot=/hom
e/rkotler/slave/slavebuildgccbe/build/install-mips-mti-linux-gnu/sysroot
--with-
build-sysroot=/home/rkotler/slave/slavebuildgccbe/build/install-mips-mti-linux-g
nu/sysroot --enable-languages=c,c++,lto
--program-transform-name=s&^&mips-mti-li
nux-gnu-& --disable-option-checking --with-target-subdir=mips-mti-linux-gnu
--bu
ild=x86_64-unknown-linux-gnu --host=mips-mti-linux-gnu
--target=mips-mti-linux-g
nu --srcdir=/home/rkotler/slave/slavebuildgccbe/build/src/gcc/libatomicq
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (5 preceding siblings ...)
2014-03-17 21:23 ` reed.kotler at imgtec dot com
@ 2014-03-17 21:25 ` reed.kotler at imgtec dot com
2014-03-17 21:32 ` pinskia at gcc dot gnu.org
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 21:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #7 from reed kotler <reed.kotler at imgtec dot com> ---
Created attachment 32378
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32378&action=edit
.ii gziped
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (6 preceding siblings ...)
2014-03-17 21:25 ` reed.kotler at imgtec dot com
@ 2014-03-17 21:32 ` pinskia at gcc dot gnu.org
2014-03-17 21:33 ` reed.kotler at imgtec dot com
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 21:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |UNCONFIRMED
Ever confirmed|1 |0
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I can reproduce the bug and now I am reducing it.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (7 preceding siblings ...)
2014-03-17 21:32 ` pinskia at gcc dot gnu.org
@ 2014-03-17 21:33 ` reed.kotler at imgtec dot com
2014-03-17 22:05 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 21:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #9 from reed kotler <reed.kotler at imgtec dot com> ---
(In reply to Andrew Pinski from comment #8)
> I can reproduce the bug and now I am reducing it.
Awesome! Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (8 preceding siblings ...)
2014-03-17 21:33 ` reed.kotler at imgtec dot com
@ 2014-03-17 22:05 ` pinskia at gcc dot gnu.org
2014-03-17 22:16 ` pinskia at gcc dot gnu.org
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 22:05 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I should note the code is undefined and has (uint64_t)&stat and that itself is
causing the issue. If I change it to be
(uint64_t)(unsigned long)&stat, GCC does not crash.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (9 preceding siblings ...)
2014-03-17 22:05 ` pinskia at gcc dot gnu.org
@ 2014-03-17 22:16 ` pinskia at gcc dot gnu.org
2014-03-17 23:54 ` reed.kotler at imgtec dot com
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-17 22:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #10)
> I should note the code is undefined and has (uint64_t)&stat and that itself
> is causing the issue. If I change it to be
> (uint64_t)(unsigned long)&stat, GCC does not crash.
But using long instead of unsigned long causes the crash.
Reduced testcase:
int g (int);
unsigned long long f(void) {
return (unsigned long long)(long)&g;
}
This happens with both the C and C++ front-ends.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (10 preceding siblings ...)
2014-03-17 22:16 ` pinskia at gcc dot gnu.org
@ 2014-03-17 23:54 ` reed.kotler at imgtec dot com
2014-03-18 0:14 ` pinskia at gcc dot gnu.org
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-17 23:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #12 from reed kotler <reed.kotler at imgtec dot com> ---
(In reply to Andrew Pinski from comment #11)
> (In reply to Andrew Pinski from comment #10)
> > I should note the code is undefined and has (uint64_t)&stat and that itself
> > is causing the issue. If I change it to be
> > (uint64_t)(unsigned long)&stat, GCC does not crash.
>
> But using long instead of unsigned long causes the crash.
>
> Reduced testcase:
> int g (int);
> unsigned long long f(void) {
> return (unsigned long long)(long)&g;
> }
>
> This happens with both the C and C++ front-ends.
Thanks.
Do you know where the original line was that made it fail in the .ii?
Depending on the location, I can possibly make the source change for now until
the bug gets fixed in gcc.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (11 preceding siblings ...)
2014-03-17 23:54 ` reed.kotler at imgtec dot com
@ 2014-03-18 0:14 ` pinskia at gcc dot gnu.org
2014-03-19 16:36 ` reed.kotler at imgtec dot com
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-03-18 0:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to reed kotler from comment #12)
>
> Do you know where the original line was that made it fail in the .ii?
Yes:
# 227 "/home/rkotler/llvm_trunk/lib/ExecutionEngine/RTDyldMemoryManager.cpp"
if (Name == "stat") return (uint64_t)&stat;
if (Name == "fstat") return (uint64_t)&fstat;
if (Name == "lstat") return (uint64_t)&lstat;
if (Name == "stat64") return (uint64_t)&stat64;
if (Name == "fstat64") return (uint64_t)&fstat64;
if (Name == "lstat64") return (uint64_t)&lstat64;
if (Name == "atexit") return (uint64_t)&atexit;
if (Name == "mknod") return (uint64_t)&mknod;
# 254 "/home/rkotler/llvm_trunk/lib/ExecutionEngine/RTDyldMemoryManager.cpp"
if (Name == "__main") return (uint64_t)&jit_noop;
You can just cast them to unsigned long before casting them to uint64_t for the
work around.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (12 preceding siblings ...)
2014-03-18 0:14 ` pinskia at gcc dot gnu.org
@ 2014-03-19 16:36 ` reed.kotler at imgtec dot com
2014-03-19 17:45 ` sje at gcc dot gnu.org
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: reed.kotler at imgtec dot com @ 2014-03-19 16:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #14 from reed kotler <reed.kotler at imgtec dot com> ---
(In reply to Andrew Pinski from comment #13)
> (In reply to reed kotler from comment #12)
> >
> > Do you know where the original line was that made it fail in the .ii?
>
> Yes:
> # 227 "/home/rkotler/llvm_trunk/lib/ExecutionEngine/RTDyldMemoryManager.cpp"
> if (Name == "stat") return (uint64_t)&stat;
> if (Name == "fstat") return (uint64_t)&fstat;
> if (Name == "lstat") return (uint64_t)&lstat;
> if (Name == "stat64") return (uint64_t)&stat64;
> if (Name == "fstat64") return (uint64_t)&fstat64;
> if (Name == "lstat64") return (uint64_t)&lstat64;
> if (Name == "atexit") return (uint64_t)&atexit;
> if (Name == "mknod") return (uint64_t)&mknod;
> # 254 "/home/rkotler/llvm_trunk/lib/ExecutionEngine/RTDyldMemoryManager.cpp"
> if (Name == "__main") return (uint64_t)&jit_noop;
>
>
> You can just cast them to unsigned long before casting them to uint64_t for
> the work around.
Great!
This code is from LLVM. By making this change I can build a working llvm using
gcc cross and native.
Do we have any idea when the gcc will be fixed so I don't need to this
workaround?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug target/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (13 preceding siblings ...)
2014-03-19 16:36 ` reed.kotler at imgtec dot com
@ 2014-03-19 17:45 ` sje at gcc dot gnu.org
2014-03-20 16:27 ` [Bug middle-end/60556] " sje at gcc dot gnu.org
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: sje at gcc dot gnu.org @ 2014-03-19 17:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #16 from Steve Ellcey <sje at gcc dot gnu.org> ---
It looks like this is a bug in convert_move when POINTERS_EXTEND_UNSIGNED
is false. If unsignedp is false we call emit_store_flag to get 'fill_value'.
Arguments 3 and 4 (op0 and op1 in emit_store_flag) are:
(symbol_ref:SI ("g") [flags 0x41] <function_decl 0x7f0208e65900 g>)
(const_int 0 [0])
This causes emit_store_flag to return NULL_RTX which gets passed into
emit_move which causes the abort. I am testing at this patch which
fixes the test case. Technically we should only need to force from
into a register if it is a symbol and if unsignedp is not set but
it seems cleaner to do it for all symbols.
diff --git a/gcc/expr.c b/gcc/expr.c
index be62c53..d065588 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -533,7 +533,8 @@ convert_move (rtx to, rtx from, int unsignedp)
conversion sequence might require several references to it and we
must ensure we're getting the same value every time. */
- if (MEM_P (from) || reg_overlap_mentioned_p (to, from))
+ if (MEM_P (from) || GET_CODE (from) == SYMBOL_REF
+ || reg_overlap_mentioned_p (to, from))
from = force_reg (from_mode, from);
/* Get a copy of FROM widened to a word, if necessary. */
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug middle-end/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (14 preceding siblings ...)
2014-03-19 17:45 ` sje at gcc dot gnu.org
@ 2014-03-20 16:27 ` sje at gcc dot gnu.org
2014-04-11 11:52 ` jakub at gcc dot gnu.org
2014-04-11 11:58 ` jakub at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: sje at gcc dot gnu.org @ 2014-03-20 16:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
Steve Ellcey <sje at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|target |middle-end
--- Comment #17 from Steve Ellcey <sje at gcc dot gnu.org> ---
I am changing this from a target but to a middle-end bug since the problem is
in expr.c and not MIPS specific. Any target where POINTERS_EXTEND_UNSIGNED is
false could hit this. A patch based on comment #16 will be submitted shortly.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug middle-end/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (15 preceding siblings ...)
2014-03-20 16:27 ` [Bug middle-end/60556] " sje at gcc dot gnu.org
@ 2014-04-11 11:52 ` jakub at gcc dot gnu.org
2014-04-11 11:58 ` jakub at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-04-11 11:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Fri Apr 11 11:52:14 2014
New Revision: 209300
URL: http://gcc.gnu.org/viewcvs?rev=209300&root=gcc&view=rev
Log:
PR middle-end/60556
* expr.c (convert_move): Use emit_store_flag_force instead of
emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
argument to it.
* gcc.c-torture/compile/pr60556.c: New test.
Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr60556.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug middle-end/60556] tip of tree crash with mips compiler
2014-03-17 20:45 [Bug c++/60556] New: tip of tree crash with mips compiler reed.kotler at imgtec dot com
` (16 preceding siblings ...)
2014-04-11 11:52 ` jakub at gcc dot gnu.org
@ 2014-04-11 11:58 ` jakub at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-04-11 11:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60556
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |jakub at gcc dot gnu.org
Resolution|--- |FIXED
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Hopefully fixed now.
^ permalink raw reply [flat|nested] 19+ messages in thread