summaryrefslogtreecommitdiff
path: root/src/arch-syscall-check.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch-syscall-check.c')
-rw-r--r--src/arch-syscall-check.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/arch-syscall-check.c b/src/arch-syscall-check.c
index a074c9d..4d0e67d 100644
--- a/src/arch-syscall-check.c
+++ b/src/arch-syscall-check.c
@@ -33,6 +33,7 @@
#include "arch-mips.h"
#include "arch-mips64.h"
#include "arch-mips64n32.h"
+#include "arch-s390x.h"
/**
* compare the syscall values
@@ -67,6 +68,7 @@ int main(int argc, char *argv[])
int i_mips = 0;
int i_mips64 = 0;
int i_mips64n32 = 0;
+ int i_s390x = 0;
const char *sys_name;
char str_miss[256];
@@ -93,6 +95,8 @@ int main(int argc, char *argv[])
mips64_syscall_iterate_name(i_mips64));
syscall_check(str_miss, sys_name, "mips64n32",
mips64n32_syscall_iterate_name(i_mips64n32));
+ syscall_check(str_miss, sys_name, "s390x",
+ s390x_syscall_iterate_name(i_s390x));
/* output the results */
printf("%s: ", sys_name);
@@ -119,9 +123,12 @@ int main(int argc, char *argv[])
i_mips64n32 = -1;
if (!aarch64_syscall_iterate_name(++i_aarch64))
i_aarch64 = -1;
+ if (!s390x_syscall_iterate_name(++i_s390x))
+ i_s390x = -1;
} while (i_x86_64 >= 0 && i_x32 >= 0 &&
i_arm >= 0 && i_aarch64 >= 0 &&
- i_mips >= 0 && i_mips64 >= 0 && i_mips64n32 >= 0);
+ i_mips >= 0 && i_mips64 >= 0 && i_mips64n32 >= 0 &&
+ i_s390x >= 0);
/* check for any leftovers */
sys_name = x86_syscall_iterate_name(i_x86 + 1);
@@ -164,6 +171,11 @@ int main(int argc, char *argv[])
mips64n32_syscall_iterate_name(i_mips64n32));
return 1;
}
+ if (i_s390x >= 0) {
+ printf("%s: ERROR, s390x has additional syscalls\n",
+ mips64n32_syscall_iterate_name(i_s390x));
+ return 1;
+ }
/* if we made it here, all is good */
return 0;