[CRIU] Reply
Pavel Emelyanov
xemul at parallels.com
Thu Aug 15 14:22:21 EDT 2013
On 08/15/2013 10:19 PM, Yicheng Qin wrote:
>> It's not just "first step". Once someone starts using it, we'll not be able to roll this step back.
> As long as criu can be run as binary, we could ensure that criu_main() function runs well.
> It is maintained as CRIU goes.
I agree with that.
> However, if you don't want to see such API, it is a problem.
Yes. I'd prefer seeing more elegant API for that.
>> What problems do you see?
> I have tried to build .so with patch below, but stuck at assembly part.
> Error met:
> /usr/bin/ld: arch/x86/syscalls.built-in.o: relocation R_X86_64_PC32 against symbol `__syscall_common'
> can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: ld returned 1 exit status
> I am unclear about where to put the flag.
>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index fecc7f5..2546dbb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -99,6 +99,7 @@ else
> endif
>
> CFLAGS += $(WARNINGS) $(DEFINES)
> +CFLAGS += -fPIC
> SYSCALL-LIB := arch/$(ARCH)/syscalls.built-in.o
> ARCH-LIB := arch/$(ARCH)/crtools.built-in.o
> CRIU-LIB := lib/libcriu.so
> @@ -163,6 +164,7 @@ PROGRAM-BUILTINS += $(ARCH_DIR)/vdso-pie.o
> $(PROGRAM): $(SYSCALL-LIB) $(ARCH-LIB) $(PROGRAM-BUILTINS)
> $(E) " LINK " $@
> $(Q) $(CC) $(CFLAGS) $^ $(LIBS) $(LDFLAGS) -o $@
> + $(Q) $(CC) $(CFLAGS) -shared -o libcriu.a $(SYSCALL-LIB) $(ARCH-LIB) $(PROGRAM-BUILTINS)
>
> zdtm: all
> $(Q) $(MAKE) -C test/zdtm all
>
More information about the CRIU
mailing list