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

Reply via email to