HomePhabricator

Cherry-pick gtest fix for asan tests.

Authored by eugenis on Nov 15 2019, 11:30 AM.

Description

Cherry-pick gtest fix for asan tests.

Summary:
https://github.com/google/googletest/commit/681454dae48f109abf68c424c9d2e6db9a092238

Clone+exec death test allocates a single page of stack to run chdir + exec on.
This is not enough when gtest is built with ASan and run on particular
hardware.

With ASan on x86_64, ExecDeathTestChildMain has frame size of 1728 bytes.

Call to chdir() in ExecDeathTestChildMain ends up in
_dl_runtime_resolve_xsavec, which attempts to save register state on the stack;
according to cpuid(0xd) XSAVE register save area size is 2568 on my machine.

This results in something like this in all death tests:

Result: died but not with expected error.
...
[  DEATH   ] AddressSanitizer:DEADLYSIGNAL
[  DEATH   ] =================================================================
[  DEATH   ] ==178637==ERROR: AddressSanitizer: stack-overflow on address ...

PiperOrigin-RevId: 278709790

Reviewers: pcc

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70332

Details

Committed
eugenisNov 20 2019, 2:12 PM
Differential Revision
D70332: Cherry-pick gtest fix for asan tests.
Parents
rG4a801170f36a: [AMDGPU][SILoadStoreOptimizer] Merge TBUFFER loads/stores
Branches
Unknown
Tags
Unknown