japaric / cargo-call-stack

Whole program static stack analysis
Apache License 2.0
560 stars 50 forks source link

add heuristics to deal with outlined functions #68

Closed japaric closed 2 years ago

japaric commented 2 years ago

as of version 14.0.6, the outlined functions produced by one of LLVM's optimization passes do not get assigned a correct stack size by LLVM's emit-stack-sizes pass

to work around the issue use the stack usage obtained from analyzing the machine code (ARM Cortex-M only) instead of the stack usage reported by LLVM

also, avoid producing warnings about not having type information for outlined functions. so far all these outlined functions appear to be called directly and never via a function pointer

closes #65

japaric commented 2 years ago

bors r+

japaric commented 2 years ago

https://github.com/japaric/cargo-call-stack/actions/runs/2622613606

build is green but bors got stuck. merging manually

bors[bot] commented 2 years ago

Timed out.