[Lldb-commits] [PATCH] D62213: [ABI] Implement Windows ABI for x86_64

Alex Langford via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 29 17:53:24 PDT 2019

xiaobai added a comment.

In D62213#1605521 <https://reviews.llvm.org/D62213#1605521>, @asmith wrote:

> I think this change has introduced a dependence on x64.
> I tried building with the 32b Visual Studio compiler and there are a number of undefined registers in registercontextwindows_x64.cpp.
>  This is because the version of _CONTEXT included by winnt.h is for x32 and not x64.
> i.e., llvm-project\lldb\source\plugins\process\windows\common\x64\registercontextwindows_x64.cpp(297): error C2039: 'Rax': is not a member of '_CONTEXT'

This seems kind of strange to me. I didn't think you could actually build RegisterContextWindows_x64.cpp on an x86 machine. From the CMake logic, it looks like it's guarded by `CMAKE_SYSTEM_PROCESSOR` matching either "x86_64" or "AMD64". Do you have any local changes or a specific CMake setup that caused you to run into this?

> Thoughts? Maybe this doesn't need to be included when building x32 LLDB?

I would rather be able to build this all on x86 if possible, but I don't think it's the end of the world if there's no nice way to do this. There is plenty of code in LLDB guarded by what platform you're building on/for, this would just be another instance of it.




More information about the lldb-commits mailing list