[PATCH] D115699: [llvm-profgen] Skip disassembling for PLT section

Lei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 14 12:50:50 PST 2021


wlei added inline comments.


================
Comment at: llvm/test/tools/llvm-profgen/inline-noprobe2.test:76
 ;CHECK:   3: 5
-;CHECK: main:820:0
+quick_sort:903:25
+ 1: 24
----------------
wlei wrote:
> hoy wrote:
> > wenlei wrote:
> > > wlei wrote:
> > > > wenlei wrote:
> > > > > are these test changes expected?
> > > > Oh, sorry, it's the same to https://reviews.llvm.org/D115538, previously I removed by mistake. Let me removed this here.
> > > If you put them in a stack, these earlier/unrelated changes won't show up. 
> > > 
> > > But still.. why are the remaining test changes, are they all due to PLT?
> > Good question. Do the counters changed refer to PLT calls?
> This patch is in the bottom of the patch stack. It appeared that those counter changes are all fixed by the following two patches. I guess it's due to the wrong leading external addr processing. let me confirm what's wrong.
OK, it turned out that the PLT address is just the leading LBR's target, remembering before the two external fix, the whole samples will be ignored. 

```
0x400540 is plt
400870 0x400870/0x400540/P/-/-/1  0x4008bf/0x400870/P/-/-/7  0x7f7448e88cc1/0x400875/P/-/-/1  
```





================
Comment at: llvm/tools/llvm-profgen/ProfiledBinary.cpp:557
 
+    if (SectionName == ".plt")
+      continue;
----------------
hoy wrote:
> Move this above the `ShowDisassemblyOnly` check?
`objdump` also print out ".plt" section, I was thinking to print a section name as a hint we have the ".plt" section there(the size is not empty, we just doesn't disassembly it's body). Otherwise people might misunderstand there is no ".plt" section


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115699/new/

https://reviews.llvm.org/D115699



More information about the llvm-commits mailing list