[CMake] Default ENABLE_X86_RELAX_RELOCATIONS to ON

This makes clang default to -Wa,-mrelax-relocations=yes, which enables
R_386_GOT32X (GNU as enables it regardless of -mrelax-relocations=) and
R_X86_64_[REX_]GOTPCRELX in MC. The produced object files require GNU ld>=2.26
to link. binutils 2.26 is considered a very old release today.
This commit is contained in:
Fangrui Song 2020-08-02 23:05:50 -07:00
parent 5a4cd55e5d
commit c41a18cf61
2 changed files with 2 additions and 2 deletions

View File

@ -259,7 +259,7 @@ set(DEFAULT_SYSROOT "" CACHE STRING
set(ENABLE_LINKER_BUILD_ID OFF CACHE BOOL "pass --build-id to ld")
set(ENABLE_X86_RELAX_RELOCATIONS OFF CACHE BOOL
set(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL
"enable x86 relax relocations by default")
set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER FALSE CACHE BOOL

View File

@ -33,7 +33,7 @@ write_cmake_config("Config") {
"GCC_INSTALL_PREFIX=",
"BACKEND_PACKAGE_STRING=LLVM ${llvm_version}git",
"ENABLE_LINKER_BUILD_ID=",
"ENABLE_X86_RELAX_RELOCATIONS=",
"ENABLE_X86_RELAX_RELOCATIONS=1",
"ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=",
"CLANG_ENABLE_OBJC_REWRITER=1", # FIXME: flag?
"CLANG_SYSTEMZ_DEFAULT_ARCH=z10",