From: Petr Hosek Date: Sat, 9 May 2020 20:42:19 +0000 (-0700) Subject: [Clang] Pass --pack-dyn-relocs=relr to lld for Fuchsia X-Git-Tag: llvmorg-12-init~6513 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c8fbcb1e78adcbaeadca9db9188771d81f49493a;p=platform%2Fupstream%2Fllvm.git [Clang] Pass --pack-dyn-relocs=relr to lld for Fuchsia The compact format is fully supported on Fuchsia and is the preferred default. Patch By: mcgrathr Differential Revision: https://reviews.llvm.org/D79665 --- diff --git a/clang/lib/Driver/ToolChains/Fuchsia.cpp b/clang/lib/Driver/ToolChains/Fuchsia.cpp index fbda60a..9a8f14d 100644 --- a/clang/lib/Driver/ToolChains/Fuchsia.cpp +++ b/clang/lib/Driver/ToolChains/Fuchsia.cpp @@ -56,6 +56,7 @@ void fuchsia::Linker::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("rodynamic"); CmdArgs.push_back("-z"); CmdArgs.push_back("separate-loadable-segments"); + CmdArgs.push_back("--pack-dyn-relocs=relr"); } if (!D.SysRoot.empty()) diff --git a/clang/test/Driver/fuchsia.c b/clang/test/Driver/fuchsia.c index 5c1c000..3aceba7 100644 --- a/clang/test/Driver/fuchsia.c +++ b/clang/test/Driver/fuchsia.c @@ -23,7 +23,7 @@ // CHECK-X86_64: "-fsanitize=safe-stack" // CHECK: "-stack-protector" "2" // CHECK-NOT: "-fcommon" -// CHECK: {{.*}}ld.lld{{.*}}" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments" +// CHECK: {{.*}}ld.lld{{.*}}" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments" "--pack-dyn-relocs=relr" // CHECK: "--sysroot=[[SYSROOT]]" // CHECK: "-pie" // CHECK: "--build-id"