diff options
author | Francis Ricci <francisjricci@gmail.com> | 2016-08-22 20:33:47 +0000 |
---|---|---|
committer | Francis Ricci <francisjricci@gmail.com> | 2016-08-22 20:33:47 +0000 |
commit | cfa868edc7d6948051d7f3ac539853fa66c42d89 (patch) | |
tree | 424965bc6649d63a4b069f1873659133bf70eab3 | |
parent | 7b27982757a733a21660c05b939285df52f00067 (diff) |
[compiler-rt] Use flags found when configuring builtins during compilation
Summary: This fixes the omission of -fPIC when building the builtins.
Reviewers: compnerd, beanz
Subscribers: dberris, llvm-commits
Differential Revision: https://reviews.llvm.org/D23729
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@279469 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | cmake/builtin-config-ix.cmake | 3 | ||||
-rw-r--r-- | lib/builtins/CMakeLists.txt | 17 |
2 files changed, 15 insertions, 5 deletions
diff --git a/cmake/builtin-config-ix.cmake b/cmake/builtin-config-ix.cmake index da055b529..92896187d 100644 --- a/cmake/builtin-config-ix.cmake +++ b/cmake/builtin-config-ix.cmake @@ -11,9 +11,6 @@ builtin_check_c_compiler_flag(-std=c99 COMPILER_RT_HAS_STD_C99_FLAG builtin_check_c_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG) builtin_check_c_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG) builtin_check_c_compiler_flag(-ffreestanding COMPILER_RT_HAS_FREESTANDING_FLAG) -builtin_check_c_compiler_flag(-mfloat-abi=soft COMPILER_RT_HAS_FLOAT_ABI_SOFT_FLAG) -builtin_check_c_compiler_flag(-mfloat-abi=hard COMPILER_RT_HAS_FLOAT_ABI_HARD_FLAG) -builtin_check_c_compiler_flag(-static COMPILER_RT_HAS_STATIC_FLAG) builtin_check_c_compiler_source(COMPILER_RT_HAS_ATOMIC_KEYWORD " diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt index 9d2154b9c..415b4e394 100644 --- a/lib/builtins/CMakeLists.txt +++ b/lib/builtins/CMakeLists.txt @@ -421,7 +421,20 @@ if (APPLE) add_subdirectory(macho_embedded) darwin_add_builtin_libraries(${BUILTIN_SUPPORTED_OS}) else () - append_string_if(COMPILER_RT_HAS_STD_C99_FLAG -std=gnu99 maybe_stdc99) + set(BUILTIN_CFLAGS "") + append_list_if(COMPILER_RT_HAS_STD_C99_FLAG -std=gnu99 BUILTIN_CFLAGS) + + # These flags would normally be added to CMAKE_C_FLAGS by the llvm + # cmake step. Add them manually if this is a standalone build. + if(COMPILER_RT_STANDALONE_BUILD) + append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC BUILTIN_CFLAGS) + append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin BUILTIN_CFLAGS) + append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -fvisibility=hidden BUILTIN_CFLAGS) + if(NOT COMPILER_RT_DEBUG) + append_list_if(COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG -fomit-frame-pointer BUILTIN_CFLAGS) + endif() + append_list_if(COMPILER_RT_HAS_FREESTANDING_FLAG -ffreestanding BUILTIN_CFLAGS) + endif() foreach (arch ${BUILTIN_SUPPORTED_ARCH}) if (CAN_TARGET_${arch}) @@ -440,7 +453,7 @@ else () STATIC ARCHS ${arch} SOURCES ${${arch}_SOURCES} - CFLAGS ${maybe_stdc99} + CFLAGS ${BUILTIN_CFLAGS} PARENT_TARGET builtins) endif () endforeach () |