kdump: Decode Linux sigprocmask how argument

MFC after:		2 weeks
This commit is contained in:
Dmitry Chagin 2022-06-22 14:20:39 +03:00
parent b9b86b6742
commit f587a2a765
4 changed files with 27 additions and 0 deletions

View file

@ -183,3 +183,10 @@ sysdecode_linux_signal(int sig)
return (linux_signames[sig]);
return (NULL);
}
const char *
sysdecode_linux_sigprocmask_how(int how)
{
return (lookup_value(sigprocmaskhow, how));
}

View file

@ -90,6 +90,7 @@ _EOF_
gen_table "clockids" "LINUX_CLOCK_[A-Z_]+[[:space:]]+[0-9]+" "compat/linux/linux_timer.h"
gen_table "clockcpuids" "LINUX_CPUCLOCK_[A-Z_]+[[:space:]]+[0-9]+" "compat/linux/linux_timer.h" "_MASK|_MAX"
gen_table "sigprocmaskhow" "LINUX_SIG_[A-Z]+[[:space:]]+[0-9]+" "compat/linux/linux.h"
# Generate a .depend file for our output file
if [ -n "$output_file" ]; then

View file

@ -141,6 +141,7 @@ bool sysdecode_shmflags(FILE *_fp, int _flags, int *_rem);
void sysdecode_linux_clockid(FILE *_fp, clockid_t _which);
const char *sysdecode_linux_signal(int _sig);
const char *sysdecode_linux_sigprocmask_how(int _how);
#endif /* __i386__ || __amd64__ || __aarch64__ */

View file

@ -125,6 +125,16 @@ ktrsyscall_linux(struct ktr_syscall *ktr, register_t **resip,
narg--;
c = ',';
break;
case LINUX_SYS_linux_rt_sigprocmask:
#ifdef LINUX_SYS_linux_sigprocmask
case LINUX_SYS_linux_sigprocmask:
#endif
putchar('(');
print_integer_arg(sysdecode_linux_sigprocmask_how, *ip);
ip++;
narg--;
c = ',';
break;
}
*resc = c;
*resip = ip;
@ -199,6 +209,14 @@ ktrsyscall_linux32(struct ktr_syscall *ktr, register_t **resip,
narg--;
c = ',';
break;
case LINUX32_SYS_linux_rt_sigprocmask:
case LINUX32_SYS_linux_sigprocmask:
putchar('(');
print_integer_arg(sysdecode_linux_sigprocmask_how, *ip);
ip++;
narg--;
c = ',';
break;
}
*resc = c;
*resip = ip;