On Thu, Mar 4, 2021 at 6:45 AM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > On Wed, Mar 03, 2021 at 12:56:52PM -0800, Linus Torvalds wrote: > > On Wed, Mar 3, 2021 at 12:24 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > > > > > Your nack is for a different reason: GCC plugins are second-class > > > citizens. Fair enough... > > > > MNo, I didn't NAK it. Quite the reverser. > > > > I am ABSOLUTELY against rebuilding normal object files just because > > gcc versions change. A compiler version change makes zero difference > > for any normal object file. > > > > But the gcc plugins are different. They very much _are_ tied to a > > particular gcc version. > > > > Now, they are tied to a particular gcc version because they are > > horribly badly done, and bad technology, and I went off on a bit of a > > rant about just how bad they are, but the point is that gcc plugins > > depend on the exact gcc version in ways that normal object files do > > _not_. > > Thanks, reading comprehension is hard. I realized after re-reading that > I interpreted your "plugins should depend on the kernel version" > statement too broadly. > > Masahiro, any idea how I can make the GCC version a build dependency? I agree with rebuilding GCC plugins when the compiler is upgraded for *in-tree* building. Linus had reported it a couple of months before, and I just submitted a very easy fix. Rebuilding plugins for external modules is not easy; plugins are placed in the read-only directory, /usr/src/linux-headers-$(uname -r)/scripts/gcc-plugins/. The external modules must not (cannot) update in-tree build artifacts. "Rebuild" means creating copies in a different writable directory. Doing that requires a lot of design changes. -- Best Regards Masahiro Yamada