• Thomas Richter's avatar
    tools: fix testing/selftests/sigaltstack for s390x · 96e53358
    Thomas Richter authored
    On s390x the compilation of the file sas.c in directory
    tools/testing/selftests/sigaltstack fails with this error message:
    
       root@s35lp76 testing]# make selftests/sigaltstack/sas
       cc     selftests/sigaltstack/sas.c   -o selftests/sigaltstack/sas
       selftests/sigaltstack/sas.c: In function ‘my_usr1’:
       selftests/sigaltstack/sas.c:42:25: error: invalid register name for ‘sp’
         register unsigned long sp asm("sp");
                             ^~
       <builtin>: recipe for target 'selftests/sigaltstack/sas' failed
       make: *** [selftests/sigaltstack/sas] Error 1
       [root@s35lp76 testing]#
    
    On s390x the stack pointer is register r15, the register name "sp"
    is unknown.
    Make this line platform dependend and use register r15.
    
    With this patch the compilation and test succeeds:
    
       [root@s35lp76 testing]# ./selftests/sigaltstack/sas
       TAP version 13
       ok 1 Initial sigaltstack state was SS_DISABLE
       # [RUN]	signal USR1
       ok 2 sigaltstack is disabled in sighandler
       # [RUN]	switched to user ctx
       # [RUN]	signal USR2
       # [OK]	Stack preserved
       ok 3 sigaltstack is still SS_AUTODISARM after signal
       Pass 3 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
       1..3
       [root@s35lp76 testing]#
    Signed-off-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
    Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
    96e53358
sas.c 4.45 KB