mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
build: Work around clang's stack size calculation without optimization
When building without optimization on clang, certain big functions trip the stack size limit despite not actually reaching it. Relax the stack limit size for clang without optimization. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
0152aa5673
commit
b68faa99d9
11
meson.build
11
meson.build
@ -247,8 +247,17 @@ alloc_max = run_command(
|
||||
check: true,
|
||||
)
|
||||
|
||||
stack_frame_size = 2048
|
||||
|
||||
# clang without optimization enlarges stack frames in certain corner cases
|
||||
if cc.get_id() == 'clang' and get_option('optimization') == '0'
|
||||
stack_frame_size = 4096
|
||||
endif
|
||||
|
||||
# sanitizer instrumentation may enlarge stack frames
|
||||
stack_frame_size = get_option('b_sanitize') == 'none' ? 2048 : 32768
|
||||
if get_option('b_sanitize') == 'none'
|
||||
stack_frame_size == 32768
|
||||
endif
|
||||
|
||||
# array_bounds=2 check triggers false positive on some GCC
|
||||
# versions when using sanitizers. Seen on Fedora 34 with
|
||||
|
Loading…
Reference in New Issue
Block a user