-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Closed
Labels
Description
The logic for detecting deferreturn calls is wrong.
We look for a relocation whose symbol is runtime.deferreturn
and has an offset of 0. But on some architectures, the relocation offset is not zero. These include arm (the offset is 0xebfffffe) and s390x (the offset is 6).
This ends up having the deferreturn offset at 0, so we end up using the entry point live map instead of the deferreturn live map in a frame which defers and then segfaults.
Update #6980