[PATCH] Revert "build: Decrease maximum stack frame size to 2048"

Peter Krempa posted 1 patch 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/06e583bdeea21e05db340b3195141edc843adc09.1693819397.git.pkrempa@redhat.com
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] Revert "build: Decrease maximum stack frame size to 2048"
Posted by Peter Krempa 8 months ago
Build fails with this patch with 'clang' when optimizations are
disabled in long functions which have many helper variables declared in
nested blocks such as for-loops.

As there is no clean solution for now, let's keep the stack frame size
at 4k.

This reverts commit 42bc76cdb8486ef502200f3bce9e3faebdd78103.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 6b6f7ccb7c..dd7a4e8d34 100644
--- a/meson.build
+++ b/meson.build
@@ -248,7 +248,7 @@ alloc_max = run_command(
 )

 # sanitizer instrumentation may enlarge stack frames
-stack_frame_size = get_option('b_sanitize') == 'none' ? 2048 : 32768
+stack_frame_size = get_option('b_sanitize') == 'none' ? 4096 : 32768

 # array_bounds=2 check triggers false positive on some GCC
 # versions when using sanitizers. Seen on Fedora 34 with
-- 
2.41.0
Re: [PATCH] Revert "build: Decrease maximum stack frame size to 2048"
Posted by Daniel P. Berrangé 8 months ago
On Mon, Sep 04, 2023 at 11:23:17AM +0200, Peter Krempa wrote:
> Build fails with this patch with 'clang' when optimizations are
> disabled in long functions which have many helper variables declared in
> nested blocks such as for-loops.
> 
> As there is no clean solution for now, let's keep the stack frame size
> at 4k.
> 
> This reverts commit 42bc76cdb8486ef502200f3bce9e3faebdd78103.
> 
> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
> ---
>  meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 6b6f7ccb7c..dd7a4e8d34 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -248,7 +248,7 @@ alloc_max = run_command(
>  )
> 
>  # sanitizer instrumentation may enlarge stack frames
> -stack_frame_size = get_option('b_sanitize') == 'none' ? 2048 : 32768
> +stack_frame_size = get_option('b_sanitize') == 'none' ? 4096 : 32768

You could potentially do a check on  get_option('optimization') too ?

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 :|