[CRIU] [PATCH 0/9] compel: Initial rework draft

Cyrill Gorcunov gorcunov at openvz.org
Wed Aug 24 09:47:30 PDT 2016


Hi guys! We've started to rework compel to support
plugins structure and move parasite engine into libcompel.so
library.

Since the rework is rather destructive at the moment I post
the series early. Note the cross-compile won't work for now.

For testing purpose all these commits are sitting in
the @compel-rework-2 branch on https://github.com/cyrillos/criu

Pavel, please consider merging. More likely this series break
something but keeping it offtree become harder and harder...

Cyrill Gorcunov (1):
  compel: Initial commit for rework

Dmitry Safonov (8):
  compel: remove not needed from uapi
  compel: make -- Add general assembly flags
  compel: Makefile.compel -- Remove second GEN msg
  compel: plugins -- Add prologue.h from compel, drop hand-made
    prologue_init_args
  compel: plugins,std  -- Add prologue.S
  compel: plugins -- Add shmem plugin
  compel: plugins,std -- Use sys_recvfrom instead of recv
  compel: plugins -- Add fds plugin

 Makefile                                           |   7 +-
 Makefile.compel                                    |  37 +++
 Makefile.versions                                  |   3 +-
 compel/Makefile                                    |  47 ++--
 compel/arch/aarch64/handle-elf.c                   |  21 --
 compel/arch/aarch64/include/handle-elf.h           |  11 -
 compel/arch/aarch64/src/lib/handle-elf.c           |  34 +++
 compel/arch/aarch64/src/lib/include/handle-elf.h   |  11 +
 compel/arch/arm/include/handle-elf.h               |  11 -
 compel/arch/arm/{ => src/lib}/handle-elf.c         |  13 +-
 compel/arch/arm/src/lib/include/handle-elf.h       |  11 +
 compel/arch/ppc64/handle-elf.c                     |  21 --
 compel/arch/ppc64/include/handle-elf.h             |  12 -
 compel/arch/ppc64/src/lib/handle-elf.c             |  34 +++
 compel/arch/ppc64/src/lib/include/handle-elf.h     |  13 +
 compel/arch/x86/handle-elf.c                       |  16 --
 compel/arch/x86/plugins/include/asm/linkage.h      |   1 +
 compel/arch/x86/plugins/include/asm/prologue.h     |  36 +++
 .../arch/x86/plugins/include/asm/syscall-types.h   |  53 +++++
 compel/arch/x86/plugins/std/call32.S               |   1 +
 compel/arch/x86/plugins/std/prologue.S             |  33 +++
 .../plugins/std/syscalls/syscall-common-x86-32.S   |  36 +++
 .../plugins/std/syscalls/syscall-common-x86-64.S   |  21 ++
 compel/arch/x86/plugins/std/syscalls/syscall32.c   |  85 +++++++
 .../arch/x86/plugins/std/syscalls/syscall_32.tbl   |  94 ++++++++
 .../arch/x86/plugins/std/syscalls/syscall_64.tbl   | 105 +++++++++
 compel/arch/x86/scripts/pack.lds.S                 |  30 +++
 compel/arch/x86/src/lib/handle-elf.c               |  29 +++
 compel/arch/x86/{ => src/lib}/include/handle-elf.h |  18 +-
 compel/include/compiler.h                          |   1 +
 compel/include/elf32-types.h                       |  16 ++
 compel/include/elf64-types.h                       |  16 ++
 compel/include/int.h                               |   1 +
 compel/include/piegen.h                            |  22 +-
 compel/include/shmem.h                             |  10 +
 compel/include/uapi/compel.h                       |  27 +++
 compel/include/uapi/elf32-types.h                  |  20 --
 compel/include/uapi/elf64-types.h                  |  20 --
 compel/include/uapi/piegen-err.h                   |  10 -
 compel/include/uapi/plugins.h                      |  35 +++
 compel/include/uapi/types.h                        |  16 +-
 compel/plugins/Makefile                            | 148 ++++++++++++
 compel/plugins/fds/fds.c                           |  26 ++
 compel/plugins/include/std-priv.h                  |   6 +
 compel/plugins/include/uapi/plugin-fds.h           |  27 +++
 compel/plugins/include/uapi/plugin-shmem.h         |  17 ++
 compel/plugins/include/uapi/plugin-std.h           |   7 +
 compel/plugins/include/uapi/std/string.h           |  28 +++
 compel/plugins/include/uapi/std/syscall-types.h    |  57 +++++
 compel/plugins/shmem/shmem.c                       |  38 +++
 compel/plugins/std/std.c                           |  91 +++++++
 compel/plugins/std/string.c                        | 262 +++++++++++++++++++++
 compel/{ => src/lib}/handle-elf-32.c               |   0
 compel/{ => src/lib}/handle-elf.c                  | 103 ++++----
 compel/{ => src}/main.c                            |   1 +
 compel/src/shared/fds.c                            | 113 +++++++++
 56 files changed, 1692 insertions(+), 270 deletions(-)
 create mode 100644 Makefile.compel
 delete mode 100644 compel/arch/aarch64/handle-elf.c
 delete mode 100644 compel/arch/aarch64/include/handle-elf.h
 create mode 100644 compel/arch/aarch64/src/lib/handle-elf.c
 create mode 100644 compel/arch/aarch64/src/lib/include/handle-elf.h
 delete mode 100644 compel/arch/arm/include/handle-elf.h
 rename compel/arch/arm/{ => src/lib}/handle-elf.c (54%)
 create mode 100644 compel/arch/arm/src/lib/include/handle-elf.h
 delete mode 100644 compel/arch/ppc64/handle-elf.c
 delete mode 100644 compel/arch/ppc64/include/handle-elf.h
 create mode 100644 compel/arch/ppc64/src/lib/handle-elf.c
 create mode 100644 compel/arch/ppc64/src/lib/include/handle-elf.h
 delete mode 100644 compel/arch/x86/handle-elf.c
 create mode 120000 compel/arch/x86/plugins/include/asm/linkage.h
 create mode 100644 compel/arch/x86/plugins/include/asm/prologue.h
 create mode 100644 compel/arch/x86/plugins/include/asm/syscall-types.h
 create mode 120000 compel/arch/x86/plugins/std/call32.S
 create mode 100644 compel/arch/x86/plugins/std/prologue.S
 create mode 100644 compel/arch/x86/plugins/std/syscalls/syscall-common-x86-32.S
 create mode 100644 compel/arch/x86/plugins/std/syscalls/syscall-common-x86-64.S
 create mode 100644 compel/arch/x86/plugins/std/syscalls/syscall32.c
 create mode 100644 compel/arch/x86/plugins/std/syscalls/syscall_32.tbl
 create mode 100644 compel/arch/x86/plugins/std/syscalls/syscall_64.tbl
 create mode 100644 compel/arch/x86/scripts/pack.lds.S
 create mode 100644 compel/arch/x86/src/lib/handle-elf.c
 rename compel/arch/x86/{ => src/lib}/include/handle-elf.h (59%)
 create mode 120000 compel/include/compiler.h
 create mode 100644 compel/include/elf32-types.h
 create mode 100644 compel/include/elf64-types.h
 create mode 120000 compel/include/int.h
 create mode 100644 compel/include/shmem.h
 create mode 100644 compel/include/uapi/compel.h
 delete mode 100644 compel/include/uapi/elf32-types.h
 delete mode 100644 compel/include/uapi/elf64-types.h
 delete mode 100644 compel/include/uapi/piegen-err.h
 create mode 100644 compel/include/uapi/plugins.h
 mode change 100644 => 120000 compel/include/uapi/types.h
 create mode 100644 compel/plugins/Makefile
 create mode 100644 compel/plugins/fds/fds.c
 create mode 100644 compel/plugins/include/std-priv.h
 create mode 100644 compel/plugins/include/uapi/plugin-fds.h
 create mode 100644 compel/plugins/include/uapi/plugin-shmem.h
 create mode 100644 compel/plugins/include/uapi/plugin-std.h
 create mode 100644 compel/plugins/include/uapi/std/string.h
 create mode 100644 compel/plugins/include/uapi/std/syscall-types.h
 create mode 100644 compel/plugins/shmem/shmem.c
 create mode 100644 compel/plugins/std/std.c
 create mode 100644 compel/plugins/std/string.c
 rename compel/{ => src/lib}/handle-elf-32.c (100%)
 rename compel/{ => src/lib}/handle-elf.c (88%)
 rename compel/{ => src}/main.c (99%)
 create mode 100644 compel/src/shared/fds.c

-- 
2.7.4



More information about the CRIU mailing list