Commit Graph

31 Commits

Author SHA1 Message Date
Lee Jones
722f6cc09c ANDROID: Revert "ANDROID: allmodconfig: disable WERROR"
This reverts commit eb57c31115051c5404d1bb1f2daec20e051b0287.

This branch looks clean of WERROR warnings.  Let's try to re-enable it.

Fixes: eb57c31115051 ("ANDROID: allmodconfig: disable WERROR")
Change-Id: I0106dcd43d7e4b4e20ac768f3faac40285bc837b
(cherry picked from commit d19f8758ae7732b14fd85e97c66dec2855d3be73)
Signed-off-by: Lee Jones <joneslee@google.com>
2023-08-21 17:29:29 +01:00
Yifan Hong
c312d9f39a ANDROID: Disable AF_RXRPC for allmodconfig.
AF_RXRPC imposes a 49 char limit on UTS_RELEASE, but building with

  BUILD_NUMBER=P12345678 bazel build //common:kernel_x86_64_allmodconfig --config=stamp

requires more than 49 chars in UTS_RELEASE. Hence, this module
is disabled for allmodconfig.

Bug: 273576197
Test: ABTD
Change-Id: Ife604db109f870eda2fdbc0668d6bd1f4e4e906e
Signed-off-by: Yifan Hong <elsk@google.com>
2023-03-15 14:09:33 +00:00
Ulises Mendez Martinez
8a59b36f14 ANDROID: allmodconfig: Disable RANDSTRUCT
This is a workaround due a double file generation
for this config[0].

[0]: generated/randstruct_hash.h

Bug: 260313194
Change-Id: Ib6b93a7574328c39eab1ef4a754e1dc752ed6825
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
2022-12-01 10:37:28 +00:00
Nick Desaulniers
eff6c81fe8 Revert "ANDROID: disable PINCTRL_THUNDERBAY from allmodconfig builds"
This reverts commit 3877717bd7.

Nathan points out this was resolved upstream by:
commit 25d2e41cf5 ("pinctrl: thunderbay: rework loops looking for groups names")

Suggested-by: Nathan Chancellor <nathan@kernel.org>
Change-Id: I1df1c8c25fc831cd5e67668d724ad7a7054100dc
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2022-04-07 15:46:34 +00:00
Nick Desaulniers
7133ff2a3e ANDROID: disable SAMPLES and BPFILTER for allmodconfigs
These aren't portable yet when building with a Bionic based sysroot.

Disable building them for now so that we can land support for
UAPI_HEADER_TEST.

Bug: 190019968
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: Ice3d3c55bbf79dd08265f168e49e2058231c181d
2022-04-05 14:09:03 -07:00
Greg Kroah-Hartman
3877717bd7 ANDROID: disable PINCTRL_THUNDERBAY from allmodconfig builds
This driver can not build cleanly without warnings just yet, who knows
why it was merged in this way.  Until it is fixed up upstream, just
disable it from the builds as no Android systems use it.

Fixes: 12422af819 ("pinctrl: Add Intel Thunder Bay pinctrl driver")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7f13e119e386382ff853e8dd5d42e20484581771
2022-01-19 11:17:45 +01:00
Greg Kroah-Hartman
c08dffad8e ANDROID: allmodconfig: disable WERROR
-Werror still fails on some arm and arm64 code due to clang issues
(works on gcc!), so disable it when building allmodconfig builds for
now.

Hopefully the clang developers will work on this...

Bug: 199872592
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6ccc856773c40e3c0f541a1316b20e9ae3de4380
2021-12-09 18:19:51 +01:00
Nathan Chancellor
31baa2414b
ANDROID: allmodconfig: Re-enable TEST_KMOD
This has been disabled since the introduction of the configuration in
commit 884416f517 ("ANDROID: create build.configs for allmodconfig"),
likely due to the fact that TEST_KMOD force selects XFS_FS, which was
also disabled due to a clang bug.

