aboutsummaryrefslogtreecommitdiff
path: root/ld/pdb.h
diff options
context:
space:
mode:
authorMark Harmstone <mark@harmstone.com>2022-12-26 20:47:49 +0000
committerAlan Modra <amodra@gmail.com>2022-12-31 19:26:23 +1030
commitfdf591c4c6d065d29461e7966809e97bcaea7e8b (patch)
tree8921b6ffa1d8c3b608902995c79851c9842dd500 /ld/pdb.h
parent826eed802778ceb59ad6f645130917d247f1415b (diff)
downloadgdb-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.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/ld/pdb.h b/ld/pdb.h
index 749a602..ddf731b 100644
--- a/ld/pdb.h
+++ b/ld/pdb.h
@@ -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 */