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" ^ <stdin>:1:1: note: scanning from here clang version 7.0.0 ^ <stdin>: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 <cfe-commits@lists.llvm.org> 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-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