Message ID | 1545836068-7824-1-git-send-email-william.c.roberts@intel.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [V2,1/3] Makefile: fix _FORTIFY_SOURCE redefined build error | expand |
On Wed, Dec 26, 2018 at 06:54:26AM -0800, bill.c.roberts@gmail.com wrote: > From: William Roberts <william.c.roberts@intel.com> > > Certain builds of gcc enable _FORTIFY_SOURCE which results in the error: > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined > <command-line>:0:0: note: this is the location of the previous definition > > Correct this by undefining it first and redefining it. Also, the previous > command line option was using -Wp which is passing the value *AS IS* to the > pre-processor rather than to the compiler driver. The C pre-processor has > an undocumented interface subject to change per man 1 gcc. Just use the > -D option to specify this value. > > Signed-off-by: William Roberts <william.c.roberts@intel.com> Acked-by: Jason Zaman <jason@perfinion.com> The whole series looks good to me, go ahead and apply it. I dont think the other parts have had _FORTIFY_SOURCE so after next release (probably too soon to apply it now?) we might want to add these same warnings to everything else not only libselinux. -- Jason > --- > libselinux/src/Makefile | 2 +- > libselinux/utils/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile > index 977b5c8cfcca..6263d11393e6 100644 > --- a/libselinux/src/Makefile > +++ b/libselinux/src/Makefile > @@ -64,7 +64,7 @@ ifeq ($(COMPILER), gcc) > EXTRA_CFLAGS = -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \ > -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \ > -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \ > - -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE > + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE > else > EXTRA_CFLAGS = -Wunused-command-line-argument > endif > diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile > index d06ffd66893b..890ff36f3bbc 100644 > --- a/libselinux/utils/Makefile > +++ b/libselinux/utils/Makefile > @@ -30,7 +30,7 @@ CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissi > -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \ > -Woverflow -Wpointer-to-int-cast -Wpragmas \ > -Wno-missing-field-initializers -Wno-sign-compare \ > - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE \ > + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE \ > -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \ > -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \ > -Werror -Wno-aggregate-return -Wno-redundant-decls \ > -- > 2.7.4 >
On Thu, Dec 27, 2018 at 6:29 AM Jason Zaman <jason@perfinion.com> wrote: > > On Wed, Dec 26, 2018 at 06:54:26AM -0800, bill.c.roberts@gmail.com wrote: > > From: William Roberts <william.c.roberts@intel.com> > > > > Certain builds of gcc enable _FORTIFY_SOURCE which results in the error: > > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined > > <command-line>:0:0: note: this is the location of the previous definition > > > > Correct this by undefining it first and redefining it. Also, the previous > > command line option was using -Wp which is passing the value *AS IS* to the > > pre-processor rather than to the compiler driver. The C pre-processor has > > an undocumented interface subject to change per man 1 gcc. Just use the > > -D option to specify this value. > > > > Signed-off-by: William Roberts <william.c.roberts@intel.com> > > Acked-by: Jason Zaman <jason@perfinion.com> merged: https://github.com/SELinuxProject/selinux/pull/120 > > The whole series looks good to me, go ahead and apply it. I dont think > the other parts have had _FORTIFY_SOURCE so after next release (probably > too soon to apply it now?) we might want to add these same warnings to > everything else not only libselinux. > > -- Jason > > > --- > > libselinux/src/Makefile | 2 +- > > libselinux/utils/Makefile | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile > > index 977b5c8cfcca..6263d11393e6 100644 > > --- a/libselinux/src/Makefile > > +++ b/libselinux/src/Makefile > > @@ -64,7 +64,7 @@ ifeq ($(COMPILER), gcc) > > EXTRA_CFLAGS = -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \ > > -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \ > > -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \ > > - -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE > > + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE > > else > > EXTRA_CFLAGS = -Wunused-command-line-argument > > endif > > diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile > > index d06ffd66893b..890ff36f3bbc 100644 > > --- a/libselinux/utils/Makefile > > +++ b/libselinux/utils/Makefile > > @@ -30,7 +30,7 @@ CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissi > > -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \ > > -Woverflow -Wpointer-to-int-cast -Wpragmas \ > > -Wno-missing-field-initializers -Wno-sign-compare \ > > - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE \ > > + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE \ > > -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \ > > -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \ > > -Werror -Wno-aggregate-return -Wno-redundant-decls \ > > -- > > 2.7.4 > >
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile index 977b5c8cfcca..6263d11393e6 100644 --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile @@ -64,7 +64,7 @@ ifeq ($(COMPILER), gcc) EXTRA_CFLAGS = -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \ -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \ - -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE else EXTRA_CFLAGS = -Wunused-command-line-argument endif diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile index d06ffd66893b..890ff36f3bbc 100644 --- a/libselinux/utils/Makefile +++ b/libselinux/utils/Makefile @@ -30,7 +30,7 @@ CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissi -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \ -Woverflow -Wpointer-to-int-cast -Wpragmas \ -Wno-missing-field-initializers -Wno-sign-compare \ - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE \ + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE \ -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \ -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \ -Werror -Wno-aggregate-return -Wno-redundant-decls \