All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.