On Thu, Apr 02, 2020 at 12:31:36PM -0700, Andrii Nakryiko wrote: > On Thu, Apr 2, 2020 at 8:40 AM Slava Bacherikov <slava@xxxxxxxxxxxx> wrote: > > > > > > > > 02.04.2020 18:33, Slava Bacherikov wrote: > > > + depends on DEBUG_INFO || COMPILE_TEST > > > > Andrii are you fine by this ? > > I think it needs a good comment explaining this weirdness, at least. > As I said, if there is no DEBUG_INFO, there is not point in doing > DWARF-to-BTF conversion, even more -- it actually might fail, I > haven't checked what pahole does in that case. So I'd rather drop > GCC_PLUGIN_RANDSTRUCT is that's the issue here. DEBUG_INFO_SPLIT and > DEBUG_INFO_REDUCED look good. The DEBUG_INFO is separate, AIUI -- it sounds like BTF may entirely break on a compile with weird DWARF configs. The GCC_PLUGIN_RANDSTRUCT issue is separate: it doesn't make sense to run a kernel built with BTF and GCC_PLUGIN_RANDSTRUCT. But they should have nothing to do with each other with regard to compilation. So, to keep GCC_PLUGIN_RANDSTRUCT disable for "real" builds but leave it on for all*config, randconfig, etc, I'd like to keep the || COMPILE_TEST, otherwise GCC_PLUGIN_RANDSTRUCT won't be part of the many CIs doing compilation testing. And FWIW, I'm fine to let GCC_PLUGIN_RANDSTRUCT and BTF build together. But if they want to be depends-conflicted, I wanted to keep the test compile trap door. -- Kees Cook