[PATCH] Add supporting for dumping the COFF debug FPO section.

Jeff Muizelaar jmuizelaar at mozilla.com
Mon Feb 2 19:20:48 PST 2015

Comment at: test/tools/llvm-readobj/codeview-linetables.test:119
@@ +118,3 @@
+MFUN32-NEXT:       Start: 0x0
+MFUN32-NEXT:       CodeSize: 0xA
+MFUN32-NEXT:       LocalsSize: 0x0
timurrrr wrote:
> Is this format documented somewhere?
> Otherwise, are you working on FPO table generation in LLVM?
The format is not documented anywhere. I reconstructed it from the wine dbghelp implementation and https://msdn.microsoft.com/en-us/library/zxsd009h.aspx.
I am also working on FPO table generation for LLVM.

Comment at: test/tools/llvm-readobj/codeview-linetables.test:123
@@ +122,3 @@
+MFUN32-NEXT:       MaxStackSize: 0x0
+MFUN32-NEXT:       ProgramStr: $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = 
+MFUN32-NEXT:       PrologSize: 0x3
timurrrr wrote:
> Looks like the same ProgramStr is generated for all these test functions.
I can try to get more diverse set of inputs to test the output with.

Comment at: tools/llvm-readobj/COFFDumper.cpp:582
@@ +581,3 @@
+    if (FunctionLineTables.find(Name) != FunctionLineTables.end()) {
+      ListScope S(W, "FunctionLineTable");
+      W.printString("FunctionName", Name);
timurrrr wrote:
> the body of this `for` loop is getting hard to read.  Maybe it's time to split it into a few subroutines?



More information about the llvm-commits mailing list