[CRIU] [PATCHv3 00/10] Compatible (mostly) fixes

Dmitry Safonov dsafonov at virtuozzo.com
Mon Aug 8 05:57:07 PDT 2016


v3: Turned on Alpine Linux build (and fixed compat_iovec warnings);
    Definition of restore_tls() was _only_ under CONFIG_COMPAT,
    while it has been called outside in generic code -- Reported by @avagin,
    thanks. (I wounder, how it has successfuly linked?)

v2: rebase on criu-dev with autofixed conflict by git

There is three patches for issues I've found while was introducing
CONFIG_COMPAT compile&make option, that do nothing with compat:
  build/nmk: simplify try-cc and return true/false
  make: drop check-build-packages - we can use try-cc now
  make: propagate config DEFINES in CFLAGS

For other patches: first four -- some fixes for compatible vdso
on 3.X kernels (found while testing criu on vzkernel with compat
patches set). Mostly -- there are different symbols in vdso for
compat & native tasks, the sizes of vdso blob differ from native
to compat and it's hard to make mremap() for vdso vma working --
so use arch_prctl() API in the case when mremap() does not work.

The last two patches in the set introduce CONFIG_COMPAT option
which make gcc-multilib & glibc6-i686 *optional* dependencies
for building CRIU.

Thanks,
             Dmitry

Dmitry Safonov (10):
  compat/vDSO/restorer: flush rt symtable from criu
  compat/vdso: compare 32-bit vdso by symbols
  compat: move rt-vdso with arch_prctl on mremap fail
  compat/x86/vdso: add 32-bit vdso symbols to array
  build/nmk: simplify try-cc and return true/false
  make: drop check-build-packages - we can use try-cc now
  make: propagate config DEFINES in CFLAGS
  feature-test: add CONFIG_COMPAT compile option
  criu: wrap compatible code with CONFIG_COMPAT
  travis: turn on alpine build

 .travis.yml                          |  1 +
 criu/Makefile.config                 | 23 +++++++++++++++++------
 criu/Makefile.crtools                |  1 -
 criu/Makefile.packages               | 15 ++++++---------
 criu/arch/x86/Makefile               |  6 ++++--
 criu/arch/x86/Makefile.syscalls      |  8 +++-----
 criu/arch/x86/include/asm/restorer.h | 12 +++++++-----
 criu/arch/x86/include/asm/vdso.h     |  7 +++++--
 criu/arch/x86/restorer.c             |  4 ++--
 criu/arch/x86/sys-exec-tbl.c         |  8 ++++----
 criu/page-pipe.c                     |  4 ++--
 criu/parasite-syscall.c              |  4 ++--
 criu/pie/Makefile                    |  9 ++++++---
 criu/pie/Makefile.library            |  7 ++++---
 criu/pie/parasite-blob.h             |  2 +-
 criu/pie/parasite-vdso.c             | 29 +++++++++++++++++++++++++++--
 scripts/feature-tests.mak            | 12 ++++++++++++
 scripts/nmk/scripts/utils.mk         |  8 +++-----
 18 files changed, 106 insertions(+), 54 deletions(-)

-- 
2.9.0



More information about the CRIU mailing list