Re: r322769 - [RISCV] Propagate -mabi and -march values to GNU assembler.

2018-01-18 Thread Alex Bradbury via cfe-commits
On 18 January 2018 at 00:38, Rafael Avila de Espindola via cfe-commits
 wrote:
> With this I am getting a test failure on linux:
>
>  TEST 'Clang :: Driver/riscv-gnutools.c' FAILED 
> 
> Script:
> --
> /home/admin/llvm/build/bin/clang -target riscv32-linux-unknown-elf 
> -fno-integrated-as  
> --gcc-toolchain=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk
>   
> --sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot
>  /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c -###  2>&1 
> | /home/admin/llvm/build/bin/FileCheck -check-prefix=MABI-ILP32 
> /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c
> /home/admin/llvm/build/bin/clang -target riscv32-linux-unknown-elf 
> -fno-integrated-as  -march=rv32g 
> --gcc-toolchain=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk
>   
> --sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot
>  /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c -###  2>&1 
> | /home/admin/llvm/build/bin/FileCheck -check-prefix=MABI-ILP32-MARCH-G 
> /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c
> --
> Exit Code: 1
>
> Command Output (stderr):
> --
> /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c:12:16: 
> error: expected string not found in input
> // MABI-ILP32: 
> "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
>  "-mabi" "ilp32"
>^
> :1:1: note: scanning from here
> clang version 7.0.0
> ^
> :7:42: note: possible intended match here
>  
> "/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin/ld"
>  
> "--sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot"
>  "--hash-style=both" "--eh-frame-hdr" "-m" "elf32lriscv" "-dynamic-linker" 
> "/lib/ld-linux-riscv32-ilp32.so.1" "-o" "a.out" "crt1.o" "crti.o" 
> "/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32/crtbegin.o"
>  
> "-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32"
>  
> "-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib/../lib32"
>  
> "-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32"
>  
> "-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32"
>  
> "-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib"
>  "/tmp/lit_tmp_9u9TOy/riscv-gnutools-ebce8c.o" "-lgcc" "--as-needed" 
> "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" 
> "--no-as-needed" "crtend.o" "crtn.o"
>  ^

Thanks for pasting the failure Rafael. I'm surprised that neither
/bin/as or Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
show up here at all. It does seem that the dummy `as` was added
without the svn:executable property. Ana: I believe you need to do
`svn propset svn:executable on $file` in order to have the executable
bit preserved. That seems a likely culprit, but as I say I would have
expected to see /usr/bin/as in the above.

Best,

Alex
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r322769 - [RISCV] Propagate -mabi and -march values to GNU assembler.

2018-01-17 Thread Rafael Avila de Espindola via cfe-commits
With this I am getting a test failure on linux:

 TEST 'Clang :: Driver/riscv-gnutools.c' FAILED 

Script:
--
/home/admin/llvm/build/bin/clang -target riscv32-linux-unknown-elf 
-fno-integrated-as  
--gcc-toolchain=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk
  
--sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot
 /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c -###  2>&1 | 
/home/admin/llvm/build/bin/FileCheck -check-prefix=MABI-ILP32 
/home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c
/home/admin/llvm/build/bin/clang -target riscv32-linux-unknown-elf 
-fno-integrated-as  -march=rv32g 
--gcc-toolchain=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk
  
--sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot
 /home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c -###  2>&1 | 
/home/admin/llvm/build/bin/FileCheck -check-prefix=MABI-ILP32-MARCH-G 
/home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c
--
Exit Code: 1

Command Output (stderr):
--
/home/admin/llvm/llvm-project/clang/test/Driver/riscv-gnutools.c:12:16: error: 
expected string not found in input
// MABI-ILP32: 
"{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
 "-mabi" "ilp32"
   ^
:1:1: note: scanning from here
clang version 7.0.0
^
:7:42: note: possible intended match here
 
"/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin/ld"
 
"--sysroot=/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot"
 "--hash-style=both" "--eh-frame-hdr" "-m" "elf32lriscv" "-dynamic-linker" 
"/lib/ld-linux-riscv32-ilp32.so.1" "-o" "a.out" "crt1.o" "crti.o" 
"/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32/crtbegin.o"
 
"-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32"
 
"-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib/../lib32"
 
"-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32"
 
"-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32"
 
"-L/home/admin/llvm/llvm-project/clang/test/Driver/Inputs/multilib_riscv_linux_sdk/sysroot/lib"
 "/tmp/lit_tmp_9u9TOy/riscv-gnutools-ebce8c.o" "-lgcc" "--as-needed" "-lgcc_s" 
