diff options
author | Mark Harmstone <mark@harmstone.com> | 2022-12-09 01:52:36 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-12-23 20:13:31 +1030 |
commit | fca9096a94ff6b3dbf0bf71fc402b3b37184a235 (patch) | |
tree | 2cd44173d9b5e8334ce5ab76f261837ea4a9cfc6 /ld/pdb.h | |
parent | d5b4c0ddb9afaac5d5f741da4a863a4a71992969 (diff) | |
download | binutils-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.h | 45 |
1 files changed, 44 insertions, 1 deletions
@@ -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 |