pie/restorer: add vdso_fill_symtable_compat for 32-bit vdso
While restorering compatible application on x86-64, we need to parse 32-bit vDSO. By that reason I need _three_ compiled object versions for util-vdso: - for native parasite it's util-vdso.o - for compatible parasite it's compat/util-vdso.o - for restorer it's util-vdso.o and util-vdso-elf32.o Note, that I can't link compat/util-vdso.o to restorer, as it's i386 ELF which ld can't link to x86_64 ELF file. TODO: maybe I'll need to refactor and introduce generic CONFIG_COMPAT instead of those defined(CONFIG_X86_32). Fixes: pie: 27504: vdso: Mapping compatible vDSO at 0x25000 pie: 27504: Remap 0x7f3de3efa000->0x8048000 len 0x1000 ... pie: 27504: vdso: Parsing at 0xf7776000 0xf7778000 pie: 27504: Error (pie/util-vdso.c:87): vdso: Elf header magic mismatch pie: 27504: Error (pie/restorer.c:1540): Restorer fail 27504 (00.029188) Error (cr-restore.c:988): 27504 exited, status=1 (00.033072) Error (cr-restore.c:1870): Restoring FAILED. Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
Showing
criu/pie/util-vdso-elf32.c
0 → 120000
Please
register
or
sign in
to comment