svn commit: r336227 - head/contrib/llvm/tools/clang/lib/Driver/ToolChains
Dimitry Andric
dim at FreeBSD.org
Thu Jul 12 19:03:01 UTC 2018
Author: dim
Date: Thu Jul 12 19:02:59 2018
New Revision: 336227
URL: https://svnweb.freebsd.org/changeset/base/336227
Log:
Pull in r336008 from upstream clang trunk:
Request init/fini array on FreeBSD 12 and later
Summary:
It seems a bad idea to change the default in the middle of a release
branch due to possible changes in global ctor / dtor ordering between
.ctors and .init_array. With FreeBSD 11.0's release imminent lets
change the default now for FreeBSD 12 (the current development
stream) and later.
FreeBSD rtld has supported .init_array / .fini_array for many years.
As of Jan 1 2017 all supported FreeBSD releases and branches will
have support.
Reviewers: dim, brooks, arichardson
Reviewed By: dim, brooks, arichardson
Subscribers: bsdjhb, krytarowski, emaste, cfe-commits
Differential Revision: https://reviews.llvm.org/D24867
Requested by: jhb
MFC after: 3 days
Modified:
head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
Modified: head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp Thu Jul 12 18:48:53 2018 (r336226)
+++ head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp Thu Jul 12 19:02:59 2018 (r336227)
@@ -2375,6 +2375,8 @@ void Generic_ELF::addClangTargetOptions(const ArgList
bool UseInitArrayDefault =
getTriple().getArch() == llvm::Triple::aarch64 ||
getTriple().getArch() == llvm::Triple::aarch64_be ||
+ (getTriple().getOS() == llvm::Triple::FreeBSD &&
+ getTriple().getOSMajorVersion() >= 12) ||
(getTriple().getOS() == llvm::Triple::Linux &&
((!GCCInstallation.isValid() || !V.isOlderThan(4, 7, 0)) ||
getTriple().isAndroid())) ||
More information about the svn-src-head
mailing list