* [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
@ 2014-02-07 17:15 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-07 17:15 UTC (permalink / raw)
To: linux-kernel; +Cc: Markos Chandras, Michal Marek, linux-kbuild
In case the compiler does not support the stack-protector option,
unset the flag to avoid build failures. Printing a warning is enough
to let the user know that this flag will not be used.
Fixes the following build problem when using a toolchain which does
not support the -fstack-protector-strong flag:
Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
-fstack-protector-strong not supported by compiler
mips-linux-gnu-gcc: error: unrecognized command line option
'-fstack-protector-strong'
scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
make[2]: *** [scripts/mod/empty.o] Error 1
make[2]: *** Waiting for unfinished jobs....
scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
Cc: Michal Marek <mmarek@suse.cz>
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 606ef7c..63a5333 100644
--- a/Makefile
+++ b/Makefile
@@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
-fstack-protector not supported by compiler))
+ stackp-flag :=
endif
else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
stackp-flag := -fstack-protector-strong
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
-fstack-protector-strong not supported by compiler)
+ stackp-flag :=
endif
else
# Force off for distro compilers that enable stack protector by default.
--
1.8.5.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
@ 2014-02-07 17:15 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-07 17:15 UTC (permalink / raw)
To: linux-kernel; +Cc: Markos Chandras, Michal Marek, linux-kbuild
In case the compiler does not support the stack-protector option,
unset the flag to avoid build failures. Printing a warning is enough
to let the user know that this flag will not be used.
Fixes the following build problem when using a toolchain which does
not support the -fstack-protector-strong flag:
Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
-fstack-protector-strong not supported by compiler
mips-linux-gnu-gcc: error: unrecognized command line option
'-fstack-protector-strong'
scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
make[2]: *** [scripts/mod/empty.o] Error 1
make[2]: *** Waiting for unfinished jobs....
scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
Cc: Michal Marek <mmarek@suse.cz>
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 606ef7c..63a5333 100644
--- a/Makefile
+++ b/Makefile
@@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
-fstack-protector not supported by compiler))
+ stackp-flag :=
endif
else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
stackp-flag := -fstack-protector-strong
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
-fstack-protector-strong not supported by compiler)
+ stackp-flag :=
endif
else
# Force off for distro compilers that enable stack protector by default.
--
1.8.5.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
2014-02-07 17:15 ` Markos Chandras
@ 2014-02-13 11:04 ` Markos Chandras
-1 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-13 11:04 UTC (permalink / raw)
To: linux-kernel; +Cc: Michal Marek, linux-kbuild
On 02/07/2014 05:15 PM, Markos Chandras wrote:
> In case the compiler does not support the stack-protector option,
> unset the flag to avoid build failures. Printing a warning is enough
> to let the user know that this flag will not be used.
> Fixes the following build problem when using a toolchain which does
> not support the -fstack-protector-strong flag:
>
> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
> -fstack-protector-strong not supported by compiler
> mips-linux-gnu-gcc: error: unrecognized command line option
> '-fstack-protector-strong'
> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>
> Cc: Michal Marek <mmarek@suse.cz>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 606ef7c..63a5333 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
> -fstack-protector not supported by compiler))
> + stackp-flag :=
> endif
> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
> stackp-flag := -fstack-protector-strong
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
> -fstack-protector-strong not supported by compiler)
> + stackp-flag :=
> endif
> else
> # Force off for distro compilers that enable stack protector by default.
>
Hi,
ping?
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
@ 2014-02-13 11:04 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-13 11:04 UTC (permalink / raw)
To: linux-kernel; +Cc: Michal Marek, linux-kbuild
On 02/07/2014 05:15 PM, Markos Chandras wrote:
> In case the compiler does not support the stack-protector option,
> unset the flag to avoid build failures. Printing a warning is enough
> to let the user know that this flag will not be used.
> Fixes the following build problem when using a toolchain which does
> not support the -fstack-protector-strong flag:
>
> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
> -fstack-protector-strong not supported by compiler
> mips-linux-gnu-gcc: error: unrecognized command line option
> '-fstack-protector-strong'
> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>
> Cc: Michal Marek <mmarek@suse.cz>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 606ef7c..63a5333 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
> -fstack-protector not supported by compiler))
> + stackp-flag :=
> endif
> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
> stackp-flag := -fstack-protector-strong
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
> -fstack-protector-strong not supported by compiler)
> + stackp-flag :=
> endif
> else
> # Force off for distro compilers that enable stack protector by default.
>
Hi,
ping?
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
2014-02-07 17:15 ` Markos Chandras
@ 2014-02-20 12:46 ` Markos Chandras
-1 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-20 12:46 UTC (permalink / raw)
To: linux-kernel; +Cc: Michal Marek, linux-kbuild, Markos Chandras
On 02/07/2014 05:15 PM, Markos Chandras wrote:
> In case the compiler does not support the stack-protector option,
> unset the flag to avoid build failures. Printing a warning is enough
> to let the user know that this flag will not be used.
> Fixes the following build problem when using a toolchain which does
> not support the -fstack-protector-strong flag:
>
> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
> -fstack-protector-strong not supported by compiler
> mips-linux-gnu-gcc: error: unrecognized command line option
> '-fstack-protector-strong'
> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>
> Cc: Michal Marek <mmarek@suse.cz>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 606ef7c..63a5333 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
> -fstack-protector not supported by compiler))
> + stackp-flag :=
> endif
> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
> stackp-flag := -fstack-protector-strong
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
> -fstack-protector-strong not supported by compiler)
> + stackp-flag :=
> endif
> else
> # Force off for distro compilers that enable stack protector by default.
>
Ping again?
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
@ 2014-02-20 12:46 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-20 12:46 UTC (permalink / raw)
To: linux-kernel; +Cc: Michal Marek, linux-kbuild, Markos Chandras
On 02/07/2014 05:15 PM, Markos Chandras wrote:
> In case the compiler does not support the stack-protector option,
> unset the flag to avoid build failures. Printing a warning is enough
> to let the user know that this flag will not be used.
> Fixes the following build problem when using a toolchain which does
> not support the -fstack-protector-strong flag:
>
> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
> -fstack-protector-strong not supported by compiler
> mips-linux-gnu-gcc: error: unrecognized command line option
> '-fstack-protector-strong'
> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
> make[2]: *** [scripts/mod/empty.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>
> Cc: Michal Marek <mmarek@suse.cz>
> Cc: linux-kbuild@vger.kernel.org
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 606ef7c..63a5333 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
> -fstack-protector not supported by compiler))
> + stackp-flag :=
> endif
> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
> stackp-flag := -fstack-protector-strong
> ifeq ($(call cc-option, $(stackp-flag)),)
> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
> -fstack-protector-strong not supported by compiler)
> + stackp-flag :=
> endif
> else
> # Force off for distro compilers that enable stack protector by default.
>
Ping again?
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
2014-02-20 12:46 ` Markos Chandras
(?)
@ 2014-02-20 12:53 ` Richard Weinberger
2014-02-20 13:53 ` Markos Chandras
-1 siblings, 1 reply; 10+ messages in thread
From: Richard Weinberger @ 2014-02-20 12:53 UTC (permalink / raw)
To: Markos Chandras; +Cc: LKML, Michal Marek, linux-kbuild
On Thu, Feb 20, 2014 at 1:46 PM, Markos Chandras
<Markos.Chandras@imgtec.com> wrote:
> On 02/07/2014 05:15 PM, Markos Chandras wrote:
>>
>> In case the compiler does not support the stack-protector option,
>> unset the flag to avoid build failures. Printing a warning is enough
>> to let the user know that this flag will not be used.
>> Fixes the following build problem when using a toolchain which does
>> not support the -fstack-protector-strong flag:
>>
>> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
>> -fstack-protector-strong not supported by compiler
>> mips-linux-gnu-gcc: error: unrecognized command line option
>> '-fstack-protector-strong'
>> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
>> make[2]: *** [scripts/mod/empty.o] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>>
>> Cc: Michal Marek <mmarek@suse.cz>
>> Cc: linux-kbuild@vger.kernel.org
>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>> ---
>> Makefile | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index 606ef7c..63a5333 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
>> ifeq ($(call cc-option, $(stackp-flag)),)
>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
>> -fstack-protector not supported by compiler))
>> + stackp-flag :=
>> endif
>> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
>> stackp-flag := -fstack-protector-strong
>> ifeq ($(call cc-option, $(stackp-flag)),)
>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
>> -fstack-protector-strong not supported by compiler)
>> + stackp-flag :=
>> endif
>> else
>> # Force off for distro compilers that enable stack protector by
>> default.
>>
>
> Ping again?
This is by design. We want the build fail if
CONFIG_CC_STACKPROTECTOR_STRONG is set
but the toolchain does not support it.
Otherwise we could end up with a kernel without stackprotector even if
the config symbol is set.
--
Thanks,
//richard
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
2014-02-20 12:53 ` Richard Weinberger
@ 2014-02-20 13:53 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-20 13:53 UTC (permalink / raw)
To: Richard Weinberger; +Cc: LKML, Michal Marek, linux-kbuild
On 02/20/2014 12:53 PM, Richard Weinberger wrote:
> On Thu, Feb 20, 2014 at 1:46 PM, Markos Chandras
> <Markos.Chandras@imgtec.com> wrote:
>> On 02/07/2014 05:15 PM, Markos Chandras wrote:
>>>
>>> In case the compiler does not support the stack-protector option,
>>> unset the flag to avoid build failures. Printing a warning is enough
>>> to let the user know that this flag will not be used.
>>> Fixes the following build problem when using a toolchain which does
>>> not support the -fstack-protector-strong flag:
>>>
>>> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
>>> -fstack-protector-strong not supported by compiler
>>> mips-linux-gnu-gcc: error: unrecognized command line option
>>> '-fstack-protector-strong'
>>> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
>>> make[2]: *** [scripts/mod/empty.o] Error 1
>>> make[2]: *** Waiting for unfinished jobs....
>>> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>>>
>>> Cc: Michal Marek <mmarek@suse.cz>
>>> Cc: linux-kbuild@vger.kernel.org
>>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>>> ---
>>> Makefile | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index 606ef7c..63a5333 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
>>> -fstack-protector not supported by compiler))
>>> + stackp-flag :=
>>> endif
>>> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
>>> stackp-flag := -fstack-protector-strong
>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
>>> -fstack-protector-strong not supported by compiler)
>>> + stackp-flag :=
>>> endif
>>> else
>>> # Force off for distro compilers that enable stack protector by
>>> default.
>>>
>>
>> Ping again?
>
> This is by design. We want the build fail if
> CONFIG_CC_STACKPROTECTOR_STRONG is set
> but the toolchain does not support it.
> Otherwise we could end up with a kernel without stackprotector even if
> the config symbol is set.
>
Hi Richard,
Then maybe the $(warning...) should be converted to $(error...)?
Because it's not really a warning if the build failure is expected to
happen.
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
@ 2014-02-20 13:53 ` Markos Chandras
0 siblings, 0 replies; 10+ messages in thread
From: Markos Chandras @ 2014-02-20 13:53 UTC (permalink / raw)
To: Richard Weinberger; +Cc: LKML, Michal Marek, linux-kbuild
On 02/20/2014 12:53 PM, Richard Weinberger wrote:
> On Thu, Feb 20, 2014 at 1:46 PM, Markos Chandras
> <Markos.Chandras@imgtec.com> wrote:
>> On 02/07/2014 05:15 PM, Markos Chandras wrote:
>>>
>>> In case the compiler does not support the stack-protector option,
>>> unset the flag to avoid build failures. Printing a warning is enough
>>> to let the user know that this flag will not be used.
>>> Fixes the following build problem when using a toolchain which does
>>> not support the -fstack-protector-strong flag:
>>>
>>> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
>>> -fstack-protector-strong not supported by compiler
>>> mips-linux-gnu-gcc: error: unrecognized command line option
>>> '-fstack-protector-strong'
>>> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
>>> make[2]: *** [scripts/mod/empty.o] Error 1
>>> make[2]: *** Waiting for unfinished jobs....
>>> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>>>
>>> Cc: Michal Marek <mmarek@suse.cz>
>>> Cc: linux-kbuild@vger.kernel.org
>>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>>> ---
>>> Makefile | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index 606ef7c..63a5333 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
>>> -fstack-protector not supported by compiler))
>>> + stackp-flag :=
>>> endif
>>> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
>>> stackp-flag := -fstack-protector-strong
>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
>>> -fstack-protector-strong not supported by compiler)
>>> + stackp-flag :=
>>> endif
>>> else
>>> # Force off for distro compilers that enable stack protector by
>>> default.
>>>
>>
>> Ping again?
>
> This is by design. We want the build fail if
> CONFIG_CC_STACKPROTECTOR_STRONG is set
> but the toolchain does not support it.
> Otherwise we could end up with a kernel without stackprotector even if
> the config symbol is set.
>
Hi Richard,
Then maybe the $(warning...) should be converted to $(error...)?
Because it's not really a warning if the build failure is expected to
happen.
--
markos
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported
2014-02-20 13:53 ` Markos Chandras
(?)
@ 2014-02-20 13:57 ` Richard Weinberger
-1 siblings, 0 replies; 10+ messages in thread
From: Richard Weinberger @ 2014-02-20 13:57 UTC (permalink / raw)
To: Markos Chandras; +Cc: LKML, Michal Marek, linux-kbuild
Am 20.02.2014 14:53, schrieb Markos Chandras:
> On 02/20/2014 12:53 PM, Richard Weinberger wrote:
>> On Thu, Feb 20, 2014 at 1:46 PM, Markos Chandras
>> <Markos.Chandras@imgtec.com> wrote:
>>> On 02/07/2014 05:15 PM, Markos Chandras wrote:
>>>>
>>>> In case the compiler does not support the stack-protector option,
>>>> unset the flag to avoid build failures. Printing a warning is enough
>>>> to let the user know that this flag will not be used.
>>>> Fixes the following build problem when using a toolchain which does
>>>> not support the -fstack-protector-strong flag:
>>>>
>>>> Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG:
>>>> -fstack-protector-strong not supported by compiler
>>>> mips-linux-gnu-gcc: error: unrecognized command line option
>>>> '-fstack-protector-strong'
>>>> scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed
>>>> make[2]: *** [scripts/mod/empty.o] Error 1
>>>> make[2]: *** Waiting for unfinished jobs....
>>>> scripts/Makefile.build:455: recipe for target 'scripts/mod' failed
>>>>
>>>> Cc: Michal Marek <mmarek@suse.cz>
>>>> Cc: linux-kbuild@vger.kernel.org
>>>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>>>> ---
>>>> Makefile | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/Makefile b/Makefile
>>>> index 606ef7c..63a5333 100644
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
>>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
>>>> -fstack-protector not supported by compiler))
>>>> + stackp-flag :=
>>>> endif
>>>> else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
>>>> stackp-flag := -fstack-protector-strong
>>>> ifeq ($(call cc-option, $(stackp-flag)),)
>>>> $(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
>>>> -fstack-protector-strong not supported by compiler)
>>>> + stackp-flag :=
>>>> endif
>>>> else
>>>> # Force off for distro compilers that enable stack protector by
>>>> default.
>>>>
>>>
>>> Ping again?
>>
>> This is by design. We want the build fail if
>> CONFIG_CC_STACKPROTECTOR_STRONG is set
>> but the toolchain does not support it.
>> Otherwise we could end up with a kernel without stackprotector even if
>> the config symbol is set.
>>
>
> Hi Richard,
>
> Then maybe the $(warning...) should be converted to $(error...)?
> Because it's not really a warning if the build failure is expected to happen.
No. This would break silentoldconfig.
Thanks,
//richard
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-02-20 13:57 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-07 17:15 [PATCH] Makefile: Unset stack-protector gcc flag if it is not supported Markos Chandras
2014-02-07 17:15 ` Markos Chandras
2014-02-13 11:04 ` Markos Chandras
2014-02-13 11:04 ` Markos Chandras
2014-02-20 12:46 ` Markos Chandras
2014-02-20 12:46 ` Markos Chandras
2014-02-20 12:53 ` Richard Weinberger
2014-02-20 13:53 ` Markos Chandras
2014-02-20 13:53 ` Markos Chandras
2014-02-20 13:57 ` Richard Weinberger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.