r323193 - [Solaris] gcc toolchain handling revamp
Fedor Sergeev via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 23 19:56:46 PST 2018
Ugh... I'm pretty much sure I wouldnt be able to come up with *this*
amount of backslashes! :)
Thank you for your effort so much!
Fedor.
On 01/24/2018 03:51 AM, Yung, Douglas wrote:
>
> I think I got it working in r323285.
>
> Douglas Yung
>
> *From:*Fedor Sergeev [mailto:fedor.sergeev at azul.com]
> *Sent:* Tuesday, January 23, 2018 14:23
> *To:* Yung, Douglas; Galina Kistanova; Richard Trieu
> *Cc:* cfe-commits
> *Subject:* Re: r323193 - [Solaris] gcc toolchain handling revamp
>
> I see there is a commit by Richard Trieu:
> ====
> commit e7469bc992bca368b62364b683ddc3e20df8db27
> Author: Richard Trieu <rtrieu at google.com> <mailto:rtrieu at google.com>
> Date: Tue Jan 23 21:58:56 2018 +0000
>
> Fix test Driver/solaris-ld.c
>
> Allow test to accept calls to ld without full path
> ====
>
> I'm still a bit sceptical as to whether it fixes the problem at its
> entirety.
>
> If not I do have a fix that disables this test on Windows:
> diff --git a/test/Driver/solaris-ld.c b/test/Driver/solaris-ld.c
> --- a/test/Driver/solaris-ld.c
> +++ b/test/Driver/solaris-ld.c
> @@ -1,3 +1,5 @@
> +// UNSUPPORTED: system-windows
> +//
> // General tests that ld invocations on Solaris targets sane. Note
> that we use
> // sysroot to make these tests independent of the host system.
>
> Please, let me know if Richard's fix above does not work and I will
> push my change as soon as I get awake.
>
> regards,
> Fedor.
>
> On 01/24/2018 12:39 AM, Fedor Sergeev wrote:
>
> Ugh... those slashes...
> Since I have no way to test the changes on Windows before integration
> I'm inclined to make this test unsupported for Windows.
> Otherwise I will be going step by step cleaning these slashes.
>
> That should not hurt anything since I doubt anybody has a need to
> cross-compile into Solaris on Windows...
>
> regards,
> Fedor.
>
> On 01/24/2018 12:28 AM, Yung, Douglas wrote:
>
> Hi Fedor,
>
> That change does not unfortunately resolve the issue:
>
> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/14895:
>
> Failing Tests (1):
>
> Clang :: Driver/solaris-ld.c
>
> Can you please look into it further?
>
> Douglas Yung
>
> *From:*cfe-commits [mailto:cfe-commits-bounces at lists.llvm.org]
> *On Behalf Of *Fedor Sergeev via cfe-commits
> *Sent:* Tuesday, January 23, 2018 13:14
> *To:* Galina Kistanova
> *Cc:* cfe-commits
> *Subject:* Re: r323193 - [Solaris] gcc toolchain handling revamp
>
> Fix already integrated (r323199).
> Hopefully it solves the problem.
>
> regards,
> Fedor.
>
> On 01/24/2018 12:11 AM, Galina Kistanova wrote:
>
> Hello Fedor,
>
> This commit broke tests on couple of our builders:
>
> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/14893
> http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win
>
> . . .
> Failing Tests (1):
> Clang :: Driver/solaris-ld.c
>
> Please have a look?
>
> Thanks
>
> Galina
>
> On Tue, Jan 23, 2018 at 4:23 AM, Fedor Sergeev via
> cfe-commits <cfe-commits at lists.llvm.org
> <mailto:cfe-commits at lists.llvm.org>> wrote:
>
> Author: fedor.sergeev
> Date: Tue Jan 23 04:23:52 2018
> New Revision: 323193
>
> URL: http://llvm.org/viewvc/llvm-project?rev=323193&view=rev
> Log:
> [Solaris] gcc toolchain handling revamp
>
> Summary:
> General idea is to utilize generic (mostly Generic_GCC) code
> and get rid of Solaris-specific handling as much as possible.
>
> In particular:
> - scanLibDirForGCCTripleSolaris was removed, relying on
> generic
> CollectLibDirsAndTriples
>
> - findBiarchMultilibs is now properly utilized to switch
> between
> m32 and m64 include & lib paths on Solaris
>
> - C system include handling copied from Linux (bar
> multilib hacks)
>
> Fixes PR24606.
>
> Reviewers: dlj, rafael, jyknight, theraven, tstellar
>
> Reviewed By: jyknight
>
> Subscribers: aaron.ballman, mgorny, krytarowski, ro,
> joerg, cfe-commits
>
> Differential Revision: https://reviews.llvm.org/D35755
> <https://reviews.llvm.org/D35755>
>
> Added:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11/bits/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11/bits/gthr.h
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/typeinfo
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crt1.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtbegin.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtend.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/libatomic.a
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/sparcv9/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/sparcv9/libatomic.a
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crti.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crtn.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crti.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crtn.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/i386-pc-solaris2.11/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/i386-pc-solaris2.11/bits/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/i386-pc-solaris2.11/bits/gthr.h
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/typeinfo
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/amd64/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/amd64/libatomic.a
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtbegin.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtend.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtbegin.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtend.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/libatomic.a
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crt1.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crti.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crtn.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crt1.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crti.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crtn.o
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1
> - copied, changed from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> Modified:
> cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> cfe/trunk/lib/Driver/ToolChains/Gnu.h
> cfe/trunk/lib/Driver/ToolChains/Solaris.cpp
> cfe/trunk/lib/Driver/ToolChains/Solaris.h
> cfe/trunk/lib/Frontend/InitHeaderSearch.cpp
> cfe/trunk/test/Driver/solaris-header-search.cpp
> cfe/trunk/test/Driver/solaris-ld.c
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.cpp?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp Tue Jan 23
> 04:23:52 2018
> @@ -1450,6 +1450,8 @@ static bool findBiarchMultilibs(const Dr
> StringRef Path, const
> ArgList &Args,
> bool NeedsBiarchSuffix,
> DetectedMultilibs &Result) {
> + Multilib Default;
> +
> // Some versions of SUSE and Fedora on ppc64 put 32-bit
> libs
> // in what would normally be GCCInstallPath and put the
> 64-bit
> // libs in a subdirectory named 64. The simple logic we
> follow is that
> @@ -1457,10 +1459,26 @@ static bool
> findBiarchMultilibs(const Dr
> // we use that. If not, and if not a biarch triple
> alias, we look for
> // crtbegin.o without the subdirectory.
>
> - Multilib Default;
> + StringRef Suff64 = "/64";
> + // Solaris uses platform-specific suffixes instead of /64.
> + if (TargetTriple.getOS() == llvm::Triple::Solaris) {
> + switch (TargetTriple.getArch()) {
> + case llvm::Triple::x86:
> + case llvm::Triple::x86_64:
> + Suff64 = "/amd64";
> + break;
> + case llvm::Triple::sparc:
> + case llvm::Triple::sparcv9:
> + Suff64 = "/sparcv9";
> + break;
> + default:
> + break;
> + }
> + }
> +
> Multilib Alt64 = Multilib()
> - .gccSuffix("/64")
> - .includeSuffix("/64")
> + .gccSuffix(Suff64)
> + .includeSuffix(Suff64)
> .flag("-m32")
> .flag("+m64")
> .flag("-mx32");
> @@ -1657,21 +1675,17 @@ void
> Generic_GCC::GCCInstallationDetecto
> // If we have a SysRoot, try that first.
> if (!D.SysRoot.empty()) {
> Prefixes.push_back(D.SysRoot);
> - Prefixes.push_back(D.SysRoot + "/usr");
> + AddDefaultGCCPrefixes(TargetTriple, Prefixes,
> D.SysRoot);
> }
>
> // Then look for gcc installed alongside clang.
> Prefixes.push_back(D.InstalledDir + "/..");
>
> - // Then look for distribution supplied gcc installations.
> + // Next, look for prefix(es) that correspond to
> distribution-supplied gcc
> + // installations.
> if (D.SysRoot.empty()) {
> - // Look for RHEL devtoolsets.
> - Prefixes.push_back("/opt/rh/devtoolset-6/root/usr");
> - Prefixes.push_back("/opt/rh/devtoolset-4/root/usr");
> - Prefixes.push_back("/opt/rh/devtoolset-3/root/usr");
> - Prefixes.push_back("/opt/rh/devtoolset-2/root/usr");
> - // And finally in /usr.
> - Prefixes.push_back("/usr");
> + // Typically /usr.
> + AddDefaultGCCPrefixes(TargetTriple, Prefixes,
> D.SysRoot);
> }
> }
>
> @@ -1742,6 +1756,51 @@ bool
> Generic_GCC::GCCInstallationDetecto
> return false;
> }
>
> +void
> Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
> + const llvm::Triple &TargetTriple,
> SmallVectorImpl<std::string> &Prefixes,
> + StringRef SysRoot) {
> + if (TargetTriple.getOS() == llvm::Triple::Solaris) {
> + // Solaris is a special case.
> + // The GCC installation is under
> + //
> /usr/gcc/<major>.<minor>/lib/gcc/<triple>/<major>.<minor>.<patch>/
> + // so we need to find those /usr/gcc/*/lib/gcc
> libdirs and go with
> + // /usr/gcc/<version> as a prefix.
> +
> + std::string PrefixDir = SysRoot.str() + "/usr/gcc";
> + std::error_code EC;
> + for (vfs::directory_iterator LI =
> D.getVFS().dir_begin(PrefixDir, EC), LE;
> + !EC && LI != LE; LI = LI.increment(EC)) {
> + StringRef VersionText =
> llvm::sys::path::filename(LI->getName());
> + GCCVersion CandidateVersion =
> GCCVersion::Parse(VersionText);
> +
> + // Filter out obviously bad entries.
> + if (CandidateVersion.Major == -1 ||
> CandidateVersion.isOlderThan(4, 1, 1))
> + continue;
> +
> + std::string CandidatePrefix = PrefixDir + "/" +
> VersionText.str();
> + std::string CandidateLibPath = CandidatePrefix +
> "/lib/gcc";
> + if (!D.getVFS().exists(CandidateLibPath))
> + continue;
> +
> + Prefixes.push_back(CandidatePrefix);
> + }
> + return;
> + }
> +
> + // Non-Solaris is much simpler - most systems just go
> with "/usr".
> + if (SysRoot.empty()) {
> + // Yet, still look for RHEL devtoolsets
> + // (should it be done Linux-only??)
> + Prefixes.push_back("/opt/rh/devtoolset-6/root/usr");
> + Prefixes.push_back("/opt/rh/devtoolset-4/root/usr");
> + Prefixes.push_back("/opt/rh/devtoolset-3/root/usr");
> + Prefixes.push_back("/opt/rh/devtoolset-2/root/usr");
> + Prefixes.push_back("/usr");
> + } else {
> + Prefixes.push_back(SysRoot.str() + "/usr");
> + }
> +}
> +
> /*static*/ void
> Generic_GCC::GCCInstallationDetector::CollectLibDirsAndTriples(
> const llvm::Triple &TargetTriple, const llvm::Triple
> &BiarchTriple,
> SmallVectorImpl<StringRef> &LibDirs,
> @@ -1843,17 +1902,49 @@ bool
> Generic_GCC::GCCInstallationDetecto
> "s390x-linux-gnu", "s390x-unknown-linux-gnu",
> "s390x-ibm-linux-gnu",
> "s390x-suse-linux", "s390x-redhat-linux"};
>
> - // Solaris.
> - static const char *const SolarisSPARCLibDirs[] = {"/gcc"};
> - static const char *const SolarisSPARCTriples[] =
> {"sparc-sun-solaris2.11",
> - "i386-pc-solaris2.11"};
>
> using std::begin;
> using std::end;
>
> if (TargetTriple.getOS() == llvm::Triple::Solaris) {
> - LibDirs.append(begin(SolarisSPARCLibDirs),
> end(SolarisSPARCLibDirs));
> - TripleAliases.append(begin(SolarisSPARCTriples),
> end(SolarisSPARCTriples));
> + static const char *const SolarisLibDirs[] = {"/lib"};
> + static const char *const SolarisSparcV8Triples[] = {
> + "sparc-sun-solaris2.11", "sparc-sun-solaris2.12"};
> + static const char *const SolarisSparcV9Triples[] = {
> + "sparcv9-sun-solaris2.11",
> "sparcv9-sun-solaris2.12"};
> + static const char *const SolarisX86Triples[] =
> {"i386-pc-solaris2.11",
> + "i386-pc-solaris2.12"};
> + static const char *const SolarisX86_64Triples[] =
> {"x86_64-pc-solaris2.11",
> + "x86_64-pc-solaris2.12"};
> + LibDirs.append(begin(SolarisLibDirs),
> end(SolarisLibDirs));
> + BiarchLibDirs.append(begin(SolarisLibDirs),
> end(SolarisLibDirs));
> + switch (TargetTriple.getArch()) {
> + case llvm::Triple::x86:
> + TripleAliases.append(begin(SolarisX86Triples),
> end(SolarisX86Triples));
> + BiarchTripleAliases.append(begin(SolarisX86_64Triples),
> + end(SolarisX86_64Triples));
> + break;
> + case llvm::Triple::x86_64:
> + TripleAliases.append(begin(SolarisX86_64Triples),
> + end(SolarisX86_64Triples));
> + BiarchTripleAliases.append(begin(SolarisX86Triples),
> + end(SolarisX86Triples));
> + break;
> + case llvm::Triple::sparc:
> + TripleAliases.append(begin(SolarisSparcV8Triples),
> + end(SolarisSparcV8Triples));
> + BiarchTripleAliases.append(begin(SolarisSparcV9Triples),
> + end(SolarisSparcV9Triples));
> + break;
> + case llvm::Triple::sparcv9:
> + TripleAliases.append(begin(SolarisSparcV9Triples),
> + end(SolarisSparcV9Triples));
> + BiarchTripleAliases.append(begin(SolarisSparcV8Triples),
> + end(SolarisSparcV8Triples));
> + break;
> + default:
> + break;
> + }
> return;
> }
>
> @@ -2014,56 +2105,6 @@ bool
> Generic_GCC::GCCInstallationDetecto
> BiarchTripleAliases.push_back(BiarchTriple.str());
> }
>
> -void
> Generic_GCC::GCCInstallationDetector::scanLibDirForGCCTripleSolaris(
> - const llvm::Triple &TargetArch, const
> llvm::opt::ArgList &Args,
> - const std::string &LibDir, StringRef CandidateTriple,
> - bool NeedsBiarchSuffix) {
> - // Solaris is a special case. The GCC installation is under
> - //
> /usr/gcc/<major>.<minor>/lib/gcc/<triple>/<major>.<minor>.<patch>/,
> so we
> - // need to iterate twice.
> - std::error_code EC;
> - for (vfs::directory_iterator LI =
> D.getVFS().dir_begin(LibDir, EC), LE;
> - !EC && LI != LE; LI = LI.increment(EC)) {
> - StringRef VersionText =
> llvm::sys::path::filename(LI->getName());
> - GCCVersion CandidateVersion =
> GCCVersion::Parse(VersionText);
> -
> - if (CandidateVersion.Major != -1) // Filter obviously
> bad entries.
> - if
> (!CandidateGCCInstallPaths.insert(LI->getName()).second)
> - continue; // Saw this path before; no need to
> look at it again.
> - if (CandidateVersion.isOlderThan(4, 1, 1))
> - continue;
> - if (CandidateVersion <= Version)
> - continue;
> -
> - GCCInstallPath =
> - LibDir + "/" + VersionText.str() + "/lib/gcc/" +
> CandidateTriple.str();
> - if (!D.getVFS().exists(GCCInstallPath))
> - continue;
> -
> - // If we make it here there has to be at least one
> GCC version, let's just
> - // use the latest one.
> - std::error_code EEC;
> - for (vfs::directory_iterator
> - LLI = D.getVFS().dir_begin(GCCInstallPath, EEC),
> - LLE;
> - !EEC && LLI != LLE; LLI = LLI.increment(EEC)) {
> -
> - StringRef SubVersionText =
> llvm::sys::path::filename(LLI->getName());
> - GCCVersion CandidateSubVersion =
> GCCVersion::Parse(SubVersionText);
> -
> - if (CandidateSubVersion > Version)
> - Version = CandidateSubVersion;
> - }
> -
> - GCCTriple.setTriple(CandidateTriple);
> -
> - GCCInstallPath += "/" + Version.Text;
> - GCCParentLibPath = GCCInstallPath + "/../../../../";
> -
> - IsValid = true;
> - }
> -}
> -
> bool
> Generic_GCC::GCCInstallationDetector::ScanGCCForMultilibs(
> const llvm::Triple &TargetTriple, const ArgList &Args,
> StringRef Path, bool NeedsBiarchSuffix) {
> @@ -2097,12 +2138,6 @@ void
> Generic_GCC::GCCInstallationDetecto
> const llvm::Triple &TargetTriple, const ArgList &Args,
> const std::string &LibDir, StringRef CandidateTriple,
> bool NeedsBiarchSuffix) {
> - if (TargetTriple.getOS() == llvm::Triple::Solaris) {
> - scanLibDirForGCCTripleSolaris(TargetTriple, Args,
> LibDir, CandidateTriple,
> - NeedsBiarchSuffix);
> - return;
> - }
> -
> llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
> // Locations relative to the system lib directory where
> GCC's triple-specific
> // directories might reside.
> @@ -2115,31 +2150,33 @@ void
> Generic_GCC::GCCInstallationDetecto
> // Whether this library suffix is relevant for the
> triple.
> bool Active;
> } Suffixes[] = {
> - // This is the normal place.
> - {"gcc/" + CandidateTriple.str(), "../..", true},
> + // This is the normal place.
> + {"gcc/" + CandidateTriple.str(), "../..", true},
>
> - // Debian puts cross-compilers in gcc-cross.
> - {"gcc-cross/" + CandidateTriple.str(), "../..", true},
> -
> - // The Freescale PPC SDK has the gcc libraries in
> - // <sysroot>/usr/lib/<triple>/x.y.z so have a look
> there as well. Only do
> - // this on Freescale triples, though, since some
> systems put a *lot* of
> - // files in that location, not just GCC installation
> data.
> - {CandidateTriple.str(), "..",
> - TargetTriple.getVendor() == llvm::Triple::Freescale},
> -
> - // Natively multiarch systems sometimes put the GCC
> triple-specific
> - // directory within their multiarch lib directory,
> resulting in the
> - // triple appearing twice.
> - {CandidateTriple.str() + "/gcc/" +
> CandidateTriple.str(), "../../..", true},
> -
> - // Deal with cases (on Ubuntu) where the system
> architecture could be i386
> - // but the GCC target architecture could be (say) i686.
> - // FIXME: It may be worthwhile to generalize this and
> look for a second
> - // triple.
> - {"i386-linux-gnu/gcc/" + CandidateTriple.str(),
> "../../..",
> - TargetArch == llvm::Triple::x86}
> - };
> + // Debian puts cross-compilers in gcc-cross.
> + {"gcc-cross/" + CandidateTriple.str(), "../..",
> + TargetTriple.getOS() != llvm::Triple::Solaris},
> +
> + // The Freescale PPC SDK has the gcc libraries in
> + // <sysroot>/usr/lib/<triple>/x.y.z so have a look
> there as well. Only do
> + // this on Freescale triples, though, since some
> systems put a *lot* of
> + // files in that location, not just GCC
> installation data.
> + {CandidateTriple.str(), "..",
> + TargetTriple.getVendor() == llvm::Triple::Freescale},
> +
> + // Natively multiarch systems sometimes put the GCC
> triple-specific
> + // directory within their multiarch lib directory,
> resulting in the
> + // triple appearing twice.
> + {CandidateTriple.str() + "/gcc/" +
> CandidateTriple.str(), "../../..",
> + TargetTriple.getOS() != llvm::Triple::Solaris},
> +
> + // Deal with cases (on Ubuntu) where the system
> architecture could be i386
> + // but the GCC target architecture could be (say) i686.
> + // FIXME: It may be worthwhile to generalize this
> and look for a second
> + // triple.
> + {"i386-linux-gnu/gcc/" + CandidateTriple.str(),
> "../../..",
> + (TargetArch == llvm::Triple::x86 &&
> + TargetTriple.getOS() != llvm::Triple::Solaris)}};
>
> for (auto &Suffix : Suffixes) {
> if (!Suffix.Active)
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.h?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Gnu.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Gnu.h Tue Jan 23
> 04:23:52 2018
> @@ -250,6 +250,10 @@ public:
> SmallVectorImpl<StringRef> &BiarchLibDirs,
> SmallVectorImpl<StringRef> &BiarchTripleAliases);
>
> + void AddDefaultGCCPrefixes(const llvm::Triple
> &TargetTriple,
> + SmallVectorImpl<std::string> &Prefixes,
> + StringRef SysRoot);
> +
> bool ScanGCCForMultilibs(const llvm::Triple
> &TargetTriple,
> const llvm::opt::ArgList &Args,
> StringRef Path,
> @@ -261,12 +265,6 @@ public:
> StringRef CandidateTriple,
> bool NeedsBiarchSuffix =
> false);
>
> - void scanLibDirForGCCTripleSolaris(const llvm::Triple
> &TargetArch,
> - const
> llvm::opt::ArgList &Args,
> - const std::string
> &LibDir,
> - StringRef CandidateTriple,
> - bool
> NeedsBiarchSuffix = false);
> -
> bool ScanGentooGccConfig(const llvm::Triple
> &TargetTriple,
> const llvm::opt::ArgList &Args,
> StringRef CandidateTriple,
> @@ -307,8 +305,8 @@ protected:
> /// \brief Check whether the target triple's
> architecture is 32-bits.
> bool isTarget32Bit() const { return
> getTriple().isArch32Bit(); }
>
> - // FIXME: This should be final, but the Solaris tool
> chain does weird
> - // things we can't easily represent.
> + // FIXME: This should be final, but the CrossWindows
> toolchain does weird
> + // things that can't be easily generalized.
> void AddClangCXXStdlibIncludeArgs(
> const llvm::opt::ArgList &DriverArgs,
> llvm::opt::ArgStringList &CC1Args) const override;
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Solaris.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Solaris.cpp?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Solaris.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Solaris.cpp Tue Jan 23
> 04:23:52 2018
> @@ -122,6 +122,21 @@ void solaris::Linker::ConstructJob(Compi
> C.addCommand(llvm::make_unique<Command>(JA, *this, Exec,
> CmdArgs, Inputs));
> }
>
> +static StringRef getSolarisLibSuffix(const llvm::Triple
> &Triple) {
> + switch (Triple.getArch()) {
> + case llvm::Triple::x86:
> + case llvm::Triple::sparc:
> + break;
> + case llvm::Triple::x86_64:
> + return "/amd64";
> + case llvm::Triple::sparcv9:
> + return "/sparcv9";
> + default:
> + llvm_unreachable("Unsupported architecture");
> + }
> + return "";
> +}
> +
> /// Solaris - Solaris tool chain which can call as(1) and
> ld(1) directly.
>
> Solaris::Solaris(const Driver &D, const llvm::Triple &Triple,
> @@ -130,32 +145,24 @@ Solaris::Solaris(const Driver &D, const
>
> GCCInstallation.init(Triple, Args);
>
> + StringRef LibSuffix = getSolarisLibSuffix(Triple);
> path_list &Paths = getFilePaths();
> - if (GCCInstallation.isValid())
> - addPathIfExists(D, GCCInstallation.getInstallPath(),
> Paths);
> -
> - addPathIfExists(D, getDriver().getInstalledDir(), Paths);
> - if (getDriver().getInstalledDir() != getDriver().Dir)
> - addPathIfExists(D, getDriver().Dir, Paths);
> -
> - addPathIfExists(D, getDriver().SysRoot +
> getDriver().Dir + "/../lib", Paths);
> -
> - std::string LibPath = "/usr/lib/";
> - switch (Triple.getArch()) {
> - case llvm::Triple::x86:
> - case llvm::Triple::sparc:
> - break;
> - case llvm::Triple::x86_64:
> - LibPath += "amd64/";
> - break;
> - case llvm::Triple::sparcv9:
> - LibPath += "sparcv9/";
> - break;
> - default:
> - llvm_unreachable("Unsupported architecture");
> + if (GCCInstallation.isValid()) {
> + // On Solaris gcc uses both an architecture-specific
> path with triple in it
> + // as well as a more generic lib path (+arch suffix).
> + addPathIfExists(D,
> + GCCInstallation.getInstallPath() +
> + GCCInstallation.getMultilib().gccSuffix(),
> + Paths);
> + addPathIfExists(D, GCCInstallation.getParentLibPath()
> + LibSuffix, Paths);
> }
>
> - addPathIfExists(D, getDriver().SysRoot + LibPath, Paths);
> + // If we are currently running Clang inside of the
> requested system root,
> + // add its parent library path to those searched.
> + if (StringRef(D.Dir).startswith(D.SysRoot))
> + addPathIfExists(D, D.Dir + "/../lib", Paths);
> +
> + addPathIfExists(D, D.SysRoot + "/usr/lib" + LibSuffix,
> Paths);
> }
>
> Tool *Solaris::buildAssembler() const {
> @@ -164,30 +171,72 @@ Tool *Solaris::buildAssembler() const {
>
> Tool *Solaris::buildLinker() const { return new
> tools::solaris::Linker(*this); }
>
> -void Solaris::AddClangCXXStdlibIncludeArgs(const ArgList
> &DriverArgs,
> - ArgStringList &CC1Args) const {
> - if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
> - DriverArgs.hasArg(options::OPT_nostdincxx))
> +void Solaris::AddClangSystemIncludeArgs(const ArgList
> &DriverArgs,
> + ArgStringList &CC1Args) const {
> + const Driver &D = getDriver();
> +
> + if
> (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc))
> return;
>
> - // Include the support directory for things like
> xlocale and fudged system
> - // headers.
> - // FIXME: This is a weird mix of libc++ and libstdc++.
> We should also be
> - // checking the value of -stdlib= here and adding the
> includes for libc++
> - // rather than libstdc++ if it's requested.
> - addSystemInclude(DriverArgs, CC1Args,
> "/usr/include/c++/v1/support/solaris");
> + if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
> + addSystemInclude(DriverArgs, CC1Args, D.SysRoot +
> "/usr/local/include");
>
> + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
> + SmallString<128> P(D.ResourceDir);
> + llvm::sys::path::append(P, "include");
> + addSystemInclude(DriverArgs, CC1Args, P);
> + }
> +
> + if (DriverArgs.hasArg(options::OPT_nostdlibinc))
> + return;
> +
> + // Check for configure-time C include directories.
> + StringRef CIncludeDirs(C_INCLUDE_DIRS);
> + if (CIncludeDirs != "") {
> + SmallVector<StringRef, 5> dirs;
> + CIncludeDirs.split(dirs, ":");
> + for (StringRef dir : dirs) {
> + StringRef Prefix =
> + llvm::sys::path::is_absolute(dir) ?
> StringRef(D.SysRoot) : "";
> + addExternCSystemInclude(DriverArgs, CC1Args, Prefix
> + dir);
> + }
> + return;
> + }
> +
> + // Add include directories specific to the selected
> multilib set and multilib.
> if (GCCInstallation.isValid()) {
> - GCCVersion Version = GCCInstallation.getVersion();
> - addSystemInclude(DriverArgs, CC1Args,
> - getDriver().SysRoot + "/usr/gcc/" +
> - Version.MajorStr + "." +
> - Version.MinorStr +
> - "/include/c++/" + Version.Text);
> - addSystemInclude(DriverArgs, CC1Args,
> - getDriver().SysRoot + "/usr/gcc/" +
> Version.MajorStr +
> - "." + Version.MinorStr +
> "/include/c++/" +
> - Version.Text + "/" +
> - GCCInstallation.getTriple().str());
> + const MultilibSet::IncludeDirsFunc &Callback =
> + Multilibs.includeDirsCallback();
> + if (Callback) {
> + for (const auto &Path :
> Callback(GCCInstallation.getMultilib()))
> + addExternCSystemIncludeIfExists(
> + DriverArgs, CC1Args,
> GCCInstallation.getInstallPath() + Path);
> + }
> }
> +
> + addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot
> + "/usr/include");
> +}
> +
> +void Solaris::addLibStdCxxIncludePaths(
> + const llvm::opt::ArgList &DriverArgs,
> + llvm::opt::ArgStringList &CC1Args) const {
> + // We need a detected GCC installation on Solaris
> (similar to Linux)
> + // to provide libstdc++'s headers.
> + if (!GCCInstallation.isValid())
> + return;
> +
> + // By default, look for the C++ headers in an include
> directory adjacent to
> + // the lib directory of the GCC installation.
> + // On Solaris this usually looks like
> /usr/gcc/X.Y/include/c++/X.Y.Z
> + StringRef LibDir = GCCInstallation.getParentLibPath();
> + StringRef TripleStr = GCCInstallation.getTriple().str();
> + const Multilib &Multilib = GCCInstallation.getMultilib();
> + const GCCVersion &Version = GCCInstallation.getVersion();
> +
> + // The primary search for libstdc++ supports multiarch
> variants.
> + addLibStdCXXIncludePaths(LibDir.str() + "/../include",
> "/c++/" + Version.Text,
> + TripleStr,
> + /*GCCMultiarchTriple*/ "",
> + /*TargetMultiarchTriple*/ "",
> + Multilib.includeSuffix(), DriverArgs, CC1Args);
> }
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Solaris.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Solaris.h?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Solaris.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Solaris.h Tue Jan 23
> 04:23:52 2018
> @@ -57,9 +57,13 @@ public:
>
> bool IsIntegratedAssemblerDefault() const override {
> return true; }
>
> - void AddClangCXXStdlibIncludeArgs(
> - const llvm::opt::ArgList &DriverArgs,
> - llvm::opt::ArgStringList &CC1Args) const override;
> + void
> + AddClangSystemIncludeArgs(const llvm::opt::ArgList
> &DriverArgs,
> + llvm::opt::ArgStringList &CC1Args) const override;
> +
> + void
> + addLibStdCxxIncludePaths(const llvm::opt::ArgList
> &DriverArgs,
> + llvm::opt::ArgStringList &CC1Args) const override;
>
> unsigned GetDefaultDwarfVersion() const override {
> return 2; }
>
>
> Modified: cfe/trunk/lib/Frontend/InitHeaderSearch.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (original)
> +++ cfe/trunk/lib/Frontend/InitHeaderSearch.cpp Tue Jan 23
> 04:23:52 2018
> @@ -255,6 +255,7 @@ void InitHeaderSearch::AddDefaultCInclud
>
> switch (os) {
> case llvm::Triple::Linux:
> + case llvm::Triple::Solaris:
> llvm_unreachable("Include management is handled in
> the driver.");
>
> case llvm::Triple::CloudABI: {
> @@ -396,6 +397,7 @@ AddDefaultCPlusPlusIncludePaths(const ll
>
> switch (os) {
> case llvm::Triple::Linux:
> + case llvm::Triple::Solaris:
> llvm_unreachable("Include management is handled in
> the driver.");
> break;
> case llvm::Triple::Win32:
> @@ -443,6 +445,7 @@ void InitHeaderSearch::AddDefaultInclude
> break; // Everything else continues to use this
> routine's logic.
>
> case llvm::Triple::Linux:
> + case llvm::Triple::Solaris:
> return;
>
> case llvm::Triple::Win32:
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11/bits/gthr.h
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c%2B%2B/4.8.2/sparc-sun-solaris2.11/bits/gthr.h?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c%2B%2B/4.8.2/sparc-sun-solaris2.11/bits/gthr.h&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c++/4.8.2/typeinfo
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c%2B%2B/4.8.2/typeinfo?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/include/c%2B%2B/4.8.2/typeinfo&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crt1.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crt1.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crt1.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtbegin.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtbegin.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtbegin.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtend.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtend.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtend.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/libatomic.a
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/libatomic.a?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/libatomic.a&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/sparcv9/libatomic.a
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/sparcv9/libatomic.a?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/gcc/4.8/lib/sparcv9/libatomic.a&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crti.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crti.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crti.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crtn.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crtn.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/crtn.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crti.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crti.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crti.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crtn.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crtn.o?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/crtn.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1?p2=cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/i386-pc-solaris2.11/bits/gthr.h
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c%2B%2B/4.9.4/i386-pc-solaris2.11/bits/gthr.h?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c%2B%2B/4.9.4/i386-pc-solaris2.11/bits/gthr.h&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c++/4.9.4/typeinfo
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c%2B%2B/4.9.4/typeinfo?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/include/c%2B%2B/4.9.4/typeinfo&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/amd64/libatomic.a
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/amd64/libatomic.a?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/amd64/libatomic.a&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtbegin.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtbegin.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtbegin.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtend.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtend.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtend.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtbegin.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtbegin.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtbegin.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtend.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtend.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtend.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/libatomic.a
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/libatomic.a?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/gcc/4.9/lib/libatomic.a&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crt1.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crt1.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crt1.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crti.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crti.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crti.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crtn.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crtn.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/crtn.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crt1.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crt1.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crt1.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crti.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crti.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crti.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crtn.o
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crtn.o?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/crtn.o&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Copied:
> cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1
> (from r323188,
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1)
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1?p2=cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1&p1=cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1&r1=323188&r2=323193&rev=323193&view=diff
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crti.o?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/crtn.o?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Removed:
> cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/sparc-sun-solaris2.11/usr/lib/ld.so.1?rev=323192&view=auto
> ==============================================================================
> (empty)
>
> Modified: cfe/trunk/test/Driver/solaris-header-search.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/solaris-header-search.cpp?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/solaris-header-search.cpp (original)
> +++ cfe/trunk/test/Driver/solaris-header-search.cpp Tue
> Jan 23 04:23:52 2018
> @@ -1,11 +1,41 @@
> -// Test that the C++ headers are found.
> +// Test that the C++ headers are found on Solaris with
> gcc toolchain detection
> //
> -// RUN: %clang -no-canonical-prefixes %s -### 2>&1 \
> +// Sparc, 32bit
> +// RUN: %clang -no-canonical-prefixes %s -###
> -fsyntax-only 2>&1 \
> // RUN: --target=sparc-sun-solaris2.11 \
> -// RUN: --gcc-toolchain="" \
> -// RUN: --sysroot=%S/Inputs/sparc-sun-solaris2.11 \
> -// RUN: | FileCheck %s
> -// CHECK: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
> -// CHECK: "-internal-isystem"
> "{{.*}}/usr/include/c++/v1/support/solaris"
> -// CHECK: "-internal-isystem"
> "{{.*}}/usr/gcc/4.8/include/c++/4.8.2"
> -// CHECK: "-internal-isystem"
> "{{.*}}/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11"
> +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \
> +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_SPARC %s
> +// CHECK_SOLARIS_SPARC: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
> +// CHECK_SOLARIS_SPARC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK_SOLARIS_SPARC-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2"
> +// CHECK_SOLARIS_SPARC-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2/sparc-sun-solaris2.11"
> +
> +// Sparc, 64bit
> +// RUN: %clang -no-canonical-prefixes -m64 %s -###
> -fsyntax-only 2>&1 \
> +// RUN: --target=sparc-sun-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \
> +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_SPARC64 %s
> +// CHECK_SOLARIS_SPARC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
> +// CHECK_SOLARIS_SPARC64-SAME: "-isysroot"
> "[[SYSROOT:[^"]+]]"
> +// CHECK_SOLARIS_SPARC64-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2"
> +// CHECK_SOLARIS_SPARC64-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2/sparc-sun-solaris2.11/sparcv9"
> +
> +// Intel, 32bit
> +// RUN: %clang -no-canonical-prefixes %s -###
> -fsyntax-only 2>&1 \
> +// RUN: --target=i386-pc-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \
> +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_X86 %s
> +// CHECK_SOLARIS_X86: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
> +// CHECK_SOLARIS_X86-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK_SOLARIS_X86-SAME: "-internal-isystem"
> "{{.*}}/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4"
> +// CHECK_SOLARIS_X86-SAME: "-internal-isystem"
> "{{.*}}/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4/i386-pc-solaris2.11"
> +
> +// Intel, 64bit
> +// RUN: %clang -no-canonical-prefixes -m64 %s -###
> -fsyntax-only 2>&1 \
> +// RUN: --target=i386-pc-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \
> +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_X64 %s
> +// CHECK_SOLARIS_X64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
> +// CHECK_SOLARIS_X64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK_SOLARIS_X64-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4"
> +// CHECK_SOLARIS_X64-SAME: "-internal-isystem"
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4/i386-pc-solaris2.11/amd64"
>
> Modified: cfe/trunk/test/Driver/solaris-ld.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/solaris-ld.c?rev=323193&r1=323192&r2=323193&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/solaris-ld.c (original)
> +++ cfe/trunk/test/Driver/solaris-ld.c Tue Jan 23 04:23:52
> 2018
> @@ -1,33 +1,105 @@
> -// Test ld invocation on Solaris targets.
> +// General tests that ld invocations on Solaris targets
> sane. Note that we use
> +// sysroot to make these tests independent of the host
> system.
>
> -// Check sparc-sun-solaris2.1
> +// Check sparc-sun-solaris2.11, 32bit
> // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
> // RUN: --target=sparc-sun-solaris2.11 \
> -// RUN: --gcc-toolchain="" \
> -// RUN: --sysroot=%S/Inputs/sparc-sun-solaris2.11 \
> -// RUN: | FileCheck %s
> -// CHECK: "-cc1" "-triple" "sparc-sun-solaris2.11"
> -// CHECK: ld{{.*}}"
> -// CHECK: "--dynamic-linker" "{{.*}}/usr/lib/ld.so.1"
> -// CHECK:
> "{{.*}}/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2{{/|\\\\}}crt1.o"
> -// CHECK: "{{.*}}/usr/lib/crti.o"
> -// CHECK:
> "{{.*}}/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2{{/|\\\\}}crtbegin.o"
> -// CHECK:
> "{{.*}}/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2{{/|\\\\}}crtend.o"
> -// CHECK: "{{.*}}/usr/lib/crtn.o"
> -// CHECK "-lc"
> -// CHECK "-lgcc_s"
> -// CHECK "-lgcc"
> -// CHECK "-lm"
> +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \
> +// RUN: | FileCheck --check-prefix=CHECK-LD-SPARC32 %s
> +// CHECK-LD-SPARC32-NOT: warning:
> +// CHECK-LD-SPARC32: {{.*/clang}}" "-cc1" "-triple"
> "sparc-sun-solaris2.11"
> +// CHECK-LD-SPARC32-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK-LD-SPARC32: {{.*/ld}}"
> +// CHECK-LD-SPARC32-SAME: "--dynamic-linker"
> "[[SYSROOT]]/usr/lib/ld.so.1"
> +// CHECK-LD-SPARC32-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crt1.o"
> +// CHECK-LD-SPARC32-SAME: "[[SYSROOT]]/usr/lib/crti.o"
> +// CHECK-LD-SPARC32-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtbegin.o"
> +// CHECK-LD-SPARC32-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2"
> +// CHECK-LD-SPARC32-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../.."
> +// CHECK-LD-SPARC32-SAME: "-L[[SYSROOT]]/usr/lib"
> +// CHECK-LD-SPARC32-SAME: "-lgcc_s"
> +// CHECK-LD-SPARC32-SAME: "-lc"
> +// CHECK-LD-SPARC32-SAME: "-lgcc"
> +// CHECK-LD-SPARC32-SAME: "-lm"
> +// CHECK-LD-SPARC32-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/crtend.o"
> +// CHECK-LD-SPARC32-SAME: "[[SYSROOT]]/usr/lib/crtn.o"
> +
> +// Check sparc-sun-solaris2.11, 64bit
> +// RUN: %clang -no-canonical-prefixes -m64 %s -### -o
> %t.o 2>&1 \
> +// RUN: --target=sparc-sun-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \
> +// RUN: | FileCheck --check-prefix=CHECK-LD-SPARC64 %s
> +// CHECK-LD-SPARC64-NOT: warning:
> +// CHECK-LD-SPARC64: {{.*/clang}}" "-cc1" "-triple"
> "sparcv9-sun-solaris2.11"
> +// CHECK-LD-SPARC64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK-LD-SPARC64: {{.*/ld}}"
> +// CHECK-LD-SPARC64-SAME: "--dynamic-linker"
> "[[SYSROOT]]/usr/lib/sparcv9/ld.so.1"
> +// CHECK-LD-SPARC64-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crt1.o"
> +// CHECK-LD-SPARC64-SAME:
> "[[SYSROOT]]/usr/lib/sparcv9/crti.o"
> +// CHECK-LD-SPARC64-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtbegin.o"
> +// CHECK-LD-SPARC64-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9"
> +// CHECK-LD-SPARC64-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../sparcv9"
> +// CHECK-LD-SPARC64-SAME: "-L[[SYSROOT]]/usr/lib/sparcv9"
> +// CHECK-LD-SPARC64-SAME: "-lgcc_s"
> +// CHECK-LD-SPARC64-SAME: "-lc"
> +// CHECK-LD-SPARC64-SAME: "-lgcc"
> +// CHECK-LD-SPARC64-SAME: "-lm"
> +// CHECK-LD-SPARC64-SAME:
> "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/sparcv9/crtend.o"
> +// CHECK-LD-SPARC64-SAME:
> "[[SYSROOT]]/usr/lib/sparcv9/crtn.o"
> +
> +// Check i386-pc-solaris2.11, 32bit
> +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
> +// RUN: --target=i386-pc-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \
> +// RUN: | FileCheck --check-prefix=CHECK-LD-X32 %s
> +// CHECK-LD-X32-NOT: warning:
> +// CHECK-LD-X32: {{.*/clang}}" "-cc1" "-triple"
> "i386-pc-solaris2.11"
> +// CHECK-LD-X32-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK-LD-X32: {{.*/ld}}"
> +// CHECK-LD-X32-SAME: "--dynamic-linker"
> "[[SYSROOT]]/usr/lib/ld.so.1"
> +// CHECK-LD-X32-SAME: "[[SYSROOT]]/usr/lib/crt1.o"
> +// CHECK-LD-X32-SAME: "[[SYSROOT]]/usr/lib/crti.o"
> +// CHECK-LD-X32-SAME:
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtbegin.o"
> +// CHECK-LD-X32-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4"
> +// CHECK-LD-X32-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../.."
> +// CHECK-LD-X32-SAME: "-L[[SYSROOT]]/usr/lib"
> +// CHECK-LD-X32-SAME: "-lgcc_s"
> +// CHECK-LD-X32-SAME: "-lc"
> +// CHECK-LD-X32-SAME: "-lgcc"
> +// CHECK-LD-X32-SAME: "-lm"
> +// CHECK-LD-X32-SAME:
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/crtend.o"
> +// CHECK-LD-X32-SAME: "[[SYSROOT]]/usr/lib/crtn.o"
> +
> +// Check i386-pc-solaris2.11, 64bit
> +// RUN: %clang -no-canonical-prefixes -m64 %s -### -o
> %t.o 2>&1 \
> +// RUN: --target=i386-pc-solaris2.11 \
> +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \
> +// RUN: | FileCheck --check-prefix=CHECK-LD-X64 %s
> +// CHECK-LD-X64-NOT: warning:
> +// CHECK-LD-X64: {{.*/clang}}" "-cc1" "-triple"
> "x86_64-pc-solaris2.11"
> +// CHECK-LD-X64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
> +// CHECK-LD-X64: {{.*/ld}}"
> +// CHECK-LD-X64-SAME: "--dynamic-linker"
> "[[SYSROOT]]/usr/lib/amd64/ld.so.1"
> +// CHECK-LD-X64-SAME: "[[SYSROOT]]/usr/lib/amd64/crt1.o"
> +// CHECK-LD-X64-SAME: "[[SYSROOT]]/usr/lib/amd64/crti.o"
> +// CHECK-LD-X64-SAME:
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtbegin.o"
> +// CHECK-LD-X64-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64"
> +// CHECK-LD-X64-SAME:
> "-L[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../amd64"
> +// CHECK-LD-X64-SAME: "-L[[SYSROOT]]/usr/lib/amd64"
> +// CHECK-LD-X64-SAME: "-lgcc_s"
> +// CHECK-LD-X64-SAME: "-lc"
> +// CHECK-LD-X64-SAME: "-lgcc"
> +// CHECK-LD-X64-SAME: "-lm"
> +// CHECK-LD-X64-SAME:
> "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/amd64/crtend.o"
> +// CHECK-LD-X64-SAME: "[[SYSROOT]]/usr/lib/amd64/crtn.o"
>
> // Check the right -l flags are present with -shared
> // RUN: %clang -no-canonical-prefixes %s -### -o %t.o
> -shared 2>&1 \
> // RUN: --target=sparc-sun-solaris2.11 \
> -// RUN: --gcc-toolchain="" \
> -// RUN: --sysroot=%S/Inputs/sparc-sun-solaris2.11 \
> -// RUN: | FileCheck --check-prefix=CHECK-SHARED %s
> -
> -// CHECK-SHARED: ld{{.*}}"
> -// CHECK-SHARED "-lc"
> -// CHECK-SHARED "-lgcc_s"
> -// CHECK-SHARED-NOT "-lgcc"
> -// CHECK-SHARED-NOT: "-lm"
> +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \
> +// RUN: | FileCheck --check-prefix=CHECK-SPARC32-SHARED %s
> +// CHECK-SPARC32-SHARED: {{.*/ld}}"
> +// CHECK-SPARC32-SHARED-SAME: "-lgcc_s"
> +// CHECK-SPARC32-SHARED-SAME: "-lc"
> +// CHECK-SPARC32-SHARED-NOT: "-lgcc"
> +// CHECK-SPARC32-SHARED-NOT: "-lm"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180124/aac37f51/attachment-0001.html>
More information about the cfe-commits
mailing list