No description
Find a file
Dmitry Safonov 04b0a0bd75 make: keep HOSTCFLAGS clean from target cflags
HOSTCFLAGS are populated with CFLAGS if they are set from environment:
    CFLAGS=-O1 make

But it turns out that =? operator, which sets variable iff it was unset
previously - is recursive expanded operator.
Which means that value of HOSTCFLAGS is evaluated every time it's used.

Which is wrong with the current flaw in Makefile:
    1. it assigns HOSTCFLAGS with CFLAGS from environment as recursive
    2. it assigns target-related options to CFLAGS such as -march.
    3. HOSTCFLAGS are used (with the current code - here they are expanded
       from CFLAGS).

Which results in target-related options supplied to host objects building,
which breaks cross-compilation.
Fix by omitting recursive expansion for HOSTCFLAGS.
Still we need to keep $(WARNINGS) and $(DEFINES) in HOSTCFLAGS.

Link: https://lists.openvz.org/pipermail/criu/2017-April/037109.html
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Reported-by: "Brinkmann, Harald" <Harald.Brinkmann@bst-international.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-05-10 04:19:25 +03:00
compel ia32: Rename has_compat_sigreturn => compat_cr 2017-05-10 04:13:40 +03:00
contrib scripts/install-debian-packages: add libnl-route-3-dev 2017-05-10 03:56:47 +03:00
coredump python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
crit python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
criu restore: Save some time mounting proc 2017-05-10 04:13:42 +03:00
Documentation Extend the parser to accept negative options 2017-05-10 04:07:00 +03:00
images crit: Beautify unix names recode 2017-04-11 09:01:11 +03:00
include/common x86/asm: move user code selector values to common 2017-03-15 00:06:17 +03:00
lib pycriu: Dont produce zombies 2017-05-10 04:13:41 +03:00
scripts build/nmk: rename arm64 => aarch64 2017-05-10 04:13:43 +03:00
soccr soccr: fix log messages and add a few more 2017-05-10 04:13:42 +03:00
test zdtm/static/fpu01: check for OSXSAVE instead of XSAVE 2017-05-10 03:53:23 +03:00
.gitignore .gitignore: remove a leftover 2017-04-02 18:12:10 +03:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml travis: run tests with asan 2017-04-11 09:00:49 +03:00
COPYING COPYING: fix a typo in a preamble 2016-08-11 16:18:43 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
INSTALL.md Makefile.install: rm unused vars/target 2017-02-06 13:48:49 +03:00
Makefile make: keep HOSTCFLAGS clean from target cflags 2017-05-10 04:19:25 +03:00
Makefile.compel compel: make plugins .a archives 2017-04-02 18:12:10 +03:00
Makefile.config make: Report dependencies absence more exactly 2017-05-10 04:13:42 +03:00
Makefile.install Makefiles: remove @true 2017-03-15 09:36:08 +03:00
Makefile.versions criu: Version 3.0 2017-04-24 11:46:26 +03:00
README.md Add ascciinema tour on basic criu features. 2016-06-16 16:37:06 +03:00

CRIU (Checkpoint and Restore in Userspace)

An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

The project home is at http://criu.org.

Pages worth starting with are:

A video tour on basic CRIU features

CRIU introduction

How to contribute