diff options
author | Alex Langford <apl@fb.com> | 2019-06-24 18:21:05 +0000 |
---|---|---|
committer | Alex Langford <apl@fb.com> | 2019-06-24 18:21:05 +0000 |
commit | 09ede9d65f13653b3fcfe1459d69d01d2edad6f4 (patch) | |
tree | 58644b5469d89035361a427fd1fa3284c3e44ac9 /lldb/source/API/SystemInitializerFull.cpp | |
parent | dbb6c031753986db98b3d2bbde7ce5760f405fc5 (diff) | |
download | bcm5719-llvm-09ede9d65f13653b3fcfe1459d69d01d2edad6f4.tar.gz bcm5719-llvm-09ede9d65f13653b3fcfe1459d69d01d2edad6f4.zip |
[ABI] Implement Windows ABI for x86_64
Summary:
Implement the ABI for WIndows-x86_64 including register info and calling convention.
Handled nested struct returned in register (SysV doesn't have it supported)
Reviewers: xiaobai, compnerd
Reviewed By: compnerd
Subscribers: labath, jasonmolenda, fedor.sergeev, mgorny, teemperor, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D62213
llvm-svn: 364216
Diffstat (limited to 'lldb/source/API/SystemInitializerFull.cpp')
-rw-r--r-- | lldb/source/API/SystemInitializerFull.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/API/SystemInitializerFull.cpp b/lldb/source/API/SystemInitializerFull.cpp index 1cd6ce6094d..e7f2206b9a5 100644 --- a/lldb/source/API/SystemInitializerFull.cpp +++ b/lldb/source/API/SystemInitializerFull.cpp @@ -34,6 +34,7 @@ #include "Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h" #include "Plugins/ABI/SysV-s390x/ABISysV_s390x.h" #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h" +#include "Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.h" #include "Plugins/Architecture/Arm/ArchitectureArm.h" #include "Plugins/Architecture/Mips/ArchitectureMips.h" #include "Plugins/Architecture/PPC64/ArchitecturePPC64.h" @@ -186,6 +187,7 @@ llvm::Error SystemInitializerFull::Initialize() { ABISysV_mips::Initialize(); ABISysV_mips64::Initialize(); ABISysV_s390x::Initialize(); + ABIWindows_x86_64::Initialize(); ArchitectureArm::Initialize(); ArchitectureMips::Initialize(); @@ -299,6 +301,7 @@ void SystemInitializerFull::Terminate() { ABISysV_mips::Terminate(); ABISysV_mips64::Terminate(); ABISysV_s390x::Terminate(); + ABIWindows_x86_64::Terminate(); DisassemblerLLVMC::Terminate(); JITLoaderGDB::Terminate(); |