unittests/JITTests: Don't use --export-dynamic but --export-all-symbols on cygming.

GNU ld/PECOFF accepts but ignores them below;
  --version-script
  --export-dynamic
  --rpath

FIXME: autoconf should be aware of them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120179 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
NAKAMURA Takumi 2010-11-26 09:32:02 +00:00
parent 28b6727a35
commit b9dec1f928
3 changed files with 20 additions and 8 deletions

View File

@ -392,6 +392,17 @@ endif
LD.Flags += -Wl,--no-relax LD.Flags += -Wl,--no-relax
endif endif
# GNU ld/PECOFF accepts but ignores them below;
# --version-script
# --export-dynamic
# --rpath
# FIXME: autoconf should be aware of them.
ifneq (,$(filter $(HOST_OS),Cygwin MingW))
HAVE_LINK_VERSION_SCRIPT := 0
RPATH :=
RDYNAMIC := -Wl,--export-all-symbols
endif
#-------------------------------------------------------------------- #--------------------------------------------------------------------
# Directory locations # Directory locations
#-------------------------------------------------------------------- #--------------------------------------------------------------------
@ -949,11 +960,6 @@ ifdef EXPORTED_SYMBOL_FILE
# First, set up the native export file, which may differ from the source # First, set up the native export file, which may differ from the source
# export file. # export file.
# The option --version-script is not effective on GNU ld win32.
ifneq (,$(filter $(HOST_OS),Cygwin MingW))
HAVE_LINK_VERSION_SCRIPT := 0
endif
ifeq ($(HOST_OS),Darwin) ifeq ($(HOST_OS),Darwin)
# Darwin convention prefixes symbols with underscores. # Darwin convention prefixes symbols with underscores.
NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).sed NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).sed

View File

@ -82,6 +82,10 @@ endif()
add_llvm_unittest(JIT ${JITTestsSources}) add_llvm_unittest(JIT ${JITTestsSources})
if(MINGW)
set_property(TARGET JITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols)
endif()
add_llvm_unittest(Transforms add_llvm_unittest(Transforms
Transforms/Utils/Cloning.cpp Transforms/Utils/Cloning.cpp
) )

View File

@ -35,9 +35,11 @@ endif
TESTLIBS = -lGoogleTest -lUnitTestMain TESTLIBS = -lGoogleTest -lUnitTestMain
ifeq ($(ENABLE_SHARED), 1) ifeq ($(ENABLE_SHARED), 1)
ifneq (,$(RPATH))
# Add the absolute path to the dynamic library. This is ok because # Add the absolute path to the dynamic library. This is ok because
# we'll never install unittests. # we'll never install unittests.
LD.Flags += $(RPATH) -Wl,$(SharedLibDir) LD.Flags += $(RPATH) -Wl,$(SharedLibDir)
endif
# Also set {DYLD,LD}_LIBRARY_PATH because OSX ignores the rpath most # Also set {DYLD,LD}_LIBRARY_PATH because OSX ignores the rpath most
# of the time. # of the time.
Run.Shared := $(SHLIBPATH_VAR)="$(SharedLibDir)$${$(SHLIBPATH_VAR):+:}$$$(SHLIBPATH_VAR)" Run.Shared := $(SHLIBPATH_VAR)="$(SharedLibDir)$${$(SHLIBPATH_VAR):+:}$$$(SHLIBPATH_VAR)"