script_core 0.2.2 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +41 -45
- data/.travis.yml +2 -1
- data/Gemfile +3 -3
- data/README.md +7 -1
- data/bootstrap.sh +2 -2
- data/ext/enterprise_script_service/libseccomp/.travis.yml +24 -12
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +32 -0
- data/ext/enterprise_script_service/libseccomp/CONTRIBUTING.md +37 -26
- data/ext/enterprise_script_service/libseccomp/CREDITS +11 -0
- data/ext/enterprise_script_service/libseccomp/README.md +21 -1
- data/ext/enterprise_script_service/libseccomp/configure.ac +13 -8
- data/ext/enterprise_script_service/libseccomp/doc/Makefile.am +6 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_api_get.3 +12 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_arch_add.3 +38 -6
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_attr_set.3 +53 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_export_bpf.3 +20 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_init.3 +9 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_load.3 +32 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_merge.3 +16 -2
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_alloc.3 +113 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_fd.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_free.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_id_valid.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_receive.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_notify_respond.3 +1 -0
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_rule_add.3 +64 -3
- data/ext/enterprise_script_service/libseccomp/doc/man/man3/seccomp_syscall_priority.3 +18 -3
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +19 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +116 -0
- data/ext/enterprise_script_service/libseccomp/src/.gitignore +2 -0
- data/ext/enterprise_script_service/libseccomp/src/Makefile.am +31 -17
- data/ext/enterprise_script_service/libseccomp/src/api.c +254 -58
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.c +47 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-arm.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-gperf-generate +40 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64.h +3 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.c +41 -4
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc.h +1 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.c +3 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc64.h +29 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.c +606 -8
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.c +31 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-riscv64.h +22 -0
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +171 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.h +1 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +166 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.h +1 -20
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-dump.c +8 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-syscall-validate +359 -143
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.c +36 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-x32.h +2 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +172 -10
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.h +1 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64.h +1 -9
- data/ext/enterprise_script_service/libseccomp/src/arch.c +11 -3
- data/ext/enterprise_script_service/libseccomp/src/arch.h +7 -0
- data/ext/enterprise_script_service/libseccomp/src/db.c +268 -57
- data/ext/enterprise_script_service/libseccomp/src/db.h +16 -2
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +503 -148
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.h +2 -1
- data/ext/enterprise_script_service/libseccomp/src/gen_pfc.c +165 -37
- data/ext/enterprise_script_service/libseccomp/src/python/libseccomp.pxd +37 -1
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +295 -5
- data/ext/enterprise_script_service/libseccomp/src/syscalls.c +56 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.csv +470 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.h +62 -0
- data/ext/enterprise_script_service/libseccomp/src/syscalls.perf.template +82 -0
- data/ext/enterprise_script_service/libseccomp/src/system.c +196 -16
- data/ext/enterprise_script_service/libseccomp/src/system.h +68 -13
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +10 -2
- data/ext/enterprise_script_service/libseccomp/tests/06-sim-actions.tests +1 -1
- data/ext/enterprise_script_service/libseccomp/tests/11-basic-basic_errors.c +5 -5
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.c +35 -1
- data/ext/enterprise_script_service/libseccomp/tests/13-basic-attrs.py +10 -1
- data/ext/enterprise_script_service/libseccomp/tests/15-basic-resolver.c +4 -3
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.c +12 -0
- data/ext/enterprise_script_service/libseccomp/tests/16-sim-arch_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.c → 18-sim-basic_allowlist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{18-sim-basic_whitelist.py → 18-sim-basic_allowlist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_allowlist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/23-sim-arch_all_le_basic.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/30-sim-socket_syscalls.tests +33 -17
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.c → 34-sim-basic_denylist.c} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/{34-sim-basic_blacklist.py → 34-sim-basic_denylist.py} +0 -0
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_denylist.tests +32 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.py +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/36-sim-ipc_syscalls.tests +25 -25
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.c +24 -3
- data/ext/enterprise_script_service/libseccomp/tests/39-basic-api_level.py +16 -1
- data/ext/enterprise_script_service/libseccomp/tests/47-live-kill_process.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.c +112 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.py +60 -0
- data/ext/enterprise_script_service/libseccomp/tests/51-live-user_notification.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.c +48 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.py +38 -0
- data/ext/enterprise_script_service/libseccomp/tests/52-basic-load.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.c +156 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/53-sim-binary_tree.tests +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.c +128 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.py +95 -0
- data/ext/enterprise_script_service/libseccomp/tests/54-live-binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.c +134 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.sh +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/55-basic-pfc_binary_tree.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.c +90 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.py +65 -0
- data/ext/enterprise_script_service/libseccomp/tests/56-basic-iterate_syscalls.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.c +64 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.py +46 -0
- data/ext/enterprise_script_service/libseccomp/tests/57-basic-rawsysrc.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.c +116 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/58-live-tsync_notify.tests +11 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +34 -10
- data/ext/enterprise_script_service/libseccomp/tests/regression +10 -3
- data/ext/enterprise_script_service/libseccomp/tests/util.c +3 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -3
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -1
- data/ext/enterprise_script_service/libseccomp/tools/scmp_arch_detect.c +3 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_disasm.c +4 -2
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +4 -0
- data/ext/enterprise_script_service/libseccomp/tools/util.c +14 -12
- data/ext/enterprise_script_service/libseccomp/tools/util.h +7 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/build.yml +106 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/codeql-analysis.yml +51 -0
- data/ext/enterprise_script_service/mruby/.github/workflows/main.yml +24 -0
- data/ext/enterprise_script_service/mruby/.gitignore +3 -0
- data/ext/enterprise_script_service/mruby/.travis.yml +6 -9
- data/ext/enterprise_script_service/mruby/AUTHORS +1 -0
- data/ext/enterprise_script_service/mruby/Doxyfile +1 -1
- data/ext/enterprise_script_service/mruby/LICENSE +1 -1
- data/ext/enterprise_script_service/mruby/README.md +6 -2
- data/ext/enterprise_script_service/mruby/appveyor.yml +9 -12
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +9 -0
- data/ext/enterprise_script_service/mruby/build_config.rb +6 -6
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +6 -2
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +4 -8
- data/ext/enterprise_script_service/mruby/doc/limitations.md +10 -10
- data/ext/enterprise_script_service/mruby/doc/opcode.md +108 -95
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_ArduinoDue.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelEdison.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_IntelGalileo.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_RX630.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_chipKITMax32.rb +2 -2
- data/ext/enterprise_script_service/mruby/examples/targets/build_config_dreamcast_shelf.rb +108 -0
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +10 -7
- data/ext/enterprise_script_service/mruby/include/mruby.h +24 -9
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +4 -0
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +11 -2
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +0 -10
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +10 -0
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +11 -3
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +1 -17
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +10 -0
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -1
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +23 -5
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +1 -0
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +3 -2
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +13 -8
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +2 -1
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +32 -41
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +4 -4
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +2 -30
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +21 -46
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +9 -0
- data/ext/enterprise_script_service/mruby/lib/mruby/source.rb +3 -1
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +7 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +0 -31
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +5 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +0 -13
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-config/mrbgem.rake +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +5 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +7 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +24 -21
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +6 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +6 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +6 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +76 -48
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +107 -32
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/y.tab.c +13153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/mrbgem.rake +13 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +3 -214
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +21 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-inline-struct/test/inline.c +3 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +39 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +2 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file_constants.rb +0 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +7 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +77 -32
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +18 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +324 -122
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +18 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +32 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +57 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +6 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +15 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +9 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +4 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +3 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +113 -10
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/src/print.c +6 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +9 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/src/mrb_sleep.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/test/sockettest.c +3 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +62 -25
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +5 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +4 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +5 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +1 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +11 -15
- data/ext/enterprise_script_service/mruby/mrblib/00class.rb +10 -0
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +3 -3
- data/ext/enterprise_script_service/mruby/src/array.c +25 -11
- data/ext/enterprise_script_service/mruby/src/backtrace.c +2 -2
- data/ext/enterprise_script_service/mruby/src/class.c +48 -32
- data/ext/enterprise_script_service/mruby/src/codedump.c +4 -0
- data/ext/enterprise_script_service/mruby/src/debug.c +8 -5
- data/ext/enterprise_script_service/mruby/src/dump.c +3 -65
- data/ext/enterprise_script_service/mruby/src/error.c +58 -7
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -5
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +98 -21
- data/ext/enterprise_script_service/mruby/src/gc.c +15 -280
- data/ext/enterprise_script_service/mruby/src/hash.c +13 -21
- data/ext/enterprise_script_service/mruby/src/kernel.c +6 -9
- data/ext/enterprise_script_service/mruby/src/load.c +56 -30
- data/ext/enterprise_script_service/mruby/src/numeric.c +50 -70
- data/ext/enterprise_script_service/mruby/src/object.c +23 -5
- data/ext/enterprise_script_service/mruby/src/print.c +27 -3
- data/ext/enterprise_script_service/mruby/src/proc.c +26 -7
- data/ext/enterprise_script_service/mruby/src/range.c +4 -12
- data/ext/enterprise_script_service/mruby/src/state.c +34 -11
- data/ext/enterprise_script_service/mruby/src/string.c +93 -56
- data/ext/enterprise_script_service/mruby/src/symbol.c +13 -12
- data/ext/enterprise_script_service/mruby/src/vm.c +48 -53
- data/ext/enterprise_script_service/mruby/tasks/gitlab.rake +19 -22
- data/ext/enterprise_script_service/mruby/tasks/mrbgems.rake +1 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/android.rake +46 -1
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +3 -3
- data/ext/enterprise_script_service/mruby/tasks/toolchains/openwrt.rake +6 -6
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +8 -8
- data/ext/enterprise_script_service/mruby/test/assert.rb +5 -4
- data/ext/enterprise_script_service/mruby/test/t/ensure.rb +8 -26
- data/ext/enterprise_script_service/mruby/test/t/exception.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +15 -24
- data/ext/enterprise_script_service/mruby/travis_config.rb +0 -14
- data/ext/enterprise_script_service/msgpack/.github/depends/boost.sh +56 -0
- data/ext/enterprise_script_service/msgpack/.github/workflows/coverage.yml +62 -0
- data/ext/enterprise_script_service/msgpack/.github/workflows/gha.yml +304 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +11 -0
- data/ext/enterprise_script_service/msgpack/CMakeLists.txt +82 -39
- data/ext/enterprise_script_service/msgpack/Files.cmake +22 -12
- data/ext/enterprise_script_service/msgpack/QUICKSTART-C.md +26 -29
- data/ext/enterprise_script_service/msgpack/README.md +3 -2
- data/ext/enterprise_script_service/msgpack/appveyor.yml +6 -2
- data/ext/enterprise_script_service/msgpack/ci/build_cmake.sh +3 -1
- data/ext/enterprise_script_service/msgpack/cmake/CodeCoverage.cmake +55 -0
- data/ext/enterprise_script_service/msgpack/codecov.yml +36 -0
- data/ext/enterprise_script_service/msgpack/example/CMakeLists.txt +9 -5
- data/ext/enterprise_script_service/msgpack/example/boost/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/example/c/CMakeLists.txt +17 -6
- data/ext/enterprise_script_service/msgpack/example/c/boundary.c +296 -0
- data/ext/enterprise_script_service/msgpack/example/c/jsonconv.c +419 -0
- data/ext/enterprise_script_service/msgpack/example/c/simple_c.c +1 -1
- data/ext/enterprise_script_service/msgpack/example/cpp03/CMakeLists.txt +3 -3
- data/ext/enterprise_script_service/msgpack/example/cpp11/CMakeLists.txt +2 -2
- data/ext/enterprise_script_service/msgpack/example/x3/CMakeLists.txt +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack.h +24 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/boost/optional.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/map.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_char.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +8 -8
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +4 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/unpack.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +4 -4
- data/ext/enterprise_script_service/msgpack/make_file_list.sh +38 -11
- data/ext/enterprise_script_service/msgpack/src/vrefbuffer.c +6 -0
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +86 -64
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +4 -47
- data/ext/enterprise_script_service/msgpack/test/buffer_c.cpp +148 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/json.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +32 -27
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/object.cpp +4 -1
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +12 -8
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +30 -26
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +8 -4
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +16 -12
- data/ext/enterprise_script_service/msgpack/test/version.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +4 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +4 -0
- data/lib/script_core/engine.rb +24 -5
- data/lib/script_core/executable.rb +4 -3
- data/lib/script_core/result.rb +1 -5
- data/lib/script_core/service_channel.rb +1 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/script_core.rake +3 -1
- data/script_core.gemspec +2 -2
- data/spec/dummy/app/lib/script_engine.rb +64 -5
- metadata +68 -30
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +0 -570
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +0 -562
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +0 -542
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +0 -626
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +0 -626
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +0 -558
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +0 -692
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +0 -559
- data/ext/enterprise_script_service/libseccomp/tests/18-sim-basic_whitelist.tests +0 -32
- data/ext/enterprise_script_service/libseccomp/tests/34-sim-basic_blacklist.tests +0 -32
- data/ext/enterprise_script_service/msgpack/.travis.yml +0 -258
|
@@ -6,27 +6,8 @@
|
|
|
6
6
|
#ifndef _ARCH_S390X_H
|
|
7
7
|
#define _ARCH_S390X_H
|
|
8
8
|
|
|
9
|
-
#include <inttypes.h>
|
|
10
|
-
|
|
11
9
|
#include "arch.h"
|
|
12
|
-
#include "db.h"
|
|
13
|
-
#include "system.h"
|
|
14
|
-
|
|
15
|
-
#define s390x_arg_count_max 6
|
|
16
|
-
|
|
17
|
-
extern const struct arch_def arch_def_s390x;
|
|
18
|
-
#define s390x_arg_offset(x) (offsetof(struct seccomp_data, args[x]))
|
|
19
|
-
|
|
20
|
-
#define s390x_arg_offset_lo(x) (s390x_arg_offset(x) + 4)
|
|
21
|
-
#define s390x_arg_offset_hi(x) (s390x_arg_offset(x))
|
|
22
|
-
|
|
23
|
-
int s390x_syscall_resolve_name(const char *name);
|
|
24
|
-
const char *s390x_syscall_resolve_num(int num);
|
|
25
|
-
|
|
26
|
-
const struct arch_syscall_def *s390x_syscall_iterate(unsigned int spot);
|
|
27
|
-
|
|
28
|
-
int s390x_syscall_rewrite(int *syscall);
|
|
29
10
|
|
|
30
|
-
|
|
11
|
+
ARCH_DECL(s390x)
|
|
31
12
|
|
|
32
13
|
#endif
|
|
@@ -39,8 +39,10 @@
|
|
|
39
39
|
#include "arch-mips64n32.h"
|
|
40
40
|
#include "arch-aarch64.h"
|
|
41
41
|
#include "arch-parisc.h"
|
|
42
|
+
#include "arch-parisc64.h"
|
|
42
43
|
#include "arch-ppc.h"
|
|
43
44
|
#include "arch-ppc64.h"
|
|
45
|
+
#include "arch-riscv64.h"
|
|
44
46
|
#include "arch-s390.h"
|
|
45
47
|
#include "arch-s390x.h"
|
|
46
48
|
|
|
@@ -117,9 +119,11 @@ int main(int argc, char *argv[])
|
|
|
117
119
|
sys = mips64n32_syscall_iterate(iter);
|
|
118
120
|
break;
|
|
119
121
|
case SCMP_ARCH_PARISC:
|
|
120
|
-
case SCMP_ARCH_PARISC64:
|
|
121
122
|
sys = parisc_syscall_iterate(iter);
|
|
122
123
|
break;
|
|
124
|
+
case SCMP_ARCH_PARISC64:
|
|
125
|
+
sys = parisc64_syscall_iterate(iter);
|
|
126
|
+
break;
|
|
123
127
|
case SCMP_ARCH_PPC:
|
|
124
128
|
sys = ppc_syscall_iterate(iter);
|
|
125
129
|
break;
|
|
@@ -127,6 +131,9 @@ int main(int argc, char *argv[])
|
|
|
127
131
|
case SCMP_ARCH_PPC64LE:
|
|
128
132
|
sys = ppc64_syscall_iterate(iter);
|
|
129
133
|
break;
|
|
134
|
+
case SCMP_ARCH_RISCV64:
|
|
135
|
+
sys = riscv64_syscall_iterate(iter);
|
|
136
|
+
break;
|
|
130
137
|
case SCMP_ARCH_S390:
|
|
131
138
|
sys = s390_syscall_iterate(iter);
|
|
132
139
|
break;
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
# libseccomp syscall validation script
|
|
5
5
|
#
|
|
6
6
|
# Copyright (c) 2014 Red Hat <pmoore@redhat.com>
|
|
7
|
+
# Copyright (c) 2020 Cisco Systems, Inc. <pmoore2@cisco.com>
|
|
8
|
+
#
|
|
7
9
|
# Author: Paul Moore <paul@paul-moore.com>
|
|
8
10
|
#
|
|
9
11
|
|
|
@@ -57,17 +59,38 @@ function verify_deps() {
|
|
|
57
59
|
#
|
|
58
60
|
function usage() {
|
|
59
61
|
cat << EOF
|
|
60
|
-
usage: arch-syscall-validate [-h] [-a <arch>] <kernel_directory>
|
|
62
|
+
usage: arch-syscall-validate [-h] [-c] [-a <arch>] <kernel_directory>
|
|
61
63
|
|
|
62
64
|
libseccomp syscall validation script
|
|
63
65
|
optional arguments:
|
|
64
66
|
-h show this help message and exit
|
|
65
67
|
-a architecture
|
|
66
68
|
-l output the library's syscall definitions
|
|
67
|
-
-s output the
|
|
69
|
+
-s output the kernel's syscall definitions
|
|
70
|
+
-c generate a CSV of the kernel's syscall definitions
|
|
68
71
|
EOF
|
|
69
72
|
}
|
|
70
73
|
|
|
74
|
+
#
|
|
75
|
+
# Dump the kernel version
|
|
76
|
+
#
|
|
77
|
+
# Arguments:
|
|
78
|
+
# 1 path to the kernel source
|
|
79
|
+
#
|
|
80
|
+
# Dump the kernel's version information to stdout.
|
|
81
|
+
#
|
|
82
|
+
function kernel_version() {
|
|
83
|
+
local maj=$(cat $1/Makefile | \
|
|
84
|
+
grep "^VERSION =" | awk -F "= " '{ print $2 }')
|
|
85
|
+
local min=$(cat $1/Makefile | \
|
|
86
|
+
grep "^PATCHLEVEL =" | awk -F "= " '{ print $2 }')
|
|
87
|
+
local sub=$(cat $1/Makefile | \
|
|
88
|
+
grep "^SUBLEVEL =" | awk -F "= " '{ print $2 }')
|
|
89
|
+
local xtr=$(cat $1/Makefile | \
|
|
90
|
+
grep "^EXTRAVERSION =" | awk -F "= " '{ print $2 }')
|
|
91
|
+
echo "${maj}.${min}.${sub}${xtr}"
|
|
92
|
+
}
|
|
93
|
+
|
|
71
94
|
#
|
|
72
95
|
# Dump the library syscall table for a given architecture
|
|
73
96
|
#
|
|
@@ -84,7 +107,58 @@ function dump_lib_arch() {
|
|
|
84
107
|
[[ -z $1 ]] && return
|
|
85
108
|
|
|
86
109
|
[[ -n $2 ]] && offset_str="-o $2"
|
|
87
|
-
$LIB_SYS_DUMP -a $1 $offset_str | sed
|
|
110
|
+
$LIB_SYS_DUMP -a $1 $offset_str | sed 's/\t/,/' | sort
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
#
|
|
114
|
+
# Mangle the library pseudo syscall values
|
|
115
|
+
#
|
|
116
|
+
# Arguments:
|
|
117
|
+
# 1 architecture
|
|
118
|
+
#
|
|
119
|
+
# Mangle the supplied pseudo syscall to match the system values
|
|
120
|
+
#
|
|
121
|
+
function mangle_lib_syscall() {
|
|
122
|
+
local sed_filter=""
|
|
123
|
+
|
|
124
|
+
sed_filter+='s/accept4,-118/accept4,364/;'
|
|
125
|
+
sed_filter+='s/bind,-102/bind,361/;'
|
|
126
|
+
sed_filter+='s/connect,-103/connect,362/;'
|
|
127
|
+
sed_filter+='s/getpeername,-107/getpeername,368/;'
|
|
128
|
+
sed_filter+='s/getsockname,-106/getsockname,367/;'
|
|
129
|
+
sed_filter+='s/getsockopt,-115/getsockopt,365/;'
|
|
130
|
+
sed_filter+='s/listen,-104/listen,363/;'
|
|
131
|
+
sed_filter+='s/msgctl,-214/msgctl,402/;'
|
|
132
|
+
sed_filter+='s/msgget,-213/msgget,399/;'
|
|
133
|
+
sed_filter+='s/msgrcv,-212/msgrcv,401/;'
|
|
134
|
+
sed_filter+='s/msgsnd,-211/msgsnd,400/;'
|
|
135
|
+
sed_filter+='s/recvfrom,-112/recvfrom,371/;'
|
|
136
|
+
sed_filter+='s/recvmsg,-117/recvmsg,372/;'
|
|
137
|
+
sed_filter+='s/semctl,-203/semctl,394/;'
|
|
138
|
+
sed_filter+='s/semget,-202/semget,393/;'
|
|
139
|
+
sed_filter+='s/sendmsg,-116/sendmsg,370/;'
|
|
140
|
+
sed_filter+='s/sendto,-111/sendto,369/;'
|
|
141
|
+
sed_filter+='s/setsockopt,-114/setsockopt,366/;'
|
|
142
|
+
sed_filter+='s/shmat,-221/shmat,397/;'
|
|
143
|
+
sed_filter+='s/shmctl,-224/shmctl,396/;'
|
|
144
|
+
sed_filter+='s/shmdt,-222/shmdt,398/;'
|
|
145
|
+
sed_filter+='s/shmget,-223/shmget,395/;'
|
|
146
|
+
sed_filter+='s/shutdown,-113/shutdown,373/;'
|
|
147
|
+
sed_filter+='s/socket,-101/socket,359/;'
|
|
148
|
+
sed_filter+='s/socketpair,-108/socketpair,360/;'
|
|
149
|
+
|
|
150
|
+
case $1 in
|
|
151
|
+
s390|s390x)
|
|
152
|
+
sed_filter+='s/recvmmsg,-119/recvmmsg,357/;'
|
|
153
|
+
sed_filter+='s/sendmmsg,-120/sendmmsg,358/;'
|
|
154
|
+
;;
|
|
155
|
+
*)
|
|
156
|
+
sed_filter+='s/recvmmsg,-119/recvmmsg,337/;'
|
|
157
|
+
sed_filter+='s/sendmmsg,-120/sendmmsg,345/;'
|
|
158
|
+
;;
|
|
159
|
+
esac
|
|
160
|
+
|
|
161
|
+
sed $sed_filter | sed '/,-[0-9]\+$/d'
|
|
88
162
|
}
|
|
89
163
|
|
|
90
164
|
#
|
|
@@ -97,7 +171,7 @@ function dump_lib_arch() {
|
|
|
97
171
|
#
|
|
98
172
|
function dump_sys_x86() {
|
|
99
173
|
cat $1/arch/x86/entry/syscalls/syscall_32.tbl | \
|
|
100
|
-
grep -v "^#" | awk '{ print $3"
|
|
174
|
+
grep -v "^#" | awk '{ print $3","$1 }' | \
|
|
101
175
|
sort
|
|
102
176
|
}
|
|
103
177
|
|
|
@@ -107,7 +181,7 @@ function dump_sys_x86() {
|
|
|
107
181
|
# Dump the library's syscall table to stdout.
|
|
108
182
|
#
|
|
109
183
|
function dump_lib_x86() {
|
|
110
|
-
dump_lib_arch x86
|
|
184
|
+
dump_lib_arch x86 | mangle_lib_syscall x86
|
|
111
185
|
}
|
|
112
186
|
|
|
113
187
|
#
|
|
@@ -120,8 +194,8 @@ function dump_lib_x86() {
|
|
|
120
194
|
#
|
|
121
195
|
function dump_sys_x86_64() {
|
|
122
196
|
cat $1/arch/x86/entry/syscalls/syscall_64.tbl | \
|
|
123
|
-
grep -v "^#" | awk '{ print $2,$3,$1 }' |
|
|
124
|
-
awk '{ print $2"
|
|
197
|
+
grep -v "^#" | sed '/^$/d' | awk '{ print $2,$3,$1 }' | \
|
|
198
|
+
sed '/^x32/d' | awk '{ print $2","$3 }' | sort
|
|
125
199
|
}
|
|
126
200
|
|
|
127
201
|
#
|
|
@@ -130,7 +204,7 @@ function dump_sys_x86_64() {
|
|
|
130
204
|
# Dump the library's syscall table to stdout.
|
|
131
205
|
#
|
|
132
206
|
function dump_lib_x86_64() {
|
|
133
|
-
dump_lib_arch x86_64
|
|
207
|
+
dump_lib_arch x86_64 | mangle_lib_syscall x86_64
|
|
134
208
|
}
|
|
135
209
|
|
|
136
210
|
#
|
|
@@ -143,8 +217,8 @@ function dump_lib_x86_64() {
|
|
|
143
217
|
#
|
|
144
218
|
function dump_sys_x32() {
|
|
145
219
|
cat $1/arch/x86/entry/syscalls/syscall_64.tbl | \
|
|
146
|
-
grep -v "^#" | awk '{ print $2,$3,$1 }' |
|
|
147
|
-
awk '{ print $2"
|
|
220
|
+
grep -v "^#" | sed '/^$/d' | awk '{ print $2,$3,$1 }' | \
|
|
221
|
+
sed '/^64/d' | awk '{ print $2","$3 }' | sort
|
|
148
222
|
}
|
|
149
223
|
|
|
150
224
|
#
|
|
@@ -153,8 +227,7 @@ function dump_sys_x32() {
|
|
|
153
227
|
# Dump the library's syscall table to stdout.
|
|
154
228
|
#
|
|
155
229
|
function dump_lib_x32() {
|
|
156
|
-
|
|
157
|
-
dump_lib_arch x32 1073741824
|
|
230
|
+
dump_lib_arch x32 | mangle_lib_syscall x32
|
|
158
231
|
}
|
|
159
232
|
|
|
160
233
|
#
|
|
@@ -167,12 +240,13 @@ function dump_lib_x32() {
|
|
|
167
240
|
#
|
|
168
241
|
function dump_sys_arm() {
|
|
169
242
|
cat $1/arch/arm/tools/syscall.tbl | grep -v "^#" | \
|
|
170
|
-
sed -
|
|
171
|
-
awk '{ print $3"
|
|
243
|
+
sed -n "/[0-9]\+[ \t]\+\(common\|eabi\)/p" | \
|
|
244
|
+
awk '{ print $3","$1 }' | sort | (cat -; \
|
|
172
245
|
(cat $1/arch/arm/include/uapi/asm/unistd.h | \
|
|
173
|
-
grep "^#define __ARM_NR_" |
|
|
174
|
-
|
|
175
|
-
|
|
246
|
+
grep "^#define __ARM_NR_" | \
|
|
247
|
+
grep -v "^#define __ARM_NR_BASE" | \
|
|
248
|
+
sed 's/#define __ARM_NR_\([a-z0-9_]*\)[ \t]\+(__ARM_NR_BASE+\(.*\))/\1 983040 + \2/' | \
|
|
249
|
+
awk '{ print $1","$2+$4 }')) | sort
|
|
176
250
|
}
|
|
177
251
|
|
|
178
252
|
#
|
|
@@ -182,7 +256,8 @@ function dump_sys_arm() {
|
|
|
182
256
|
#
|
|
183
257
|
function dump_lib_arm() {
|
|
184
258
|
# NOTE: arm_sync_file_range() and sync_file_range2() share values
|
|
185
|
-
dump_lib_arch arm | sed
|
|
259
|
+
dump_lib_arch arm | sed '/sync_file_range2,\+341/d' | \
|
|
260
|
+
mangle_lib_syscall arm
|
|
186
261
|
}
|
|
187
262
|
|
|
188
263
|
#
|
|
@@ -194,28 +269,31 @@ function dump_lib_arm() {
|
|
|
194
269
|
# Dump the architecture's syscall table to stdout.
|
|
195
270
|
#
|
|
196
271
|
function dump_sys_aarch64() {
|
|
272
|
+
local sed_filter=""
|
|
273
|
+
|
|
274
|
+
sed_filter+='s/__NR3264_statfs/43/;'
|
|
275
|
+
sed_filter+='s/__NR3264_ftruncate/46/;'
|
|
276
|
+
sed_filter+='s/__NR3264_truncate/45/;'
|
|
277
|
+
sed_filter+='s/__NR3264_lseek/62/;'
|
|
278
|
+
sed_filter+='s/__NR3264_sendfile/71/;'
|
|
279
|
+
sed_filter+='s/__NR3264_fstatat/79/;'
|
|
280
|
+
sed_filter+='s/__NR3264_fstatfs/44/;'
|
|
281
|
+
sed_filter+='s/__NR3264_fcntl/25/;'
|
|
282
|
+
sed_filter+='s/__NR3264_fadvise64/223/;'
|
|
283
|
+
sed_filter+='s/__NR3264_mmap/222/;'
|
|
284
|
+
sed_filter+='s/__NR3264_fstat/80/;'
|
|
285
|
+
sed_filter+='s/__NR3264_lstat/1039/;'
|
|
286
|
+
sed_filter+='s/__NR3264_stat/1038/;'
|
|
287
|
+
|
|
197
288
|
gcc -E -dM -I$1/include/uapi \
|
|
198
289
|
-D__BITS_PER_LONG=64 -D__ARCH_WANT_RENAMEAT \
|
|
199
290
|
-D__ARCH_WANT_NEW_STAT \
|
|
200
|
-
$1/include/uapi/asm
|
|
291
|
+
$1/arch/arm64/include/uapi/asm/unistd.h | \
|
|
201
292
|
grep "^#define __NR_" | \
|
|
202
|
-
sed
|
|
203
|
-
sed
|
|
204
|
-
sed
|
|
205
|
-
sed
|
|
206
|
-
sed -e 's/__NR3264_ftruncate/46/' | \
|
|
207
|
-
sed -e 's/__NR3264_truncate/45/' | \
|
|
208
|
-
sed -e 's/__NR3264_lseek/62/' | \
|
|
209
|
-
sed -e 's/__NR3264_sendfile/71/' | \
|
|
210
|
-
sed -e 's/__NR3264_fstatat/79/' | \
|
|
211
|
-
sed -e 's/__NR3264_fstatfs/44/' | \
|
|
212
|
-
sed -e 's/__NR3264_fcntl/25/' | \
|
|
213
|
-
sed -e 's/__NR3264_fadvise64/223/' | \
|
|
214
|
-
sed -e 's/__NR3264_mmap/222/' | \
|
|
215
|
-
sed -e 's/__NR3264_fstat/80/' | \
|
|
216
|
-
sed -e 's/__NR3264_lstat/1039/' | \
|
|
217
|
-
sed -e 's/__NR3264_stat/1038/' | \
|
|
218
|
-
sort
|
|
293
|
+
sed '/__NR_syscalls/d' | \
|
|
294
|
+
sed '/__NR_arch_specific_syscall/d' | \
|
|
295
|
+
sed 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1,\2/' | \
|
|
296
|
+
sed $sed_filter | sort
|
|
219
297
|
}
|
|
220
298
|
|
|
221
299
|
#
|
|
@@ -224,7 +302,7 @@ function dump_sys_aarch64() {
|
|
|
224
302
|
# Dump the library's syscall table to stdout.
|
|
225
303
|
#
|
|
226
304
|
function dump_lib_aarch64() {
|
|
227
|
-
dump_lib_arch aarch64
|
|
305
|
+
dump_lib_arch aarch64 | mangle_lib_syscall aarch64
|
|
228
306
|
}
|
|
229
307
|
|
|
230
308
|
#
|
|
@@ -236,23 +314,11 @@ function dump_lib_aarch64() {
|
|
|
236
314
|
# Dump the architecture's syscall table to stdout.
|
|
237
315
|
#
|
|
238
316
|
function dump_sys_mips() {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
# _MIPS_SIM_NABI32 == 2
|
|
245
|
-
# _MIPS_SIM_ABI64 == 3
|
|
246
|
-
gcc -E -dM -I$1/arch/mips/include/uapi -I$1/arch/mips/include/generated/uapi -D_MIPS_SIM=1 $1/arch/mips/include/uapi/asm/unistd.h | \
|
|
247
|
-
grep "^#define __NR_" | \
|
|
248
|
-
grep -v "^#define __NR_O32_" | \
|
|
249
|
-
grep -v "^#define __NR_N32_" | \
|
|
250
|
-
grep -v "^#define __NR_64_" | \
|
|
251
|
-
grep -v "^#define __NR_Linux" | \
|
|
252
|
-
grep -v "^#define __NR_unused" | \
|
|
253
|
-
grep -v "^#define __NR_reserved" | \
|
|
254
|
-
sed -e 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+(__NR_Linux[ \t]*+[ \t]*\([0-9]\+\)).*/\1\t\2/' | \
|
|
255
|
-
sort
|
|
317
|
+
cat $1/arch/mips/kernel/syscalls/syscall_o32.tbl | \
|
|
318
|
+
grep -v "^#" | \
|
|
319
|
+
sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \
|
|
320
|
+
sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \
|
|
321
|
+
awk '{ print $3","$1 }' | sort
|
|
256
322
|
}
|
|
257
323
|
|
|
258
324
|
#
|
|
@@ -261,7 +327,7 @@ function dump_sys_mips() {
|
|
|
261
327
|
# Dump the library's syscall table to stdout.
|
|
262
328
|
#
|
|
263
329
|
function dump_lib_mips() {
|
|
264
|
-
dump_lib_arch mips
|
|
330
|
+
dump_lib_arch mips | mangle_lib_syscall mips
|
|
265
331
|
}
|
|
266
332
|
|
|
267
333
|
#
|
|
@@ -273,23 +339,11 @@ function dump_lib_mips() {
|
|
|
273
339
|
# Dump the architecture's syscall table to stdout.
|
|
274
340
|
#
|
|
275
341
|
function dump_sys_mips64() {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
# _MIPS_SIM_NABI32 == 2
|
|
282
|
-
# _MIPS_SIM_ABI64 == 3
|
|
283
|
-
gcc -E -dM -I$1/arch/mips/include/uapi -I$1/arch/mips/include/generated/uapi -D_MIPS_SIM=3 $1/arch/mips/include/uapi/asm/unistd.h | \
|
|
284
|
-
grep "^#define __NR_" | \
|
|
285
|
-
grep -v "^#define __NR_O32_" | \
|
|
286
|
-
grep -v "^#define __NR_N32_" | \
|
|
287
|
-
grep -v "^#define __NR_64_" | \
|
|
288
|
-
grep -v "^#define __NR_Linux" | \
|
|
289
|
-
grep -v "^#define __NR_unused" | \
|
|
290
|
-
grep -v "^#define __NR_reserved" | \
|
|
291
|
-
sed -e 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+(__NR_Linux[ \t]*+[ \t]*\([0-9]\+\)).*/\1\t\2/' | \
|
|
292
|
-
sort
|
|
342
|
+
cat $1/arch/mips/kernel/syscalls/syscall_n64.tbl | \
|
|
343
|
+
grep -v "^#" | \
|
|
344
|
+
sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \
|
|
345
|
+
sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \
|
|
346
|
+
awk '{ print $3","$1 }' | sort
|
|
293
347
|
}
|
|
294
348
|
|
|
295
349
|
#
|
|
@@ -298,7 +352,7 @@ function dump_sys_mips64() {
|
|
|
298
352
|
# Dump the library's syscall table to stdout.
|
|
299
353
|
#
|
|
300
354
|
function dump_lib_mips64() {
|
|
301
|
-
dump_lib_arch mips64
|
|
355
|
+
dump_lib_arch mips64 | mangle_lib_syscall mips64
|
|
302
356
|
}
|
|
303
357
|
|
|
304
358
|
#
|
|
@@ -310,23 +364,11 @@ function dump_lib_mips64() {
|
|
|
310
364
|
# Dump the architecture's syscall table to stdout.
|
|
311
365
|
#
|
|
312
366
|
function dump_sys_mips64n32() {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
# _MIPS_SIM_NABI32 == 2
|
|
319
|
-
# _MIPS_SIM_ABI64 == 3
|
|
320
|
-
gcc -E -dM -I$1/arch/mips/include/uapi -I$1/arch/mips/include/generated/uapi -D_MIPS_SIM=2 $1/arch/mips/include/uapi/asm/unistd.h | \
|
|
321
|
-
grep "^#define __NR_" | \
|
|
322
|
-
grep -v "^#define __NR_O32_" | \
|
|
323
|
-
grep -v "^#define __NR_N32_" | \
|
|
324
|
-
grep -v "^#define __NR_64_" | \
|
|
325
|
-
grep -v "^#define __NR_Linux" | \
|
|
326
|
-
grep -v "^#define __NR_unused" | \
|
|
327
|
-
grep -v "^#define __NR_reserved" | \
|
|
328
|
-
sed -e 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+(__NR_Linux[ \t]*+[ \t]*\([0-9]\+\)).*/\1\t\2/' | \
|
|
329
|
-
sort
|
|
367
|
+
cat $1/arch/mips/kernel/syscalls/syscall_n32.tbl | \
|
|
368
|
+
grep -v "^#" | \
|
|
369
|
+
sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \
|
|
370
|
+
sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \
|
|
371
|
+
awk '{ print $3","$1 }' | sort
|
|
330
372
|
}
|
|
331
373
|
|
|
332
374
|
#
|
|
@@ -335,7 +377,57 @@ function dump_sys_mips64n32() {
|
|
|
335
377
|
# Dump the library's syscall table to stdout.
|
|
336
378
|
#
|
|
337
379
|
function dump_lib_mips64n32() {
|
|
338
|
-
dump_lib_arch mips64n32
|
|
380
|
+
dump_lib_arch mips64n32 | mangle_lib_syscall mips64n32
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
#
|
|
384
|
+
# Dump the parisc system syscall table
|
|
385
|
+
#
|
|
386
|
+
# Arguments:
|
|
387
|
+
# 1 path to the kernel source
|
|
388
|
+
#
|
|
389
|
+
# Dump the architecture's syscall table to stdout.
|
|
390
|
+
#
|
|
391
|
+
function dump_sys_parisc() {
|
|
392
|
+
cat $1/arch/parisc/kernel/syscalls/syscall.tbl | \
|
|
393
|
+
grep -v "^#" | \
|
|
394
|
+
sed -n "/[0-9]\+[ \t]\+\(common\|32\)/p" | \
|
|
395
|
+
awk '{ print $3","$1 }' | \
|
|
396
|
+
sort
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
#
|
|
400
|
+
# Dump the parisc library syscall table
|
|
401
|
+
#
|
|
402
|
+
# Dump the library's syscall table to stdout.
|
|
403
|
+
#
|
|
404
|
+
function dump_lib_parisc() {
|
|
405
|
+
dump_lib_arch parisc | mangle_lib_syscall parisc
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
#
|
|
409
|
+
# Dump the parisc64 system syscall table
|
|
410
|
+
#
|
|
411
|
+
# Arguments:
|
|
412
|
+
# 1 path to the kernel source
|
|
413
|
+
#
|
|
414
|
+
# Dump the architecture's syscall table to stdout.
|
|
415
|
+
#
|
|
416
|
+
function dump_sys_parisc64() {
|
|
417
|
+
cat $1/arch/parisc/kernel/syscalls/syscall.tbl | \
|
|
418
|
+
grep -v "^#" | \
|
|
419
|
+
sed -n "/[0-9]\+[ \t]\+\(common\|64\)/p" | \
|
|
420
|
+
awk '{ print $3","$1 }' | \
|
|
421
|
+
sort
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
#
|
|
425
|
+
# Dump the parisc64 library syscall table
|
|
426
|
+
#
|
|
427
|
+
# Dump the library's syscall table to stdout.
|
|
428
|
+
#
|
|
429
|
+
function dump_lib_parisc64() {
|
|
430
|
+
dump_lib_arch parisc64 | mangle_lib_syscall parisc64
|
|
339
431
|
}
|
|
340
432
|
|
|
341
433
|
#
|
|
@@ -349,11 +441,7 @@ function dump_lib_mips64n32() {
|
|
|
349
441
|
function dump_sys_ppc() {
|
|
350
442
|
cat $1/arch/powerpc/kernel/syscalls/syscall.tbl | grep -v "^#" | \
|
|
351
443
|
sed -ne "/[0-9]\+[ \t]\+\(common\|nospu\|32\)/p" | \
|
|
352
|
-
awk '{ print $3"
|
|
353
|
-
(cat $1/arch/powerpc/include/uapi/asm/unistd.h | \
|
|
354
|
-
grep "^#define __PPC_NR_" | grep -v "^#define __PPC_NR_BASE" | \
|
|
355
|
-
sed -e 's/#define _PPC_NR_\([a-z0-9_]*\)[ \t]\+(__PPC_NR_BASE+\(.*\))/\1 983040 + \2/' | \
|
|
356
|
-
awk '{ print $1"\t"$2+$4 }')) | sort
|
|
444
|
+
awk '{ print $3","$1 }' | sort
|
|
357
445
|
}
|
|
358
446
|
|
|
359
447
|
#
|
|
@@ -362,7 +450,7 @@ function dump_sys_ppc() {
|
|
|
362
450
|
# Dump the library's syscall table to stdout.
|
|
363
451
|
#
|
|
364
452
|
function dump_lib_ppc() {
|
|
365
|
-
dump_lib_arch ppc
|
|
453
|
+
dump_lib_arch ppc | mangle_lib_syscall ppc
|
|
366
454
|
}
|
|
367
455
|
|
|
368
456
|
#
|
|
@@ -376,11 +464,7 @@ function dump_lib_ppc() {
|
|
|
376
464
|
function dump_sys_ppc64() {
|
|
377
465
|
cat $1/arch/powerpc/kernel/syscalls/syscall.tbl | grep -v "^#" | \
|
|
378
466
|
sed -ne "/[0-9]\+[ \t]\+\(common\|nospu\|64\)/p" | \
|
|
379
|
-
awk '{ print $3"
|
|
380
|
-
(cat $1/arch/powerpc/include/uapi/asm/unistd.h | \
|
|
381
|
-
grep "^#define __PPC_NR_" | grep -v "^#define __PPC_NR_BASE" | \
|
|
382
|
-
sed -e 's/#define _PPC_NR_\([a-z0-9_]*\)[ \t]\+(__PPC_NR_BASE+\(.*\))/\1 983040 + \2/' | \
|
|
383
|
-
awk '{ print $1"\t"$2+$4 }')) | sort
|
|
467
|
+
awk '{ print $3","$1 }' | sort
|
|
384
468
|
}
|
|
385
469
|
|
|
386
470
|
#
|
|
@@ -389,7 +473,50 @@ function dump_sys_ppc64() {
|
|
|
389
473
|
# Dump the library's syscall table to stdout.
|
|
390
474
|
#
|
|
391
475
|
function dump_lib_ppc64() {
|
|
392
|
-
dump_lib_arch ppc64
|
|
476
|
+
dump_lib_arch ppc64 | mangle_lib_syscall ppc64
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
#
|
|
480
|
+
# Dump the riscv64 system syscall table
|
|
481
|
+
#
|
|
482
|
+
# Arguments:
|
|
483
|
+
# 1 path to the kernel source
|
|
484
|
+
#
|
|
485
|
+
# Dump the architecture's syscall table to stdout.
|
|
486
|
+
#
|
|
487
|
+
function dump_sys_riscv64() {
|
|
488
|
+
local sed_filter=""
|
|
489
|
+
|
|
490
|
+
sed_filter+='s/__NR3264_fadvise64/223/;'
|
|
491
|
+
sed_filter+='s/__NR3264_fcntl/25/;'
|
|
492
|
+
sed_filter+='s/__NR3264_fstatat/79/;'
|
|
493
|
+
sed_filter+='s/__NR3264_fstatfs/44/;'
|
|
494
|
+
sed_filter+='s/__NR3264_ftruncate/46/;'
|
|
495
|
+
sed_filter+='s/__NR3264_lseek/62/;'
|
|
496
|
+
sed_filter+='s/__NR3264_mmap/222/;'
|
|
497
|
+
sed_filter+='s/__NR3264_sendfile/71/;'
|
|
498
|
+
sed_filter+='s/__NR3264_statfs/43/;'
|
|
499
|
+
sed_filter+='s/__NR3264_truncate/45/;'
|
|
500
|
+
sed_filter+='s/__NR3264_fstat/80/;'
|
|
501
|
+
|
|
502
|
+
gcc -E -dM -I$1/include/uapi \
|
|
503
|
+
-D__BITS_PER_LONG=64 -D__ARCH_WANT_NEW_STAT \
|
|
504
|
+
$1/arch/riscv/include/uapi/asm/unistd.h | \
|
|
505
|
+
grep "^#define __NR_" | \
|
|
506
|
+
sed '/__NR_syscalls/d' | \
|
|
507
|
+
sed 's/(__NR_arch_specific_syscall + 15)/259/' | \
|
|
508
|
+
sed '/__NR_arch_specific_syscall/d' | \
|
|
509
|
+
sed 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1,\2/' | \
|
|
510
|
+
sed $sed_filter | sort
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
#
|
|
514
|
+
# Dump the riscv64 library syscall table
|
|
515
|
+
#
|
|
516
|
+
# Dump the library's syscall table to stdout.
|
|
517
|
+
#
|
|
518
|
+
function dump_lib_riscv64() {
|
|
519
|
+
dump_lib_arch riscv64 | mangle_lib_syscall riscv64
|
|
393
520
|
}
|
|
394
521
|
|
|
395
522
|
#
|
|
@@ -403,11 +530,8 @@ function dump_lib_ppc64() {
|
|
|
403
530
|
function dump_sys_s390() {
|
|
404
531
|
cat $1/arch/s390/kernel/syscalls/syscall.tbl | grep -v "^#" | \
|
|
405
532
|
sed -ne "/[0-9]\+[ \t]\+\(common\|32\)/p" | \
|
|
406
|
-
awk '{ print $3"
|
|
407
|
-
|
|
408
|
-
grep "^#define __PPC_NR_" | grep -v "^#define __PPC_NR_BASE" | \
|
|
409
|
-
sed -e 's/#define _PPC_NR_\([a-z0-9_]*\)[ \t]\+(__PPC_NR_BASE+\(.*\))/\1 983040 + \2/' | \
|
|
410
|
-
awk '{ print $1"\t"$2+$4 }')) | sort
|
|
533
|
+
awk '{ print $3","$1 }' | \
|
|
534
|
+
sort
|
|
411
535
|
}
|
|
412
536
|
|
|
413
537
|
#
|
|
@@ -416,7 +540,7 @@ function dump_sys_s390() {
|
|
|
416
540
|
# Dump the library's syscall table to stdout.
|
|
417
541
|
#
|
|
418
542
|
function dump_lib_s390() {
|
|
419
|
-
dump_lib_arch s390
|
|
543
|
+
dump_lib_arch s390 | mangle_lib_syscall s390
|
|
420
544
|
}
|
|
421
545
|
|
|
422
546
|
#
|
|
@@ -430,11 +554,8 @@ function dump_lib_s390() {
|
|
|
430
554
|
function dump_sys_s390x() {
|
|
431
555
|
cat $1/arch/s390/kernel/syscalls/syscall.tbl | grep -v "^#" | \
|
|
432
556
|
sed -ne "/[0-9]\+[ \t]\+\(common\|64\)/p" | \
|
|
433
|
-
awk '{ print $3"
|
|
434
|
-
|
|
435
|
-
grep "^#define __PPC_NR_" | grep -v "^#define __PPC_NR_BASE" | \
|
|
436
|
-
sed -e 's/#define _PPC_NR_\([a-z0-9_]*\)[ \t]\+(__PPC_NR_BASE+\(.*\))/\1 983040 + \2/' | \
|
|
437
|
-
awk '{ print $1"\t"$2+$4 }')) | sort
|
|
557
|
+
awk '{ print $3","$1 }' | \
|
|
558
|
+
sort
|
|
438
559
|
}
|
|
439
560
|
|
|
440
561
|
#
|
|
@@ -443,7 +564,7 @@ function dump_sys_s390x() {
|
|
|
443
564
|
# Dump the library's syscall table to stdout.
|
|
444
565
|
#
|
|
445
566
|
function dump_lib_s390x() {
|
|
446
|
-
dump_lib_arch s390x
|
|
567
|
+
dump_lib_arch s390x | mangle_lib_syscall s390x
|
|
447
568
|
}
|
|
448
569
|
|
|
449
570
|
#
|
|
@@ -481,12 +602,21 @@ function dump_sys() {
|
|
|
481
602
|
mips64n32)
|
|
482
603
|
dump_sys_mips64n32 "$2"
|
|
483
604
|
;;
|
|
605
|
+
parisc)
|
|
606
|
+
dump_sys_parisc "$2"
|
|
607
|
+
;;
|
|
608
|
+
parisc64)
|
|
609
|
+
dump_sys_parisc64 "$2"
|
|
610
|
+
;;
|
|
484
611
|
ppc)
|
|
485
612
|
dump_sys_ppc "$2"
|
|
486
613
|
;;
|
|
487
614
|
ppc64)
|
|
488
615
|
dump_sys_ppc64 "$2"
|
|
489
616
|
;;
|
|
617
|
+
riscv64)
|
|
618
|
+
dump_sys_riscv64 "$2"
|
|
619
|
+
;;
|
|
490
620
|
s390)
|
|
491
621
|
dump_sys_s390 "$2"
|
|
492
622
|
;;
|
|
@@ -536,17 +666,26 @@ function dump_lib() {
|
|
|
536
666
|
mips64n32)
|
|
537
667
|
dump_lib_mips64n32
|
|
538
668
|
;;
|
|
669
|
+
parisc)
|
|
670
|
+
dump_lib_parisc
|
|
671
|
+
;;
|
|
672
|
+
parisc64)
|
|
673
|
+
dump_lib_parisc64
|
|
674
|
+
;;
|
|
539
675
|
ppc)
|
|
540
|
-
dump_lib_ppc
|
|
676
|
+
dump_lib_ppc
|
|
541
677
|
;;
|
|
542
678
|
ppc64)
|
|
543
|
-
dump_lib_ppc64
|
|
679
|
+
dump_lib_ppc64
|
|
680
|
+
;;
|
|
681
|
+
riscv64)
|
|
682
|
+
dump_lib_riscv64
|
|
544
683
|
;;
|
|
545
684
|
s390)
|
|
546
|
-
dump_lib_s390
|
|
685
|
+
dump_lib_s390
|
|
547
686
|
;;
|
|
548
687
|
s390x)
|
|
549
|
-
dump_lib_s390x
|
|
688
|
+
dump_lib_s390x
|
|
550
689
|
;;
|
|
551
690
|
*)
|
|
552
691
|
echo ""
|
|
@@ -557,6 +696,69 @@ function dump_lib() {
|
|
|
557
696
|
return 0
|
|
558
697
|
}
|
|
559
698
|
|
|
699
|
+
#
|
|
700
|
+
# Generate the syscall csv file
|
|
701
|
+
#
|
|
702
|
+
# Arguments:
|
|
703
|
+
# 1 path to the kernel source
|
|
704
|
+
# 2 "sys" or "lib" depending on the syscall list to use
|
|
705
|
+
#
|
|
706
|
+
# Generare a syscall csv file from the given kernel sources.
|
|
707
|
+
#
|
|
708
|
+
function gen_csv() {
|
|
709
|
+
|
|
710
|
+
# sanity checks
|
|
711
|
+
[[ -z $1 ]] && return
|
|
712
|
+
[[ $2 != "sys" && $2 != "lib" ]] && return
|
|
713
|
+
|
|
714
|
+
# abi list
|
|
715
|
+
# NOTE: the ordering here is dependent on the layout of the
|
|
716
|
+
# arch_syscall_table struct in syscalls.h - BEWARE!
|
|
717
|
+
abi_list=""
|
|
718
|
+
abi_list+=" x86 x86_64 x32"
|
|
719
|
+
abi_list+=" arm aarch64"
|
|
720
|
+
abi_list+=" mips mips64 mips64n32"
|
|
721
|
+
abi_list+=" parisc parisc64"
|
|
722
|
+
abi_list+=" ppc ppc64"
|
|
723
|
+
abi_list+=" riscv64"
|
|
724
|
+
abi_list+=" s390 s390x"
|
|
725
|
+
|
|
726
|
+
# get the full syscall list
|
|
727
|
+
for abi in $abi_list; do
|
|
728
|
+
eval output_$abi=$(mktemp -t syscall_validate_XXXXXX)
|
|
729
|
+
dump_$2_$abi "$1" > $(eval echo $`eval echo output_$abi`)
|
|
730
|
+
done
|
|
731
|
+
sc_list=$((for abi in $abi_list; do
|
|
732
|
+
cat $(eval echo $`eval echo output_$abi`);
|
|
733
|
+
done) | awk -F "," '{ print $1 }' | sort -u)
|
|
734
|
+
|
|
735
|
+
# output a simple header
|
|
736
|
+
printf "#syscall (v%s %s)" \
|
|
737
|
+
"$(kernel_version "$1")" "$(TZ=UTC date "+%Y-%m-%d")"
|
|
738
|
+
for abi in $abi_list; do
|
|
739
|
+
printf ",%s" $abi
|
|
740
|
+
done
|
|
741
|
+
printf "\n"
|
|
742
|
+
|
|
743
|
+
# output the syscall csv details
|
|
744
|
+
for sc in $sc_list; do
|
|
745
|
+
printf "%s" $sc
|
|
746
|
+
for abi in $abi_list; do
|
|
747
|
+
num=$(grep "^$sc," \
|
|
748
|
+
$(eval echo $`eval echo output_$abi`) | \
|
|
749
|
+
awk -F "," '{ print $2 }' )
|
|
750
|
+
[[ -z $num ]] && num="PNR"
|
|
751
|
+
printf ",%s" $num
|
|
752
|
+
done
|
|
753
|
+
printf "\n"
|
|
754
|
+
done
|
|
755
|
+
|
|
756
|
+
# cleanup
|
|
757
|
+
for abi in $abi_list; do
|
|
758
|
+
rm -f $(eval echo $`eval echo output_$abi`)
|
|
759
|
+
done
|
|
760
|
+
}
|
|
761
|
+
|
|
560
762
|
####
|
|
561
763
|
# main
|
|
562
764
|
|
|
@@ -571,14 +773,18 @@ if [[ ! -x $LIB_SYS_DUMP ]]; then
|
|
|
571
773
|
fi
|
|
572
774
|
|
|
573
775
|
opt_arches=""
|
|
574
|
-
|
|
575
|
-
|
|
776
|
+
opt_csv=0
|
|
777
|
+
opt_sys=0
|
|
778
|
+
opt_lib=0
|
|
576
779
|
|
|
577
|
-
while getopts "a:
|
|
780
|
+
while getopts "a:cslh" opt; do
|
|
578
781
|
case $opt in
|
|
579
782
|
a)
|
|
580
783
|
opt_arches+="$OPTARG "
|
|
581
784
|
;;
|
|
785
|
+
c)
|
|
786
|
+
opt_csv=1
|
|
787
|
+
;;
|
|
582
788
|
s)
|
|
583
789
|
opt_sys=1
|
|
584
790
|
opt_lib=0
|
|
@@ -601,6 +807,7 @@ if [[ $opt_arches == "" ]]; then
|
|
|
601
807
|
x86 x86_64 x32 \
|
|
602
808
|
arm aarch64 \
|
|
603
809
|
mips mips64 mips64n32 \
|
|
810
|
+
parisc parisc64 \
|
|
604
811
|
ppc ppc64 \
|
|
605
812
|
s390 s390x"
|
|
606
813
|
fi
|
|
@@ -620,30 +827,39 @@ fi
|
|
|
620
827
|
tmp_lib=$(mktemp -t syscall_validate_XXXXXX)
|
|
621
828
|
tmp_sys=$(mktemp -t syscall_validate_XXXXXX)
|
|
622
829
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
# dump the syscall tables
|
|
626
|
-
dump_lib $i > $tmp_lib
|
|
627
|
-
if [[ $? -ne 0 ]]; then
|
|
628
|
-
echo "error: unknown arch $i"
|
|
629
|
-
exit 1
|
|
630
|
-
fi
|
|
631
|
-
dump_sys $i "$kernel_dir" > $tmp_sys
|
|
632
|
-
if [[ $? -ne 0 ]]; then
|
|
633
|
-
echo "error: unknown arch $i"
|
|
634
|
-
exit 1
|
|
635
|
-
fi
|
|
636
|
-
|
|
830
|
+
if [[ $opt_csv -eq 1 ]]; then
|
|
831
|
+
# generate the syscall csv file
|
|
637
832
|
if [[ $opt_lib -eq 1 ]]; then
|
|
638
|
-
|
|
639
|
-
elif [[ $opt_sys -eq 1 ]]; then
|
|
640
|
-
cat $tmp_sys
|
|
833
|
+
gen_csv $kernel_dir "lib"
|
|
641
834
|
else
|
|
642
|
-
|
|
643
|
-
diff -u --label="$i [library]" $tmp_lib \
|
|
644
|
-
--label "$i [system]" $tmp_sys
|
|
835
|
+
gen_csv $kernel_dir "sys"
|
|
645
836
|
fi
|
|
646
|
-
|
|
837
|
+
else
|
|
838
|
+
# loop through the architectures and compare
|
|
839
|
+
for i in $opt_arches; do
|
|
840
|
+
# dump the syscall tables
|
|
841
|
+
dump_lib $i > $tmp_lib
|
|
842
|
+
if [[ $? -ne 0 ]]; then
|
|
843
|
+
echo "error: unknown arch $i"
|
|
844
|
+
exit 1
|
|
845
|
+
fi
|
|
846
|
+
dump_sys $i "$kernel_dir" > $tmp_sys
|
|
847
|
+
if [[ $? -ne 0 ]]; then
|
|
848
|
+
echo "error: unknown arch $i"
|
|
849
|
+
exit 1
|
|
850
|
+
fi
|
|
851
|
+
|
|
852
|
+
if [[ $opt_lib -eq 1 ]]; then
|
|
853
|
+
cat $tmp_lib
|
|
854
|
+
elif [[ $opt_sys -eq 1 ]]; then
|
|
855
|
+
cat $tmp_sys
|
|
856
|
+
else
|
|
857
|
+
# compare the lib and sys output
|
|
858
|
+
diff -u --label="$i [library]" $tmp_lib \
|
|
859
|
+
--label "$i [system]" $tmp_sys
|
|
860
|
+
fi
|
|
861
|
+
done
|
|
862
|
+
fi
|
|
647
863
|
|
|
648
864
|
# cleanup and exit
|
|
649
865
|
rm -f $tmp_lib $tmp_sys
|