Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 5078347

Browse files
use -O0 when building release LLVM on sparc
The bits produced by gcc above -O0 when building rust's private copy of llvm on sparc result in either versions of llvm-tblgen that consistently segfault or produce otherwise unuseable code. This does not affect cross-compiles for some reason. Investigation with gcc upstream is in progress.
1 parent ceb177e commit 5078347

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

CMakeLists.txt

+6
Original file line numberDiff line numberDiff line change
@@ -698,6 +698,12 @@ if( MINGW )
698698
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O2")
699699
endif()
700700

701+
if( "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" AND "${LLVM_NATIVE_ARCH}" MATCHES "Sparc" )
702+
# gcc 4.x, 5.x (at least) generate bad code on sparc above -O0 when compiling
703+
# llvm; notably llvm-tblgen consistently core dumps.
704+
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O0")
705+
endif()
706+
701707
# Put this before tblgen. Else we have a circular dependence.
702708
add_subdirectory(lib/Support)
703709
add_subdirectory(lib/TableGen)

0 commit comments

Comments
 (0)