[U-Boot] [PATCH] powerpc/mpc85xx:Add GCC flag -fno-delete-null-pointer-checks

Simon Glass sjg at chromium.org
Tue Jun 30 16:58:26 CEST 2015


Hi,

On 29 June 2015 at 22:18, Kushwaha Prabhakar <prabhakar at freescale.com> wrote:
> Hi Simon, Tom,
>
> -fdelete-null-pointer-checks flag controls global dataflow analyses and  eliminate useless checks for null pointers; It assume that if a pointer is  checked after it has already been dereferenced, it cannot be null.  This flag is enabled by default.
>  gcc v4.9 has more optimizations added to this option. Hence it is very  aggressive with GCC v4.9 series. It is also well documented in the GCC v4.9 release notes:
> https://gcc.gnu.org/gcc-4.9/porting_to.html
>
> There is possibility after moving to gcc-4.9 some platform may/may not work properly.
> I tested this patch for freescale powerpc platforms.
> But It may needs be taken care by all architecture like ARM, powerpc. If this is the case; this flag should be in top level Makefile (not sure)
>

I suspect a top-level option would be best, perhaps near this one in Makefile:

KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)

Regards,
Simon

> Regards,
> Prabhakar
>
>> -----Original Message-----
>> From: Wood Scott-B07421
>> Sent: Wednesday, May 20, 2015 11:04 PM
>> To: Sun York-R58495
>> Cc: Kushwaha Prabhakar-B32579; u-boot at lists.denx.de; Dharmakan Rohit-
>> B30502
>> Subject: Re: [PATCH] powerpc/mpc85xx:Add GCC flag -fno-delete-null-
>> pointer-checks
>>
>> On Wed, 2015-05-20 at 10:10 -0700, York Sun wrote:
>> > Scott,
>> >
>> > Please comment on this patch.
>> >
>> > York
>>
>> I think this should be set treewide (as Linux does), not just for mpc85xx.  But
>> use cc-option to make sure that the compiler supports the option.
>>
>> -Scott
>>
>> >
>> > On 05/06/2015 11:07 PM, Prabhakar Kushwaha wrote:
>> > >  -fdelete-null-pointer-checks flag controls global dataflow analyses
>> > > and  eliminate useless checks for null pointers; It assume that if a
>> > > pointer is  checked after it has already been dereferenced, it cannot be
>> null.
>> > >  This flag is enabled by default.
>> > >
>> > >  gcc v4.9 has more optimizations added to this option. Hence it is
>> > > very  aggressive with GCC v4.9 series. Add
>> > > -fno-delete-null-pointer-checks to  disable the optimization
>> > >
>> > > Signed-off-by: Rohit Dharmakan <rohitarulraj at freescale.com>
>> > > Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
>> > > ---
>> > >  arch/powerpc/cpu/mpc85xx/config.mk | 3 ++-
>> > >  1 file changed, 2 insertions(+), 1 deletion(-)
>> > >
>> > > diff --git a/arch/powerpc/cpu/mpc85xx/config.mk
>> > > b/arch/powerpc/cpu/mpc85xx/config.mk
>> > > index 72c964c..2aedd24 100644
>> > > --- a/arch/powerpc/cpu/mpc85xx/config.mk
>> > > +++ b/arch/powerpc/cpu/mpc85xx/config.mk
>> > > @@ -5,7 +5,8 @@
>> > >  # SPDX-License-Identifier:       GPL-2.0+
>> > >  #
>> > >
>> > > -PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string
>> > > +PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string \
>> > > +                                 -fno-delete-null-pointer-checks
>> > >
>> > >  # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;  #
>> > > see "[PATCH,rs6000] make -mno-spe work as expected" on
>> > >
>>
>


More information about the U-Boot mailing list