selftests/powerpc: Skip tm-signal-sigreturn-nt if TM not available

On systems where TM (Transactional Memory) is disabled the
tm-signal-sigreturn-nt test causes a SIGILL:

  test: tm_signal_sigreturn_nt
  tags: git_version:7c202575ef63
  !! child died by signal 4
  failure: tm_signal_sigreturn_nt

We should skip the test if TM is not available.

Fixes: 34642d70ac ("selftests/powerpc: Add checks for transactional sigreturn")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191104233524.24348-1-mpe@ellerman.id.au
This commit is contained in:
Michael Ellerman 2019-11-05 10:15:56 +11:00
parent 7c202575ef
commit 505127068d
1 changed files with 4 additions and 0 deletions

View File

@ -10,10 +10,12 @@
*/ */
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <signal.h> #include <signal.h>
#include "utils.h" #include "utils.h"
#include "tm.h"
void trap_signal_handler(int signo, siginfo_t *si, void *uc) void trap_signal_handler(int signo, siginfo_t *si, void *uc)
{ {
@ -29,6 +31,8 @@ int tm_signal_sigreturn_nt(void)
{ {
struct sigaction trap_sa; struct sigaction trap_sa;
SKIP_IF(!have_htm());
trap_sa.sa_flags = SA_SIGINFO; trap_sa.sa_flags = SA_SIGINFO;
trap_sa.sa_sigaction = trap_signal_handler; trap_sa.sa_sigaction = trap_signal_handler;