From: Anthony PERARD Date: Thu, 27 Feb 2020 14:47:23 +0000 (+0100) Subject: build: fix section-renaming of libfdt and libelf X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~609 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=11cc71f463b907b8dbbffbd835473f1c1ba26f1f;p=xen.git build: fix section-renaming of libfdt and libelf In common/libelf/Makefile, when SECTIONS gets defined SPECIAL_DATA_SECTIONS doesn't exist, so only "text data" sections are been renamed. This was different before 48115d14743e ("Move more kernel decompression bits to .init.* sections"). By introducing the same renaming mechanism the to libfdt (9ba1f198f61e ["xen/libfdt: Put all libfdt in init"]), the issue was extended to there as well. Move SPECIAL_DATA_SECTIONS in Rules.mk before including "Makefile" to fix this. Signed-off-by: Anthony PERARD Reviewed-by: Jan Beulich --- diff --git a/xen/Rules.mk b/xen/Rules.mk index 154269bfd9..c7a067d254 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -92,6 +92,12 @@ LDFLAGS += $(LDFLAGS_DIRECT) LDFLAGS += $(LDFLAGS-y) +SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \ + $(foreach w,1 2 4, \ + rodata.str$(w).$(a)) \ + rodata.cst$(a)) \ + $(foreach r,rel rel.ro,data.$(r).local) + include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk DEPS = .*.d @@ -206,12 +212,6 @@ endif %.o: %.S Makefile $(CC) $(AFLAGS) -c $< -o $@ -SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \ - $(foreach w,1 2 4, \ - rodata.str$(w).$(a)) \ - rodata.cst$(a)) \ - $(foreach r,rel rel.ro,data.$(r).local) - $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o Makefile $(OBJDUMP) -h $< | sed -n '/[0-9]/{s,00*,0,g;p;}' | while read idx name sz rest; do \ case "$$name" in \