[libcamera-devel] [PATCH] meson: Really define _FORTIFY_SOURCE for optimised builds

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Nov 21 10:17:50 CET 2019


Hi Laurent,

On 21/11/2019 04:19, Laurent Pinchart wrote:
> Commit 965c5bf7fbf5 ("meson: Define _FORTIFY_SOURCE for optimised
> builds") tried to define _FORTIFY_SOURCE for optimised builds with
> clang, but updated the common_arguments after it was used. This resulted
> in the _FORTIFY_SOURCE option not being applied. Fix it.
> 
> Fixes: 965c5bf7fbf5 ("meson: Define _FORTIFY_SOURCE for optimised builds")
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  meson.build | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 72ad7c8b493b..0a222ba96dcb 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -35,8 +35,8 @@ common_arguments = [
>      '-include', 'config.h',
>  ]
>  
> -c_arguments = common_arguments
> -cpp_arguments = common_arguments
> +c_arguments = []
> +cpp_arguments = []

c_arguments and cpp_arguments are not used until after the code block
below. Do we really need to define them as empty arrays here?

I /think/ we can just move the assignment to below?
 (where you do an addition instead)

>  
>  if cc.get_id() == 'clang'
>      # Turn _FORTIFY_SOURCE by default on optimised builds (as it requires -O1
> @@ -56,6 +56,9 @@ if cc.get_id() == 'clang'
>      endif
>  endif
>  
> +c_arguments += common_arguments
> +cpp_arguments += common_arguments
> +>  add_project_arguments(c_arguments, language : 'c')

Eeep - and that's so blindingly obvious when you look at 965c5bf7fbf5,
as this line is clearly in the hunk. I'm sorry I missed it.

(of course it's always easier to spot something that you know is there).

With either the empty arrays declared above if that's necessary (or just
preferred) or directly assigned lower down if it's appropriate:

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>


>  add_project_arguments(cpp_arguments, language : 'cpp')
>  add_project_link_arguments(cpp_arguments, language : 'cpp')
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list