Commit 8c8c5eea92 ("ANDROID: build.config.allmodconfig: Re-enable
XFS_FS") re-enabled XFS_FS because the compiler was fixed but did not
re-enable TEST_KMOD for the same reason. Do so now so that allmodconfig
coverage is increased.

Fixes: 8c8c5eea92 ("ANDROID: build.config.allmodconfig: Re-enable XFS_FS")
Test: build.config.allmodconfig.{aarch64,arm,x86_64}
Change-Id: I4f6e70c268e214ccb054f57452386c509f1b2882
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2021-12-03 08:13:19 -07:00
Nathan Chancellor
ba11a2e32c
Revert "ANDROID: disable INFINIBAND_QIB from allmodconfig build"
This reverts commit 936699ade8.

This configuration was disabled due to a build error that was resolved
by 3110b942d3 ("IB/qib: Fix clang confusion of NULL pointer
comparison") in 5.15-rc4.

Test: build.config.allmodconfig.{aarch64,arm,x86_64}
Change-Id: I5768140680dcf53d6369b811eafd2582252714d9
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2021-12-02 12:47:13 -07:00
Lee Jones
055fcf7583 ANDROID: build.config.allmodconfig: Enable hermetic builds
This was previously not possible due to the lack of kernel module
signing support in BoringSSL.

Said support has now landed in Kernel Build Tools.

Fixes: bce40b72a3 ("ANDROID: Disable hermetic toolchain for allmodconfig builds")
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Change-Id: Ideddac33d8d79f2819a9f68e3e80a0b045e58907
2021-10-07 10:08:23 +01:00
Nick Desaulniers
81bf238a3b Revert "ANDROID: disable BLK_DEV_NBD for allmodconfig"
This reverts commit ca7dad50d4.

This re-enabled coverage of BLK_DEV_NBD. The clang-13 bug was worked
around in
commit 41e76c6a3c ("nbd: use shifts rather than multiplies")

Bug: 199191028
Link: https://github.com/ClangBuiltLinux/linux/issues/1438
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: Ifcb6131e5c8b12e4c784320adac639b573198b1f
2021-10-04 09:42:00 -07:00
Greg Kroah-Hartman
936699ade8 ANDROID: disable INFINIBAND_QIB from allmodconfig build
Clang can't seem to build this driver in the 5.15-rc1 release, so
disable it until either the kernel code is changed, or the compiler is
fixed up.

Full discussion upstream can be found at:
	https://lore.kernel.org/r/202109112002.NZceUwiC-lkp@intel.com

and at:
	https://github.com/ClangBuiltLinux/linux/issues/1452

Fixes: 6880fa6c56 ("Linux 5.15-rc1")
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5d55f40ce5b783d1212e6c649eb6c7799c6be100
2021-09-16 09:48:47 +02:00
Nick Desaulniers
ca7dad50d4 ANDROID: disable BLK_DEV_NBD for allmodconfig
commit fad7cd3310 ("nbd: add the check to prevent overflow in __nbd_ioctl()")
exposed something that's long been broken for semi-hosted environments
like the kernel in Clang:

check_mul_overflow() is implemented in terms of
__builtin_mul_overflow(). For 64b operands on 32b hosts, LLVM was
emitting libcalls to __mulodi4() which assumes that compiler-rt is being
linked against. The kernel does not do so, so LLVM was emitting calls to
functions that have no definition, resulting in the linkage failure:

ERROR: modpost: "__mulodi4" [drivers/block/nbd.ko] undefined!

I have been fixing LLVM upstream, see the six fixes linked from:
https://bugs.llvm.org/show_bug.cgi?id=28629#c23.

I still need to detect older toolchains that we'd still like to support,
then find an appropriate workaround for the kernel.

Disable network block devices for now, so that we don't lose coverage of
32b ARM allmodconfig builds which are currently red in our CI.

Bug: 199191028
Link: https://github.com/ClangBuiltLinux/linux/issues/1438
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: I79a597177f75370f60621b984cb8e21ca2a268d6
2021-09-08 05:51:18 +00:00
Matthias Maennich
4840539ea1 ANDROID: allmodconfig build: adopt new TOOL_ARGS export
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
2021-06-28 12:19:45 +01:00
Nick Desaulniers
47c54ea794 ANDROID: re-enable BIG_ENDIAN in allmodconfig testing
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
2021-03-17 14:03:43 -07:00
Matthias Maennich
ff882f5e56 ANDROID: allmodconfig: drop openssl from ADDITIONAL_HOST_TOOLS
This is now provided through the prebuilt build-tools.

Bug: 179516498
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I23152d35944b1efdb7aab9ef6c55aaad2ae1cbed
2021-03-04 20:48:26 +00:00
Matthias Maennich
bce40b72a3 ANDROID: Disable hermetic toolchain for allmodconfig builds
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
2020-12-08 10:07:36 +00:00
Nick Desaulniers
2c71673913 Revert "ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple"
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
2020-11-10 10:53:26 -08:00
Matthias Maennich
6991ab0b2d ANDROID: Enable hermetic toolchain
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>
2020-11-10 11:12:53 +00:00
Nathan Chancellor
97a124b1d1
ANDROID: build.config.allmodconfig: Remove outdated XFS_FS comment
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>
2020-04-16 16:17:56 -07:00
Will McVicker
a74cb90528 ANDROID: fix allmodconfig build to use the right toolchain
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
2020-04-14 15:40:35 +00:00
Quentin Perret
1e984a1b1d ANDROID: Re-enable CONFIG_STM for allmodconfig
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
2020-04-14 14:44:01 +01:00
Quentin Perret
8c8c5eea92 ANDROID: build.config.allmodconfig: Re-enable XFS_FS
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
2020-03-26 13:51:16 +00:00
Quentin Perret
1499e3df63 ANDROID: Don't base allmodconfig on gki_defconfig
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>
2019-12-05 12:39:45 +00:00
Quentin Perret
c4b45e0c40 ANDROID: Disable UNWINDER_ORC for allmodconfig
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>
2019-12-05 12:39:24 +00:00
Alistair Delva
a3b88509ac ANDROID: Remove KVM_INTEL allmodconfig workaround
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>
2019-10-31 10:52:27 -07:00
Alistair Delva
dd88a4a1d5 ANDROID: Fix x86_64 allmodconfig build
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>
2019-10-31 10:52:27 -07:00
Alistair Delva
bacc1ef596 ANDROID: Fix x86_64 allmodconfig build
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>
2019-10-11 14:30:56 +00:00
Quentin Perret
099f0261d9 ANDROID: Fix arm64 allmodconfig build
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
2019-10-02 14:10:09 +01:00
Quentin Perret
bdac6faf2d ANDROID: allmodconfig: Force gki_defconfig as base
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
2019-09-30 16:54:18 +01:00
Matthias Maennich
884416f517 ANDROID: create build.configs for allmodconfig
Bug: 140224784
Change-Id: I920e8737ee596e1b80428ff9831981c775570070
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-09-04 15:49:40 +00:00