diff options
| author | Keith Randall <khr@golang.org> | 2022-08-16 12:35:36 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2022-08-23 23:11:53 +0000 |
| commit | aa4299735b78189eeac1e2c4edafb9d014cc62d7 (patch) | |
| tree | 4ef88ff76813cb606b026ccc780e7fd7d8d1290b /src/runtime/pprof | |
| parent | ab8a2c5e4467f55417f4ade4f8e3f9a867946e40 (diff) | |
| download | go-aa4299735b78189eeac1e2c4edafb9d014cc62d7.tar.xz | |
runtime/pprof: remove round-to-file-start adjustment
This causes a problem in the test sometimes. With a mapping like:
00400000-00411000 r--p 00000000 fe:01 4459044 /tmp/go-build1710804385/b001/pprof.test
00411000-00645000 r-xp 00011000 fe:01 4459044 /tmp/go-build1710804385/b001/pprof.test
The removed code would make the first mapping 0x400000-0x645000. Tests
then grab the first few addresses to use as PCs, thinking they are in
an executable range. But those addresses are really not in an
executable range, causing the tests to fail.
Change-Id: I5a69d0259d1fd70ff9745df1cbad4d54c5898e7b
Reviewed-on: https://go-review.googlesource.com/c/go/+/424295
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime/pprof')
| -rw-r--r-- | src/runtime/pprof/proto.go | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/runtime/pprof/proto.go b/src/runtime/pprof/proto.go index 9c82925165..7e3c5f1c18 100644 --- a/src/runtime/pprof/proto.go +++ b/src/runtime/pprof/proto.go @@ -721,13 +721,12 @@ func parseProcSelfMaps(data []byte, addMapping func(lo, hi, offset uint64, file, continue } - // TODO: pprof's remapMappingIDs makes two adjustments: + // TODO: pprof's remapMappingIDs makes one adjustment: // 1. If there is an /anon_hugepage mapping first and it is // consecutive to a next mapping, drop the /anon_hugepage. - // 2. If start-offset = 0x400000, change start to 0x400000 and offset to 0. - // There's no indication why either of these is needed. - // Let's try not doing these and see what breaks. - // If we do need them, they would go here, before we + // There's no indication why this is needed. + // Let's try not doing this and see what breaks. + // If we do need it, it would go here, before we // enter the mappings into b.mem in the first place. buildID, _ := elfBuildID(file) |
