public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/53483] New: unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176
@ 2012-05-24 22:17 jbemmel at zonnet dot nl
  2012-05-24 22:21 ` [Bug c/53483] " jbemmel at zonnet dot nl
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: jbemmel at zonnet dot nl @ 2012-05-24 22:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53483

             Bug #: 53483
           Summary: unwind.inc:140:1: internal compiler error: in
                    ix86_expand_epilogue, at config/i386/i386.c:11176
    Classification: Unclassified
           Product: gcc
           Version: 4.6.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jbemmel@zonnet.nl


Created attachment 27493
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27493
Output of -save-temps

Looks like http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45206 is back:

Compiling function '_Unwind_RaiseException' in unwind.inc (adapted from gcc
code base) with the following flags triggers this ICE:

-march=core2 -O3 -m32 -mpreferred-stack-boundary=3 -mrtd

* -march=nocona also triggers it, -march=pentium does not
* -mpreferred-stack-boundary=2 also triggers it, =4 does not
* -O2 or -O1 also don't trigger it
* -m64 or omitting -m32 fixes it too
* leaving out -mrtd fixes it

Commandline and preprocessed sources attached below. Note that this ICE is
still present in the latest GCC SVN (different line number):

code/Core/src/Exceptions/unwind.inc: In function '_Unwind_RaiseException':
code/Core/src/Exceptions/unwind.inc:140:1: internal compiler error: in
ix86_expand_epilogue, at config/i386/i386.c:10897

$ /usr/bin/gcc -Icode/Core/include -c code/Core/src/Exceptions/unwind-dw2.c
-march=core2 -O3 -m32 -mpreferred-stack-boundary=3 -mrtd -save-temps -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin
--enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-ppl --with-cloog --with-tune=generic --with-arch_32=i686
--build=x86_64-redhat-linux
Thread model: posix
gcc version 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) 
COLLECT_GCC_OPTIONS='-I' 'code/Core/include' '-c' '-march=core2' '-O3' '-m32'
'-mpreferred-stack-boundary=3' '-mrtd' '-save-temps' '-v'
 /usr/libexec/gcc/x86_64-redhat-linux/4.6.3/cc1 -E -quiet -v -I
code/Core/include -imultilib 32 code/Core/src/Exceptions/unwind-dw2.c
-march=core2 -m32 -mpreferred-stack-boundary=3 -mrtd -O3 -fpch-preprocess -o
unwind-dw2.i
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-redhat-linux/4.6.3/include-fixed"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-redhat-linux/4.6.3/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 code/Core/include
 /usr/lib/gcc/x86_64-redhat-linux/4.6.3/include
 /usr/local/include
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-I' 'code/Core/include' '-c' '-march=core2' '-O3' '-m32'
'-mpreferred-stack-boundary=3' '-mrtd' '-save-temps' '-v'
 /usr/libexec/gcc/x86_64-redhat-linux/4.6.3/cc1 -fpreprocessed unwind-dw2.i
-quiet -dumpbase unwind-dw2.c -march=core2 -m32 -mpreferred-stack-boundary=3
-mrtd -auxbase unwind-dw2 -O3 -version -o unwind-dw2.s
GNU C (GCC) version 4.6.3 20120306 (Red Hat 4.6.3-2) (x86_64-redhat-linux)
    compiled by GNU C version 4.6.3 20120306 (Red Hat 4.6.3-2), GMP version
4.3.2, MPFR version 3.0.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.6.3 20120306 (Red Hat 4.6.3-2) (x86_64-redhat-linux)
    compiled by GNU C version 4.6.3 20120306 (Red Hat 4.6.3-2), GMP version
4.3.2, MPFR version 3.0.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: a832aa6a2b1e3d9f3b0f3b81987c045f
In file included from code/Core/src/Exceptions/unwind-dw2.c:1587:0:
code/Core/src/Exceptions/unwind.inc: In function '_Unwind_RaiseException':
code/Core/src/Exceptions/unwind.inc:140:1: internal compiler error: in
ix86_expand_epilogue, at config/i386/i386.c:11176
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccqFcOpp.out file, please attach this to
your bugreport.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c/53483] unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176
  2012-05-24 22:17 [Bug c/53483] New: unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176 jbemmel at zonnet dot nl
@ 2012-05-24 22:21 ` jbemmel at zonnet dot nl
  2012-05-24 22:32 ` [Bug target/53483] " pinskia at gcc dot gnu.org
  2012-05-24 23:23 ` jbemmel at zonnet dot nl
  2 siblings, 0 replies; 4+ messages in thread
From: jbemmel at zonnet dot nl @ 2012-05-24 22:21 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53483

--- Comment #1 from Jeroen van Bemmel <jbemmel at zonnet dot nl> 2012-05-24 22:19:33 UTC ---
The gcc_assert which fails is in i386.c line 10897 (latest SVN):

/* Stack align doesn't work with eh_return.  */
gcc_assert (!stack_realign_drap);


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/53483] unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176
  2012-05-24 22:17 [Bug c/53483] New: unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176 jbemmel at zonnet dot nl
  2012-05-24 22:21 ` [Bug c/53483] " jbemmel at zonnet dot nl
@ 2012-05-24 22:32 ` pinskia at gcc dot gnu.org
  2012-05-24 23:23 ` jbemmel at zonnet dot nl
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-05-24 22:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53483

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-redhat-linux
          Component|c                           |target

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-24 22:31:21 UTC ---
I don't think the RTD calling convention is supported on Linux at all.  In fact
if you don't have your glibc compiled with it, there is no way for this to work
correctly.

I suspect we should just error out if -mrtd is used under Linux.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/53483] unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176
  2012-05-24 22:17 [Bug c/53483] New: unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176 jbemmel at zonnet dot nl
  2012-05-24 22:21 ` [Bug c/53483] " jbemmel at zonnet dot nl
  2012-05-24 22:32 ` [Bug target/53483] " pinskia at gcc dot gnu.org
@ 2012-05-24 23:23 ` jbemmel at zonnet dot nl
  2 siblings, 0 replies; 4+ messages in thread
From: jbemmel at zonnet dot nl @ 2012-05-24 23:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53483

--- Comment #3 from Jeroen van Bemmel <jbemmel at zonnet dot nl> 2012-05-24 23:21:21 UTC ---
(In reply to comment #2)
> I don't think the RTD calling convention is supported on Linux at all.  In fact
> if you don't have your glibc compiled with it, there is no way for this to work
> correctly.
> 
> I suspect we should just error out if -mrtd is used under Linux.

I'm building my own OS kernel here. -mrtd is probably not used much anymore,
but the compiler shouldn't ICE when it is used


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-24 23:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-24 22:17 [Bug c/53483] New: unwind.inc:140:1: internal compiler error: in ix86_expand_epilogue, at config/i386/i386.c:11176 jbemmel at zonnet dot nl
2012-05-24 22:21 ` [Bug c/53483] " jbemmel at zonnet dot nl
2012-05-24 22:32 ` [Bug target/53483] " pinskia at gcc dot gnu.org
2012-05-24 23:23 ` jbemmel at zonnet dot nl

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).