[flang-commits] [PATCH] D144592: [flang] Fix linker test on Windows.

Michael Kruse via Phabricator via flang-commits flang-commits at lists.llvm.org
Wed Feb 22 14:08:51 PST 2023


Meinersbur created this revision.
Meinersbur added reviewers: rovka, sscalpone, isuruf, awarzynski, klausler.
Meinersbur added a project: Flang.
Herald added subscribers: jdoerfert, mstorsjo.
Herald added a project: All.
Meinersbur requested review of this revision.

The linker-flags.f90 test checks for the linker command line. The `-target` indicates cross-compiling, the toolchain executables themselves are still running on the native platform. If it is Windows, the driver will try to fully resolve the path to `ld` which may include an `.exe` suffix.

In in my case, it resolves to my MinGW installation (`"C:\\tools\\msys64\\usr\\bin\\ld.exe"`) found in `PATH`. The GNU ld that comes with the MSYS2 distribution does not support `elf64lppc` or MacOS emulation modes (`acosx_version_min`), but the test also does not require executing the linker.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D144592

Files:
  flang/test/Driver/linker-flags.f90


Index: flang/test/Driver/linker-flags.f90
===================================================================
--- flang/test/Driver/linker-flags.f90
+++ flang/test/Driver/linker-flags.f90
@@ -17,20 +17,24 @@
 ! CHECK-SAME:  "-o" "[[object_file:.*\.o]]" {{.*}}Inputs/hello.f90
 
 ! Linker invocation to generate the executable
-! GNU-LABEL:  "{{.*}}ld" 
+! NOTE: Since we are cross-compiling, the host toolchain executables may
+!       run on any other platform, such as Windows that use a .exe
+!       suffix. Clang's driver will try to resolve the path to the ld
+!       executable and may find the GNU linker from MinGW or Cygwin.
+! GNU-LABEL:  "{{.*}}ld{{(\.exe)?}}"
 ! GNU-SAME: "[[object_file]]"
 ! GNU-SAME: -lFortran_main
 ! GNU-SAME: -lFortranRuntime
 ! GNU-SAME: -lFortranDecimal
 ! GNU-SAME: -lm
 
-! DARWIN-LABEL:  "{{.*}}ld" 
+! DARWIN-LABEL:  "{{.*}}ld{{(\.exe)?}}"
 ! DARWIN-SAME: "[[object_file]]"
 ! DARWIN-SAME: -lFortran_main
 ! DARWIN-SAME: -lFortranRuntime
 ! DARWIN-SAME: -lFortranDecimal
 
-! MINGW-LABEL:  "{{.*}}ld" 
+! MINGW-LABEL:  "{{.*}}ld{{(\.exe)?}}"
 ! MINGW-SAME: "[[object_file]]"
 ! MINGW-SAME: -lFortran_main
 ! MINGW-SAME: -lFortranRuntime


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144592.499638.patch
Type: text/x-patch
Size: 1180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/flang-commits/attachments/20230222/d0a26aff/attachment.bin>


More information about the flang-commits mailing list