[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 13:06:02 PST 2016


r259241. Thanks.

On Fri, Jan 29, 2016 at 10:21 AM, Zachary Turner <zturner at google.com> wrote:
> lgtm, as Pavel points out build_shared_libs is already broken anyway and
> this doesn't make it worse, while also not touching the non
> build_shared_libs path.
>
> On Fri, Jan 29, 2016 at 10:15 AM Hans Wennborg <hans at chromium.org> wrote:
>>
>> 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