cr-exec: add non-generated sys-exec-tbl for x86

Impact: search sys-exec-tbl-32.c for compatible tasks.

Rename task_in_compat_mode to arch_task_compatible and use it in
find_syscall for 64-bit to check compatible task's syscall nr.
It still will not execute syscall in 32-tasks, as we still do not
have 32-bit pie (arch_can_dump_task will return false for these tasks).

NOTE: be sure to `make mrproper` on criu directory before applying this
patch, as before `criu/arch/x86/sys-exec-tbl.c` was autogenerated,
it will make conflict if you try to apply this patch on dirty directory.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
Dmitry Safonov 2016-04-12 19:10:42 +03:00 committed by Andrei Vagin
parent bbc2f1331f
commit bc5cca1a29
5 changed files with 59 additions and 22 deletions

2
.gitignore vendored
View file

@ -24,6 +24,8 @@ images/google/protobuf/*.h
.gitid
criu/criu
criu/arch/*/sys-exec-tbl*.c
# x86 syscalls-table is not generated
!criu/arch/x86/sys-exec-tbl.c
criu/arch/*/syscalls*.S
criu/include/config.h
criu/include/syscall-codes*.h