rainers / cv2pdb

converter of DMD CodeView/DWARF debug information to PDB files
Artistic License 2.0
472 stars 109 forks source link

support building cv2pdb as an x64 executable (large debug info) #10

Closed l0calh05t closed 8 years ago

l0calh05t commented 8 years ago

The size of the debug information in a project of mine has grown to more than 650 MB. cv2pdb now crashes with a bad alloc.

l0calh05t commented 8 years ago

The only part currently causing a compile error is the two lines of inline assembly Demangle::getReal. For x64 these could be replaced by a small MASM file:

_TEXT SEGMENT

PUBLIC cvt80to64

cvt80to64 PROC
    fld tbyte ptr [rcx]
    fstp qword ptr [rdx]
    ret 0
cvt80to64 ENDP

_TEXT ENDS
END

This defines extern "C" void cvt80to64(void * in, long double * out) and could be used instead of the inline assembly (obviously only for 64 builds).

That leaves a whole bunch of warnings because int and unsigned int are used practically everywhere instead of ptrdiff_t and size_t

rainers commented 8 years ago

The respective PR has been merged, I guess this can be closed.