MdeModulePkg: Update DebugSupportDxe to pass XCODE5 build

XCODE5 doesn't support absolute addressing in the assembly code.
This change uses lea instruction to get the address.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Star Zeng <star.zeng@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
Liming Gao 2018-01-10 23:24:28 +08:00
parent 2583352f24
commit 62382925c9
1 changed files with 3 additions and 3 deletions

View File

@ -1,7 +1,7 @@
;/** @file ;/** @file
; Low level x64 routines used by the debug support driver. ; Low level x64 routines used by the debug support driver.
; ;
; Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR> ; Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
; This program and the accompanying materials ; This program and the accompanying materials
; are licensed and made available under the terms and conditions of the BSD License ; are licensed and made available under the terms and conditions of the BSD License
; which accompanies this distribution. The full text of the license may be found at ; which accompanies this distribution. The full text of the license may be found at
@ -226,7 +226,7 @@ ASM_PFX(CommonIdtEntry):
pop rax pop rax
add rsp, 8 ; pop vector number add rsp, 8 ; pop vector number
mov [AppRsp], rsp ; save stack top mov [AppRsp], rsp ; save stack top
mov rsp, DebugStackBegin ; switch to debugger stack lea rsp, [DebugStackBegin] ; switch to debugger stack
sub rsp, 8 ; leave space for vector number sub rsp, 8 ; leave space for vector number
;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax; ;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
@ -529,7 +529,7 @@ Chain:
push rbx push rbx
mov rax, cs mov rax, cs
push rax push rax
mov rax, PhonyIretq lea rax, [PhonyIretq]
push rax push rax
iretq iretq
PhonyIretq: PhonyIretq: