[cfe-dev] Test failuire: Driver/baremetal.cpp
David Greene via cfe-dev
cfe-dev at lists.llvm.org
Thu Jul 26 09:20:53 PDT 2018
I've configured clang to use gold, which seems to cause
test/Driver/baremetal.cpp to fail. The test works like this:
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
// RUN: -target armv6m-none-eabi \
// RUN: -T semihosted.lds \
// RUN: -L some/directory/user/asked/for \
// RUN: --sysroot=%S/Inputs/baremetal_arm \
// RUN: | FileCheck --check-prefix=CHECK-V6M-C %s
// CHECK-V6M-C: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none--eabi"
// CHECK-V6M-C-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
// CHECK-V6M-C-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"
// CHECK-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
// CHECk-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include"
// CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
// CHECK-V6M-C-NEXT: "{{[^"]*}}ld.lld{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
The NEXT line is problematic as it assumes ld.lld. I did not build lld,
though I could simply to get the test working. But building lld is not
enough as I configured with CLANG_DEFAULT_LINKER=gold. It seems like
the RUN line needs -fuse-ld=lld.
Is there a REQUIRES clause for lld being present and default? I could
not find somthing appropriate in lit's config.available_features.
It's certainly possible I'm doing something wrong, as I assume many
people use gold with clang. Maybe those people don't run the tests?
I am happy to update the test if someone can point me to a good REQUIRES
clause.
Thanks!
-David
More information about the cfe-dev
mailing list