[Bug lto/53746] [lto] segfault in std::vector::__base_ctor (with -fno-math-errno -fipa-pta)

vincenzo.innocente at cern dot ch gcc-bugzilla@gcc.gnu.org
Sat Jun 23 09:06:00 GMT 2012


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

vincenzo Innocente <vincenzo.innocente at cern dot ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[lto] segfault in           |[lto] segfault in
                   |std::vector::__base_ctor    |std::vector::__base_ctor
                   |                            |(with -fno-math-errno
                   |                            |-fipa-pta)

--- Comment #2 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2012-06-23 09:06:30 UTC ---
to reproduce the crash 
get the preprocessed files 

wget http://innocent.home.cern.ch/innocent/bugAlgo.tgz
tar -xzf bugAlgo.tgz 
cd bugAlgo/
and run
export CXXGO="c++  -g -fPIC -fno-fat-lto-objects -flto -ffunction-sections -O2
-pipe -std=gnu++11 -msse3 -fvisibility-inlines-hidden -fno-math-errno
-fipa-pta"
echo $CXXGO

for f in *.ii
do
$CXXGO -c $f
done

$CXXGO -Wl,-v stubs.o -shared -o libstubs.so -Wl,-rpath=./ 
$CXXGO -Wl,-v CosmicClusterAlgo.o EndcapPiZeroDiscriminatorAlgo.o
HybridClusterAlgo.o Multi5x5BremRecoveryClusterAlgo.o PreshowerClusterAlgo.o
a1.o  -shared -o libAlgo.so -Wl,-rpath=./ -L./ -lstubs 

$CXXGO -Wl,-v HybridClusterTest.o -Wl,-rpath=./ -L./ -lAlgo -lstubs 
./a.out 1 2

it will instead end correctly if one removed either  -fno-math-errno or
-fipa-pta
or linking just 
$CXXGO -Wl,-v CosmicClusterAlgo.o EndcapPiZeroDiscriminatorAlgo.o
HybridClusterAlgo.o Multi5x5BremRecoveryClusterAlgo.o -shared -o libAlgo.so
-Wl,-rpath=./ -L./ -lstubs 

the main is just invoking a constructor contained in HybridClusterAlgo

the behavior is the same
on vanilla fedora 17,
with 4.7.1, 
with gcc version 4.8.0 20120608



More information about the Gcc-bugs mailing list