32-bit executable calls different systemcall(comapt_*) compared to 64-bit executable. So signal.c testcase has to be modified to match the pattern. ====================================================== signal: signal (SIGUSR1, 0x0000000000000001) = 0 signal: signal (SIGUSR1, 0x0000000000000000) = 1 signal: signal (SIGUSR1, 0x00000000100004bc) = 0 signal: compat_sys_sigprocmask (SIG_BLOCK, 0x00000000ffabf76c, 0x0000000000000000) = signal: sigprocmask (SIG_BLOCK, 0xc000000016bc3df0, 0x0000000000000000) = 0 signal: compat_sys_sigprocmask (SIG_UNBLOCK, 0x00000000ffabf76c, 0x0000000000000000) = signal: sigprocmask (SIG_UNBLOCK, 0xc000000016bc3df0, 0x0000000000000000) = 0 signal: exit_group (0) = signal: exit (0) = --------- EXPECTED and NOT MATCHED ---------- signal: signal \(SIGUSR1, 0x00000001\) = 0 signal: signal \(SIGUSR1, 0x00000000\) = 1 signal: signal \(SIGUSR1, [x0-9a-fA-F]+\) = 0 signal: sigprocmask \(SIG_BLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0 signal: sigprocmask \(SIG_UNBLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0 signal: sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+\) = 0 ======================================== I think we can use "__WORDSIZE" here to distinguish between 64-bit and 32-bit executables.
Checked in a fix to CVS.