Commit Graph

469 Commits

Author SHA1 Message Date
Eric Pouech 8de547d3e6 winedump: Better handle display of nested symbol entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:16:04 +01:00
Eric Pouech 2447b0131b winedump: Properly indent multi lines symbol records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:35 +01:00
Eric Pouech cdcf5b6f08 winedump: No longer print current function.
It's not really relevant when inline sites are present.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:27 +01:00
Eric Pouech c77db0064a winedump: Pass start offset when dumping symbols.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:17 +01:00
Eric Pouech f1e0753cdd winedump: Add some more codeview entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:14:51 +01:00
Eric Pouech 97c3c41732 winedump: Better detect whether IPI stream is present.
Old version of PDB files can have a stream #4 which is not an IPI stream
Available documentation isn't 100% clear about when IPI has been
introduced.
So decide that IPI is present when header of stream looks like a type
stream header.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:14:26 +01:00
Martin Storsjö aa256deedd winedump: Rewrite dumping of packed ARM unwind info.
This differs slightly from the official docs (which is clear in some
places, vague in others, and contradictory in some places), based
on actual observed behaviour.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:56 +01:00
Martin Storsjö ae7979a42d winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
This isn't mentioned in the documentation (which only writes out the
instruction that is executed while unwinding, i.e. the mirror form of
it), but a prologue version of this instruction would look like this.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Martin Storsjö 22d2b61a64 winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Martin Storsjö 825e8d8105 winedump: Print the whole multibyte unwind opcode for arm.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Eric Pouech 27b7a96d9b winedump: Fix computation of signed integers in codeview symbol's annotations.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Eric Pouech d33ff5d888 mscvpdb.h: Update some line number oriented definitions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech 23fe1ad987 winedump: Also dump library name for a module.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech f64c6e611b winedump: Dump index leaves (TPI).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech fd959ef060 mscvpdb.h: Add definition for friend function v3.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech 1131b32685 winedump: Add some missing next record computation for type leaf.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech f0b8518333 mscvpdb.h: Update symbol header for linetab2's block size.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech 768bb93fd7 winedump: Dump MSC's S_UNAMESPACE entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 22:52:25 +02:00
Eric Pouech bad368750e winedump: Fix incorrect alignment.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 22:52:25 +02:00
David Kahurani 3dea31ed06 winedump: Remove a FIXME.
It is not considered worthwhile freeing memory in short-lived
programs

Signed-off-by: David Kahurani <k.kahurani@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-12 18:29:22 +02:00
Alexandre Julliard f9ee0d2f05 tools: Avoid using wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Alexandre Julliard 207068c48c tools: Move some portability defines out of port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:34 +02:00
Alexandre Julliard 9c4cbde78f tools: Implement a replacement for getopt_long().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:53:08 +02:00
Alexandre Julliard 3cdc6d682c winedump: Use the shared tools functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:11 +02:00
Francois Gouget d5e85d975f winedump: Fix the spelling of a trace and a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:25:05 +02:00
Eric Pouech 5ddcb94af6 winedump: Correct and update a couple of infos in PDB symbol stream header.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:59:23 +02:00
Eric Pouech 8a9117ef68 winedump: Add support for dumping CodeView types records found in IPI stream (#4).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:58:59 +02:00
Eric Pouech d3c9d645e6 winedump: Add support for dumping information about type's hash stream.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:58:24 +02:00
Eric Pouech 1d03a4febc winedump: Add support for dumping stream of fixed index 4.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:58:14 +02:00
Eric Pouech 36961eef16 winedump: Add support for dumping filestatic Codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:58:04 +02:00
Eric Pouech d6aff64ccf winedump: Add support for dumping heap_alloc_site CodeView records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:53 +02:00
Eric Pouech 872c61ff97 winedump: Add support for dumping trampoline codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:53 +02:00
Eric Pouech 45d4021ff5 winedump: Add support for buildinfo codeview record.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:52 +02:00
Eric Pouech f5800a7849 winedump: Add support for CALLERS/CALLEES/INLINEES codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:52 +02:00
Eric Pouech 3935234265 winedump: Add support for dumping CodeView records about site information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:47 +02:00
Eric Pouech de615a11e5 winedump: Print symbol id when dumping symbols.
In CV records, the cv_itemid is used to reference
other symbols, so we need to print out the symbol id.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:24 +02:00
Eric Pouech d1e1d80c0e winedump: Add support for S_DEFRANGE* family of CodeView records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:13 +02:00
Eric Pouech 5c9c342858 winedump: Add support for dumping S_LOCAL symbol record.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:09 +02:00
Eric Pouech 0003c64e5b winedump: Correctly support flags in public records (V1 and V2).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:55:08 +02:00
Eric Pouech bf6ac26f75 winedump: Fix public and data/proc ref definitions of Codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:05:14 +02:00
Eric Pouech 7499b98ec8 winedump: Update support for S_COMPILE* records.
Don't mix up S_COMPILE records with compiland information.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:04:36 +02:00
Eric Pouech 9adf73be7e dbghelp:: Add proper support for S_OBJNAME records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:03:27 +02:00
Eric Pouech fe9f0c7fcf winedump: Add some new bits in UDT's property field.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:02:17 +02:00
Eric Pouech a9c552fe7f winedump: Dump calling convention attributes for CodeView.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:59 +02:00
Eric Pouech 1d9c8846b9 winedump: Display function attributes in function/methods codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:15 +02:00
Eric Pouech b5b2031078 winedump: Add a bunch of new CPU definitions for PDB.
Update cvinfo.h accordingly.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:04 +02:00
Eric Pouech fca405402d winedump: Add more supported languages from .pdb COMPILE records.
Update cvconst.h accordingly.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:00:54 +02:00
Eric Pouech bde14eac32 winedump: Move string conversion of machine and language into dedicated helpers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:00:48 +02:00
Henri Verbeet 4ae9f39911 winedump: Make print_longlong() work on 64-bit.
In particular, when long is a 64-bit type, the upper 32 bits would previously
be printed twice.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00
Zhiyi Zhang e7de839513 winedump: Dump the distance array for EMR_EXTTEXTOUTW records.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00