diff options
Diffstat (limited to 'src/arch-arm.c')
-rw-r--r-- | src/arch-arm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/arch-arm.c b/src/arch-arm.c index 9c9153a..732940e 100644 --- a/src/arch-arm.c +++ b/src/arch-arm.c @@ -39,6 +39,7 @@ /** * Resolve a syscall name to a number + * @param arch the architecture definition * @param name the syscall name * * Resolve the given syscall name to the syscall number using the syscall table. @@ -46,12 +47,13 @@ * numbers; returns __NR_SCMP_ERROR on failure. * */ -int arm_syscall_resolve_name_munge(const char *name) +int arm_syscall_resolve_name_munge(const struct arch_def *arch, + const char *name) { int sys; /* NOTE: we don't want to modify the pseudo-syscall numbers */ - sys = arm_syscall_resolve_name(name); + sys = arch->syscall_resolve_name_raw(name); if (sys == __NR_SCMP_ERROR || sys < 0) return sys; @@ -60,6 +62,7 @@ int arm_syscall_resolve_name_munge(const char *name) /** * Resolve a syscall number to a name + * @param arch the architecture definition * @param num the syscall number * * Resolve the given syscall number to the syscall name using the syscall table. @@ -67,12 +70,12 @@ int arm_syscall_resolve_name_munge(const char *name) * syscall names; returns NULL on failure. * */ -const char *arm_syscall_resolve_num_munge(int num) +const char *arm_syscall_resolve_num_munge(const struct arch_def *arch, int num) { /* NOTE: we don't want to modify the pseudo-syscall numbers */ if (num >= 0) num &= ~__SCMP_NR_BASE; - return arm_syscall_resolve_num(num); + return arch->syscall_resolve_num_raw(num); } const struct arch_def arch_def_arm = { @@ -81,7 +84,9 @@ const struct arch_def arch_def_arm = { .size = ARCH_SIZE_32, .endian = ARCH_ENDIAN_LITTLE, .syscall_resolve_name = arm_syscall_resolve_name_munge, + .syscall_resolve_name_raw = arm_syscall_resolve_name, .syscall_resolve_num = arm_syscall_resolve_num_munge, + .syscall_resolve_num_raw = arm_syscall_resolve_num, .syscall_rewrite = NULL, .rule_add = NULL, }; |