HomeFreeBSD

csu: Implement _start using as to satisfy unwinders on x86_64

Description

csu: Implement _start using as to satisfy unwinders on x86_64

The right unwinding stop indicator should be CFI-undefined PC.
https://dwarfstd.org/doc/Dwarf3.pdf - page 118:
If a Return Address register is defined in the virtual unwind table,
and its rule is undefined (for example, by DW_CFA_undefined), then
there is no return address and no call address, and the virtual
unwind of stack activations is complete.

This requires the crt code be built with unwind tables, for that remove
-fno-asynchronous-unwind-tables to enable unwind tables generation.

PR: 241562, 246322, 246537
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D40780

Details

Provenance
dchaginAuthored on Jun 29 2023, 4:34 PM
Reviewer
kib
Differential Revision
D40780: csu: Implement _start using as to satisfy unwinders on x86_64
Parents
rGc09909ed889f: libstdbuf: Add proper SEE ALSO section.
Branches
Unknown
Tags
Unknown