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 --- v2: Introduce __OBJECT_FILE__. --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -42,10 +42,10 @@ ALL_OBJS-y += $(BASEDIR)/x 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 --- 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 --- 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 --- 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