GCC 5.0.0 enables raw strings by default and they have higher priority
than macros, thus R[...] is interpreted incorrectly:
lib/x86/isr.c:112:30: error: invalid character ')' in raw string delimiter
lib/x86/isr.c:112:8: error: stray ‘R’ in program
lib/x86/isr.c:112:26: error: expected ‘:’ or ‘)’ before string constant
orl $0x200, (%%Rsp)\n\t
Fix it by putting a space between macro R and a string literal.
(We already do that somewhere.)
Signed-off-by: Radim Krčmář rkrc...@redhat.com
---
I think it would be better to replace
[...]R ax [...]
with
[...] ASM_AX [...]
lib/x86/desc.c | 16
lib/x86/isr.c | 2 +-
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lib/x86/desc.c b/lib/x86/desc.c
index 7fbe77455430..32377780c86b 100644
--- a/lib/x86/desc.c
+++ b/lib/x86/desc.c
@@ -114,22 +114,22 @@ asm (.pushsection .text \n\t
push %r15; push %r14; push %r13; push %r12 \n\t
push %r11; push %r10; push %r9; push %r8 \n\t
#endif
- push %Rdi; push %Rsi; push %Rbp; sub $S, %Rsp \n\t
- push %Rbx; push %Rdx; push %Rcx; push %Rax \n\t
+ push %R di; push %R si; push %R bp; sub $S, %R sp \n\t
+ push %R bx; push %R dx; push %R cx; push %R ax \n\t
#ifdef __x86_64__
- mov %Rsp, %Rdi \n\t
+ mov %R sp, %R di \n\t
#else
- mov %Rsp, %Rax \n\t
+ mov %R sp, %R ax \n\t
#endif
call do_handle_exception \n\t
- pop %Rax; pop %Rcx; pop %Rdx; pop %Rbx \n\t
- add $S, %Rsp; pop %Rbp; pop %Rsi; pop %Rdi \n\t
+ pop %R ax; pop %R cx; pop %R dx; pop %R bx \n\t
+ add $S, %R sp; pop %R bp; pop %R si; pop %R di \n\t
#ifdef __x86_64__
pop %r8; pop %r9; pop %r10; pop %r11 \n\t
pop %r12; pop %r13; pop %r14; pop %r15 \n\t
#endif
- add $S, %Rsp \n\t
- add $S, %Rsp \n\t
+ add $S, %R sp \n\t
+ add $S, %R sp \n\t
iretW \n\t
.popsection);
diff --git a/lib/x86/isr.c b/lib/x86/isr.c
index 833564ad5862..9b1d5054801e 100644
--- a/lib/x86/isr.c
+++ b/lib/x86/isr.c
@@ -109,7 +109,7 @@ void handle_external_interrupt(int vector)
push %[sp]\n\t
#endif
pushf\n\t
-orl $0x200, (%%Rsp)\n\t
+orl $0x200, (%%R sp)\n\t
push $%c[cs]\n\t
call *%[entry]\n\t
:
--
2.3.2
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html