Closed
Description
I have added csky-unknown-linux-gnuabiv2
and csky-unknown-linux-gnuabiv2hf
last days in rust-lang/rust#113658 . And I got SIGSEGV
when I run a executable file on csky.
I checked the file and found that in LLVM-IR
file of compiler-buildins
, (Taking __floatuntidf
as an example),it defines __floatuntidf
as
define hidden noundef double @__floatuntidf(ptr noalias nocapture noundef readonly align 4 dereferenceable(16) %i) unnamed addr
which has a ptr
parameter but not values.
In executable files, the value of parameters are passed to the __floatuntidf
. and then it regard the value as an address to load data, which causes the SIGSEGV
It's confused me that what caused the parameters become ptr
.
Is this function compiled from float/conv.rs or anywhere else?
And how can I fixed it?
Metadata
Metadata
Assignees
Labels
No labels