"--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 
"crtend.o" "crtn.o"
 ^

--

Cheers,
Rafael




Ana Pazos via cfe-commits  writes:

> Author: apazos
> Date: Wed Jan 17 14:09:58 2018
> New Revision: 322769
>
> URL: http://llvm.org/viewvc/llvm-project?rev=322769&view=rev
> Log:
> [RISCV] Propagate -mabi and -march values to GNU assembler.
>
> When using -fno-integrated-as flag, the gnu assembler produces code
> with some default march/mabi which later causes linker failure due
> to incompatible mabi/march.
>
> In this patch we explicitly propagate -mabi and -march flags to the
> GNU assembler.
>
> In this patch we explicitly propagate -mabi and -march flags to the GNU 
> assembler.
>
> Differential Revision: https://reviews.llvm.org/D41271
>
> Added:
> 
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
> cfe/trunk/test/Driver/riscv-gnutools.c
> Modified:
> cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.cpp?rev=322769&r1=322768&r2=322769&view=diff
> ==
> --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp Wed Jan 17 14:09:58 2018
> @@ -629,6 +629,18 @@ void tools::gnutools::Assembler::Constru
>ppc::getPPCAsmModeForCPU(getCPUName(Args, 
> getToolChain().getTriple(;
>  break;
>}
> +  case llvm::Triple::riscv32:
> +  case llvm::Triple::riscv64: {
> +StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
> +CmdArgs.push_back("-mabi");
> +CmdArgs.push_back(ABIName.data());
> +if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) {
> +  StringRef MArch = A->getValue();
> +  CmdArgs.push_back("-march");
> +  CmdArgs.push_back(MArch.data());
> +}
> +break;
> +  }
>case llvm::Triple::sparc:
>case llvm::Triple::sparcel: {
>  CmdArgs.push_back("-32");
>
> Added: 
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64

Re: r322769 - [RISCV] Propagate -mabi and -march values to GNU assembler.

2018-01-17 Thread Mikhail Zolotukhin via cfe-commits
Hi,

Looks like the test is failing on MacOS [1]. Could you please take a look?

Thanks,
Michael

[1] 
http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/45726/consoleFull#9955924438254eaf0-7326-4999-85b0-388101f2d404
 



> On Jan 17, 2018, at 2:09 PM, Ana Pazos via cfe-commits 
>  wrote:
> 
> Author: apazos
> Date: Wed Jan 17 14:09:58 2018
> New Revision: 322769
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=322769&view=rev
> Log:
> [RISCV] Propagate -mabi and -march values to GNU assembler.
> 
> When using -fno-integrated-as flag, the gnu assembler produces code
> with some default march/mabi which later causes linker failure due
> to incompatible mabi/march.
> 
> In this patch we explicitly propagate -mabi and -march flags to the
> GNU assembler.
> 
> In this patch we explicitly propagate -mabi and -march flags to the GNU 
> assembler.
> 
> Differential Revision: https://reviews.llvm.org/D41271
> 
> Added:
>
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
>cfe/trunk/test/Driver/riscv-gnutools.c
> Modified:
>cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> 
> Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.cpp?rev=322769&r1=322768&r2=322769&view=diff
> ==
> --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp Wed Jan 17 14:09:58 2018
> @@ -629,6 +629,18 @@ void tools::gnutools::Assembler::Constru
>   ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple(;
> break;
>   }
> +  case llvm::Triple::riscv32:
> +  case llvm::Triple::riscv64: {
> +StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
> +CmdArgs.push_back("-mabi");
> +CmdArgs.push_back(ABIName.data());
> +if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) {
> +  StringRef MArch = A->getValue();
> +  CmdArgs.push_back("-march");
> +  CmdArgs.push_back(MArch.data());
> +}
> +break;
> +  }
>   case llvm::Triple::sparc:
>   case llvm::Triple::sparcel: {
> CmdArgs.push_back("-32");
> 
> Added: 
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as?rev=322769&view=auto
> ==
> --- 
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
>  (added)
> +++ 
> cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
>  Wed Jan 17 14:09:58 2018
> @@ -0,0 +1 @@
> +#!/bin/true
> 
> Added: cfe/trunk/test/Driver/riscv-gnutools.c
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/riscv-gnutools.c?rev=322769&view=auto
> ==
> --- cfe/trunk/test/Driver/riscv-gnutools.c (added)
> +++ cfe/trunk/test/Driver/riscv-gnutools.c Wed Jan 17 14:09:58 2018
> @@ -0,0 +1,14 @@
> +// Check gnutools are invoked with propagated values for -mabi and -march.
> +
> +// RUN: %clang -target riscv32-linux-unknown-elf -fno-integrated-as \
> +// RUN: --gcc-toolchain=%S/Inputs/multilib_riscv_linux_sdk \
> +// RUN: --sysroot=%S/Inputs/multilib_riscv_linux_sdk/sysroot %s -### \
> +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32 %s
> +// RUN: %clang -target riscv32-linux-unknown-elf -fno-integrated-as \
> +// RUN: -march=rv32g --gcc-toolchain=%S/Inputs/multilib_riscv_linux_sdk \
> +// RUN: --sysroot=%S/Inputs/multilib_riscv_linux_sdk/sysroot %s -### \
> +// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32-MARCH-G %s
> +
> +// MABI-ILP32: 
> "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
>  "-mabi" "ilp32"
> +// MABI-ILP32-MARCH-G: 
> "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
>  "-mabi" "ilp32" "-march" "rv32g"
> +
> 
> 
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


r322769 - [RISCV] Propagate -mabi and -march values to GNU assembler.

2018-01-17 Thread Ana Pazos via cfe-commits
Author: apazos
Date: Wed Jan 17 14:09:58 2018
New Revision: 322769

URL: http://llvm.org/viewvc/llvm-project?rev=322769&view=rev
Log:
[RISCV] Propagate -mabi and -march values to GNU assembler.

When using -fno-integrated-as flag, the gnu assembler produces code
with some default march/mabi which later causes linker failure due
to incompatible mabi/march.

In this patch we explicitly propagate -mabi and -march flags to the
GNU assembler.

In this patch we explicitly propagate -mabi and -march flags to the GNU 
assembler.

Differential Revision: https://reviews.llvm.org/D41271

Added:

cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
cfe/trunk/test/Driver/riscv-gnutools.c
Modified:
cfe/trunk/lib/Driver/ToolChains/Gnu.cpp

Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.cpp?rev=322769&r1=322768&r2=322769&view=diff
==
--- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp Wed Jan 17 14:09:58 2018
@@ -629,6 +629,18 @@ void tools::gnutools::Assembler::Constru
   ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple(;
 break;
   }
+  case llvm::Triple::riscv32:
+  case llvm::Triple::riscv64: {
+StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
+CmdArgs.push_back("-mabi");
+CmdArgs.push_back(ABIName.data());
+if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) {
+  StringRef MArch = A->getValue();
+  CmdArgs.push_back("-march");
+  CmdArgs.push_back(MArch.data());
+}
+break;
+  }
   case llvm::Triple::sparc:
   case llvm::Triple::sparcel: {
 CmdArgs.push_back("-32");

Added: 
cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as?rev=322769&view=auto
==
--- 
cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
 (added)
+++ 
cfe/trunk/test/Driver/Inputs/multilib_riscv_linux_sdk/riscv64-unknown-linux-gnu/bin/as
 Wed Jan 17 14:09:58 2018
@@ -0,0 +1 @@
+#!/bin/true

Added: cfe/trunk/test/Driver/riscv-gnutools.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/riscv-gnutools.c?rev=322769&view=auto
==
--- cfe/trunk/test/Driver/riscv-gnutools.c (added)
+++ cfe/trunk/test/Driver/riscv-gnutools.c Wed Jan 17 14:09:58 2018
@@ -0,0 +1,14 @@
+// Check gnutools are invoked with propagated values for -mabi and -march.
+
+// RUN: %clang -target riscv32-linux-unknown-elf -fno-integrated-as \
+// RUN: --gcc-toolchain=%S/Inputs/multilib_riscv_linux_sdk \
+// RUN: --sysroot=%S/Inputs/multilib_riscv_linux_sdk/sysroot %s -### \
+// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32 %s
+// RUN: %clang -target riscv32-linux-unknown-elf -fno-integrated-as \
+// RUN: -march=rv32g --gcc-toolchain=%S/Inputs/multilib_riscv_linux_sdk \
+// RUN: --sysroot=%S/Inputs/multilib_riscv_linux_sdk/sysroot %s -### \
+// RUN: 2>&1 | FileCheck -check-prefix=MABI-ILP32-MARCH-G %s
+
+// MABI-ILP32: 
"{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
 "-mabi" "ilp32"
+// MABI-ILP32-MARCH-G: 
"{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/../../../../riscv64-unknown-linux-gnu/bin{{/|}}as"
 "-mabi" "ilp32" "-march" "rv32g"
+


___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits