Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Dec 7, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Add fake_stack_pop implementation for Linux platforms to improve stack
unwinding in debuggers when analyzing core dumps from signals like
SIGQUIT. This provides proper DWARF Call Frame Information (CFI)
directives that help unwinders locate saved register values on the
manipulated stack.

The implementation follows the same pattern as the existing macOS
version, with fake_stack_pop now unified in signals-unix.c to support
both platforms:
- x86_64: Uses .cfi_def_cfa %rsp with offsets for %rip and %rsp
- i686: Uses .cfi_def_cfa %esp with offsets for %eip and %esp
- aarch64: Uses .cfi_def_cfa sp with offsets for lr and sp

The jl_call_in_ctx function on Linux now sets up the stack similarly to
jl_call_in_state on macOS, pushing saved register state and a return
address pointing to fake_stack_pop to enable proper unwinding.

🤖 Generated with Claude Code
@pull pull bot locked and limited conversation to collaborators Dec 7, 2025
@pull pull bot added the ⤵️ pull label Dec 7, 2025
@pull pull bot merged commit 8fd607a into MLH-Fellowship:master Dec 7, 2025
3 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant