On Thu, Apr 03, 2025 at 02:08:28PM +0200, Michal Prívozník via Devel wrote:
On 4/2/25 19:24, Roman Bogorodskiy wrote:
> The 'plain' optimization type also triggers the clang stack frame size
> issues, so increase limit for it as well.
>
> Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
> ---
> meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meson.build b/meson.build
> index 56823ca25b..0a402a19a2 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -259,7 +259,7 @@ alloc_max = run_command(
> stack_frame_size = 2048
>
> # clang without optimization enlarges stack frames in certain corner cases
> -if cc.get_id() == 'clang' and get_option('optimization') ==
'0'
> +if cc.get_id() == 'clang' and get_option('optimization') in
['plain', '0']
> stack_frame_size = 4096
> endif
>
Funny, with clang I hit this issue for all possible values of
--optimization {plain,0,g,1,2,3,s}.
I worry this is clang version dependent. Should we just drop check for
'optimization' argument altogether?
We originally picked 2k default in
commit 42bc76cdb8486ef502200f3bce9e3faebdd78103
Author: Peter Krempa <pkrempa(a)redhat.com>
Date: Mon Sep 5 14:38:09 2022 +0200
build: Decrease maximum stack frame size to 2048
After recent cleanups we can now restrict the maximum stack frame size
to 2k.
guess we must be just a bit too aggressive with certain compiler
scenarios - with various hardening countermeasures compilers may
choose to apply, stack size can be bigger than we might otherwise
expect.
With regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|