From 1a771b7a0d5cbcd386744bd4bdd8e66dcfc096c8 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 27 Oct 2015 11:44:52 +0100 Subject: [PATCH] x86/mm: override stored file names for multiply built sources To make it possible to tell apart the static symbols therein, use their object file names instead of their source ones. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper Acked-by: George Dunlap --- xen/Rules.mk | 4 ++-- xen/arch/x86/mm/guest_walk.c | 3 +++ xen/arch/x86/mm/hap/guest_walk.c | 2 ++ xen/arch/x86/mm/shadow/multi.c | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/xen/Rules.mk b/xen/Rules.mk index bf19d20ac7..433dad3e23 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -42,10 +42,10 @@ ALL_OBJS-y += $(BASEDIR)/xsm/built_in.o ALL_OBJS-y += $(BASEDIR)/arch/$(TARGET_ARCH)/built_in.o ALL_OBJS-$(x86) += $(BASEDIR)/crypto/built_in.o -CFLAGS += -fno-builtin -fno-common +CFLAGS += -nostdinc -fno-builtin -fno-common CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h -CFLAGS += -nostdinc +CFLAGS += '-D__OBJECT_FILE__="$@"' CFLAGS-$(XSM_ENABLE) += -DXSM_ENABLE CFLAGS-$(FLASK_ENABLE) += -DFLASK_ENABLE diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c index 773454d95f..ac28122c8d 100644 --- a/xen/arch/x86/mm/guest_walk.c +++ b/xen/arch/x86/mm/guest_walk.c @@ -21,6 +21,9 @@ * along with this program; If not, see . */ +/* Allow uniquely identifying static symbols in the 3 generated objects. */ +asm(".file \"" __OBJECT_FILE__ "\""); + #include #include #include diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c index 66f0010c4a..11c1b35266 100644 --- a/xen/arch/x86/mm/hap/guest_walk.c +++ b/xen/arch/x86/mm/hap/guest_walk.c @@ -18,6 +18,8 @@ * this program; If not, see . */ +/* Allow uniquely identifying static symbols in the 3 generated objects. */ +asm(".file \"" __OBJECT_FILE__ "\""); #include #include diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index b54835dfe5..58f7e7216e 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -20,7 +20,9 @@ * along with this program; If not, see . */ -#include +/* Allow uniquely identifying static symbols in the 3 generated objects. */ +asm(".file \"" __OBJECT_FILE__ "\""); + #include #include #include -- 2.30.2