[CRIU] [PATCHv2 00/17] Compatible C/R patches set, part 1
Dmitry Safonov
dsafonov at virtuozzo.com
Tue Apr 12 09:10:38 PDT 2016
v2 Changes:
- dropped build/nmk patches for building objects with different
{CFLAGS,AFLAGS,LDFLAGS} and reworked Makefile patches to build
compat object, according to their path. I choosed 'compat/name-compat.o'
format, for the reason, described in the patch
'pie.lib: generate compatible pie object files', which is quite
questionable.
- as patches set size has reduced, I add additional 4 patches (the last 4)
by the reason, that they are small and quite trivial. I think, there
may be objections about 'x86: add user_regs_native macro (optional)'
patch, which checks that we do not interpret uninitialized user register
set as compatible set (is_native == false/0). I did it for further changes:
now it's so, but may lead to problems, which will quite hard to debug
if code changes.
Tested on Travis CI:
https://travis-ci.org/0x7f454c46/criu/builds/122553966
v1 version patches set:
https://lists.openvz.org/pipermail/criu/2016-April/027237.html
Dmitry Safonov (17):
.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
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
x86: add user_regs_native macro (optional)
parasite-syscall: choose between native/compat blobs
x86/crtools: add injected int 0x80 instruction code
restorer: drop sigframe include
.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/compat/vdso-pie-compat.c | 1 +
criu/arch/x86/crtools.c | 230 ++++++++++++++++++++++--------
criu/arch/x86/include/asm/dump.h | 3 +
criu/arch/x86/include/asm/types.h | 118 +++++++++++----
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 | 4 +-
criu/parasite-syscall.c | 45 ++++--
criu/pie/Makefile | 182 ++++++++++++++++-------
criu/pie/Makefile.library | 53 ++++---
criu/pie/compat/log-simple-compat.c | 1 +
criu/pie/compat/parasite-compat.c | 1 +
criu/pie/compat/parasite-vdso-compat.c | 1 +
criu/pie/compat/util-compat.c | 1 +
criu/pie/compat/util-fd-compat.c | 1 +
criu/pie/compat/util-vdso-compat.c | 1 +
criu/pie/parasite-blob.h | 5 +
criu/pie/parasite-vdso.c | 12 +-
criu/pie/pie-relocs.h | 17 +--
images/core-x86.proto | 61 ++++----
scripts/build/Dockerfile.x86_64.hdr | 4 +
scripts/travis-tests | 4 +-
34 files changed, 835 insertions(+), 340 deletions(-)
create mode 120000 criu/arch/x86/compat/vdso-pie-compat.c
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 120000 criu/pie/compat/log-simple-compat.c
create mode 120000 criu/pie/compat/parasite-compat.c
create mode 120000 criu/pie/compat/parasite-vdso-compat.c
create mode 120000 criu/pie/compat/util-compat.c
create mode 120000 criu/pie/compat/util-fd-compat.c
create mode 120000 criu/pie/compat/util-vdso-compat.c
create mode 100644 criu/pie/parasite-blob.h
--
2.8.0
More information about the CRIU
mailing list