Messages in this thread | | | From | Masahiro Yamada <> | Date | Sat, 7 Jul 2018 10:21:47 +0900 | Subject | Re: 4.17.x won't boot due to "x86/boot/compressed/64: Handle 5-level paging boot if kernel is above 4G" |
| |
2018-07-07 1:29 GMT+09:00 Kirill A. Shutemov <kirill@shutemov.name>: > 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.
> and start of this thread: > > https://lore.kernel.org/lkml/20180701213243.GA20180@trogon.sfo.coreos.systems/ > > It took me a while to track down the issue. I blamed linker for a while. > >> > I've got it wrong. *Any* LDFLAGS option passed to make this way: >> > >> > make LDFLAGS="..." >> >> In your previous mail, I thought you were asking me how to pass >> custom linker flags. >> >> If not, we do not need to think about that case. >> Just say "Do not do that". > > At least we need to make user aware about risk of setting custom flags. > > -- > Kirill A. Shutemov
-- Best Regards Masahiro Yamada
| |