| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This is just a preparatory change to improve the documentation in the
code. No functional changes.
|
|\
| |
| | |
Fixed building with VS 2022
|
|/ |
|
|\
| |
| | |
Add Windows ARM64 support
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
64 kB, clipped for now
|
|
|
|
| |
support DW_FORM_data1 and DW_FORM_data2 in DW_LNCT_directory_index
|
| |
|
|
|
|
| |
close write handle before reading from the pipe
|
|\
| |
| | |
Support non-contiguous functions
|
| | |
|
| | |
|
| |
| |
| |
| | |
release mode
|
|/ |
|
|
|
|
| |
* fix for UNC path
|
| |
|
| |
|
|
|
|
| |
adapt dumplines.cpp to changes
|
|\
| |
| | |
Add support for Dwarf5 as emitted by gcc-11.2
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Technically, this does not validate the DWARF5 parsing completely, but
it looks for the `main` symbol to show up as expected when compiling
with whatever GCC version MSYS2/Git for Windows uses (which is typically
very close to the latest GCC version available).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
| | |
|
| |
| |
| |
| |
| | |
Add support for the new opcode-based format for location lists and range
lists.
|
| |
| |
| |
| |
| | |
Fill in Dwarf_InfoData for all DWARF5 forms excluding the new rnglists
and loclists representations.
|
| |
| |
| |
| |
| | |
Handle the new DWARF5 compilation unit header and add new constants to
dwarf.h. We still don't decode the new forms though.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Read the compilation unit header byte-by-byte rather than by casting the
data to a structure. Add the currentBaseAddress contextual info to the
compilation unit data.
Move the LOCCursor into readDwarf.cpp. Implement a RangeCursor similar
to the LOCCursor.
Add more debug printing.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DWARF5 has more contextual information that is associated with the
compilation unit. As a preparation for using such information, carry it
with the DIECursor and eliminate places where we're passing in the
parent compilation unit.
Also add the RDAddr helper to read a target-address according to the
specification in the compilation unit.
|
|/
|
|
|
|
|
|
|
|
|
| |
Encapsulate dwarf-related PE sections into the PESection class. Remove some
unused sections. Add helpers for common section operations.
Move the context set via DIECursor::setContext to be static members of
the class and add a debug context there.
Add a standard method of enabling debug logging across the dwarf and PDB
code.
|
| |
|
|\
| |
| | |
Allow the mspdb DLL to be found via vswhere.exe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Git for Windows uses cv2pdb to convert the debugging information
produced by GCC to `.pdb` format, for use with Visual C's tools.
A recent GCC upgrade broke this because the debugging information was
produced in DWARF5 format, and the Git for Windows maintainer had to
scramble to implement (minimal) support for that format.
Let's verify in the GitHub workflow that cv2pdb can handle GCC's output
format, and let's use the very same GCC version that Git for Windows
uses to verify that.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
| |
| |
| |
| | |
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The incredibly useful `vswhere.exe` tool can be used to abstract away
all the nitty-gritty details of figuring out where Visual Studio is
installed.
This patch adds support for making use of that tool.
Since spawning a process is pretty expensive compared to looking at the
registry, we only fall back on this tool (if it exists) if the other
methods to find the DLL have failed.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
|\
| |
| | |
Add rudimentary support for DWARF5
|
|/
|
|
|
|
|
|
|
|
|
| |
This allows `cv2pdb` to process executables produced by the mingw-w64
version of GCC v11.x.
The symptoms of the fixed issue would look like this:
error: cannot add line number info to module
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
| |
|
|\
| |
| | |
introduce a symbol cache
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Fix `.exe` files (according to dumpbin/objdump)
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
When writing a new `.exe`/`.pdb` pair, the `.exe` might not contain any
symbols. Therefore, the stale info needs to be zeroed out.
This lets `dumpbin` and `objdump` accept the generated `.exe` files
without problems.
This fixes https://github.com/rainers/cv2pdb/issues/35 and
https://github.com/git-for-windows/git/issues/2200.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
| |
|
|\
| |
| | |
Add more line number information
|
| | |
|