[Lldb-commits] [lldb] r259188 - Fix linking of lldb-server with BUILD_SHARED_LIBS

Hans Wennborg via lldb-commits lldb-commits at lists.llvm.org
Fri Jan 29 10:15:24 PST 2016


Sgtm. Zach's the owner here.

On Fri, Jan 29, 2016 at 6:47 AM, Pavel Labath <labath at google.com> wrote:
> Zachary, Hans,
>
> this is not super-important, as a BUILD_SHARED_LIBS build of lldb will
> still remain broken due to other issues, but I'd still like to get
> this into 3.8, as it will reduce the pain for anyone trying to get
> this build working downstream. What do you think?
>
> problem reported in pr26335.
>
> cheers,
> pl
>
> On 29 January 2016 at 11:59, Pavel Labath via lldb-commits
> <lldb-commits at lists.llvm.org> wrote:
>> Author: labath
>> Date: Fri Jan 29 05:59:57 2016
>> New Revision: 259188
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=259188&view=rev
>> Log:
>> Fix linking of lldb-server with BUILD_SHARED_LIBS
>>
>> Summary:
>> The BUILD_SHARED_LIBS branch of lldb-server link flags was hopelessly broken, at least since we
>> started restricting the symbols exported by liblldb. lldb-server depends on symbols from the
>> lldb_private namespace, so it cannot link to the public interface of liblldb. Instead I make it
>> link to the individual libraries constituting liblldb, just like it does in the
>> !BUILD_SHARED_LIBS case.
>>
>> This does not make the BUILD_SHARED_LIBS build of lldb fully functional yet, due to the way
>> liblldb dependencies are managed, but it's a step in that direction.
>>
>> Reviewers: zturner, tfiala
>>
>> Subscribers: lldb-commits
>>
>> Differential Revision: http://reviews.llvm.org/D16678
>>
>> Modified:
>>     lldb/trunk/tools/lldb-server/CMakeLists.txt
>>
>> Modified: lldb/trunk/tools/lldb-server/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/CMakeLists.txt?rev=259188&r1=259187&r2=259188&view=diff
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-server/CMakeLists.txt (original)
>> +++ lldb/trunk/tools/lldb-server/CMakeLists.txt Fri Jan 29 05:59:57 2016
>> @@ -33,24 +33,19 @@ add_lldb_executable(lldb-server
>>      LLDBServerUtilities.cpp
>>  )
>>
>> -if (BUILD_SHARED_LIBS )
>> -  target_link_libraries(lldb-server liblldb)
>> -  target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
>> +# The Darwin linker doesn't understand --start-group/--end-group.
>> +if (LLDB_LINKER_SUPPORTS_GROUPS)
>> +  target_link_libraries(lldb-server
>> +                        -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
>> +  target_link_libraries(lldb-server
>> +                        -Wl,--start-group ${CLANG_USED_LIBS} -Wl,--end-group)
>>  else()
>> -  # The Darwin linker doesn't understand --start-group/--end-group.
>> -  if (LLDB_LINKER_SUPPORTS_GROUPS)
>> -    target_link_libraries(lldb-server
>> -                          -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
>> -    target_link_libraries(lldb-server
>> -                          -Wl,--start-group ${CLANG_USED_LIBS} -Wl,--end-group)
>> -  else()
>> -    target_link_libraries(lldb-server ${LLDB_USED_LIBS})
>> -    target_link_libraries(lldb-server ${CLANG_USED_LIBS})
>> -  endif()
>> -  llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})
>> -
>> -  target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
>> +  target_link_libraries(lldb-server ${LLDB_USED_LIBS})
>> +  target_link_libraries(lldb-server ${CLANG_USED_LIBS})
>>  endif()
>> +llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})
>> +
>> +target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
>>
>>  set_target_properties(lldb-server PROPERTIES VERSION ${LLDB_VERSION})
>>
>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


More information about the lldb-commits mailing list