Re: [DynInst_API:] cmake problem building with -pie


Date: Tue, 25 Aug 2020 16:49:00 -0400
From: Stan Cox <scox@xxxxxxxxxx>
Subject: Re: [DynInst_API:] cmake problem building with -pie
Tim,
Thanks for looking.  I think I finally figured out the problem.
This change to dyninstAPI_RT/CMakeLists.txt fixes it

@@ -5,4 +5,4 @@
 set (DYNINST_ROOT ${PROJECT_SOURCE_DIR}/..)
-set(CMAKE_C_FLAGS "${DYNINST_RT_CMAKE_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "${DYNINST_RT_CMAKE_CXX_FLAGS}")
+# set(CMAKE_C_FLAGS "${DYNINST_RT_CMAKE_C_FLAGS}")
+# set(CMAKE_CXX_FLAGS "${DYNINST_RT_CMAKE_CXX_FLAGS}")

<root-dir>/CMakeLists.txt does
set(DYNINST_RT_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(DYNINST_RT_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")

but near as I can tell that never gets pushed out anywhere so later at:
if(BUILD_RTLIB)
  # Build the RT library as a separate project so we can change compilers

So we end up with an incompatibility between the C_FLAGS and LD_FLAGS so the test compile is done without -pie and the link is attempted with -pie and it fails.

Is DYNINST_RT_CMAKE_C_FLAGS needed?

Filed:
https://github.com/dyninst/dyninst/issues/812

[← Prev in Thread] Current Thread [Next in Thread→]