File grub2-fix-x86_64-efi-callwrap-stack-alignment.patch of Package grub2.openSUSE_13.1_Update

From 4e42521d8c9232b6ee9eac7d8b4945a7479de781 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Fri, 22 Nov 2013 05:40:32 +0100
Subject: * grub-core/kern/x86_64/efi/callwrap.S: Fix stack
 alignment. Previously we misaligned stack by 8 in startup.S and compensated
 for it in callwrap.S. According to ABI docs (EFI and sysv amd64) right
 behaviour is to align stack in startup.S and keep it aligned in callwrap.S.
 startup.S part was committed few commits before. This takes care of
 callwrap.S. Reported by: Gary Lin.

References: bnc#841426
Patch-Mainline: yes

Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
---
 grub-core/kern/x86_64/efi/callwrap.S | 52 ++++++++++++++++++------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/grub-core/kern/x86_64/efi/callwrap.S b/grub-core/kern/x86_64/efi/callwrap.S
index 2df95dd..1337fd9 100644
--- a/grub-core/kern/x86_64/efi/callwrap.S
+++ b/grub-core/kern/x86_64/efi/callwrap.S
@@ -36,94 +36,94 @@
         .text
 
 FUNCTION(efi_wrap_0)
-	subq $48, %rsp
+	subq $40, %rsp
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_1)
-	subq $48, %rsp
+	subq $40, %rsp
 	mov  %rsi, %rcx
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_2)
-	subq $48, %rsp
+	subq $40, %rsp
 	mov  %rsi, %rcx
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_3)
-	subq $48, %rsp
+	subq $40, %rsp
 	mov  %rcx, %r8
 	mov  %rsi, %rcx
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_4)
-	subq $48, %rsp
+	subq $40, %rsp
 	mov %r8, %r9
 	mov %rcx, %r8
 	mov %rsi, %rcx
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_5)
-	subq $48, %rsp
+	subq $40, %rsp
 	mov %r9, 32(%rsp)
 	mov %r8, %r9
 	mov %rcx, %r8
 	mov %rsi, %rcx
 	call *%rdi
-	addq $48, %rsp
+	addq $40, %rsp
 	ret
 
 FUNCTION(efi_wrap_6)
-	subq $64, %rsp
-	mov 64+8(%rsp), %rax
+	subq $56, %rsp
+	mov 56+8(%rsp), %rax
 	mov %rax, 40(%rsp)
 	mov %r9, 32(%rsp)
 	mov %r8, %r9
 	mov %rcx, %r8
 	mov %rsi, %rcx
 	call *%rdi
-	addq $64, %rsp
+	addq $56, %rsp
 	ret
 
 FUNCTION(efi_wrap_7)
-	subq $96, %rsp
-	mov 96+16(%rsp), %rax
+	subq $88, %rsp
+	mov 88+16(%rsp), %rax
 	mov %rax, 48(%rsp)
-	mov 96+8(%rsp), %rax
+	mov 88+8(%rsp), %rax
 	mov %rax, 40(%rsp)
 	mov %r9, 32(%rsp)
 	mov %r8, %r9
 	mov %rcx, %r8
 	mov %rsi, %rcx
 	call *%rdi
-	addq $96, %rsp
+	addq $88, %rsp
 	ret
 
 FUNCTION(efi_wrap_10)
-	subq $96, %rsp
-	mov 96+40(%rsp), %rax
+	subq $88, %rsp
+	mov 88+40(%rsp), %rax
 	mov %rax, 72(%rsp)
-	mov 96+32(%rsp), %rax
+	mov 88+32(%rsp), %rax
 	mov %rax, 64(%rsp)
-	mov 96+24(%rsp), %rax
+	mov 88+24(%rsp), %rax
 	mov %rax, 56(%rsp)
-	mov 96+16(%rsp), %rax
+	mov 88+16(%rsp), %rax
 	mov %rax, 48(%rsp)
-	mov 96+8(%rsp), %rax
+	mov 88+8(%rsp), %rax
 	mov %rax, 40(%rsp)
 	mov %r9, 32(%rsp)
 	mov %r8, %r9
 	mov %rcx, %r8
 	mov %rsi, %rcx
 	call *%rdi
-	addq $96, %rsp
+	addq $88, %rsp
 	ret
-- 
1.8.1.4

openSUSE Build Service is sponsored by