mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86: move and fix clang .skip check
.skip is only used by x86 code, so place the clang .skip with labels
check in x86/Rules.mk instead of the top level Rules.mk. While there
also fix an issue with it by removing the '\n' which triggers the
following error:
<stdin>:1:31: error: missing terminating '"' character [-Werror,-Winvalid-pp-token]
void _(void) { asm volatile ( ".L0:
^
<stdin>:1:31: error: expected string literal in 'asm'
<stdin>:3:18: error: missing terminating '"' character [-Werror,-Winvalid-pp-token]
.skip (.L1 - .L0)" ); }
^
<stdin>:3:24: error: expected ')'
.skip (.L1 - .L0)" ); }
^
<stdin>:1:29: note: to match this '('
void _(void) { asm volatile ( ".L0:
^
<stdin>:3:24: error: expected '}'
.skip (.L1 - .L0)" ); }
^
<stdin>:1:14: note: to match this '{'
void _(void) { asm volatile ( ".L0:
^
5 errors generated.
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Roger Pau Monné <roger.pau@citrix.com> [On FreeBSD and Debian 9.5]
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
d0d72e60f5
commit
ef286f6778
2 files changed
+5
-7
No files matched your search
@@ -76,13 +76,6 @@ endif
|
||||
|
||||
AFLAGS-y += -D__ASSEMBLY__
|
||||
|
||||
# Older clang's built-in assembler doesn't understand .skip with labels:
|
||||
# https://bugs.llvm.org/show_bug.cgi?id=27369
|
||||
ifeq ($(clang),y)
|
||||
$(call as-option-add,CFLAGS,CC,".L0:\n.L1:\n.skip (.L1 - .L0)",,\
|
||||
-no-integrated-as)
|
||||
endif
|
||||
|
||||
ALL_OBJS := $(ALL_OBJS-y)
|
||||
|
||||
# Get gcc to generate the dependencies for us.
|
||||
|
||||
@@ -74,6 +74,11 @@ ifeq ($(clang),y)
|
||||
# Note: Any test which adds -no-integrated-as will cause subsequent tests to
|
||||
# succeed, and not trigger further additions.
|
||||
|
||||
# Older clang's built-in assembler doesn't understand .skip with labels:
|
||||
# https://bugs.llvm.org/show_bug.cgi?id=27369
|
||||
$(call as-option-add,CFLAGS,CC,".L0: .L1: .skip (.L1 - .L0)",,\
|
||||
-no-integrated-as)
|
||||
|
||||
# Check whether clang asm()-s support .include.
|
||||
$(call as-option-add,CFLAGS,CC,".include \"asm/indirect_thunk_asm.h\"",,\
|
||||
-no-integrated-as)
|
||||
|
||||