diff options
author | Daniel Baumann <mail@daniel-baumann.ch> | 2025-06-06 10:05:23 +0000 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2025-06-06 10:05:23 +0000 |
commit | 755cc582a2473d06f3a2131d506d0311cc70e9f9 (patch) | |
tree | 3efb1ddb8d57bbb4539ac0d229b384871c57820f /scripts/update-mips-syscall-args.sh | |
parent | Initial commit. (diff) | |
download | qemu-upstream.tar.xz qemu-upstream.zip |
Adding upstream version 1:7.2+dfsg.upstream/1%7.2+dfsgupstream
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'scripts/update-mips-syscall-args.sh')
-rwxr-xr-x | scripts/update-mips-syscall-args.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/scripts/update-mips-syscall-args.sh b/scripts/update-mips-syscall-args.sh new file mode 100755 index 00000000..5a529b69 --- /dev/null +++ b/scripts/update-mips-syscall-args.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +URL=https://raw.githubusercontent.com/strace/strace/master/src +FILES="sysent.h sysent_shorthand_defs.h linux/mips/syscallent-compat.h \ + linux/mips/syscallent-o32.h linux/32/syscallent-common-32.h \ + linux/generic/syscallent-common.h" + +output="$1" +if [ "$output" = "" ] ; then + output="$PWD" +fi + +INC=linux-user/mips/syscall-args-o32.c.inc + +TMP=$(mktemp -d) +cd $TMP + +for file in $FILES; do + curl --create-dirs $URL/$file -o $TMP/$file +done + +> linux/generic/subcallent.h +> linux/32/subcallent.h + +cat > gen_mips_o32.c <<EOF +#include <stdio.h> + +#define LINUX_MIPSO32 +#define MAX_ARGS 7 + +#include "sysent.h" +#include "sysent_shorthand_defs.h" + +#define SEN(syscall_name) 0,0 +const struct_sysent sysent0[] = { +#include "syscallent-o32.h" +}; + +int main(void) +{ + int i; + + for (i = 4000; i < sizeof(sysent0) / sizeof(struct_sysent); i++) { + if (sysent0[i].sys_name == NULL) { + printf(" [% 4d] = MIPS_SYSCALL_NUMBER_UNUSED,\n", i - 4000); + } else { + printf(" [% 4d] = %d, /* %s */\n", i - 4000, + sysent0[i].nargs, sysent0[i].sys_name); + } + } + + return 0; +} +EOF + +cc -o gen_mips_o32 -I linux/mips -I linux/generic gen_mips_o32.c && ./gen_mips_o32 > "$output/$INC" + +rm -fr "$TMP" |