Skip to content
This repository has been archived by the owner on Apr 23, 2020. It is now read-only.

compiler-rt/lib/tsan: allow the Go runtime to return multiple stack f… #8

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

randall77
Copy link

…rames for a single PC

This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.

See golang/go#33309

…rames for a single PC

This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.

See golang/go#33309
@randall77
Copy link
Author

@dvyukov

@randall77
Copy link
Author

I'm not sure if this is the right way to upstream changes to compiler-rt. Anyone who knows the right process please chime in.

@dvyukov
Copy link
Contributor

dvyukov commented Sep 17, 2019

I think the main repo is still in svn:
https://llvm.org/docs/Contributing.html#how-to-submit-a-patch
https://llvm.org/docs/Phabricator.html
A shorter version is to upload the change to Phabricator:
https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface
and then somebody will merge after a review.

JrGoodle pushed a commit to JrGoodle/compiler-rt that referenced this pull request Apr 15, 2020
Summary:
feature coverage is a useful signal that is available during the merge
process, but was not printed previously.

Output example:

```
$ ./fuzzer -use_value_profile=1 -merge=1 new_corpus/ seed_corpus/
INFO: Seed: 1676551929
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc), 
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8), 
MERGE-OUTER: 180 files, 78 in the initial corpus
MERGE-OUTER: attempt 1
INFO: Seed: 1676574577
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc), 
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8), 
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes
MERGE-INNER: using the control file '/tmp/libFuzzerTemp.111754.txt'
MERGE-INNER: 180 total files; 0 processed earlier; will process 180 files now
llvm-mirror#1	pulse  cov: 134 ft: 330 exec/s: 0 rss: 37Mb
llvm-mirror#2	pulse  cov: 142 ft: 462 exec/s: 0 rss: 38Mb
llvm-mirror#4	pulse  cov: 152 ft: 651 exec/s: 0 rss: 38Mb
llvm-mirror#8	pulse  cov: 152 ft: 943 exec/s: 0 rss: 38Mb
#16	pulse  cov: 520 ft: 2783 exec/s: 0 rss: 39Mb
#32	pulse  cov: 552 ft: 3280 exec/s: 0 rss: 41Mb
#64	pulse  cov: 576 ft: 3641 exec/s: 0 rss: 50Mb
#78	LOADED cov: 602 ft: 3936 exec/s: 0 rss: 88Mb
#128	pulse  cov: 611 ft: 3996 exec/s: 0 rss: 93Mb
#180	DONE   cov: 611 ft: 4016 exec/s: 0 rss: 155Mb
MERGE-OUTER: succesfull in 1 attempt(s)
MERGE-OUTER: the control file has 39741 bytes
MERGE-OUTER: consumed 0Mb (37Mb rss) to parse the control file
MERGE-OUTER: 9 new files with 80 new features added; 9 new coverage edges
```

Reviewers: hctim, morehouse

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits, kcc

Tags: #llvm, #sanitizers

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

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@368617 91177308-0d34-0410-b5e6-96231b3b80d8
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants