SIG
unsigned char *SIG)
if (*SIG > 45) {
*SIG = S[1];
FBNIC_BOUNDS(SIG),
case SIG('S', 'P'):
case SIG('C', 'E'):
case SIG('E', 'R'):
case SIG('R', 'R'):
case SIG('P', 'X'):
case SIG('P', 'N'):
case SIG('S', 'L'):
case SIG('N', 'M'):
case SIG('C', 'L'):
case SIG('P', 'L'):
case SIG('T', 'F'):
case SIG('Z', 'F'):
case SIG('R', 'R'):
case SIG('S', 'P'):
case SIG('C', 'E'):
case SIG('N', 'M'):
case SIG('R', 'E'):
case SIG('R', 'R'):
case SIG('S', 'P'):
case SIG('C', 'E'):
case SIG('E', 'R'):
case SIG('P', 'X'):
case SIG('P', 'N'):
case SIG('T', 'F'): {
case SIG('S', 'L'):
case SIG('R', 'E'):
case SIG('C', 'L'):
case SIG('Z', 'F'): {
if (algo == SIG('p', 'z')) {
case SIG('R', 'R'):
case SIG('S', 'P'):
case SIG('S', 'L'):
case SIG('C', 'E'):
#define P_SIGNUM(n) case SIG##n: return scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", #n)
#define DEF_SIGHANDLER_FUNC(SIG, NUM) \
static bool seen_##SIG; \
static void handle_##SIG(int sig, siginfo_t *info, void *context) \
seen_##SIG = true; \
#define DEF_INST_RAISE_SIG(SIG, NUM) \
static bool inst_raise_##SIG(const struct hwcap_data *hwcap, \
if (!hwcap->SIG##_fn) { \
ksft_test_result_skip(#SIG"_%s\n", hwcap->name); \
install_sigaction(NUM, handle_##SIG); \
seen_##SIG = false; \
hwcap->SIG##_fn(); \
ksft_test_result(!seen_##SIG, \
#SIG"_%s\n", hwcap->name); \
} else if (hwcap->SIG##_reliable) { \
ksft_test_result(seen_##SIG, \
#SIG"_%s\n", hwcap->name); \
ksft_print_msg(#SIG"_%sreported for %s\n", \
seen_##SIG ? "" : "not ", \
ksft_test_result_skip(#SIG"_%s\n", \
return seen_##SIG; \