This is an archive of the discontinued LLVM Phabricator instance.

[asan-assembly-instrumentation] Added end-to-end test for proper stack unwind for functions with inline assembly.
ClosedPublic

Authored by ygorshenin on Sep 9 2014, 3:09 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

ygorshenin updated this revision to Diff 13447.Sep 9 2014, 3:09 AM
ygorshenin retitled this revision from to [asan-assembly-instrumentation] Added end-to-end test for proper stack unwind for functions with inline assembly..
ygorshenin updated this object.
ygorshenin edited the test plan for this revision. (Show Details)
ygorshenin added a reviewer: eugenis.
ygorshenin added a subscriber: Unknown Object (MLST).
eugenis edited edge metadata.Sep 9 2014, 4:02 AM

Can you make it a lit test?
Also, you don't really need deep recursion. It's enough to check that 1 unwind step in the asm block works.
Again, in 2 cases - with and without a frame pointer (btw, this is something that's very easy to do in lit tests).

ygorshenin updated this revision to Diff 13461.Sep 9 2014, 7:21 AM
ygorshenin edited edge metadata.

Added lit test for stack unwind.

ygorshenin updated this revision to Diff 13520.Sep 10 2014, 2:08 AM

Fixed compilation flags + plafrom specification for the lit test.

eugenis accepted this revision.Sep 10 2014, 2:14 AM
eugenis edited edge metadata.

LGTM, thanks

test/asan/TestCases/Linux/asan-asm-stacktrace-test.cc
14 ↗(On Diff #13520)

I think attributes are usually placed before the return type.

This revision is now accepted and ready to land.Sep 10 2014, 2:14 AM
ygorshenin updated this revision to Diff 13523.Sep 10 2014, 3:01 AM
ygorshenin edited edge metadata.

Function attribute is moved before return type.

Many thanks!

test/asan/TestCases/Linux/asan-asm-stacktrace-test.cc
14 ↗(On Diff #13520)

Done.

ygorshenin closed this revision.Sep 10 2014, 3:54 AM
ygorshenin updated this revision to Diff 13527.

Closed by commit rL217487 (authored by @ygorshenin).