On Mon, Mar 28, 2016 at 6:10 PM, Zachary Turner <ztur...@google.com> wrote:
> I'm the main Windows maintainer, Hi > and while We've gotten things working pretty well on Windows, our effort > has been 100% on building with msvc and/or clang-cl. Building with mingw > has a different set of pre processor defines and some other subtle > differences, so it doesn't surprise me that things don't work quite right. > > I got it to compile (I have a big patch that I can send you if you are interested) mainly involves blocking code under __MINGW32__ and some updates to the various CMakeLists.txt and AddLLDB.cmake module files Some functions are missing in MinGW implementations (like gets_s and others :/) > You can try getting lldb-server to build and run under Windows, or you can > try to get it to use the non lldb server codepath on MinGW, but you may > still run into some I got lldb-server to compile and run on Windows, however, it crashes immediately and the backtrace shows this: 0 0x0000000000724615 lldb_private::NativeProcessProtocol::Launch(lldb_private::ProcessLaunchInfo&, lldb_private::NativeProcessProtocol::NativeDelegate&, lldb_private::MainLoopBase&, std::shared_ptr<lldb_private::NativeProcessProtocol>&) 1 0x00000000005f815d lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess() 2 0x00000000004020e5 handle_launch(lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS&, int, char const* const*) 3 0x000000000040335e main_gdbserver(int, char**) 4 0x000000000188329c main I had to #ifndef __MINGW32__ around lldb-platform.cpp as it contains too much Linux code that can not be compiled under Windows (fork, exec*) and basically lldb-server calls the main_gdbserver instead of main_platform function Looking at the function that crashes, I see this: llvm_unreachable("Platform has no NativeProcessProtocol support"); Any ideas? Thanks! issues after that as well, since you're the first person afaik to try > building with MinGW > > On Sun, Mar 27, 2016 at 10:29 PM Eran Ifrah via lldb-dev < > lldb-dev@lists.llvm.org> wrote: > >> Hi, >> >> I have built LLDB on Windows 7 using MinGW64/4.9.2 (took some effort to >> get the job done...) >> When I tried to debug a simple hello world executable, I get this output: >> >> D:\software\msys-for-clang\1.0\home\PC\build-release-64-lldb\bin>lldb.exe >> HelloWorld.exe >> (lldb) target create "HelloWorld.exe" >> Current executable set to 'HelloWorld.exe' (x86_64). >> (lldb) b main.cpp:7 >> Breakpoint 1: where = HelloWorld.exe`main + 26 at main.cpp:7, address = >> 0x000000000040154a >> (lldb) r >> error: process launch failed: unable to locate lldb-server >> (lldb) >> >> I can't seem to locate lldb-server anywhere, and according >> to LLDBConfig.cmake, this target should not get built on Windows: >> >> # Figure out if lldb could use lldb-server. If so, then we'll >> # ensure we build lldb-server when an lldb target is being built. >> if ((CMAKE_SYSTEM_NAME MATCHES "Darwin") OR >> (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") OR >> (CMAKE_SYSTEM_NAME MATCHES "Linux") OR >> (CMAKE_SYSTEM_NAME MATCHES "NetBSD")) >> set(LLDB_CAN_USE_LLDB_SERVER 1) >> else() >> set(LLDB_CAN_USE_LLDB_SERVER 0) >> endif() >> >> and in the tools/CMakeLists.txt file we have this: >> >> if (LLDB_CAN_USE_LLDB_SERVER) >> add_subdirectory(lldb-server) >> endif() >> >> >> Any ideas? >> >> Thanks, >> >> -- >> Eran Ifrah, >> Author of >> CodeLite >> , a cross platform open source C/C++ IDE: http://www.codelite.org >> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >> > -- Eran Ifrah, Author of codelite, a cross platform open source C/C++ IDE: http://www.codelite.org CodeLite IDE Blog: http://codeliteide.blogspot.com/
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev