On 11/05/2018 07:54 AM, Richard Biener wrote: > On Fri, 2 Nov 2018, Sam Tebbs wrote: > >> On 11/02/2018 05:28 PM, Sam Tebbs wrote: >> >>> Hi all, >>> >>> This patch adds a new target hook called "asm_post_cfi_startproc". This >>> hook is >>> intended to be used by the aarch64 backend to emit a directive that enables >>> support for unwinding frames signed with the pointer authentication B-key. >>> This >>> hook is triggered after the ".cfi_startproc" directive is emitted in >>> gcc/dwarf2out.c. >>> >>> Bootstrapped on aarch64-none-linux-gnu and tested on aarch64-none-elf with >>> no regressions. >>> >>> Ok for trunk? > Can you explain why existing prologue/cfi emission points are not > enough?
I couldn't find any target hooks that were triggered at the assembly-printing level at the correct point in time (after .cfi_startproc is emitted), please do point me to one if that is not the case. An alternative could have been to implement a new reg_note but that would have meant adding target-specific code to target-agnostic files and wouldn't have been as flexible. Sam > >>> gcc/ >>> 2018-11-02 Sam Tebbs<sam.te...@arm.com> >>> >>> * doc/tm.texi (TARGET_ASM_POST_CFI_STARTPROC): Define. >>> * doc/tm.texi.in (TARGET_ASM_POST_CFI_STARTPROC): Define. >>> * dwarf2out.c (dwarf2out_do_cfi_startproc): Trigger the hook. >>> * hooks.c (hook_void_FILEptr_tree): Define. >>> * hooks.h (hook_void_FILEptr_tree): Define. >>> * target.def (post_cfi_startproc): Define. >> CCing global reviewers and dwarf maintainers. >> >>