On Sat, Jul 07, 2018 at 10:21:47AM +0900, Masahiro Yamada wrote: > 2018-07-07 1:29 GMT+09:00 Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>: > > On Fri, Jul 06, 2018 at 11:13:02PM +0900, Masahiro Yamada wrote: > >> >> LDFLAGS is for internal-use. > >> >> Please do not override it from the command line. > >> > > >> > Can we generate a build error if a user try to override LDFLAGS, CFLAGS or > >> > other critical internal-use-only variables? > >> > >> Yes, Make can check where variables came from. > > > > I think we should do this. > > > >> >> make LDFLAGS_KERNEL=... LDFLAGS_MODULE=... > >> >> will allow you to append linker flags. > >> > > >> > Okay. It makes me wounder if we should taint kernel in such cases? > >> > Custom compiler/linker flags are risky and can lead to weird bugs. > >> > >> OK. > >> So, what problem are we discussing? > > > > Users set custom LDFLAGS/CFLAGS and break kernel. Then report bug that > > hard to debug. See > > > > https://bugzilla.kernel.org/show_bug.cgi?id=200385 > > > CFLAGS is only used under tools/. > Passing CFLAGS is probably no effect to the kernel. > > In Linux makefiles, > KBUILD_ prefixed variables are used internally. > > KBUILD_CFLAGS, KBUILD_CPPFLAGS, KBUILD_AFLAGS, etc. > > > LDFLAGS is an exception. I do not know why. > Renaming LDFLAGS to KBUILD_LDFLAGS > will make the code consistent. > > At least, it will avoid overriding flags by accident. > > Of course, users still can change KBUILD_LDFLAGS > if they really want. > > The build system could add belt and braces checks for that, > but it is arguable since > there are lots of lots of internal variables. I think renaming LDFLAGS to KBUILD_LDFLAGS is good idea. Would you prepare patch? -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-x86_64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html