mirror of
https://github.com/checkpoint-restore/criu
synced 2025-09-01 14:55:39 +00:00
arm/pie/build: do not produce relocatable parasite object
With `-r` option relocation to parasite_service was not made on ARM: 0x76dbc018: bl 0x76dbc018 0xebfffffe (You may saw it with objdump also). This leaded to hang at "Putting tsock" message: (01.368297) ---------------------------------------- (01.368321) (01.368339) Collecting fds (pid: 13503) (01.368360) ---------------------------------------- (01.368535) Found 3 file descriptors (01.368564) ---------------------------------------- (01.368648) Dump private signals of 13503 (01.368708) Dump shared signals of 13503 (01.368761) Parasite syscall_ip at 0x10000 (01.369605) Set up parasite blob using memfd (01.369641) Putting parasite blob into 0x76cc5000->0x76e1f000 (01.369755) Dumping GP/FPU registers for 13503 (01.369818) Putting tsock into pid 13503 Link against lib.a which also fixes build for aarm64. Reported-by: alex vk <avankemp@gmail.com> Reported-by: long.wanglong <long.wanglong@huawei.com> Cc: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Christopher Covington <cov@codeaurora.org> Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com> Reviewed-by: Christopher Covington <cov@codeaurora.org> Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com> Backported-from-criu-dev-by: Dmitry Safonov <dsafonov@virtuozzo.com>
This commit is contained in:
committed by
Pavel Emelyanov
parent
e6156f31dd
commit
d9486bd720
@@ -85,9 +85,14 @@ $(obj)/$(PIELDS): $(obj)/$(PIELDS).in
|
||||
$(Q) $(SH) -c "echo 'OUTPUT_ARCH($(LDARCH))' > $(obj)/$(PIELDS)"
|
||||
$(Q) $(SH) -c "cat $(obj)/$(PIELDS).in >> $(obj)/$(PIELDS)"
|
||||
|
||||
$(obj)/%.built-in.bin.o: $(obj)/%.built-in.o $(obj)/$(PIELDS)
|
||||
# ld on arm doesn't like -pie and -r options together
|
||||
ifeq ($(filter arm aarch64,$(ARCH)),)
|
||||
LD_R := -r
|
||||
endif
|
||||
|
||||
$(obj)/%.built-in.bin.o: $(obj)/%.built-in.o $(obj)/$(PIELDS) $(obj)/lib.a
|
||||
$(call msg-gen, $@)
|
||||
$(Q) $(LD) -r -T $(obj)/$(PIELDS) -o $@ $<
|
||||
$(Q) $(LD) $(LD_R) -T $(obj)/$(PIELDS) -o $@ $< $(obj)/lib.a
|
||||
|
||||
$(obj)/%.built-in.bin: $(obj)/%.built-in.bin.o
|
||||
$(call msg-gen, $@)
|
||||
|
Reference in New Issue
Block a user