kernel defconfig: what to do about compiler options |
|||
Issue descriptionCopied from the desc of CL:1330711: It appears that upstream now accounts for your compiler version in your config. This means that the kernel config that we're using isn't what's actually in our split config. --- While one can argue about the pros and cons of the split config, it is what we have right now. Unless we convince ourselves that we should move to something else, we need to figure out what to do here, especially since some config options we might want might _depend_ on the compiler. For now I'm proposing that on kernel 4.19 and above we force running "olddefconfig" in the chroot using all the correct compilers. --- See <https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1330711> for the proposal.
,
Jan 19
(3 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a40c0124da7a1b7d91521b5a2a135592df0ae75f commit a40c0124da7a1b7d91521b5a2a135592df0ae75f Author: Douglas Anderson <dianders@chromium.org> Date: Sat Jan 19 08:13:40 2019 CHROMIUM: scripts: Account for clang in the kernel config scripts It appears that upstream now accounts for your compiler version in your config. This means that the kernel config that we're using isn't what's actually in our split config. Given that the compiler version / options affect the config, we should enforce working with the split config to use the same compiler version that the kernel will be compiled on. This makes it very clear what our options will be and also allows us to enable config options that might only be available with certain compilers. One big downside here is that you'll only be able to normalize the config if you've got _all_ the cross compilers installed. You'll also only be able to normalize inside the chroot. NOTE: there's some duplication here with the cros-kernel2.eclass and various overlays in terms of deciding what compiler will be used. I'm not sure how to fix this without turning the config normalization into an ebuild command. ALSO NOTE: If there is some case where someone will need to compile the kernel with a different compiler (maybe by specifying USE flags) things should still be OK. The kernel config system should adapt the config at build time. BUG= chromium:919701 TEST=Normalize the config and see that it looks sane. Change-Id: I47fc378e4a7a34352a598a3df3d722d189485a5c Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1330711 Reviewed-by: Yu Zhao <yuzhao@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/a40c0124da7a1b7d91521b5a2a135592df0ae75f/chromeos/scripts/kernelconfig
,
Jan 19
(3 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41 commit 1632a6e133a57786b3de0c1c0e2c9ebcc0240a41 Author: Douglas Anderson <dianders@chromium.org> Date: Sat Jan 19 08:13:42 2019 CHROMIUM: config: Normalize (clang vs gcc) After CL:1330711 ("CHROMIUM: scripts: Account for clang in the kernel config scripts") we need a normalization. Do it. BUG= chromium:919701 TEST=Build and boot Change-Id: Idf6370bafe7f3e3ef4df14a1a42b845176452249 Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1330712 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41/chromeos/config/x86_64/common.config [modify] https://crrev.com/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41/chromeos/config/i386/common.config [modify] https://crrev.com/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41/chromeos/config/base.config [modify] https://crrev.com/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41/chromeos/config/armel/common.config [modify] https://crrev.com/1632a6e133a57786b3de0c1c0e2c9ebcc0240a41/chromeos/config/arm64/common.config
,
Jan 19
(3 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2cf2c17c8a4398bb494b2996818bcc617d3ad3c6 commit 2cf2c17c8a4398bb494b2996818bcc617d3ad3c6 Author: Douglas Anderson <dianders@chromium.org> Date: Sat Jan 19 08:13:51 2019 CHROMIUM: config: Normalize (KCOV, CC_HAS_SANCOV_TRACE_PC) CL:1327385 ("CHROMIUM: config: Normalize configs") took these lines out of the split config with no explanation. When I normalize they show back up. Presuambly this shows the value of chromium:919701. Specifically the person running the normalization must have been running somewhere that caused gcc to report 'CONFIG_CC_HAS_SANCOV_TRACE_PC' was off. BUG=b:119247359, chromium:919701 TEST=Build and boot Change-Id: I153b5cb106fdcc0788ef6cb9ee2cbb227ec1a2c7 Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1422864 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/2cf2c17c8a4398bb494b2996818bcc617d3ad3c6/chromeos/config/x86_64/common.config [modify] https://crrev.com/2cf2c17c8a4398bb494b2996818bcc617d3ad3c6/chromeos/config/base.config [modify] https://crrev.com/2cf2c17c8a4398bb494b2996818bcc617d3ad3c6/chromeos/config/armel/common.config [modify] https://crrev.com/2cf2c17c8a4398bb494b2996818bcc617d3ad3c6/chromeos/config/arm64/common.config
,
Jan 19
(3 days ago)
|
|||
►
Sign in to add a comment |
|||
Comment 1 by swboyd@chromium.org
, Jan 9