Message ID | 4f414a87-0c54-44bd-b218-f6f0b22c57ef@p183 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: flatten KBUILD_CFLAGS | expand |
On Thu, Jul 13, 2023 at 09:52:28PM +0300, Alexey Dobriyan wrote: > Make it slightly easier to see which compiler options are added and > removed (and not worry about column limit too!). > > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > --- > > Makefile | 22 +++++++++++++++++----- > 1 file changed, 17 insertions(+), 5 deletions(-) > > --- a/Makefile > +++ b/Makefile > @@ -555,11 +555,23 @@ LINUXINCLUDE := \ > $(USERINCLUDE) > > KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE > -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ > - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ > - -Werror=implicit-function-declaration -Werror=implicit-int \ > - -Werror=return-type -Wno-format-security -funsigned-char \ > - -std=gnu11 > + > +KBUILD_CFLAGS := > +KBUILD_CFLAGS += -std=gnu11 If you want to put -std at top, on contrast to the sorted options below, you could also merge the two lines above. > +KBUILD_CFLAGS += -fshort-wchar > +KBUILD_CFLAGS += -funsigned-char > +KBUILD_CFLAGS += -fno-common > +KBUILD_CFLAGS += -fno-PIE > +KBUILD_CFLAGS += -fno-strict-aliasing > +KBUILD_CFLAGS += -Wall > +KBUILD_CFLAGS += -Wundef > +KBUILD_CFLAGS += -Werror=implicit-function-declaration > +KBUILD_CFLAGS += -Werror=implicit-int > +KBUILD_CFLAGS += -Werror=return-type > +KBUILD_CFLAGS += -Werror=strict-prototypes > +KBUILD_CFLAGS += -Wno-format-security > +KBUILD_CFLAGS += -Wno-trigraphs > + > KBUILD_CPPFLAGS := -D__KERNEL__ > KBUILD_RUSTFLAGS := $(rust_common_flags) \ > --target=$(objtree)/scripts/target.json \ Thanks for the patch. Reviewed-by: Nicolas Schier <n.schier@avm.de>
On Fri, Jul 14, 2023 at 12:42:11PM +0200, Nicolas Schier wrote: > On Thu, Jul 13, 2023 at 09:52:28PM +0300, Alexey Dobriyan wrote: > > Make it slightly easier to see which compiler options are added and > > removed (and not worry about column limit too!). > > > > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > > --- > > > > Makefile | 22 +++++++++++++++++----- > > 1 file changed, 17 insertions(+), 5 deletions(-) > > > > --- a/Makefile > > +++ b/Makefile > > @@ -555,11 +555,23 @@ LINUXINCLUDE := \ > > $(USERINCLUDE) > > > > KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE > > -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ > > - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ > > - -Werror=implicit-function-declaration -Werror=implicit-int \ > > - -Werror=return-type -Wno-format-security -funsigned-char \ > > - -std=gnu11 > > + > > +KBUILD_CFLAGS := > > +KBUILD_CFLAGS += -std=gnu11 > > If you want to put -std at top, on contrast to the sorted options below, > you could also merge the two lines above. I don't know. Standard choice is arguably the most important option so I put it first. > > +KBUILD_CFLAGS += -fshort-wchar > > +KBUILD_CFLAGS += -funsigned-char > > +KBUILD_CFLAGS += -fno-common > > +KBUILD_CFLAGS += -fno-PIE > > +KBUILD_CFLAGS += -fno-strict-aliasing > > +KBUILD_CFLAGS += -Wall > > +KBUILD_CFLAGS += -Wundef > > +KBUILD_CFLAGS += -Werror=implicit-function-declaration > > +KBUILD_CFLAGS += -Werror=implicit-int > > +KBUILD_CFLAGS += -Werror=return-type > > +KBUILD_CFLAGS += -Werror=strict-prototypes > > +KBUILD_CFLAGS += -Wno-format-security > > +KBUILD_CFLAGS += -Wno-trigraphs
On Fri, Jul 14, 2023 at 08:45:00PM +0300 Alexey Dobriyan wrote: > On Fri, Jul 14, 2023 at 12:42:11PM +0200, Nicolas Schier wrote: > > On Thu, Jul 13, 2023 at 09:52:28PM +0300, Alexey Dobriyan wrote: > > > Make it slightly easier to see which compiler options are added and > > > removed (and not worry about column limit too!). > > > > > > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > > > --- > > > > > > Makefile | 22 +++++++++++++++++----- > > > 1 file changed, 17 insertions(+), 5 deletions(-) > > > > > > --- a/Makefile > > > +++ b/Makefile > > > @@ -555,11 +555,23 @@ LINUXINCLUDE := \ > > > $(USERINCLUDE) > > > > > > KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE > > > -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ > > > - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ > > > - -Werror=implicit-function-declaration -Werror=implicit-int \ > > > - -Werror=return-type -Wno-format-security -funsigned-char \ > > > - -std=gnu11 > > > + > > > +KBUILD_CFLAGS := > > > +KBUILD_CFLAGS += -std=gnu11 > > > > If you want to put -std at top, on contrast to the sorted options below, > > you could also merge the two lines above. > > I don't know. Standard choice is arguably the most important option > so I put it first. yes, I think I would have put it on top, too. I just would write it this way: KBUILD_CFLAGS := -std=gnu11 KBUILD_CFLAGS += ... But it is bike-shedding, ignore it if you're not convinced. Kind regards, Nicolas > > > +KBUILD_CFLAGS += -fshort-wchar > > > +KBUILD_CFLAGS += -funsigned-char > > > +KBUILD_CFLAGS += -fno-common > > > +KBUILD_CFLAGS += -fno-PIE > > > +KBUILD_CFLAGS += -fno-strict-aliasing > > > +KBUILD_CFLAGS += -Wall > > > +KBUILD_CFLAGS += -Wundef > > > +KBUILD_CFLAGS += -Werror=implicit-function-declaration > > > +KBUILD_CFLAGS += -Werror=implicit-int > > > +KBUILD_CFLAGS += -Werror=return-type > > > +KBUILD_CFLAGS += -Werror=strict-prototypes > > > +KBUILD_CFLAGS += -Wno-format-security > > > +KBUILD_CFLAGS += -Wno-trigraphs
On Sat, Jul 15, 2023 at 4:30 AM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Fri, Jul 14, 2023 at 08:45:00PM +0300 Alexey Dobriyan wrote: > > On Fri, Jul 14, 2023 at 12:42:11PM +0200, Nicolas Schier wrote: > > > On Thu, Jul 13, 2023 at 09:52:28PM +0300, Alexey Dobriyan wrote: > > > > Make it slightly easier to see which compiler options are added and > > > > removed (and not worry about column limit too!). > > > > > > > > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > > > > --- > > > > > > > > Makefile | 22 +++++++++++++++++----- > > > > 1 file changed, 17 insertions(+), 5 deletions(-) > > > > > > > > --- a/Makefile > > > > +++ b/Makefile > > > > @@ -555,11 +555,23 @@ LINUXINCLUDE := \ > > > > $(USERINCLUDE) > > > > > > > > KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE > > > > -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ > > > > - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ > > > > - -Werror=implicit-function-declaration -Werror=implicit-int \ > > > > - -Werror=return-type -Wno-format-security -funsigned-char \ > > > > - -std=gnu11 > > > > + > > > > +KBUILD_CFLAGS := > > > > +KBUILD_CFLAGS += -std=gnu11 > > > > > > If you want to put -std at top, on contrast to the sorted options below, > > > you could also merge the two lines above. > > > > I don't know. Standard choice is arguably the most important option > > so I put it first. > > yes, I think I would have put it on top, too. I just would write it this way: > > KBUILD_CFLAGS := -std=gnu11 > > KBUILD_CFLAGS += ... > > But it is bike-shedding, ignore it if you're not convinced. > > Kind regards, > Nicolas Starting line 813, we have more and more "KBUILD_CFLAGS +=" lines. I thought we perhaps could merge them in a single place. (but "KBUILD_CFLAGS := " still must come before "export KBUILD_CFLAGS") [move everything to line 813] KBUILD_CFLAGS += -std=gnu11 KBUILD_CFLAGS += -fshort-wchar KBUILD_CFLAGS += -funsigned-char KBUILD_CFLAGS += -fno-common KBUILD_CFLAGS += -fno-PIE KBUILD_CFLAGS += -fno-strict-aliasing KBUILD_CFLAGS += -Wall KBUILD_CFLAGS += -Wundef KBUILD_CFLAGS += -Werror=implicit-function-declaration KBUILD_CFLAGS += -Werror=implicit-int KBUILD_CFLAGS += -Werror=return-type KBUILD_CFLAGS += -Werror=strict-prototypes KBUILD_CFLAGS += -Wno-format-security KBUILD_CFLAGS += -Wno-trigraphs KBUILD_CFLAGS += -fno-delete-null-pointer-checks KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,) KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation) KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow) KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) ... That will change the order of compiler options because they cross line 760 include $(srctree)/arch/$(SRCARCH)/Makefile So, I think the patch is fine if we try to be safe.
On Sat, Jul 15, 2023 at 2:45 AM Alexey Dobriyan <adobriyan@gmail.com> wrote: > > On Fri, Jul 14, 2023 at 12:42:11PM +0200, Nicolas Schier wrote: > > On Thu, Jul 13, 2023 at 09:52:28PM +0300, Alexey Dobriyan wrote: > > > Make it slightly easier to see which compiler options are added and > > > removed (and not worry about column limit too!). > > > > > > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> > > > --- > > > > > > Makefile | 22 +++++++++++++++++----- > > > 1 file changed, 17 insertions(+), 5 deletions(-) > > > > > > --- a/Makefile > > > +++ b/Makefile > > > @@ -555,11 +555,23 @@ LINUXINCLUDE := \ > > > $(USERINCLUDE) > > > > > > KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE > > > -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ > > > - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ > > > - -Werror=implicit-function-declaration -Werror=implicit-int \ > > > - -Werror=return-type -Wno-format-security -funsigned-char \ > > > - -std=gnu11 > > > + > > > +KBUILD_CFLAGS := > > > +KBUILD_CFLAGS += -std=gnu11 > > > > If you want to put -std at top, on contrast to the sorted options below, > > you could also merge the two lines above. > > I don't know. Standard choice is arguably the most important option > so I put it first. > > > > +KBUILD_CFLAGS += -fshort-wchar > > > +KBUILD_CFLAGS += -funsigned-char > > > +KBUILD_CFLAGS += -fno-common > > > +KBUILD_CFLAGS += -fno-PIE > > > +KBUILD_CFLAGS += -fno-strict-aliasing > > > +KBUILD_CFLAGS += -Wall > > > +KBUILD_CFLAGS += -Wundef > > > +KBUILD_CFLAGS += -Werror=implicit-function-declaration > > > +KBUILD_CFLAGS += -Werror=implicit-int > > > +KBUILD_CFLAGS += -Werror=return-type > > > +KBUILD_CFLAGS += -Werror=strict-prototypes > > > +KBUILD_CFLAGS += -Wno-format-security > > > +KBUILD_CFLAGS += -Wno-trigraphs Applied to linux-kbuild. Thanks.
--- a/Makefile +++ b/Makefile @@ -555,11 +555,23 @@ LINUXINCLUDE := \ $(USERINCLUDE) KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE -KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ - -Werror=implicit-function-declaration -Werror=implicit-int \ - -Werror=return-type -Wno-format-security -funsigned-char \ - -std=gnu11 + +KBUILD_CFLAGS := +KBUILD_CFLAGS += -std=gnu11 +KBUILD_CFLAGS += -fshort-wchar +KBUILD_CFLAGS += -funsigned-char +KBUILD_CFLAGS += -fno-common +KBUILD_CFLAGS += -fno-PIE +KBUILD_CFLAGS += -fno-strict-aliasing +KBUILD_CFLAGS += -Wall +KBUILD_CFLAGS += -Wundef +KBUILD_CFLAGS += -Werror=implicit-function-declaration +KBUILD_CFLAGS += -Werror=implicit-int +KBUILD_CFLAGS += -Werror=return-type +KBUILD_CFLAGS += -Werror=strict-prototypes +KBUILD_CFLAGS += -Wno-format-security +KBUILD_CFLAGS += -Wno-trigraphs + KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_RUSTFLAGS := $(rust_common_flags) \ --target=$(objtree)/scripts/target.json \
Make it slightly easier to see which compiler options are added and removed (and not worry about column limit too!). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- Makefile | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-)