blob: 7a82d0c68e1f7aa74ec957739b8a8aabc7cf104f [file] [log] [blame]
/* { dg-do "compile" { target *-*-linux* } } */
/* { dg-options "-O1 -fcf-protection -mmanual-endbr" } */
/* { dg-final { check-function-bodies "**" "" } } */
/* Note: this test only checks the instructions in the function bodies,
not the placement of the patch label or nops before the function. */
/*
**f10_none:
** nop
** ret
*/
void
__attribute__ ((nocf_check,patchable_function_entry (1, 0)))
f10_none (void)
{
}
/*
**f10_endbr:
** endbr(32|64)
** nop
** ret
*/
void
__attribute__ ((cf_check,patchable_function_entry (1, 0)))
f10_endbr (void)
{
}
/*
**f11_none:
** ret
*/
void
__attribute__ ((nocf_check,patchable_function_entry (1, 1)))
f11_none (void)
{
}
/*
**f11_endbr:
** endbr(32|64)
** ret
*/
void
__attribute__ ((cf_check,patchable_function_entry (1, 1)))
f11_endbr (void)
{
}
/*
**f21_none:
** nop
** ret
*/
void
__attribute__ ((nocf_check,patchable_function_entry (2, 1)))
f21_none (void)
{
}
/*
**f21_endbr:
** endbr(32|64)
** nop
** ret
*/
void
__attribute__ ((cf_check,patchable_function_entry (2, 1)))
f21_endbr (void)
{
}