Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jul 2018 05:36:42 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r336332 - stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains
Message-ID:  <201807160536.w6G5agvI061195@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Mon Jul 16 05:36:42 2018
New Revision: 336332
URL: https://svnweb.freebsd.org/changeset/base/336332

Log:
  MFC r336227:
  
  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

Modified:
  stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
==============================================================================
--- stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp	Mon Jul 16 05:35:39 2018	(r336331)
+++ stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp	Mon Jul 16 05:36:42 2018	(r336332)
@@ -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())) ||



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807160536.w6G5agvI061195>