[PATCH] D68407: [WIP][RISCV] Use compiler-rt if no GCC installation detected

Edward Jones via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 14 04:34:11 PST 2019


edward-jones added a comment.

If I set `-DCLANG_DEFAULT_RTLIB=compiler-rt` I see the following failure in `clang/test/Driver/cross-linux.c`:

  /home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/cross-linux.c:62:26: error: CHECK-MULTI32-X86-64: expected string not found in input
  // CHECK-MULTI32-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]/64{{/|\\\\}}crtbegin.o"
                           ^
  <stdin>:7:327: note: scanning from here
   "/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin/ld" "--sysroot=/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/basic_linux_tree" "-z" "relro" "--hash-style=gnu" "--eh-frame-hdr" "-m" "elf_x86_64" "-dynamic-linker" "/lib64/ld-linux-x86-64.so.2" "-o" "/home/ed/work/proj/riscv-testing/build/llvm/tools/clang/test/Driver/Output/cross-linux.c.tmp" "crt1.o" "crti.o" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0/lib/linux/clang_rt.crtbegin-x86_64.o" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/64" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib/../lib64" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/basic_linux_tree/lib" "-L/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/Inputs/basic_linux_tree/usr/lib" "/tmp/cross-linux-bb2220.o" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0/lib/linux/libclang_rt.builtins-x86_64.a" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0/lib/linux/libclang_rt.builtins-x86_64.a" "--as-needed" "-lgcc_s" "--no-as-needed" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0/lib/linux/clang_rt.crtend-x86_64.o" "crtn.o"
                                                                                                                                                                                                                                                                                                                                        ^

And if I set `-DCLANG_DEFAULT_RTLIB=libgcc` then I see the following failure in `clang/test/Driver/wasm-toolchain.cpp`:

  /home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/wasm-toolchain.cpp:20:10: error: LINK: expected string not found in input
  // LINK: wasm-ld{{.*}}" "-L/foo/lib" "crt1.o" "[[temp]]" "-lc++" "-lc++abi" "-lc" "{{.*[/\\]}}libclang_rt.builtins-wasm32.a" "-o" "a.out"
  
  <stdin>:6:1018: note: scanning from here
   "/home/ed/work/proj/riscv-testing/build/llvm/bin/clang" "-cc1" "-triple" "wasm32-unknown-unknown" "-emit-obj" "-mrelax-all" "-disable-free" "-main-file-name" "wasm-toolchain.cpp" "-mrelocation-model" "static" "-mthread-model" "posix" "-mframe-pointer=none" "-fno-rounding-math" "-masm-verbose" "-mconstructor-aliases" "-fuse-init-array" "-target-cpu" "generic" "-fvisibility" "hidden" "-dwarf-column-info" "-debugger-tuning=gdb" "-resource-dir" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0" "-isysroot" "/foo" "-internal-isystem" "/foo/include/c++/v1" "-internal-isystem" "/home/ed/work/proj/riscv-testing/build/llvm/lib/clang/10.0.0/include" "-internal-isystem" "/foo/include" "-fdeprecated-macro" "-fdebug-compilation-dir" "/home/ed/work/proj/riscv-testing/build/llvm/tools/clang/test/Driver" "-ferror-limit" "19" "-fmessage-length" "0" "-fgnuc-version=4.2.1" "-fobjc-runtime=gnustep" "-fcxx-exceptions" "-fexceptions" "-fno-common" "-fdiagnostics-show-option" "-o" "/tmp/wasm-toolchain-718d0c.o" "-x" "c++" "/home/ed/work/proj/riscv-testing/llvm/clang/test/Driver/wasm-toolchain.cpp"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ^

I don't see how these tests could be affected by this patch, so I'm wondering whether these tests have always been broken?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68407/new/

https://reviews.llvm.org/D68407





More information about the cfe-commits mailing list