Here is my first draft at adding support for the x32 and ARM
architectures; it is still pretty rough but I wanted to post
this in case anyone has either a x32 (32-bit ABI for x86_64)
or ARM system handy and wanted to help out with some testing.
I've run through the regression tests with the BPF simulator
but I haven't tested the library on a native ARM or x32 enabled
system yet; any help would be greatly appreciated.
Regardless, comments and feedback are always appreciated.
-Paul
---
Paul Moore (10):
arch: disconnect the BPF arch token from the libseccomp token
bpf: support multiple architectures sharing the same BPF arch token
bpf: fix a problem with duplicate syscalls across architectures
arch: add basic x32 support
arch: add basic ARM support
tools: trim unsupported architectures from the BPF simulator
arch: rename arch-i386* to arch-x86*
tests: add support for the x32 and arm architectures
tests: add a test to exercise the various x86 architectures
tests: minor fixups due to the new arch support
include/seccomp.h.in | 149 ++++++++++++++
src/Makefile | 4
src/api.c | 16 +-
src/arch-arm-syscalls.c | 432 +++++++++++++++++++++++++++++++++++++++++
src/arch-arm.c | 34 +++
src/arch-arm.h | 35 +++
src/arch-i386-syscalls.c | 413 ---------------------------------------
src/arch-i386.c | 113 -----------
src/arch-i386.h | 41 ----
src/arch-x32-syscalls.c | 423 ++++++++++++++++++++++++++++++++++++++++
src/arch-x32.c | 35 +++
src/arch-x32.h | 35 +++
src/arch-x86-syscalls.c | 421 ++++++++++++++++++++++++++++++++++++++++
src/arch-x86.c | 113 +++++++++++
src/arch-x86.h | 40 ++++
src/arch-x86_64-syscalls.c | 12 +
src/arch-x86_64.c | 3
src/arch.c | 94 ++++-----
src/arch.h | 3
src/gen_bpf.c | 158 +++++++++------
src/gen_pfc.c | 12 +
src/python/libseccomp.pxd | 2
src/python/seccomp.pyx | 4
tests/16-arch-basic.c | 14 +
tests/16-arch-basic.py | 8 +
tests/20-arch-all-basic.c | 93 +++++++++
tests/20-arch-all-basic.py | 53 +++++
tests/20-arch-all-basic.tests | 23 ++
tests/Makefile | 3
tests/regression | 2
tools/bpf_sim.c | 15 -
tools/sys_resolver.c | 12 +
32 files changed, 2102 insertions(+), 713 deletions(-)
create mode 100644 src/arch-arm-syscalls.c
create mode 100644 src/arch-arm.c
create mode 100644 src/arch-arm.h
delete mode 100644 src/arch-i386-syscalls.c
delete mode 100644 src/arch-i386.c
delete mode 100644 src/arch-i386.h
create mode 100644 src/arch-x32-syscalls.c
create mode 100644 src/arch-x32.c
create mode 100644 src/arch-x32.h
create mode 100644 src/arch-x86-syscalls.c
create mode 100644 src/arch-x86.c
create mode 100644 src/arch-x86.h
create mode 100644 tests/20-arch-all-basic.c
create mode 100755 tests/20-arch-all-basic.py
create mode 100644 tests/20-arch-all-basic.tests
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
libseccomp-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libseccomp-discuss