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
When removing the export from symbol_get/put(), I disabled lots of
different drivers in the allmodconfig build file.
As some pointed out, that's not the nicest thing to do, as we really do
want the build coverage, so instead, "tweak" the Kconfig files to make
the problamatic modules be built-in to the kernel image. That removes
the problem of the export going away and still gives us good build
testing coverage, without modifying any real-world device
configurations.
Note, 3 config options are "turned off" so they can not be selected, as
they could not be worked around in any semi-sane manner:
VIDEO_CX23885
DELL_LAPTOP
SAMPLE_HW_BREAKPOINT
none of which affects any known Android devices.
Bug: 162613590
Fixes: 882b7ca141 ("ANDROID: GKI: do not export symbol_get/put()")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia28f73a64566438940b876a5d9c1a0137c6304d0
People keep trying to use these in Android kernels, and they should not
be used, use the correct, real, symbol name instead.
Turn off a number of things in the allmodconfig builds that were using
these symbols to not break the build. That was for build-testing only,
no functional changes.
Bug: 157965270
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I13bf351b3ae59fa6dfed7bd41dfff8c8d521e3a4
clang is much newer now, it should be building properly.
Bug: 157965270
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ibdab0e4d91aeb90dc24a5d8894f05370c2fd34f1
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
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