[CRIU] [PATCH 00/15] Compatible C/R patches set, part 1
Dmitry Safonov
dsafonov at virtuozzo.com
Mon Apr 11 05:19:14 PDT 2016
Here are first 15 patches from compatible patches set.
Mostly they are about Makefiles and visible change after
applying them is generation of two parasite blobs on x86.
After this patches, criu will still refuse to dump tasks in
compatibility mode.
This part was tested and used in previous version of
compatibility patches set:
https://github.com/0x7f454c46/criu/tree/compat-2
which successfully restores Glibc 32-bit applications.
Right now I'm working on Linux kernel API to change
application mode: native <-> compat. I had a patch
that does it for compat-2 branch, but now reworking
it the way which will satisfy community points on it.
This Linux kernel patch affects only one criu patch
from the second part, so this part will stay the same.
So, I'm sending this patches set in two parts for the
two reasons:
- it's simpler to review 15 patches than 30
- I'm still working on a patch from the second part,
but a little tired of constantly rebasing makefile
part, which doesn't change in my series.
Tested on Travis CI:
https://travis-ci.org/0x7f454c46/criu/builds/122225176
Dmitry Safonov (15):
.gitignore: add compel/compel
Dockerfile: add libc6-dev-i386 & gcc-multilib
x86/build: generate syscalls-{64,32}.built-in.o
cr-exec: add non-generated sys-exec-tbl for x86
x86/pie: split parasite-head.S on {-32,-64} parts
build/nmk: bring gen-rule-* back
build/nmk: add -obj-uniq and -lib-uniq
criu/pie: generate native.lib.a
parasite-vdso: add casts from uint64_t
pie.lib: generate compatible pie object files
pie/vdso: add i386 trampoline
parasite: refactor macros for compat/native usage
pie: generate native and compat parasites
core/x86: add compatible 32 register set
x86/crtools: rework arch_task_compatible
.gitignore | 15 +-
criu/Makefile | 11 +-
criu/arch/ppc64/Makefile.syscalls | 3 +
criu/arch/scripts/arm/gen-sys-exec-tbl.pl | 4 +
criu/arch/x86/Makefile.syscalls | 199 +++++++++++++++++++--------
criu/arch/x86/crtools.c | 219 ++++++++++++++++++++++--------
criu/arch/x86/include/asm/dump.h | 3 +
criu/arch/x86/include/asm/types.h | 104 ++++++++++----
criu/arch/x86/parasite-head-32.S | 24 ++++
criu/arch/x86/parasite-head-64.S | 22 +++
criu/arch/x86/parasite-head.S | 40 ------
criu/arch/x86/sys-exec-tbl.c | 50 +++++++
criu/arch/x86/syscalls/syscall32.c | 2 +-
criu/arch/x86/vdso-pie.c | 41 +++---
criu/cr-exec.c | 10 +-
criu/cr-restore.c | 4 +-
criu/include/parasite.h | 5 +-
criu/include/restorer.h | 3 +-
criu/parasite-syscall.c | 17 ++-
criu/pie/Makefile | 173 ++++++++++++++++-------
criu/pie/Makefile.library | 50 ++++---
criu/pie/parasite-blob.h | 6 +
criu/pie/parasite-vdso.c | 12 +-
criu/pie/pie-relocs.h | 18 ++-
images/core-x86.proto | 61 +++++----
scripts/build/Dockerfile.x86_64.hdr | 4 +
scripts/nmk/scripts/build.mk | 58 +++++++-
scripts/travis-tests | 4 +-
28 files changed, 827 insertions(+), 335 deletions(-)
create mode 100644 criu/arch/x86/parasite-head-32.S
create mode 100644 criu/arch/x86/parasite-head-64.S
delete mode 100644 criu/arch/x86/parasite-head.S
create mode 100644 criu/arch/x86/sys-exec-tbl.c
create mode 100644 criu/pie/parasite-blob.h
--
2.8.0
More information about the CRIU
mailing list