I'm a little skeptical of the claim that detecting function start boundaries is undecidable. What, precisely, is the language/decision prob?
-
Show this thread
-
I propose L = {⟨𝐵, 𝑎⟩ | 𝐵 is an executable and 𝑎 is the address of the start of a function}. But you need to define what a function is.
1 reply 0 retweets 0 likesShow this thread -
Replying to @stevecheckoway
That's not necessarily easy. You can clearly do it restricted to external (ABI) functions given a grid-aligned ISA tho.
1 reply 0 retweets 0 likes -
Replying to @RichFelker
I couldn't think of a good definition of a function that wasn't "the compiler intended this to be a function."
2 replies 0 retweets 2 likes -
Replying to @stevecheckoway @RichFelker
Here's an outlined function prologue and epilogue. The prologue is called with `call`. Are these functions? IDA thinks so.pic.twitter.com/sHqzRAuyF0
1 reply 0 retweets 0 likes
Thus "slightly stupid". Asserting ABI postconditions may tighten the definition usefully.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.