[lldb] [test] Do not link -ldl on NetBSD

Fix the load_* using test Makefiles not to link -ldl on NetBSD.
There is no such a library on NetBSD, and dlopen() is available
without a library.  Quoting the manpage:

    (These functions are not in a library.  They are included in every
    dynamically linked program automatically.)

To resolve this portably, introduce a new USE_LIBDL option.  If it set
to 1, Makefile.rules automatically appends -ldl on platforms needing it.

Differential Revision: https://reviews.llvm.org/D58517

llvm-svn: 354617
This commit is contained in:
Michal Gorny
2019-02-21 20:28:21 +00:00
parent 1abe05c0dd
commit 65ebfaf0be
3 changed files with 12 additions and 2 deletions

View File

@@ -2,8 +2,9 @@ LEVEL := ../../make
LIB_PREFIX := loadunload_
LD_EXTRAS := -L. -l$(LIB_PREFIX)d -ldl
LD_EXTRAS := -L. -l$(LIB_PREFIX)d
CXX_SOURCES := main.cpp
USE_LIBDL := 1
include $(LEVEL)/Makefile.rules

View File

@@ -1,7 +1,7 @@
LEVEL := ../../make
CXX_SOURCES := main.cpp
LD_EXTRAS := -ldl
USE_LIBDL := 1
include $(LEVEL)/Makefile.rules

View File

@@ -414,6 +414,15 @@ ifeq (1,$(USE_LIBCPP))
endif
endif
#----------------------------------------------------------------------
# Additional system libraries
#----------------------------------------------------------------------
ifeq (1,$(USE_LIBDL))
ifneq ($(OS),NetBSD)
LDFLAGS += -ldl
endif
endif
#----------------------------------------------------------------------
# dylib settings
#----------------------------------------------------------------------