Tail call requirements should be discussed
#100
Closed
opened 5 years ago by wschmidt-ibm
·
0 comments
Loading…
Reference in New Issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
Neither ELFv1 nor ELFv2 ABIs discuss tail call optimization by compilers or assembly programmers. There are limitations on these that should be called out. For example, we recently discovered glibc was breaking the effective ABI by using assembly code to generate a tail call across compilation boundaries, something which is not allowed (since there is no way to know if the TOC is preserved, and no way to restore it upon return). The ABI should not be completely silent on this topic.