[LLVMdev] Why would -disable-fp-elim cause SEGV in JIT, when without it code works fine?

Yuri yuri at rawbw.com
Wed Jun 23 01:26:26 PDT 2010


I have this situation when the same code SEGVs in JIT with option 
-disable-fp-elim and works fine without it.
How can this possibly happen?
Is it possible that there is a bug in JIT that stack isn't properly 
lowered for local variables when prologs are present?
Or maybe JIT can accidentally use ebp for some values when it's supposed 
to be only used by frame pointer value.

Stack (see below) in gdb looks strange -- there are some very low values 
or zeros there.

How well code with prologs is tested? Does llvm (llvm-g++/clang) 
normally generate code only without prologs?

r105825

Yuri

(gdb) bt
#0  0x5e95c0c6 in ?? ()
#1  0x00000019 in ?? ()
#2  0x5e98a28f in ?? ()
#3  0x0a5a00bc in ?? ()
#4  0x09cae924 in ?? ()
#5  0x00000006 in ?? ()
#6  0x5e98b895 in ?? ()
#7  0x0a5a00bc in ?? ()
#8  0x09cae924 in ?? ()
#9  0x0a29a32c in ?? ()
#10 0x0a29a32c in ?? ()
#11 0x09c40df0 in ?? ()
#12 0x50aa88e0 in ?? ()
#13 0x50aa88c0 in ?? ()
#14 0xbfbfa824 in ?? ()
#15 0x348405e8 in dladdr () from /libexec/ld-elf.so.1
#16 0x5e900d76 in ?? ()
#17 0x0a5a00bc in ?? ()
#18 0x09cae90c in ?? ()
#19 0x00000000 in ?? ()
#20 0x0902df80 in ?? ()
#21 0x5e7210ac in ?? ()
#22 0x00000000 in ?? ()
#23 0x00000000 in ?? ()
#24 0x64616572 in ?? ()
#25 0x09caec9c in ?? ()
<skipped>




More information about the llvm-dev mailing list