public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc
@ 2012-11-15 11:24 anton.katilin at gmail dot com
  2012-11-15 11:28 ` [Bug c++/55339] " anton.katilin at gmail dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: anton.katilin at gmail dot com @ 2012-11-15 11:24 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 55339
           Summary: Generated code hangs with -O2 on Linux ppc
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: anton.katilin@gmail.com


Please find attached a test program and _compile.sh to compile it.

_compile.sh produces 2 output files: test-O2.bin and test-O1.bin, compiled with
-O2 and -O1 respectively.

test-O1.bin works just fine:

$ ./test-O1.bin
entering...
exception caught, as expected
OK
$

test-O1.bin hangs:

$ ./test-O2.bin

entering...
<hangs forever at this point...>

$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/opt/gcc-4.7.2/libexec/gcc/powerpc64-unknown-linux-gnu/4.7.2/lto-wrapper
Target: powerpc64-unknown-linux-gnu
Configured with: ../gcc-4.7.2/configure --prefix=/opt/gcc-4.7.2
--enable-threads=posix --disable-libunwind-exceptions --with-system-zlib
--enable-__cxa_atexit --enable-languages=c,c++ --enable-multilib
Thread model: posix
gcc version 4.7.2 (GCC)

$ uname -a
Linux localhost.localdomain 2.6.29-3.ydl61.3 #1 SMP Thu Jun 25 12:22:41 EDT
2009 ppc64 ppc64 ppc64 GNU/Linux


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

* [Bug c++/55339] Generated code hangs with -O2 on Linux ppc
  2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
@ 2012-11-15 11:28 ` anton.katilin at gmail dot com
  2012-11-15 11:35 ` [Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: anton.katilin at gmail dot com @ 2012-11-15 11:28 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #1 from anton.katilin at gmail dot com 2012-11-15 11:28:32 UTC ---
Compile with:
-------------------------------------

export PATH=/opt/gcc-4.7.2/bin:$PATH

g++ -m32 -fPIC -O2 *.cpp -o test-O2.bin
g++ -m32 -fPIC -O1 *.cpp -o test-O1.bin



Please find the source code of the test below.

-------------------------------------
Test.cpp
-------------------------------------

#include <stdio.h>

#include "Foo.h"

int main() {
  try {
    printf("entering...\n");
    fflush(stdout);

    YS(-1); // will throw exception

    printf("must never reach\n");
  }
  catch (int) {
    printf("exception caught, as expected\n");
  }

  printf("OK\n");

  return 0;
}


-------------------------------------
Foo.h
-------------------------------------

#pragma once

void foo();

void checkPositive(int);

class YS {
public:
  YS(int capacity) {
    checkPositive(capacity);
  }

  ~YS() {
    foo();
  }
};

void throwException(const YS&);


-------------------------------------
Foo.cpp
-------------------------------------

#include "Foo.h"

void foo() {
}

void checkPositive(int v) {
  if (v <= 0) {
    throwException(10);
  }
}

void throwException(const YS&) {
  throw int(1);
}


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

* [Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime
  2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
  2012-11-15 11:28 ` [Bug c++/55339] " anton.katilin at gmail dot com
@ 2012-11-15 11:35 ` paolo.carlini at oracle dot com
  2012-11-15 14:35 ` anton.katilin at gmail dot com
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-11-15 11:35 UTC (permalink / raw)
  To: gcc-bugs


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

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal


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

* [Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime
  2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
  2012-11-15 11:28 ` [Bug c++/55339] " anton.katilin at gmail dot com
  2012-11-15 11:35 ` [Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime paolo.carlini at oracle dot com
@ 2012-11-15 14:35 ` anton.katilin at gmail dot com
  2012-11-15 18:06 ` [Bug target/55339] " pinskia at gcc dot gnu.org
  2012-11-16 17:44 ` anton.katilin at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: anton.katilin at gmail dot com @ 2012-11-15 14:35 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #2 from anton.katilin at gmail dot com 2012-11-15 14:35:12 UTC ---
An update:

There is no problem when linking statically, i.e. if we do

g++ -m32 -fPIC -O2 *.cpp -static-libstdc++ -static-libgcc -o test-O2.bin

instead of

g++ -m32 -fPIC -O2 *.cpp -o test-O2.bin


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

* [Bug target/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime
  2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
                   ` (2 preceding siblings ...)
  2012-11-15 14:35 ` anton.katilin at gmail dot com
@ 2012-11-15 18:06 ` pinskia at gcc dot gnu.org
  2012-11-16 17:44 ` anton.katilin at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-11-15 18:06 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |powerpc-linux-gnu
          Component|c++                         |target

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-11-15 18:06:08 UTC ---
>--disable-libunwind-exceptions

Why did you do that?  Though it should not matter for PPC.


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

* [Bug target/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime
  2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
                   ` (3 preceding siblings ...)
  2012-11-15 18:06 ` [Bug target/55339] " pinskia at gcc dot gnu.org
@ 2012-11-16 17:44 ` anton.katilin at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: anton.katilin at gmail dot com @ 2012-11-16 17:44 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #4 from anton.katilin at gmail dot com 2012-11-16 17:44:16 UTC ---
> Why did you do that?

We copied the configuration of gcc 4.1.2 available on the system (Yellow Dog
Linux) out of the box. It had been configured with
--disable-libunwind-exceptions

By the way, the problem is not reproducible with that gcc 4.1.2.


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

end of thread, other threads:[~2012-11-16 17:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-15 11:24 [Bug c++/55339] New: Generated code hangs with -O2 on Linux ppc anton.katilin at gmail dot com
2012-11-15 11:28 ` [Bug c++/55339] " anton.katilin at gmail dot com
2012-11-15 11:35 ` [Bug c++/55339] C++ code compiled with -O2 on Linux ppc hangs in runtime paolo.carlini at oracle dot com
2012-11-15 14:35 ` anton.katilin at gmail dot com
2012-11-15 18:06 ` [Bug target/55339] " pinskia at gcc dot gnu.org
2012-11-16 17:44 ` anton.katilin at gmail dot com

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