aosp/1749720 moves the TOOL_ARGS to setup_env and makes it a proper
string export. Adopt that new format.
Bug: 189451175
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Idf28c4dce9e92141c487154133333edb3b0d8e61
Revert "ANDROID: Fix arm64 allmodconfig build"
This reverts commit 099f0261d9.
Proper KCONFIG checks were add in
commit e9c6deee00 ("arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or
ld.lld 13.0.0+")
in v5.12-rc1 for ARCH=arm64, and
commit 28187dc8eb ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on
!LD_IS_LLD")
for ARCH=arm in v5.11-rc1.
LLD recently gained support to link ARCH=arm64 BIG_ENDIAN. It does not
yet have support for ARCH=arm, but the Kconfig guards will prevent that
from being selected. There's some additional complexity to support both
BE32 and BE8 in LLD, but never say never.
Bug: 140224784
Bug: 141733632
Test: BUILD_CONFIG=common/build.config.allmodconfig.aarch64 \
./build/build.sh &&
BUILD_CONFIG=common/build.config.allmodconfig.arm ./build/build.sh
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: If24d5ce2a2bbf437c3035e2616db602b61273d02
This is now provided through the prebuilt build-tools.
Bug: 179516498
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I23152d35944b1efdb7aab9ef6c55aaad2ae1cbed
allmodconfig builds require a full implementation of openssl as of
today. The hermetic toolchain provides only a subset through boringssl.
Fixes: 6991ab0b2d ("ANDROID: Enable hermetic toolchain")
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Idcd0233893059d4a10951edf51cba0b3b7a9a0f1
This reverts commit e145f7b103.
AOSP's distribution of GNU binutils always had a curious target triple
prefix on the binaries. Now that GNU binutils is deprecated for Android
Common Kernels, we can now remove this out of tree workaround. Now
building Android kernels with LLVM matches upstream (see
Documentation/kbuild/llvm.rst).
Bug: 118439987
Bug: 120440614
Bug: 141693040
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: Iecaa3264a440f795f2f3a44bdf74fe28ad4ed1cc
Enable the use of the hermetic toolchain across all builds of this
branch. For allmodconfig builds, also allow the use of openssl from the
host.
Bug: 157507870
Change-Id: Iabb1fe4f760f9821df0318934942302ffffade7c
Signed-off-by: Matthias Maennich <maennich@google.com>
CONFIG_XFS_FS was re-enabled after upgrading to clang-10 but the comment
was not removed.
Change-Id: Ia34387e67e6948945072fc9b8af8b2b6363d6141
Fixes: 8c8c5eea92 ("ANDROID: build.config.allmodconfig: Re-enable XFS_FS")
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Without these changes, the user will be prompted for config changes.
Signed-off-by: Will McVicker <willmcvicker@google.com>
Bug: 153934356
Test: BUILD_CONFIG=common/build.config.allmodconfig.aarch64 build/build.sh
Change-Id: Ib9ef72b217d1e0d78edf136cfe560058e3126d18
It was disabled due to ld.lld discarding the __memcat_p symbol even
though it was exported -- see [1]. However, this issue has now been
fixed upstream in 7273ad2b08 ("kbuild: link lib-y objects to
vmlinux forcibly when CONFIG_MODULES=y"), so CONFIG_STM can now be
enabled safely.
[1] https://github.com/ClangBuiltLinux/linux/issues/515
Bug: 140224784
Fixes: dd88a4a1d5 ("ANDROID: Fix x86_64 allmodconfig build")
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: Ic0dede721f67a0f2ff80ba27cb2a2aa9c7c03db3
It appears that the clang version we were using when we first introduced
build.config.allmodconfig had issues with XFS_FS, so 884416f517
("ANDROID: create build.configs for allmodconfig") made sure to disable
it.
Now that ACK uses an updated clang, attempt to re-enable that option.
Bug: 140224784
Bug: 140490203
Test: allmodconfig build for x86_64 and arm64
Fixes: 884416f517 ("ANDROID: create build.configs for allmodconfig")
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: Iffdaaedb67162515af3b60ec62efd8f947ce17f2
The mandatory tweaks to allmodconfig are manually enforced during
post_defconfig, so using gki_defconfig as a base for allmodconfig is not
strictly necessary. While this helped finding bugs in code paths that
are unexplored by the vanilla allmodconfig, this is also misalgigned
with KernelCI, and doesn't prevent breakages there, which is one of the
original point of allmodconfig as a presubmit test.
Remove the KCONFIG_ALLCONFIG parameter for allmodconfig, and remove a
stale comment in the same file while at it.
Bug: 140224784
Test: compiled-tested allmodconfig for arm64 and x86
Change-Id: Idd33e25ce62e2a6a37d650844d8ae3033070f825
Signed-off-by: Quentin Perret <qperret@google.com>
CONFIG_UNWINDER_ORC needs a libelf-dev which we unfortunately can't
afford to have in the CI yet.
Switch to different stack unwinder for allmodconfig to work around the
problem temporarily.
Bug: 140224784
Test: allmodconfig build for x86
Change-Id: Id35c222e76cca35aa5e520c1a3d5d88e5cc1da8a
Signed-off-by: Quentin Perret <qperret@google.com>
This was blocked on upgrading clang for asm goto support, we can
re-enable this working driver.
Bug: 140224784
Change-Id: I715c3611b2aff2b8a898ae85e45cce1dc149deef
Signed-off-by: Alistair Delva <adelva@google.com>
The kernel is now being linked with ld.ldd, but this linker will discard
the __memcat_p symbol, even if it is exported, if there are no in-kernel
users. Since the STM driver and test code can be built as a module, they
will fail at modpost time.
While the solution to this bug is still being discussed, keep the
allmodconfig build going by suppressing these options.
Bug: 140224784
Link: https://github.com/ClangBuiltLinux/linux/issues/515
Test: make -j64 ARCH=x86_64 allmodconfig + tweaks
Change-Id: I2942e4b3443180e6bff9820a7c5174c03347ae8a
Signed-off-by: Alistair Delva <adelva@google.com>
CONFIG_KVM_INTEL depends on asm volatile goto which is about to be
supported in clang, but we haven't landed the upgraded compiler yet.
Suppress use of this kernel feature for now.
In file included from arch/x86/kvm/vmx/vmx.h:11:
arch/x86/kvm/vmx/ops.h:157:2: error: 'asm goto' constructs are not
supported yet
vmx_asm2(vmwrite, "r"(field), "rm"(value), field, value);
^
Change-Id: If21ca65a7bd1e43c5f66a93a6108cf8aa49a9c64
Signed-off-by: Alistair Delva <adelva@google.com>
Allmodconfig on arm64 enables CPU_BIG_ENDIAN=y, which causes issues with
ld.lld which doesn't support linking aarch64be-linux-gnu targets (see
https://reviews.llvm.org/D58655#1410281). However, it is very unlikely
that real android devices run with arm64 BE hardware in practice. So,
until we can find a better fix, let's simply force CPU_BIG_ENDIAN=n for
allmodconfig builds.
Bug: 141733632
Bug: 140224784
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: Ic4693ae1f462144c8219b397463ca341f6fe08a1
Allmodconfig enables as many options as it can to maximize the number of
modules it can build. While this is generally a good idea, this can also
lead to very convoluted configurations (such as CPU_BIG_ENDIAN=y on
arm64) which we don't necessarily want to support even if they break. On
the other hand, gki_defconfig already contains the set of core options
we definitely want to support, so it makes sense to use that as a base.
Point KCONFIG_ALLMODCONFIG to the relevant gki_defconfig file in order
to ensure a minimally sensible config that allconfig is not allowed to
modify.
Bug: 140224784
Signed-off-by: Quentin Perret <qperret@google.com>
Change-Id: Ib4cf3c9565f040a577ce3cec008293520be1af84