[all-commits] [llvm/llvm-project] 7fb71d: [SystemZ] Fix handling of target triples on Debian...

Ilya Leoshkevich via All-commits all-commits at lists.llvm.org
Thu Jul 4 04:52:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7fb71d15cd3c2a185d4a60791e893d3c5721754d
      https://github.com/llvm/llvm-project/commit/7fb71d15cd3c2a185d4a60791e893d3c5721754d
  Author: Ilya Leoshkevich <iii at linux.ibm.com>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    M llvm/cmake/config.guess

  Log Message:
  -----------
  [SystemZ] Fix handling of target triples on Debian (#95407) (#97546)

Debian's GCC installation has target triple "s390x-linux-gnu". Since,
unlike in Ubuntu, there is no /etc/lsb-release, config.guess detects
"s390x-ibm-linux". Generic_GCC::GCCInstallationDetector::init() only
tries to strip the "unknown" vendor, so GCC installation detection
fails.

Checking /etc/os-release in addition to /etc/lsb-release fixes this
problem. However, LLVM-built sanitizer runtimes still cannot be found:
the driver looks for them in lib/clang/19/lib/s390x-linux-gnu, but the
build system places them in lib/clang/19/lib/s390x-unknown-linux-gnu.

According to @MaskRay, the build system is doing the right thing [1]: on
the file system, full arch-vendor-os-environment triples must be used.
In order to satisfy both GCCInstallationDetector and this rule, use the
"s390x-unknown-linux-gnu" triple.

[1]
https://github.com/llvm/llvm-project/issues/95407#issuecomment-2167390240



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list