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
Development

Successfully merging this pull request may close these issues.

2 participants