llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Michael Kruse (Meinersbur) <details> <summary>Changes</summary> #<!-- -->200549 unfortunately did not fix the freebsd.c test everywhere, in particular [clang-s390x-linux-multistage](https://lab.llvm.org/buildbot/#/builders/98) is now failing. Further analysis showed that the MIPS test was broken from the start: ``` // CHECK-MIPS: "{{[^" ]*}}ld{{[^" ]*}}" ``` This file match "ld" in "buildbot" occuring in `"/opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang-23"` (the frontend invocation line) since most buildbots use "buildbot" in their builder directory name. `clang-s390x-linux-multistage` does not, its clang path is `"/home/uweigand/sandbox/buildbot/clang-s390x-linux-multistage/stage2/bin/clang-23"`. ``` // CHECK-MIPS: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" ``` is missing the "-SAME" modifier, so can match the next line. Because was that was the `-fc1` line on most builders, it works there. Except `clang-s390x-linux-multistage`, where it was expecting this after the linker line. ``` // CHECK-MIPS-NOT: "--hash-style={{gnu|both}}" ``` This would again match something only after the linker line. It never had a chance to match. This is why `-NOT` tests are considered fragile. Fixing the MIPS test by using the same CHECK pattern as for all the other architectures. Unfortunately `-SAME-NOT` is not supported by FileCheck, so I had to remove the `--hash-style` check. It wasn't checking anything anyway, and we should avoid the impression that it did. --- Full diff: https://github.com/llvm/llvm-project/pull/200577.diff 1 Files Affected: - (modified) clang/test/Driver/freebsd.c (+5-15) ``````````diff diff --git a/clang/test/Driver/freebsd.c b/clang/test/Driver/freebsd.c index bb0558b9ceb3e..280f07d1704b5 100644 --- a/clang/test/Driver/freebsd.c +++ b/clang/test/Driver/freebsd.c @@ -99,33 +99,23 @@ // CHECK-LDFLAGS_HASH: --hash-style=both // CHECK-LDFLAGS_HASH: --enable-new-dtags // -// Check that we do not pass --hash-style=gnu and --hash-style=both to linker -// and provide correct path to the dynamic linker for MIPS platforms. -// Also verify that we tell the assembler to target the right ISA and ABI. +// Verify that we tell the assembler to target the right ISA and ABI. // RUN: %clang -### %s 2>&1 \ // RUN: --target=mips-unknown-freebsd10.0 \ // RUN: | FileCheck --check-prefix=CHECK-MIPS %s -// CHECK-MIPS: {{[/\\"]}}ld{{[^" ]*}}" -// CHECK-MIPS: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" -// CHECK-MIPS-NOT: "--hash-style={{gnu|both}}" +// CHECK-MIPS: ld{{.*}}" {{.*}} "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" // RUN: %clang -### %s 2>&1 \ // RUN: --target=mipsel-unknown-freebsd10.0 \ // RUN: | FileCheck --check-prefix=CHECK-MIPSEL %s -// CHECK-MIPSEL: {{[/\\"]}}ld{{[^" ]*}}" -// CHECK-MIPSEL: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" -// CHECK-MIPSEL-NOT: "--hash-style={{gnu|both}}" +// CHECK-MIPSEL: ld{{.*}}" {{.*}} "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" // RUN: %clang -### %s 2>&1 \ // RUN: --target=mips64-unknown-freebsd10.0 \ // RUN: | FileCheck --check-prefix=CHECK-MIPS64 %s -// CHECK-MIPS64: {{[/\\"]}}ld{{[^" ]*}}" -// CHECK-MIPS64: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" -// CHECK-MIPS64-NOT: "--hash-style={{gnu|both}}" +// CHECK-MIPS64:ld{{.*}}" {{.*}} "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" // RUN: %clang -### %s 2>&1 \ // RUN: --target=mips64el-unknown-freebsd10.0 \ // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL %s -// CHECK-MIPS64EL: {{[/\\"]}}ld{{[^" ]*}}" -// CHECK-MIPS64EL: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" -// CHECK-MIPS64EL-NOT: "--hash-style={{gnu|both}}" +// CHECK-MIPS64EL: ld{{.*}}" {{.*}} "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1" // RUN: %clang --target=x86_64-pc-freebsd -static %s \ // RUN: --sysroot=%S/Inputs/multiarch_freebsd64_tree -### 2>&1 \ `````````` </details> https://github.com/llvm/llvm-project/pull/200577 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
