[libcamera-devel] [PATCH] meson: Simplify check for _FORTIFY_SOURCE
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Sep 19 20:38:18 CEST 2023
On Tue, Sep 19, 2023 at 11:07:55AM -0600, George Burgess wrote:
> On Tue, Sep 19, 2023 at 7:39 AM Laurent Pinchart wrote:
> >
> > Use the compiler.get_define() function to get the value of
> > _FORTIFY_SOURCE instead of iterating over the cpp_args. This simplies
> > the code, but also guarantees to return the actual value of
> > _FORTIFY_SOURCE, even if defined through other means than through the
> > meson cpp_args.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > meson.build | 14 +++-----------
> > 1 file changed, 3 insertions(+), 11 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 2e8342630332..e9a1c7e360ce 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -104,17 +104,9 @@ if cc.get_id() == 'clang'
> > # result in macro redefinition errors if the user already has a setting for
> > # `-D_FORTIFY_SOURCE`. Do not enable FORTIFY in either of those cases.
> > if get_option('optimization') != '0'
> > - has_fortify_define = false
> > - # Assume that if the user requests a FORTIFY level in cpp_args, they
> > - # do the same for c_args.
> > - foreach flag : get_option('cpp_args')
> > - if flag == '-U_FORTIFY_SOURCE'
> > - has_fortify_define = false
> > - elif flag.startswith('-D_FORTIFY_SOURCE=')
> > - has_fortify_define = true
> > - endif
> > - endforeach
> > - if not has_fortify_define
> > + fortify = cc.get_define('_FORTIFY_SOURCE')
>
> TIL about `cc.get_define` - nice cleanup :)
>
> I've tested this in CrOS and it works just as well, so in case my
> review is helpful...
>
> Reviewed-by: George Burgess IV <gbiv at google.com>
Thank you. It's more than helpful, given that this problem mainly
affects you :-)
> > + if fortify == ''
> > + message('Adding _FORTIFY_SOURCE')
> > common_arguments += [
> > '-D_FORTIFY_SOURCE=2',
> > ]
> >
> > base-commit: 9c5eb9237cf6ae170086f0d4d87a025aa052cc9f
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list