mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 09:43:38 +00:00
mscvpdb.h: Update symbol header for linetab2's block size.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
03fb6c14c9
commit
f0b8518333
|
@ -2424,6 +2424,7 @@ static void pdb_convert_symbol_file(const PDB_SYMBOLS* symbols,
|
|||
sfile->range.index = sym_file->range.index;
|
||||
sfile->symbol_size = sym_file->symbol_size;
|
||||
sfile->lineno_size = sym_file->lineno_size;
|
||||
sfile->lineno2_size = sym_file->lineno2_size;
|
||||
*size = sizeof(PDB_SYMBOL_FILE) - 1;
|
||||
}
|
||||
else
|
||||
|
@ -2818,14 +2819,14 @@ static BOOL pdb_process_internal(const struct process* pcs,
|
|||
codeview_snarf(msc_dbg, modimage, sizeof(DWORD),
|
||||
sfile.symbol_size, TRUE);
|
||||
|
||||
if (sfile.lineno_size && sfile.lineno2_size) FIXME("Both line info present... only supporting first\n");
|
||||
if (sfile.lineno_size)
|
||||
codeview_snarf_linetab(msc_dbg,
|
||||
modimage + sfile.symbol_size,
|
||||
sfile.lineno_size,
|
||||
pdb_file->kind == PDB_JG);
|
||||
if (files_image)
|
||||
codeview_snarf_linetab2(msc_dbg, modimage + sfile.symbol_size + sfile.lineno_size,
|
||||
pdb_get_file_size(pdb_file, sfile.file) - sfile.symbol_size - sfile.lineno_size,
|
||||
else if (sfile.lineno2_size && files_image)
|
||||
codeview_snarf_linetab2(msc_dbg, modimage + sfile.symbol_size, sfile.lineno2_size,
|
||||
files_image + 12, files_size);
|
||||
|
||||
pdb_free(modimage);
|
||||
|
|
|
@ -2343,7 +2343,7 @@ typedef struct _PDB_SYMBOL_FILE
|
|||
WORD file;
|
||||
DWORD symbol_size;
|
||||
DWORD lineno_size;
|
||||
DWORD unknown2;
|
||||
DWORD lineno2_size;
|
||||
DWORD nSrcFiles;
|
||||
DWORD attribute;
|
||||
CHAR filename[1];
|
||||
|
@ -2357,7 +2357,7 @@ typedef struct _PDB_SYMBOL_FILE_EX
|
|||
WORD file;
|
||||
DWORD symbol_size;
|
||||
DWORD lineno_size;
|
||||
DWORD unknown2;
|
||||
DWORD lineno2_size;
|
||||
DWORD nSrcFiles;
|
||||
DWORD attribute;
|
||||
DWORD reserved[2];
|
||||
|
|
|
@ -466,7 +466,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
file = (const char*)symbols + sizeof(PDB_SYMBOLS);
|
||||
while (file - (const char*)symbols < sizeof(PDB_SYMBOLS) + symbols->module_size)
|
||||
{
|
||||
int file_nr, symbol_size, lineno_size;
|
||||
int file_nr, symbol_size, lineno_size, lineno2_size;
|
||||
const char* file_name;
|
||||
|
||||
if (symbols->version < 19970000)
|
||||
|
@ -476,6 +476,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
file_name = sym_file->filename;
|
||||
symbol_size = sym_file->symbol_size;
|
||||
lineno_size = sym_file->lineno_size;
|
||||
lineno2_size = sym_file->lineno2_size;
|
||||
printf("\t--------symbol file----------- %s\n", file_name);
|
||||
printf("\tgot symbol_file\n"
|
||||
"\t\tunknown1: %08x\n"
|
||||
|
@ -491,7 +492,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
"\t\tfile: %04x\n"
|
||||
"\t\tsymb size: %08x\n"
|
||||
"\t\tline size: %08x\n"
|
||||
"\t\tunknown2: %08x\n"
|
||||
"\t\tline2 size: %08x\n"
|
||||
"\t\tnSrcFiles: %08x\n"
|
||||
"\t\tattribute: %08x\n",
|
||||
sym_file->unknown1,
|
||||
|
@ -506,7 +507,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
sym_file->file,
|
||||
sym_file->symbol_size,
|
||||
sym_file->lineno_size,
|
||||
sym_file->unknown2,
|
||||
sym_file->lineno2_size,
|
||||
sym_file->nSrcFiles,
|
||||
sym_file->attribute);
|
||||
}
|
||||
|
@ -517,6 +518,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
file_name = sym_file->filename;
|
||||
symbol_size = sym_file->symbol_size;
|
||||
lineno_size = sym_file->lineno_size;
|
||||
lineno2_size = sym_file->lineno2_size;
|
||||
printf("\t--------symbol file----------- %s\n", file_name);
|
||||
printf("\t\tunknown1: %08x\n"
|
||||
"\t\trange\n"
|
||||
|
@ -533,7 +535,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
"\t\tfile: %04x\n"
|
||||
"\t\tsymb size: %08x\n"
|
||||
"\t\tline size: %08x\n"
|
||||
"\t\tunknown2: %08x\n"
|
||||
"\t\tline2 size: %08x\n"
|
||||
"\t\tnSrcFiles: %08x\n"
|
||||
"\t\tattribute: %08x\n"
|
||||
"\t\treserved/0: %08x\n"
|
||||
|
@ -552,7 +554,7 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
sym_file->file,
|
||||
sym_file->symbol_size,
|
||||
sym_file->lineno_size,
|
||||
sym_file->unknown2,
|
||||
sym_file->lineno2_size,
|
||||
sym_file->nSrcFiles,
|
||||
sym_file->attribute,
|
||||
sym_file->reserved[0],
|
||||
|
@ -569,15 +571,13 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
|||
/* line number info */
|
||||
if (lineno_size)
|
||||
codeview_dump_linetab((const char*)modimage + symbol_size, TRUE, " ");
|
||||
/* anyway, lineno_size doesn't see to really be the size of the line number information, and
|
||||
* it's not clear yet when to call for linetab2...
|
||||
*/
|
||||
codeview_dump_linetab2((const char*)modimage + symbol_size + lineno_size,
|
||||
total_size - (symbol_size + lineno_size),
|
||||
filesimage ? filesimage + 12 : NULL, filessize, " ");
|
||||
else if (lineno2_size) /* actually, only one of the 2 lineno should be present */
|
||||
codeview_dump_linetab2((const char*)modimage + symbol_size, lineno2_size,
|
||||
filesimage ? filesimage + 12 : NULL, filessize, " ");
|
||||
/* what's that part ??? */
|
||||
if (0)
|
||||
dump_data(modimage + symbol_size + lineno_size, total_size - (symbol_size + lineno_size), " ");
|
||||
dump_data(modimage + symbol_size + lineno_size + lineno2_size,
|
||||
total_size - (symbol_size + lineno_size + lineno2_size), " ");
|
||||
free(modimage);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue