mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen: Fix Clang -Wunicode diagnostic when building asm-macros
While trying to work around a different Clang-IAS bug (parent changeset), I
stumbled onto:
In file included from arch/x86/asm-macros.c:3:
./arch/x86/include/asm/spec_ctrl_asm.h:144:19: error: \u used with
no following hex digits; treating as '\' followed by identifier [-Werror,-Wunicode]
.L\@_fill_rsb_loop\uniq:
^
It turns out that Clang -E is sensitive to the file extension of the source
file it is processing. Furthermore, C explicitly permits the use of \u
escapes in identifier names, so the diagnostic would be reasonable in
principle if we trying to compile the result.
asm-macros should really have been .S from the outset, as it is ultimately
generating assembly, not C. Rename it, which causes Clang not to complain.
We need to introduce rules for generating a .i file from .S, and substituting
c_flags for a_flags lets us drop the now-redundant -D__ASSEMBLY__.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: 53f0d02040
master date: 2023-02-24 17:44:29 +0000
This commit is contained in:
1 parent
2b8f72a6b4
commit
f073db0a07
3 files changed
+7
-1
No files matched your search
@@ -223,6 +223,9 @@ $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o FORCE
|
||||
quiet_cmd_cpp_i_c = CPP $@
|
||||
cmd_cpp_i_c = $(CPP) $(call cpp_flags,$(c_flags)) -MQ $@ -o $@ $<
|
||||
|
||||
quiet_cmd_cpp_i_S = CPP $@
|
||||
cmd_cpp_i_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
|
||||
|
||||
quiet_cmd_cc_s_c = CC $@
|
||||
cmd_cc_s_c = $(CC) $(filter-out -Wa$(comma)%,$(c_flags)) -S $< -o $@
|
||||
|
||||
@@ -232,6 +235,9 @@ cmd_cpp_s_S = $(CPP) $(call cpp_flags,$(a_flags)) -MQ $@ -o $@ $<
|
||||
%.i: %.c FORCE
|
||||
$(call if_changed,cpp_i_c)
|
||||
|
||||
%.i: %.S FORCE
|
||||
$(call if_changed,cpp_i_S)
|
||||
|
||||
%.s: %.c FORCE
|
||||
$(call if_changed,cc_s_c)
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@ efi/buildid.o efi/relocs-dummy.o: ;
|
||||
.PHONY: include
|
||||
include: $(BASEDIR)/include/asm-x86/asm-macros.h
|
||||
|
||||
asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
|
||||
asm-macros.i: CFLAGS-y += -P
|
||||
|
||||
$(BASEDIR)/include/asm-x86/asm-macros.h: asm-macros.i Makefile
|
||||
echo '#if 0' >$@.new
|
||||
|
||||
File renamed without changes.