[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86: fix clang .macro retention check



On 14.11.2019 10:38, Roger Pau Monné  wrote:
> On Wed, Nov 13, 2019 at 06:01:40PM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/Rules.mk
>> +++ b/xen/arch/x86/Rules.mk
>> @@ -82,6 +64,6 @@ $(call as-option-add,CFLAGS,CC,".include
>>  # Check whether clang keeps .macro-s between asm()-s:
>>  # https://bugs.llvm.org/show_bug.cgi?id=36110
>>  $(call as-option-add,CFLAGS,CC,\
>> -                     ".macro FOO\n.endm\"); asm volatile (\".macro 
>> FOO\n.endm",\
>> +                     ".macro FOO\n.endm"$$(close); asm volatile 
>> $$(open)".macro FOO\n.endm",\
> 
> Thanks, while here could you also replace the '\n' with a ';'? '\n'
> doesn't work properly and gives me the following error:
> 
> <stdin>:1:32: error: missing terminating '"' character 
> [-Werror,-Winvalid-pp-token]
> void _(void) { asm volatile (  ".macro FOO
>                                ^
> <stdin>:1:32: error: expected string literal in 'asm'
> <stdin>:3:6: error: missing terminating '"' character 
> [-Werror,-Winvalid-pp-token]
> .endm" ); }
>      ^
> <stdin>:3:12: error: expected ')'
> .endm" ); }
>            ^
> <stdin>:1:29: note: to match this '('
> void _(void) { asm volatile (  ".macro FOO
>                             ^
> <stdin>:3:12: error: expected '}'
> .endm" ); }
>            ^
> <stdin>:1:14: note: to match this '{'
> void _(void) { asm volatile (  ".macro FOO
>              ^

So this must be yet another issue - I did specifically look at the what
gets handed to the compiler, and I did not see the above. I wonder
whether that's also related to the \" that I found necessary to drop -
with what you say I'd expect the un-escaped double quotes won't work
for you. I suppose though this un-escaping (or not) happens at a level
other than the compiler, i.e. either a difference in shell or in make
behavior.

IOW I don't think just replacing \n by ; will do.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.