EdkCompatabilityPkg: Fix build issues with X64 clang

Removed passing VA_LIST and some assembly language compatability issues. Did not fix ReportStatusCode passing VA_LIST (non-ANSI C Code), and some of the assembler was not not ported and int 3 was inserted, as it likely is not needed.

signed-off-by: andrewfish
reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12006 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish
2011-07-12 02:57:30 +00:00
parent d12bed15b3
commit 271d2c7f99
15 changed files with 264 additions and 367 deletions

View File

@@ -59,8 +59,8 @@ ASM_PFX(SwitchStacks):
#SwitchStacks ENDP
.equ EFI_SUCCESS, 0
.equ EFI_WARN_RETURN_FROM_LONG_JUMP, 5
.set EFI_SUCCESS, 0
.set EFI_WARN_RETURN_FROM_LONG_JUMP, 5
#
#Routine Description:
@@ -99,19 +99,19 @@ ASM_PFX(TransferControlSetJump):
mov %r13,0x40(%rdx)
mov %r14,0x48(%rdx)
mov %r15,0x50(%rdx)
#; save non-volatile fp registers
stmxcsr 0x60(%rdx)
lea 0x68(%rdx), %rax
movdqu %xmm6, (%rax)
movdqu %xmm7, 0x10(%rax)
movdqu %xmm8, 0x20(%rax)
movdqu %xmm9, 0x30(%rax)
movdqu %xmm10, 0x40(%rax)
movdqu %xmm11, 0x50(%rax)
movdqu %xmm12, 0x60(%rax)
movdqu %xmm13, 0x70(%rax)
movdqu %xmm14, 0x80(%rax)
movdqu %xmm15, 0x90(%rax)
#; save non-volatile fp registers
stmxcsr 0x60(%rdx)
lea 0x68(%rdx), %rax
movdqu %xmm6, (%rax)
movdqu %xmm7, 0x10(%rax)
movdqu %xmm8, 0x20(%rax)
movdqu %xmm9, 0x30(%rax)
movdqu %xmm10, 0x40(%rax)
movdqu %xmm11, 0x50(%rax)
movdqu %xmm12, 0x60(%rax)
movdqu %xmm13, 0x70(%rax)
movdqu %xmm14, 0x80(%rax)
movdqu %xmm15, 0x90(%rax)
mov (%rsp),%rax
mov %rax,0x58(%rdx)
mov $0x0,%rax
@@ -129,19 +129,19 @@ ASM_PFX(TransferControlSetJump):
#
ASM_PFX(TransferControlLongJump):
# set return from SetJump to EFI_WARN_RETURN_FROM_LONG_JUMP
#; load non-volatile fp registers
ldmxcsr 0x60(%rdx)
lea 0x68(%rdx), %rax
movdqu (%rax), %xmm6
movdqu 0x10(%rax), %xmm7
movdqu 0x20(%rax), %xmm8
movdqu 0x30(%rax), %xmm9
movdqu 0x40(%rax), %xmm10
movdqu 0x50(%rax), %xmm11
movdqu 0x60(%rax), %xmm12
movdqu 0x70(%rax), %xmm13
movdqu 0x80(%rax), %xmm14
movdqu 0x90(%rax), %xmm15
#; load non-volatile fp registers
ldmxcsr 0x60(%rdx)
lea 0x68(%rdx), %rax
movdqu (%rax), %xmm6
movdqu 0x10(%rax), %xmm7
movdqu 0x20(%rax), %xmm8
movdqu 0x30(%rax), %xmm9
movdqu 0x40(%rax), %xmm10
movdqu 0x50(%rax), %xmm11
movdqu 0x60(%rax), %xmm12
movdqu 0x70(%rax), %xmm13
movdqu 0x80(%rax), %xmm14
movdqu 0x90(%rax), %xmm15
mov $0x5,%rax
mov (%rdx),%rbx
mov 0x8(%rdx),%rsp