aboutsummaryrefslogtreecommitdiff
path: root/ld/pdb.h
diff options
context:
space:
mode:
authorMark Harmstone <mark@harmstone.com>2022-12-09 01:52:36 +0000
committerAlan Modra <amodra@gmail.com>2022-12-23 20:13:31 +1030
commitfca9096a94ff6b3dbf0bf71fc402b3b37184a235 (patch)
tree2cd44173d9b5e8334ce5ab76f261837ea4a9cfc6 /ld/pdb.h
parentd5b4c0ddb9afaac5d5f741da4a863a4a71992969 (diff)
downloadbinutils-fca9096a94ff6b3dbf0bf71fc402b3b37184a235.zip
binutils-fca9096a94ff6b3dbf0bf71fc402b3b37184a235.tar.gz
binutils-fca9096a94ff6b3dbf0bf71fc402b3b37184a235.tar.bz2
ld: Write types into IPI stream of PDB
Diffstat (limited to 'ld/pdb.h')
-rw-r--r--ld/pdb.h45
1 files changed, 44 insertions, 1 deletions
diff --git a/ld/pdb.h b/ld/pdb.h
index ecc26c1..7d87a3f 100644
--- a/ld/pdb.h
+++ b/ld/pdb.h
@@ -54,6 +54,11 @@
#define LF_METHOD 0x150f
#define LF_NESTTYPE 0x1510
#define LF_ONEMETHOD 0x1511
+#define LF_FUNC_ID 0x1601
+#define LF_MFUNC_ID 0x1602
+#define LF_BUILDINFO 0x1603
+#define LF_SUBSTR_LIST 0x1604
+#define LF_STRING_ID 0x1605
#define LF_CHAR 0x8000
#define LF_SHORT 0x8001
@@ -265,7 +270,7 @@ struct lf_pointer
uint32_t attributes;
} ATTRIBUTE_PACKED;
-/* lfArgList in cvinfo.h */
+/* lfArgList in cvinfo.h (used for both LF_ARGLIST and LF_SUBSTR_LIST) */
struct lf_arglist
{
uint16_t size;
@@ -474,6 +479,44 @@ struct lf_nest_type
char name[];
} ATTRIBUTE_PACKED;
+/* lfStringId in cvinfo.h */
+struct lf_string_id
+{
+ uint16_t size;
+ uint16_t kind;
+ uint32_t substring;
+ char string[];
+} ATTRIBUTE_PACKED;
+
+/* lfBuildInfo in cvinfo.h */
+struct lf_build_info
+{
+ uint16_t size;
+ uint16_t kind;
+ uint16_t count;
+ uint32_t strings[];
+} ATTRIBUTE_PACKED;
+
+/* lfFuncId in cvinfo.h */
+struct lf_func_id
+{
+ uint16_t size;
+ uint16_t kind;
+ uint32_t parent_scope;
+ uint32_t function_type;
+ char name[];
+} ATTRIBUTE_PACKED;
+
+/* lfMFuncId in cvinfo.h */
+struct lf_mfunc_id
+{
+ uint16_t size;
+ uint16_t kind;
+ uint32_t parent_type;
+ uint32_t function_type;
+ char name[];
+} ATTRIBUTE_PACKED;
+
extern bool create_pdb_file (bfd *, const char *, const unsigned char *);
#endif