r310960 - Revert "Revert "Fix LLVMgold plugin name/path for non-Linux.""
Yung, Douglas via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 15 16:57:00 PDT 2017
Hi Dan,
I don't know if you are aware, but the tests you added/changed in this commit are causing failures on the PS4 Windows bot. The root cause seems to be that you are looking for a forward slash, but Windows generates double backslashes, so the match fails:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/11545/steps/test/logs/stdio:
$ "C:/ps4-buildslave2/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/llvm.obj/./bin/clang.EXE" "-target" "x86_64-unknown-linux" "-###" "C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\Driver\lto-plugin-windows.c" "-flto"
$ "C:/ps4-buildslave2/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/llvm.obj/./bin\FileCheck.EXE" "-check-prefix=CHECK-LTO-PLUGIN" "C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\Driver\lto-plugin-windows.c"
# command stderr:
C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\Driver\lto-plugin-windows.c:6:22: error: expected string not found in input
// CHECK-LTO-PLUGIN: "-plugin" "{{.*}}/LLVMgold.dll"
^
<stdin>:1:1: note: scanning from here
clang version 6.0.0 (trunk 310972)
^
<stdin>:6:230: note: possible intended match here
"ld" "--eh-frame-hdr" "-m" "elf_x86_64" "-dynamic-linker" "/lib64/ld-linux-x86-64.so.2" "-o" "a.out" "crt1.o" "crti.o" "crtbegin.o" "-LC:\\ps4-buildslave2\\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\\llvm.obj\\bin/../lib" "-plugin" "C:\\ps4-buildslave2\\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\\llvm.obj\\bin\\..\\lib\\LLVMgold.dll" "-plugin-opt=mcpu=x86-64" "c:\\users\\buildbot\\appdata\\local\\temp\\lit_tmp_wsgjna\\lto-plugin-windows-5f76f0.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "crtend.o" "crtn.o"
The affected tests are:
Driver/gold-lto.c
Driver/lto-plugin-windows.c
Driver/lto.c
Driver/thinlto.c
Can you fix these tests?
Thanks!
> -----Original Message-----
> From: cfe-commits [mailto:cfe-commits-bounces at lists.llvm.org] On Behalf Of Dan
> Albert via cfe-commits
> Sent: Tuesday, August 15, 2017 14:31
> To: cfe-commits at lists.llvm.org
> Subject: r310960 - Revert "Revert "Fix LLVMgold plugin name/path for non-
> Linux.""
>
> Author: danalbert
> Date: Tue Aug 15 14:31:17 2017
> New Revision: 310960
>
> URL: http://llvm.org/viewvc/llvm-project?rev=310960&view=rev
> Log:
> Revert "Revert "Fix LLVMgold plugin name/path for non-Linux.""
>
> Summary:
> Relanding https://reviews.llvm.org/D35739 which was reverted because it broke
> the tests on non-Linux. The tests have been fixed to be platform agnostic, and
> additional tests have been added to make sure that the plugin has the correct
> extension on each platform (%pluginext doesn't work in CHECK lines).
>
> Reviewers: srhines, pirama
>
> Reviewed By: srhines
>
> Subscribers: emaste, mehdi_amini, eraman, cfe-commits
>
> Differential Revision: https://reviews.llvm.org/D36769
>
> Added:
> cfe/trunk/test/Driver/lto-plugin-darwin.c
> cfe/trunk/test/Driver/lto-plugin-linux.c
> cfe/trunk/test/Driver/lto-plugin-windows.c
> Modified:
> cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp
> cfe/trunk/test/Driver/freebsd.c
> cfe/trunk/test/Driver/gold-lto.c
> cfe/trunk/test/Driver/lto.c
> cfe/trunk/test/Driver/thinlto.c
>
> Modified: cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp?rev=310960&r1=310959&r2
> =310960&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp Tue Aug 15 14:31:17
> +++ 2017
> @@ -376,8 +376,20 @@ void tools::AddGoldPlugin(const ToolChai
> // as gold requires -plugin to come before any -plugin-opt that -Wl might
> // forward.
> CmdArgs.push_back("-plugin");
> - std::string Plugin =
> - ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX
> "/LLVMgold.so";
> +
> +#if defined(LLVM_ON_WIN32)
> + const char *Suffix = ".dll";
> +#elif defined(__APPLE__)
> + const char *Suffix = ".dylib";
> +#else
> + const char *Suffix = ".so";
> +#endif
> +
> + SmallString<1024> Plugin;
> + llvm::sys::path::native(Twine(ToolChain.getDriver().Dir) +
> + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold" +
> + Suffix,
> + Plugin);
> CmdArgs.push_back(Args.MakeArgString(Plugin));
>
> // Try to pass driver level flags relevant to LTO code generation down to
>
> Modified: cfe/trunk/test/Driver/freebsd.c
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/test/Driver/freebsd.c?rev=310960&r1=310959&r2=310960&view=di
> ff
> ==============================================================================
> --- cfe/trunk/test/Driver/freebsd.c (original)
> +++ cfe/trunk/test/Driver/freebsd.c Tue Aug 15 14:31:17 2017
> @@ -127,7 +127,7 @@
>
> // RUN: %clang -target x86_64-pc-freebsd8 %s -### -flto 2>&1 \
> // RUN: | FileCheck --check-prefix=CHECK-LTO %s
> -// CHECK-LTO: ld{{.*}}" "-plugin{{.*}}LLVMgold.so
> +// CHECK-LTO: ld{{.*}}" "-plugin{{.*}}LLVMgold.{{dll|dylib|so}}
>
> // RUN: %clang -target sparc-unknown-freebsd8 %s -### -fpic -no-integrated-as
> 2>&1 \
> // RUN: | FileCheck --check-prefix=CHECK-SPARC-PIE %s
>
> Modified: cfe/trunk/test/Driver/gold-lto.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/gold-
> lto.c?rev=310960&r1=310959&r2=310960&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/gold-lto.c (original)
> +++ cfe/trunk/test/Driver/gold-lto.c Tue Aug 15 14:31:17 2017
> @@ -3,14 +3,14 @@
> // RUN: %clang -target x86_64-unknown-linux -### %t.o -flto 2>&1 \
> // RUN: -Wl,-plugin-opt=foo -O3 \
> // RUN: | FileCheck %s --check-prefix=CHECK-X86-64-BASIC
> -// CHECK-X86-64-BASIC: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-X86-64-BASIC: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-X86-64-BASIC: "-plugin-opt=O3"
> // CHECK-X86-64-BASIC: "-plugin-opt=foo"
> //
> // RUN: %clang -target x86_64-unknown-linux -### %t.o -flto 2>&1 \
> // RUN: -march=corei7 -Wl,-plugin-opt=foo -Ofast \
> // RUN: | FileCheck %s --check-prefix=CHECK-X86-64-COREI7
> -// CHECK-X86-64-COREI7: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-X86-64-COREI7: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-X86-64-COREI7: "-plugin-opt=mcpu=corei7"
> // CHECK-X86-64-COREI7: "-plugin-opt=O3"
> // CHECK-X86-64-COREI7: "-plugin-opt=foo"
> @@ -18,11 +18,11 @@
> // RUN: %clang -target arm-unknown-linux -### %t.o -flto 2>&1 \
> // RUN: -march=armv7a -Wl,-plugin-opt=foo -O0 \
> // RUN: | FileCheck %s --check-prefix=CHECK-ARM-V7A
> -// CHECK-ARM-V7A: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-ARM-V7A: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-ARM-V7A: "-plugin-opt=mcpu=generic"
> // CHECK-ARM-V7A: "-plugin-opt=O0"
> // CHECK-ARM-V7A: "-plugin-opt=foo"
> //
> // RUN: %clang -target i686-linux-android -### %t.o -flto 2>&1 \
> // RUN: | FileCheck %s --check-prefix=CHECK-X86-ANDROID
> -// CHECK-X86-ANDROID: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-X86-ANDROID: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
>
> Added: cfe/trunk/test/Driver/lto-plugin-darwin.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/lto-plugin-
> darwin.c?rev=310960&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/lto-plugin-darwin.c (added)
> +++ cfe/trunk/test/Driver/lto-plugin-darwin.c Tue Aug 15 14:31:17 2017
> @@ -0,0 +1,6 @@
> +// Check that Darwin uses LLVMgold.dylib.
> +// REQUIRES: system-darwin
> +// RUN: %clang -### %s -flto 2>&1 \
> +// RUN: | FileCheck -check-prefix=CHECK-LTO-PLUGIN %s
> +//
> +// CHECK-LTO-PLUGIN: "-plugin" "{{.*}}/LLVMgold.dylib"
>
> Added: cfe/trunk/test/Driver/lto-plugin-linux.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/lto-plugin-
> linux.c?rev=310960&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/lto-plugin-linux.c (added)
> +++ cfe/trunk/test/Driver/lto-plugin-linux.c Tue Aug 15 14:31:17 2017
> @@ -0,0 +1,6 @@
> +// Check that non-Windows, non-Darwin OSs use LLVMgold.so.
> +// REQUIRES: !system-darwin && !system-windows // RUN: %clang -### %s
> +-flto 2>&1 \
> +// RUN: | FileCheck -check-prefix=CHECK-LTO-PLUGIN %s
> +//
> +// CHECK-LTO-PLUGIN: "-plugin" "{{.*}}/LLVMgold.so"
>
> Added: cfe/trunk/test/Driver/lto-plugin-windows.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/lto-plugin-
> windows.c?rev=310960&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/lto-plugin-windows.c (added)
> +++ cfe/trunk/test/Driver/lto-plugin-windows.c Tue Aug 15 14:31:17 2017
> @@ -0,0 +1,6 @@
> +// Check that Windows uses LLVMgold.dll.
> +// REQUIRES: system-windows
> +// RUN: %clang -### %s -flto 2>&1 \
> +// RUN: | FileCheck -check-prefix=CHECK-LTO-PLUGIN %s
> +//
> +// CHECK-LTO-PLUGIN: "-plugin" "{{.*}}/LLVMgold.dll"
>
> Modified: cfe/trunk/test/Driver/lto.c
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/test/Driver/lto.c?rev=310960&r1=310959&r2=310960&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/lto.c (original)
> +++ cfe/trunk/test/Driver/lto.c Tue Aug 15 14:31:17 2017
> @@ -36,19 +36,19 @@
> // RUN: %clang -target x86_64-unknown-linux -### %s -flto 2> %t // RUN:
> FileCheck -check-prefix=CHECK-LINK-LTO-ACTION < %t %s // -// CHECK-LINK-LTO-
> ACTION: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-LTO-ACTION: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
>
> // -flto=full should cause link using gold plugin // RUN: %clang -target
> x86_64-unknown-linux -### %s -flto=full 2> %t // RUN: FileCheck -check-
> prefix=CHECK-LINK-FULL-ACTION < %t %s // -// CHECK-LINK-FULL-ACTION: "-
> plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-FULL-ACTION: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
>
> // Check that subsequent -fno-lto takes precedence // RUN: %clang -target
> x86_64-unknown-linux -### %s -flto=full -fno-lto 2> %t // RUN: FileCheck -
> check-prefix=CHECK-LINK-NOLTO-ACTION < %t %s // -// CHECK-LINK-NOLTO-ACTION-
> NOT: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-NOLTO-ACTION-NOT: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
>
> // -flto passes along an explicit debugger tuning argument.
> // RUN: %clang -target x86_64-unknown-linux -### %s -flto -glldb 2> %t
>
> Modified: cfe/trunk/test/Driver/thinlto.c
> URL: http://llvm.org/viewvc/llvm-
> project/cfe/trunk/test/Driver/thinlto.c?rev=310960&r1=310959&r2=310960&view=di
> ff
> ==============================================================================
> --- cfe/trunk/test/Driver/thinlto.c (original)
> +++ cfe/trunk/test/Driver/thinlto.c Tue Aug 15 14:31:17 2017
> @@ -19,19 +19,19 @@
> // RUN: %clang -target x86_64-unknown-linux -### %s -flto=full -fno-lto -
> flto=thin 2> %t // RUN: FileCheck -check-prefix=CHECK-LINK-THIN-ACTION < %t
> %s // -// CHECK-LINK-THIN-ACTION: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-THIN-ACTION: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-LINK-THIN-ACTION: "-plugin-opt=thinlto"
>
> // Check that subsequent -flto=full takes precedence // RUN: %clang -target
> x86_64-unknown-linux -### %s -flto=thin -flto=full 2> %t // RUN: FileCheck -
> check-prefix=CHECK-LINK-FULL-ACTION < %t %s // -// CHECK-LINK-FULL-ACTION: "-
> plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-FULL-ACTION: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-LINK-FULL-ACTION-NOT: "-plugin-opt=thinlto"
>
> // Check that subsequent -fno-lto takes precedence // RUN: %clang -target
> x86_64-unknown-linux -### %s -flto=thin -fno-lto 2> %t // RUN: FileCheck -
> check-prefix=CHECK-LINK-NOLTO-ACTION < %t %s // -// CHECK-LINK-NOLTO-ACTION-
> NOT: "-plugin" "{{.*}}/LLVMgold.so"
> +// CHECK-LINK-NOLTO-ACTION-NOT: "-plugin" "{{.*}}/LLVMgold.{{dll|dylib|so}}"
> // CHECK-LINK-NOLTO-ACTION-NOT: "-plugin-opt=thinlto"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list