This is an archive of the discontinued LLVM Phabricator instance.

[Sanitizer] Disable -Wframe-larger-than on SystemZ
ClosedPublic

Authored by kianm on Aug 9 2019, 11:30 AM.

Details

Summary

These warnings are showing up on the SystemZ build bots [http://lab.llvm.org:8011/builders/clang-s390x-linux-multistage/builds/6366/steps/build%20stage%202/logs/warnings%20%2810%29]:

/home/uweigand/sandbox/buildbot/clang-s390x-linux-multistage/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc:534:50: warning: stack frame size of 616 bytes in function 'sanitizer::SuspendedThreadsListLinux::GetRegistersAndSP' [-Wframe-larger-than=]
1 warning generated.
/home/uweigand/sandbox/buildbot/clang-s390x-linux-multistage/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h:340:8: warning: stack frame size of 592 bytes in function '
sanitizer::SizeClassAllocator32<__sanitizer::AP32>::PopulateFreeList' [-Wframe-larger-than=]
1 warning generated.

The frame sizes of the two functions look correct to us. Each function has a large local variable: GetRegistersAndSP has a variable "regs" which is about 432 bytes in size, PopulateFreeList has a variable "shuffle_array" which is about 384 bytes in size. When you consider the default SystemZ frame size of 160 bytes, the stack frame size will exceed the limit of 570 bytes set by the CMakeFile.

This patch adds the same exception as in PowerPC and MIPS.

Diff Detail

Event Timeline

kianm created this revision.Aug 9 2019, 11:30 AM
uweigand accepted this revision.Aug 9 2019, 1:49 PM

LGTM.

This revision is now accepted and ready to land.Aug 9 2019, 1:49 PM

I don't have commit access and will not be able to commit this patch. Could someone commit this for me? Thanks.

This revision was automatically updated to reflect the committed changes.