diff options
author | Mark Harmstone <mark@harmstone.com> | 2022-12-26 20:47:49 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-12-31 19:26:23 +1030 |
commit | fdf591c4c6d065d29461e7966809e97bcaea7e8b (patch) | |
tree | 8921b6ffa1d8c3b608902995c79851c9842dd500 /ld/pdb.h | |
parent | 826eed802778ceb59ad6f645130917d247f1415b (diff) | |
download | gdb-fdf591c4c6d065d29461e7966809e97bcaea7e8b.zip gdb-fdf591c4c6d065d29461e7966809e97bcaea7e8b.tar.gz gdb-fdf591c4c6d065d29461e7966809e97bcaea7e8b.tar.bz2 |
ld: Handle extended-length data structures in PDB types
A few fixes to minor issues I've discovered in my PDB patches.
* If sizes or offsets are greater than 0x8000, they get encoded as
extended values in the same way as for enum values - e.g. a LF_ULONG
.short followed by a .long.
* I've managed to coax MSVC to produce another type, LF_VFTABLE, which
is seen when dealing with COM. I don't think LLVM emits this. Note that
we can't just implement everything in Microsoft's header files, as most
of it is obsolete.
* Fixes a stupid bug in the test program, where I was adding an index to
a size. The index was hard-coded to 0, so this didn't cause any actual
issues.
Diffstat (limited to 'ld/pdb.h')
-rw-r--r-- | ld/pdb.h | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -480,7 +480,6 @@ struct lf_bclass uint16_t attributes; uint32_t base_class_type; uint16_t offset; - uint16_t padding; } ATTRIBUTE_PACKED; /* lfVFuncTab in cvinfo.h */ |