Skip to content

Commit 62cc91e

Browse files
author
git apple-llvm automerger
committed
Merge commit 'bb7a902c765b' from llvm.org/main into next
2 parents 81e9d57 + bb7a902 commit 62cc91e

File tree

6 files changed

+30
-20
lines changed

6 files changed

+30
-20
lines changed

compiler-rt/lib/builtins/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -895,9 +895,14 @@ if(COMPILER_RT_BUILD_STANDALONE_LIBATOMIC)
895895
add_dependencies(compiler-rt builtins-standalone-atomic)
896896
endif()
897897

898+
# TODO: COMPILER_RT_BUILD_CRT used to be a cached variable so we need to unset
899+
# it first so cmake_dependent_option can set the local variable of the same
900+
# name. This statement can be removed in the future.
901+
unset(COMPILER_RT_BUILD_CRT CACHE)
902+
898903
cmake_dependent_option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON "COMPILER_RT_HAS_CRT" OFF)
899904

900-
if(COMPILER_RT_BUILD_CRT)
905+
if (COMPILER_RT_BUILD_CRT)
901906
add_compiler_rt_component(crt)
902907

903908
option(COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY "Use eh_frame in crtbegin.o/crtend.o" ON)

compiler-rt/test/builtins/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ configure_lit_site_cfg(
1313

1414
include(builtin-config-ix)
1515

16-
if (COMPILER_RT_HAS_CRT)
16+
if (COMPILER_RT_BUILD_CRT)
1717
list(APPEND BUILTINS_TEST_DEPS crt)
1818
endif()
19+
pythonize_bool(COMPILER_RT_BUILD_CRT)
1920

2021
# Indicate if this is an MSVC environment.
2122
pythonize_bool(MSVC)

compiler-rt/test/builtins/Unit/ctor_dtor.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// REQUIRES: linux
1+
// REQUIRES: crt
22

33
// RUN: %clang -fno-use-init-array -g -c %s -o %t.o
44
// RUN: %clang -o %t -no-pie -nostdlib %crt1 %crti %crtbegin %t.o -lc %libgcc %crtend %crtn

compiler-rt/test/builtins/Unit/dso_handle.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// REQUIRES: linux
1+
// REQUIRES: crt
22

33
// RUN: %clangxx -g -fno-exceptions -DCRT_SHARED -c %s -fPIC -o %tshared.o
44
// RUN: %clangxx -g -fno-exceptions -c %s -fPIC -o %t.o

compiler-rt/test/builtins/Unit/lit.cfg.py

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -106,26 +106,29 @@ def get_libgcc_file_name():
106106
base_lib = base_lib.replace("\\", "/")
107107
config.substitutions.append(("%librt ", base_lib + " -lc -lm "))
108108

109-
if config.host_os == "Linux":
110-
base_obj = os.path.join(
111-
config.compiler_rt_libdir, "clang_rt.%%s%s.o" % config.target_suffix
112-
)
113-
if sys.platform in ["win32"] and execute_external:
114-
# Don't pass dosish path separator to msys bash.exe.
115-
base_obj = base_obj.replace("\\", "/")
109+
builtins_build_crt = get_required_attr(config, "builtins_build_crt")
110+
if builtins_build_crt:
111+
base_obj = os.path.join(
112+
config.compiler_rt_libdir, "clang_rt.%%s%s.o" % config.target_suffix
113+
)
114+
if sys.platform in ["win32"] and execute_external:
115+
# Don't pass dosish path separator to msys bash.exe.
116+
base_obj = base_obj.replace("\\", "/")
116117

117-
config.substitutions.append(("%crtbegin", base_obj % "crtbegin"))
118-
config.substitutions.append(("%crtend", base_obj % "crtend"))
118+
config.substitutions.append(("%crtbegin", base_obj % "crtbegin"))
119+
config.substitutions.append(("%crtend", base_obj % "crtend"))
119120

120-
config.substitutions.append(("%crt1", get_library_path("crt1.o")))
121-
config.substitutions.append(("%crti", get_library_path("crti.o")))
122-
config.substitutions.append(("%crtn", get_library_path("crtn.o")))
121+
config.substitutions.append(("%crt1", get_library_path("crt1.o")))
122+
config.substitutions.append(("%crti", get_library_path("crti.o")))
123+
config.substitutions.append(("%crtn", get_library_path("crtn.o")))
123124

124-
config.substitutions.append(("%libgcc", get_libgcc_file_name()))
125+
config.substitutions.append(("%libgcc", get_libgcc_file_name()))
125126

126-
config.substitutions.append(
127-
("%libstdcxx", "-l" + config.sanitizer_cxx_lib.lstrip("lib"))
128-
)
127+
config.substitutions.append(
128+
("%libstdcxx", "-l" + config.sanitizer_cxx_lib.lstrip("lib"))
129+
)
130+
131+
config.available_features.add("crt")
129132

130133
builtins_source_dir = os.path.join(
131134
get_required_attr(config, "compiler_rt_src_root"), "lib", "builtins"

compiler-rt/test/builtins/Unit/lit.site.cfg.py.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ config.builtins_lit_source_dir = "@BUILTINS_LIT_SOURCE_DIR@/Unit"
55
config.target_cflags = "@BUILTINS_TEST_TARGET_CFLAGS@"
66
config.target_arch = "@BUILTINS_TEST_TARGET_ARCH@"
77
config.sanitizer_cxx_lib = "@SANITIZER_TEST_CXX_LIBNAME@"
8+
config.builtins_build_crt = @COMPILER_RT_BUILD_CRT_PYBOOL@
89
config.is_msvc = @MSVC_PYBOOL@
910
config.builtins_is_msvc = @BUILTINS_IS_MSVC_PYBOOL@
1011
config.builtins_lit_source_features = "@BUILTINS_LIT_SOURCE_FEATURES@"

0 commit comments

Comments
 (0)