From 92191551041253903f7bf9b9be918c13cd0c54d6 Mon Sep 17 00:00:00 2001 From: Dick Hollenbeck Date: Tue, 27 May 2014 23:33:00 -0500 Subject: [PATCH] A hopeful fix for bug lp:1322354 --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5276a854d8..542667f1fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -203,12 +203,17 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PIC_FLAG}" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PIC_FLAG}" ) - # Thou shalt not link vaporware and tell us it's a valid DSO (apple ld doesn't support it) if( NOT APPLE ) + # Thou shalt not link vaporware and tell us it's a valid DSO (apple ld doesn't support it) set( CMAKE_SHARED_LINKER_FLAGS "${TO_LINKER},--no-undefined" ) set( CMAKE_MODULE_LINKER_FLAGS "${TO_LINKER},--no-undefined" ) set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" ) + + # Defeat ELF's ability to use the GOT to replace locally implemented functions + # with ones from another module. + set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${TO_LINKER},-Bsymbolic" ) + set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${TO_LINKER},-Bsymbolic" ) endif() endif()