From: Jan Beulich Date: Mon, 3 Aug 2020 14:27:22 +0000 (+0200) Subject: x86emul: avoid assembler warning about .type not taking effect in test harness X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~1805 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9909532113692020c1b50eb974cac47d4ea10e69;p=xen.git x86emul: avoid assembler warning about .type not taking effect in test harness gcc re-orders top level blocks by default when optimizing. This re-ordering results in all our .type directives to get emitted to the assembly file first, followed by gcc's. The assembler warns about attempts to change the type of a symbol when it was already set (and when there's no intervening setting to "notype"). Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile index 48b3e6dce1..7b07c31bbd 100644 --- a/tools/tests/x86_emulator/Makefile +++ b/tools/tests/x86_emulator/Makefile @@ -295,4 +295,9 @@ x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o: x86-emulate.o: x86_emulate/x86_emulate.c x86-emulate.o: HOSTCFLAGS += -D__XEN_TOOLS__ +# In order for our custom .type assembler directives to reliably land after +# gcc's, we need to keep it from re-ordering top-level constructs. +$(call cc-option-add,HOSTCFLAGS-toplevel,HOSTCC,-fno-toplevel-reorder) +test_x86_emulator.o: HOSTCFLAGS += $(HOSTCFLAGS-toplevel) + test_x86_emulator.o: $(addsuffix .h,$(TESTCASES)) $(addsuffix -opmask.h,$(OPMASK))