• Hendrik Brueckner's avatar
    s390/vdso: revise CFI annotations of vDSO functions · 7bceec4e
    Hendrik Brueckner authored
    Revise and add CFI CFA and register rule annotations to the vDSO
    functions for proper stack unwinding and debugging.
    
    Because glibc might call the vDSO in special ways, the vDSO code
    does not rely on a stack frame created by the caller.  The TOD clock
    value can be therefore not stored in the pre-allocated stack area
    and additional stack space is required.
    To correctly annotate these situations with CFI, the .cfi_val_offset
    directive is required to create relative offsets on the value of the
    stack register %r15.  Because the .cfi_val_offset directive is
    available with recent GNU assembler versions only, additional checks
    are necessary.
    
    Note that if the vDSO is assembled with an older assembler version,
    stack unwinding and debugging from within the vDSO code might not
    be possible.
    Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Reviewed-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    7bceec4e
getcpu.S 652 Bytes