mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
meson: Allow larger stack frames when instrumenting
When enabling sanitizers, gcc adds some instrumentation to the code that may enlarge stack frames. Some function's stack frames are already close to the limit of 4096 and are enlarged past that threshold, e.g. virLXCProcessStart which reaches a frame size of 4624 bytes. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
55ea45acc9
commit
c46556c280
@ -224,6 +224,9 @@ alloc_max = run_command(
|
|||||||
'print(min(2**(@0@ * 8 - 1) - 1, 2**(@1@ * 8) - 1))'.format(ptrdiff_max, size_max),
|
'print(min(2**(@0@ * 8 - 1) - 1, 2**(@1@ * 8) - 1))'.format(ptrdiff_max, size_max),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# sanitizer instrumentation may enlarge stack frames
|
||||||
|
stack_frame_size = get_option('b_sanitize') == 'none' ? 4096 : 8192
|
||||||
|
|
||||||
cc_flags += [
|
cc_flags += [
|
||||||
'-fasynchronous-unwind-tables',
|
'-fasynchronous-unwind-tables',
|
||||||
'-fexceptions',
|
'-fexceptions',
|
||||||
@ -279,7 +282,7 @@ cc_flags += [
|
|||||||
'-Wformat-y2k',
|
'-Wformat-y2k',
|
||||||
'-Wformat-zero-length',
|
'-Wformat-zero-length',
|
||||||
'-Wframe-address',
|
'-Wframe-address',
|
||||||
'-Wframe-larger-than=4096',
|
'-Wframe-larger-than=@0@'.format(stack_frame_size),
|
||||||
'-Wfree-nonheap-object',
|
'-Wfree-nonheap-object',
|
||||||
'-Whsa',
|
'-Whsa',
|
||||||
'-Wif-not-aligned',
|
'-Wif-not-aligned',
|
||||||
|
Loading…
Reference in New Issue
Block a user