HomePhabricator

[lldb] Explicitly use the configuration architecture when building test…

Authored by teemperor on Oct 22 2020, 6:10 AM.

Description

[lldb] Explicitly use the configuration architecture when building test executables

The Darwin builder currently assumes in getArchCFlags that the passed arch
value is an actual string it can string.join with vendor/os/version/env strings:

triple = '-'.join([arch, vendor, os, version, env])

However this is not true for most tests as we just pass down the arch=None
default value from TestBase.build. This causes that if we actually end up in
this function we just error out when concatenating None with the other actual
strings of vendor/os/version/env. What we should do instead is check that if
there is no test-specific architecture that we fall back to the configuration's
architecture value.

It seems we already worked around this in builder.getArchSpec by explicitly
falling back to the architecture specified in the configuration.

This patch just moves this fallback logic to the top build function so that it
affects all functions called from TestBase.build.

Reviewed By: JDevlieghere

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