Hi Dave, Could you do the very same test with -fno-delayed-branch ? Compiling without that optimization on my system makes the problem go away. It is really a problem with that part of the code and delayed branching. This has been tested with different versions of gcc (4.1.2, 4.2.4, 4.3.1). Both 4.2 and 4.3 exhibit the issue once you compile with -march=2.0 and -fdelayed-branch. Also, compiling with -march=2.0 -O0 -fdelayed-branch doesn't produce a segv but produces the following error message : hope tests # ../src/lzma/lzma -c < in > out ../src/lzma/lzma: SetCoderProperties() error There is really a compiler issue here. For reference, the Gentoo bug can be found here : http://bugs.gentoo.org/show_bug.cgi?id=228287 Also, not sure if you noticed but values printed in the gdb backtrace are completely wrong. But that is a different issue as binaries generated with any compilers shows the same thing. Regards, Guy On Sat, 3 Jan 2009 12:21:25 -0500 (EST) "John David Anglin" <dave@xxxxxxxxxxxxxxxxxx> wrote: > > to reproduce, just download lzma-4.32.7.tar.gz and do: > > tar xf lzma-4.32.7.tar.gz > > cd lzma-4.32.7 > > CXXFLAGS=3D'-O1 -march=3D2.0 -g' ./configure > > make > > make check > > Built as above. I see a segv compressing InBuffer.o in build > directory. > > Program received signal SIGSEGV, Segmentation fault. > 0x00024638 in NCompress::NLZMA::CEncoder::SetStreams > (this=0x4158f000, inStream=0x0, outStream=0x3, inSize=0x12, > outSize=0x0) > at ../../../../../../src/sdk/7zip/Compress/LZMA/LZMAEncoder.cpp:1251 > 1251 RINOK(Create()); > > There is a problem with memory allocation in MyAlloc: > > Breakpoint 2, MyAlloc (size=72355848) > at ../../../src/sdk/Common/Alloc.cpp:24 24 if (size == 0) > > This fails: > > (gdb) > NBT4::CMatchFinderBinTree::Create (this=0x32100, historySize=8388608, > keepAddBufferBefore=<value optimized out>, > matchMaxLen=<value optimized out>, keepAddBufferAfter=419) > at ../../../../../../src/sdk/7zip/Compress/LZMA/../LZ/BinTree/BinTreeMain.h:97 > 97 if (_hash != 0) > (gdb) > 101 return E_OUTOFMEMORY; > > There isn't a check for out of memory at 1251, so segv. Don't have > time now to look at memory allocation problem. > > Dave -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html