summaryrefslogtreecommitdiff
path: root/src/dlls
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2015-05-01 16:30:38 -0700
committerMike McLaughlin <mikem@microsoft.com>2015-05-02 11:10:48 -0700
commiteb798177505eefad288dc28bcf86028ce4d8ba57 (patch)
tree131b5e67bb0c56af0c187d3a5e230a7a2af94e36 /src/dlls
parent25272dba24d166f8075c28cce08ac911941fcfc0 (diff)
downloadcoreclr-eb798177505eefad288dc28bcf86028ce4d8ba57.tar.gz
coreclr-eb798177505eefad288dc28bcf86028ce4d8ba57.tar.bz2
coreclr-eb798177505eefad288dc28bcf86028ce4d8ba57.zip
Fixed PAL thread allocation stack overflow.
Add -Bsymbolic linker option to prevent static variables from being shared across PAL instances Install coreclrpal and palrt libraries so VS has easy access to link against them. Don't install the debug-pal library to binary directory. Fix "corerun" lldb test command.
Diffstat (limited to 'src/dlls')
-rw-r--r--src/dlls/dbgshim/CMakeLists.txt2
-rw-r--r--src/dlls/mscordac/CMakeLists.txt2
-rw-r--r--src/dlls/mscordbi/CMakeLists.txt2
-rw-r--r--src/dlls/mscoree/coreclr/CMakeLists.txt51
4 files changed, 28 insertions, 29 deletions
diff --git a/src/dlls/dbgshim/CMakeLists.txt b/src/dlls/dbgshim/CMakeLists.txt
index 7eef457bc7..c5b8b9f483 100644
--- a/src/dlls/dbgshim/CMakeLists.txt
+++ b/src/dlls/dbgshim/CMakeLists.txt
@@ -25,7 +25,7 @@ endif(CLR_CMAKE_PLATFORM_UNIX)
if(CLR_CMAKE_PLATFORM_LINUX)
# This option is necessary to ensure that the overloaded delete operator defined inside
# of the utilcode will be used instead of the standard library delete operator.
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic-functions")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic -Bsymbolic-functions")
endif(CLR_CMAKE_PLATFORM_LINUX)
add_library(dbgshim SHARED ${DBGSHIM_SOURCES})
diff --git a/src/dlls/mscordac/CMakeLists.txt b/src/dlls/mscordac/CMakeLists.txt
index 13d70ce8bd..67f0bf6cf5 100644
--- a/src/dlls/mscordac/CMakeLists.txt
+++ b/src/dlls/mscordac/CMakeLists.txt
@@ -33,7 +33,7 @@ else(WIN32)
if(CLR_CMAKE_PLATFORM_LINUX)
# This option is necessary to ensure that the overloaded delete operator defined inside
# of the utilcode will be used instead of the standard library delete operator.
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic-functions")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic -Bsymbolic-functions")
# The following linked options can be inserted into the linker libraries list to
# ensure proper resolving of circular references between a subset of the libraries.
diff --git a/src/dlls/mscordbi/CMakeLists.txt b/src/dlls/mscordbi/CMakeLists.txt
index c31d6d8a15..ac339f2517 100644
--- a/src/dlls/mscordbi/CMakeLists.txt
+++ b/src/dlls/mscordbi/CMakeLists.txt
@@ -68,7 +68,7 @@ elseif(CLR_CMAKE_PLATFORM_UNIX)
# This option is necessary to ensure that the overloaded new/delete operators defined inside
# of the utilcode will be used instead of the standard library delete operator.
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic-functions")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic -Bsymbolic-functions")
add_dependencies(mscordbi mscordaccore)
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt
index 55096acea9..17f4daf85a 100644
--- a/src/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/src/dlls/mscoree/coreclr/CMakeLists.txt
@@ -1,38 +1,37 @@
if (WIN32)
-preprocess_def_file(${DEF_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/coreclr.def)
+ preprocess_def_file(${DEF_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/coreclr.def)
-list(APPEND CLR_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/coreclr.def)
+ list(APPEND CLR_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/coreclr.def)
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /ENTRY:CoreDllMain")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /ENTRY:CoreDllMain")
-# No library groups for Win32
-set(START_LIBRARY_GROUP)
-set(END_LIBRARY_GROUP)
+ # No library groups for Win32
+ set(START_LIBRARY_GROUP)
+ set(END_LIBRARY_GROUP)
else()
+ add_definitions(-DNO_CRT_INIT)
-add_definitions(-DNO_CRT_INIT)
+ if(CMAKE_SYSTEM_NAME STREQUAL Linux OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
+ # This option is necessary to ensure that the overloaded delete operator defined inside
+ # of the utilcode will be used instead of the standard library delete operator.
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic -Bsymbolic-functions")
-if(CMAKE_SYSTEM_NAME STREQUAL Linux OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-# This option is necessary to ensure that the overloaded delete operator defined inside
-# of the utilcode will be used instead of the standard library delete operator.
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xlinker -Bsymbolic-functions")
+ # The following linked options can be inserted into the linker libraries list to
+ # ensure proper resolving of circular references between a subset of the libraries.
+ set(START_LIBRARY_GROUP -Wl,--start-group)
+ set(END_LIBRARY_GROUP -Wl,--end-group)
-# The following linked options can be inserted into the linker libraries list to
-# ensure proper resolving of circular references between a subset of the libraries.
- set(START_LIBRARY_GROUP -Wl,--start-group)
- set(END_LIBRARY_GROUP -Wl,--end-group)
+ # These options are used to force every object to be included even if it's unused.
+ set(START_WHOLE_ARCHIVE -Wl,--whole-archive)
+ set(END_WHOLE_ARCHIVE -Wl,--no-whole-archive)
+ endif(CMAKE_SYSTEM_NAME STREQUAL Linux OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-# These options are used to force every object to be included even if it's unused.
- set(START_WHOLE_ARCHIVE -Wl,--whole-archive)
- set(END_WHOLE_ARCHIVE -Wl,--no-whole-archive)
-endif(CMAKE_SYSTEM_NAME STREQUAL Linux OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
-# These options are used to force every object to be included even if it's unused.
- set(START_WHOLE_ARCHIVE -force_load)
- set(END_WHOLE_ARCHIVE )
-endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ # These options are used to force every object to be included even if it's unused.
+ set(START_WHOLE_ARCHIVE -force_load)
+ set(END_WHOLE_ARCHIVE )
+ endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
endif (WIN32)
@@ -44,7 +43,7 @@ add_library(coreclr
)
if (CLR_CMAKE_PLATFORM_UNIX)
-set(LIB_UNWINDER unwinder_wks)
+ set(LIB_UNWINDER unwinder_wks)
endif (CLR_CMAKE_PLATFORM_UNIX)
# IMPORTANT! Please do not rearrange the order of the libraries. The linker on Linux is