Commit Graph

19 Commits

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

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

Bug: 261962742
Fixes: eb57c31115051 ("ANDROID: allmodconfig: disable WERROR")
(cherry picked from commit d19f8758ae7732b14fd85e97c66dec2855d3be73)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I0106dcd43d7e4b4e20ac768f3faac40285bc837b
2023-01-26 11:34:37 +00:00
Greg Kroah-Hartman
7c31ae524c 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
(cherry picked from commit eb57c31115051c5404d1bb1f2daec20e051b0287)
Signed-off-by: Alistair Delva <adelva@google.com>
2023-01-09 19:34:08 +00:00
Matthias Maennich
59bb441b1d 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:17 +00:00
Sami Tolvanen
7bce37ec80 ANDROID: Disable dynamic ftrace for allmodconfig builds
With LTO, upstream prefers to generate __mcount_loc sections with
objtool, which depends on libelf-dev that's not available in the CI.
Disable DYNAMIC_FTRACE from allmodconfig builds temporarily to work
around the problem.

Bug: 140224784
Bug: 145210207
Change-Id: I42ae99ab0a32ca3e7dcec6eae5a3e5df4b23f0d3
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2020-12-16 08:56:36 -08: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