[all-commits] [llvm/llvm-project] 5cf9b2: [LLVM][AIX] Prefer a 32-bit default target triple ...

David Tenty via All-commits all-commits at lists.llvm.org
Thu Jan 27 22:34:24 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5cf9b2e341be7c71694fbc11be490473b7831b0d
      https://github.com/llvm/llvm-project/commit/5cf9b2e341be7c71694fbc11be490473b7831b0d
  Author: David Tenty <daltenty at ibm.com>
  Date:   2022-01-28 (Fri, 28 Jan 2022)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][AIX] Prefer a 32-bit default target triple on AIX

If the user doesn't specify a default target triple, the LLVM CMake usually defaults us into the host triple. This is a problem when building Clang/LLVM on 64-bit AIX (i.e. powerpc64-ibm-aix), as the host toolchain (e.g. ar, ld, nm, dump) all expect the compiler to generate 32-bit objects by default (which both GCC and XL on the platform do) and will hard error if passed a 64-bit object without an explicit option or environment setting. This breaks downstream consumers, such as builds generated with build tools like CMake, which when they invoke clang, etc. without explicit bitmode flags also expect 32-bit mode.

This patch changes the default target selection when the host is powerpc64-ibm-aix to prefer powerpc-ibm-aix to avoid these issues. We don't update the runtimes/CMakeList.txt since the default is less meaningful as we assume runtimes will need to build for both targets anyways.

Differential Revision: https://reviews.llvm.org/D118377




More information about the All-commits mailing list