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

[Xen-changelog] [mini-os master] mini-os: sort objects in binary archives



commit bd5920cb92e6799bfd64957284a9e2cfe7699039
Author:     Olaf Hering <olaf@xxxxxxxxx>
AuthorDate: Tue Feb 3 12:45:37 2015 +0100
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Wed Mar 11 10:46:31 2015 +0000

    mini-os: sort objects in binary archives
    
    When building stubdom the mini-os objects are also linked into the
    binary. Unfortunately the linker will place them in the order found in
    the archive. Since this order is random the resulting stubdom binary
    differs when it was built from identical sources but on different
    build hosts. To help with creating a reproducible binary the elements
    in an archive must simply be sorted before passing them to $(AR).
    
    Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
    Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
    Cc: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
    Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
    [ ijc -- massaged paths to apply to external mini-os tree ]
---
 Makefile          |    4 ++--
 arch/x86/Makefile |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index f16520e..9482ec0 100644
--- a/Makefile
+++ b/Makefile
@@ -146,9 +146,9 @@ arch_lib:
 
 ifeq ($(CONFIG_LWIP),y)
 # lwIP library
-LWC    := $(shell find $(LWIPDIR)/src -type f -name '*.c')
+LWC    := $(sort $(shell find $(LWIPDIR)/src -type f -name '*.c'))
 LWC    := $(filter-out %6.c %ip6_addr.c %ethernetif.c, $(LWC))
-LWO    := $(patsubst %.c,%.o,$(LWC))
+LWO    := $(patsubst %.c,%.o,$(LWC)
 LWO    += $(OBJ_DIR)/lwip-arch.o
 ifeq ($(CONFIG_NETFRONT),y)
 LWO += $(OBJ_DIR)/lwip-net.o
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 9f04a93..a46766c 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -13,7 +13,7 @@ include ../../minios.mk
 
 # Sources here are all *.c *.S without $(MINIOS_TARGET_ARCH).S
 # This is handled in $(HEAD_ARCH_OBJ)
-ARCH_SRCS := $(wildcard *.c)
+ARCH_SRCS := $(sort $(wildcard *.c))
 
 # The objects built from the sources.
 ARCH_OBJS := $(patsubst %.c,$(OBJ_DIR)/%.o,$(ARCH_SRCS))
--
generated by git-patchbot for /home/xen/git/mini-os.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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