]> xenbits.xensource.com Git - people/sstabellini/xen-unstable.git/.git/commitdiff
build: fix section-renaming of libfdt and libelf
authorAnthony PERARD <anthony.perard@citrix.com>
Thu, 27 Feb 2020 14:47:23 +0000 (15:47 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 27 Feb 2020 14:47:23 +0000 (15:47 +0100)
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 <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/Rules.mk

index 154269bfd96ceba3b8def2b6b83aee5226a82b3a..c7a067d25409d9b7fca69ac06049f9cbcf397dd8 100644 (file)
@@ -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 \