[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen stable-4.10] shim: allow building of just the shim with build-ID-incapable linker



commit 08a941bdac57678877372aabc088399fba2f6f6e
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue Feb 20 10:10:59 2018 +0100
Commit:     Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Mon Mar 5 19:19:34 2018 +0000

    shim: allow building of just the shim with build-ID-incapable linker
    
    The ELF note the shim build inserts causes mkelf32 to choke on the
    second program header. However, the output of mkelf32 isn't really
    needed when building inside tools/firmware/ - an attempt to build it is
    made solely because of a wrong dependency.
    
    Further changes to the make logic will be needed to also allow building
    a shim-enabled "normal" xen with such a linker (as it looks the --notes
    option will need passing not just when the linker support build ID
    generation).
    
    Also drop a stray variable setting from the x86 Makefile.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    (cherry picked from commit 682b13c259e531f6848f535032c256ec8fcaca71)
---
 xen/Makefile          | 8 ++++----
 xen/arch/x86/Makefile | 2 --
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/Makefile b/xen/Makefile
index 623f889082..87e7da67a6 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -139,7 +139,8 @@ $(TARGET).gz: $(TARGET)
        gzip -n -f -9 < $< > $@.new
        mv $@.new $@
 
-$(TARGET): delete-unfresh-files
+.PHONY: $(TARGET)-common
+$(TARGET)-common: delete-unfresh-files
        $(MAKE) -C tools
        $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
        [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
@@ -149,10 +150,9 @@ $(TARGET): delete-unfresh-files
        $(MAKE) -f $(BASEDIR)/Rules.mk -C include
        $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) asm-offsets.s
        $(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
-       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)
 
-$(TARGET)-shim: $(TARGET)
-       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)-shim
+$(TARGET) $(TARGET)-shim: $(TARGET)-common
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
 
 # drivers/char/console.o contains static banner/compile info. Blow it away.
 # Don't refresh these files during e.g., 'sudo make install'
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 8a39965026..02e97e3b27 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -78,8 +78,6 @@ efi-y := $(shell if [ ! -r $(BASEDIR)/include/xen/compile.h 
-o \
                       -O $(BASEDIR)/include/xen/compile.h ]; then \
                          echo '$(TARGET).efi'; fi)
 
-shim-$(CONFIG_PVH_GUEST) := $(TARGET)-shim
-
 ifneq ($(build_id_linker),)
 notes_phdrs = --notes
 else
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.10

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.