2018-07-09 19:10 GMT+09:00 Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>: > 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? Yes, targeting for 4.19-rc1. -- Best Regards Masahiro Yamada -- 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