[Lldb-commits] [lldb] r179694 - Fix Linux build of LLDB

Jim Ingham jingham at apple.com
Wed Apr 17 11:41:45 PDT 2013


I agree with Filipe, anything that doesn't implement "native debugging" on some host or other should be cross-buildable.  Certainly all the ObjectFile plugins should be buildable everywhere, as should the DynamicLoader plugins.  If there's something there that doesn't build on Linux we should fix that.

Jim
 
On Apr 17, 2013, at 11:23 AM, Filipe Cabecinhas <filcab at gmail.com> wrote:

> Hi Daniel,
> 
> Shouldn't those plugins be compiled anyway, since you may want to
> remote debug Mac OS X programs? Or do they have too much
> platform-specific stuff?
> 
> Thanks,
> 
>  Filipe
>  F
> 
> 
> On Wed, Apr 17, 2013 at 10:41 AM, Daniel Malea <daniel.malea at intel.com> wrote:
>> Author: dmalea
>> Date: Wed Apr 17 12:41:55 2013
>> New Revision: 179694
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=179694&view=rev
>> Log:
>> Fix Linux build of LLDB
>> - conditionally build mac-specific plugins only on mac (PluginObjectFileMachO, PluginDynamicLoaderDrawinKernel and PluginDynamicLoaderMacOSXDYLD)
>> - clean up warnings by ignoring deprecated declarations (auto_ptr for example)
>> 
>> 
>> Modified:
>>    lldb/trunk/CMakeLists.txt
>>    lldb/trunk/source/CMakeLists.txt
>>    lldb/trunk/source/Plugins/DynamicLoader/CMakeLists.txt
>>    lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
>>    lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt
>> 
>> Modified: lldb/trunk/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/CMakeLists.txt?rev=179694&r1=179693&r2=179694&view=diff
>> ==============================================================================
>> --- lldb/trunk/CMakeLists.txt (original)
>> +++ lldb/trunk/CMakeLists.txt Wed Apr 17 12:41:55 2013
>> @@ -93,6 +93,13 @@ else()
>>   set(CMAKE_CXX_FLAGS "-std=c++11")
>> endif()
>> 
>> +# Disable Clang warnings
>> +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
>> +  add_lldb_definitions(
>> +    -Wno-deprecated-declarations # Suppress "deprecated auto_ptr" warnings
>> +  )
>> +endif()
>> +
>> # Disable MSVC warnings
>> if( MSVC )
>>   add_lldb_definitions(
>> 
>> Modified: lldb/trunk/source/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/CMakeLists.txt?rev=179694&r1=179693&r2=179694&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/CMakeLists.txt (original)
>> +++ lldb/trunk/source/CMakeLists.txt Wed Apr 17 12:41:55 2013
>> @@ -39,24 +39,20 @@ set( LLDB_USED_LIBS
>>   lldbPluginSymbolFileSymtab
>>   lldbPluginDynamicLoaderStatic
>> 
>> -  lldbPluginObjectFileMachO
>> -  lldbPluginObjectFileELF
>>   lldbPluginObjectContainerBSDArchive
>>   lldbPluginObjectContainerMachOArchive
>> +  lldbPluginObjectFileELF
>>   lldbPluginProcessGDBRemote
>>   lldbPluginProcessUtility
>>   lldbPluginPlatformGDB
>>   lldbPluginPlatformFreeBSD
>>   lldbPluginPlatformLinux
>> -  lldbPluginObjectFileMachO
>>   lldbPluginObjectContainerMachOArchive
>>   lldbPluginObjectContainerBSDArchive
>>   lldbPluginPlatformMacOSX
>> -  lldbPluginDynamicLoaderMacOSXDYLD
>>   lldbPluginDynamicLoaderPosixDYLD
>>   lldbPluginUnwindAssemblyInstEmulation
>>   lldbPluginUnwindAssemblyX86
>> -  lldbPluginDynamicLoaderDarwinKernel
>>   lldbPluginAppleObjCRuntime
>>   lldbPluginCXXItaniumABI
>>   lldbPluginABIMacOSX_arm
>> @@ -85,6 +81,15 @@ if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
>>     )
>> endif ()
>> 
>> +# Mac-only libraries
>> +if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
>> +  list(APPEND LLDB_USED_LIBS
>> +    lldbPluginDynamicLoaderMacOSXDYLD
>> +    lldbPluginObjectFileMachO
>> +    lldbPluginDynamicLoaderDarwinKernel
>> +  )
>> +endif()
>> +
>> set( CLANG_USED_LIBS
>>   clangAnalysis
>>   clangAST
>> 
>> Modified: lldb/trunk/source/Plugins/DynamicLoader/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/DynamicLoader/CMakeLists.txt?rev=179694&r1=179693&r2=179694&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Plugins/DynamicLoader/CMakeLists.txt (original)
>> +++ lldb/trunk/source/Plugins/DynamicLoader/CMakeLists.txt Wed Apr 17 12:41:55 2013
>> @@ -1,4 +1,6 @@
>> -add_subdirectory(Darwin-Kernel)
>> -add_subdirectory(MacOSX-DYLD)
>> +if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
>> +  add_subdirectory(Darwin-Kernel)
>> +  add_subdirectory(MacOSX-DYLD)
>> +endif ()
>> add_subdirectory(POSIX-DYLD)
>> add_subdirectory(Static)
>> 
>> Modified: lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp?rev=179694&r1=179693&r2=179694&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp (original)
>> +++ lldb/trunk/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp Wed Apr 17 12:41:55 2013
>> @@ -30,6 +30,10 @@
>> 
>> #include "DynamicLoaderMacOSXDYLD.h"
>> 
>> +#if defined(__linux__)
>> +#include <linux/uuid.h>
>> +#endif
>> +
>> //#define ENABLE_DEBUG_PRINTF // COMMENT THIS LINE OUT PRIOR TO CHECKIN
>> #ifdef ENABLE_DEBUG_PRINTF
>> #include <stdio.h>
>> 
>> Modified: lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt?rev=179694&r1=179693&r2=179694&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt (original)
>> +++ lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt Wed Apr 17 12:41:55 2013
>> @@ -1,3 +1,5 @@
>> add_subdirectory(ELF)
>> -add_subdirectory(Mach-O)
>> +if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
>> +  add_subdirectory(Mach-O)
>> +endif ()
>> add_subdirectory(PECOFF)
>> 
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits




More information about the lldb-commits mailing list