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

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Fri Jan 29 10:21:03 PST 2016


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160129/4922624c/attachment.html>


More information about the lldb-commits mailing list