From e7d6d752e9e4b126935fdc1f36dcff77ef35b01d Mon Sep 17 00:00:00 2001 From: guzhihao4 Date: Thu, 25 May 2023 22:26:43 +0800 Subject: [PATCH] [Build] Add fPIC flags for runtime build LLVM12 set fPIC by default and we need to add it in LLVM15 Issue: #I78FHY Signed-off-by: guzhihao4 Change-Id: I751ac066626e5549c3afceec4f4135247afef444 --- llvm-build/build.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm-build/build.py b/llvm-build/build.py index 3ebe8e0f100d..16f7bac8af41 100755 --- a/llvm-build/build.py +++ b/llvm-build/build.py @@ -494,6 +494,7 @@ class LlvmCore(BuildUtils): llvm_defines['CMAKE_EXE_LINKER_FLAGS'] = ldflags llvm_defines['CMAKE_SHARED_LINKER_FLAGS'] = ldflags llvm_defines['CMAKE_MODULE_LINKER_FLAGS'] = ldflags + llvm_defines['CMAKE_POSITION_INDEPENDENT_CODE'] = 'ON' def llvm_compile(self, build_name, @@ -542,7 +543,7 @@ class LlvmCore(BuildUtils): resource_dir = "lib/clang/10.0.1/lib/linux/libclang_rt.profile-x86_64.a" ldflags += ' %s' % os.path.join(llvm_clang_install, resource_dir) - cflags = '-fstack-protector-strong -fPIE' + cflags = '-fstack-protector-strong' if not self.host_is_darwin(): ldflags += ' -Wl,-z,relro,-z,now -pie' if self.build_config.strip: @@ -821,6 +822,7 @@ class LlvmLibs(BuildUtils): defines['CMAKE_FIND_ROOT_PATH_MODE_LIBRARY'] = 'ONLY' defines['CMAKE_FIND_ROOT_PATH_MODE_PACKAGE'] = 'ONLY' defines['CMAKE_FIND_ROOT_PATH_MODE_PROGRAM'] = 'NEVER' + defines['CMAKE_POSITION_INDEPENDENT_CODE'] = 'ON' ldflag = [ '-fuse-ld=lld', @@ -837,8 +839,7 @@ class LlvmLibs(BuildUtils): ldflags.extend(ldflag) cflag = [ - '-fstack-protector-strong', - '-fPIE', + '-fstack-protector-strong', '--target=%s' % llvm_triple, '-ffunction-sections', '-fdata-sections', @@ -1294,8 +1295,8 @@ class LldbMi(BuildUtils): ldflags.append('-L%s' % os.path.join(llvm_path, 'lib')) cxxflags.append('-std=c++14') - cxxflags.append('-fstack-protector-strong -fPIE') - cflags.append('-fstack-protector-strong -fPIE') + cxxflags.append('-fstack-protector-strong') + cflags.append('-fstack-protector-strong') lldb_mi_defines = {} lldb_mi_defines['CMAKE_C_COMPILER'] = os.path.join(llvm_path, 'bin', 'clang') -- Gitee