Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DWARF CFI: use a stack for restore/remember opcodes #3480

Merged

Commits on Aug 23, 2023

  1. DWARF CFI: use a stack for restore/remember opcodes

    Implementing the `DW_CFA_remember_state` and `DW_CFA_restore_state`
    according to the DWARF specification requires us to create a stack that
    can store an arbitrary number of elements, that is, there could be
    multiple "pushes" before "popping" them.
    
    From the 5th revision of the spec [0]:
    
    > 6.4.2.4 Row State Instructions
    > DW_CFA_remember_state
    > 	The DW_CFA_remember_state instruction takes no operands. The required
    >	action is to push the set of rules for every register onto an implicit stack.
    >	DW_CFA_restore_state
    > DW_CFA_restore_state
    >	The DW_CFA_restore_state instruction takes no operands. The required action
    >	is to pop the set of rules off the implicit stack and place them in the
    >	current row.
    
    - [0]: https://dwarfstd.org/doc/DWARF5.pdf
    
    Signed-off-by: Francisco Javier Honduvilla Coto <javierhonduco@gmail.com>
    javierhonduco committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    86b6964 View commit details
    Browse the repository at this point in the history