[libc++][AIX] Add OS version to target triple
This will allow for configuring tests according to AIX version. Reviewed By: daltenty, #libc, Mordante Differential Revision: https://reviews.llvm.org/D149660
This commit is contained in:
parent
2260ebf7b6
commit
4fc7019791
@ -4,6 +4,12 @@
|
||||
|
||||
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||||
|
||||
import lit.util
|
||||
if lit.util.isAIXTriple(config.target_triple):
|
||||
# Add the AIX version to the triple here because there currently isn't a good
|
||||
# way to retrieve the AIX version in the driver.
|
||||
config.target_triple = lit.util.addAIXVersion(config.target_triple)
|
||||
|
||||
config.substitutions.append(('%{flags}', '-pthread'))
|
||||
config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -D__LIBC_NO_CPP_MATH_OVERLOADS__ -I %{include} -I %{libcxx}/test/support'
|
||||
|
@ -2,6 +2,12 @@
|
||||
|
||||
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||||
|
||||
import lit.util
|
||||
if lit.util.isAIXTriple(config.target_triple):
|
||||
# Add the AIX version to the triple here because there currently isn't a good
|
||||
# way to retrieve the AIX version in the driver.
|
||||
config.target_triple = lit.util.addAIXVersion(config.target_triple)
|
||||
|
||||
config.substitutions.append(('%{flags}',''))
|
||||
config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -I %{include} -I %{cxx-include} -I %{cxx-target-include} %{maybe-include-libunwind} ' +
|
||||
|
@ -3,6 +3,12 @@
|
||||
|
||||
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||||
|
||||
import lit.util
|
||||
if lit.util.isAIXTriple(config.target_triple):
|
||||
# Add the AIX version to the triple here because there currently isn't a good
|
||||
# way to retrieve the AIX version in the driver.
|
||||
config.target_triple = lit.util.addAIXVersion(config.target_triple)
|
||||
|
||||
config.substitutions.append(('%{flags}', ''))
|
||||
config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -I %{include}'
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
// The AIX assembler does not support CFI directives, which
|
||||
// are necessary to run this test.
|
||||
// UNSUPPORTED: target=powerpc{{(64)?}}-ibm-aix
|
||||
// UNSUPPORTED: target={{.*}}-aix{{.*}}
|
||||
|
||||
// Windows doesn't generally use CFI directives. However, i686
|
||||
// mingw targets do use DWARF (where CFI directives are supported).
|
||||
|
@ -6,6 +6,7 @@ import math
|
||||
import numbers
|
||||
import os
|
||||
import platform
|
||||
import re
|
||||
import signal
|
||||
import subprocess
|
||||
import sys
|
||||
@ -429,6 +430,22 @@ def executeCommand(
|
||||
return out, err, exitCode
|
||||
|
||||
|
||||
def isAIXTriple(target_triple):
|
||||
"""Whether the given target triple is for AIX,
|
||||
e.g. powerpc64-ibm-aix
|
||||
"""
|
||||
return "aix" in target_triple
|
||||
|
||||
|
||||
def addAIXVersion(target_triple):
|
||||
"""Add the AIX version to the given target triple,
|
||||
e.g. powerpc64-ibm-aix7.2.5.6
|
||||
"""
|
||||
os_cmd = "oslevel -s | awk -F\'-\' \'{printf \"%.1f.%d.%d\", $1/1000, $2, $3}\'"
|
||||
os_version = subprocess.run(os_cmd, capture_output=True, shell=True).stdout.decode()
|
||||
return re.sub("aix", "aix" + os_version, target_triple)
|
||||
|
||||
|
||||
def isMacOSTriple(target_triple):
|
||||
"""Whether the given target triple is for macOS,
|
||||
e.g. x86_64-apple-darwin, arm64-apple-macos
|
||||
|
Loading…
x
Reference in New Issue
Block a user