mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 05:57:27 +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->range.index = sym_file->range.index;
|
||||||
sfile->symbol_size = sym_file->symbol_size;
|
sfile->symbol_size = sym_file->symbol_size;
|
||||||
sfile->lineno_size = sym_file->lineno_size;
|
sfile->lineno_size = sym_file->lineno_size;
|
||||||
|
sfile->lineno2_size = sym_file->lineno2_size;
|
||||||
*size = sizeof(PDB_SYMBOL_FILE) - 1;
|
*size = sizeof(PDB_SYMBOL_FILE) - 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2818,14 +2819,14 @@ static BOOL pdb_process_internal(const struct process* pcs,
|
||||||
codeview_snarf(msc_dbg, modimage, sizeof(DWORD),
|
codeview_snarf(msc_dbg, modimage, sizeof(DWORD),
|
||||||
sfile.symbol_size, TRUE);
|
sfile.symbol_size, TRUE);
|
||||||
|
|
||||||
|
if (sfile.lineno_size && sfile.lineno2_size) FIXME("Both line info present... only supporting first\n");
|
||||||
if (sfile.lineno_size)
|
if (sfile.lineno_size)
|
||||||
codeview_snarf_linetab(msc_dbg,
|
codeview_snarf_linetab(msc_dbg,
|
||||||
modimage + sfile.symbol_size,
|
modimage + sfile.symbol_size,
|
||||||
sfile.lineno_size,
|
sfile.lineno_size,
|
||||||
pdb_file->kind == PDB_JG);
|
pdb_file->kind == PDB_JG);
|
||||||
if (files_image)
|
else if (sfile.lineno2_size && files_image)
|
||||||
codeview_snarf_linetab2(msc_dbg, modimage + sfile.symbol_size + sfile.lineno_size,
|
codeview_snarf_linetab2(msc_dbg, modimage + sfile.symbol_size, sfile.lineno2_size,
|
||||||
pdb_get_file_size(pdb_file, sfile.file) - sfile.symbol_size - sfile.lineno_size,
|
|
||||||
files_image + 12, files_size);
|
files_image + 12, files_size);
|
||||||
|
|
||||||
pdb_free(modimage);
|
pdb_free(modimage);
|
||||||
|
|
|
@ -2343,7 +2343,7 @@ typedef struct _PDB_SYMBOL_FILE
|
||||||
WORD file;
|
WORD file;
|
||||||
DWORD symbol_size;
|
DWORD symbol_size;
|
||||||
DWORD lineno_size;
|
DWORD lineno_size;
|
||||||
DWORD unknown2;
|
DWORD lineno2_size;
|
||||||
DWORD nSrcFiles;
|
DWORD nSrcFiles;
|
||||||
DWORD attribute;
|
DWORD attribute;
|
||||||
CHAR filename[1];
|
CHAR filename[1];
|
||||||
|
@ -2357,7 +2357,7 @@ typedef struct _PDB_SYMBOL_FILE_EX
|
||||||
WORD file;
|
WORD file;
|
||||||
DWORD symbol_size;
|
DWORD symbol_size;
|
||||||
DWORD lineno_size;
|
DWORD lineno_size;
|
||||||
DWORD unknown2;
|
DWORD lineno2_size;
|
||||||
DWORD nSrcFiles;
|
DWORD nSrcFiles;
|
||||||
DWORD attribute;
|
DWORD attribute;
|
||||||
DWORD reserved[2];
|
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);
|
file = (const char*)symbols + sizeof(PDB_SYMBOLS);
|
||||||
while (file - (const char*)symbols < sizeof(PDB_SYMBOLS) + symbols->module_size)
|
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;
|
const char* file_name;
|
||||||
|
|
||||||
if (symbols->version < 19970000)
|
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;
|
file_name = sym_file->filename;
|
||||||
symbol_size = sym_file->symbol_size;
|
symbol_size = sym_file->symbol_size;
|
||||||
lineno_size = sym_file->lineno_size;
|
lineno_size = sym_file->lineno_size;
|
||||||
|
lineno2_size = sym_file->lineno2_size;
|
||||||
printf("\t--------symbol file----------- %s\n", file_name);
|
printf("\t--------symbol file----------- %s\n", file_name);
|
||||||
printf("\tgot symbol_file\n"
|
printf("\tgot symbol_file\n"
|
||||||
"\t\tunknown1: %08x\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\tfile: %04x\n"
|
||||||
"\t\tsymb size: %08x\n"
|
"\t\tsymb size: %08x\n"
|
||||||
"\t\tline size: %08x\n"
|
"\t\tline size: %08x\n"
|
||||||
"\t\tunknown2: %08x\n"
|
"\t\tline2 size: %08x\n"
|
||||||
"\t\tnSrcFiles: %08x\n"
|
"\t\tnSrcFiles: %08x\n"
|
||||||
"\t\tattribute: %08x\n",
|
"\t\tattribute: %08x\n",
|
||||||
sym_file->unknown1,
|
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->file,
|
||||||
sym_file->symbol_size,
|
sym_file->symbol_size,
|
||||||
sym_file->lineno_size,
|
sym_file->lineno_size,
|
||||||
sym_file->unknown2,
|
sym_file->lineno2_size,
|
||||||
sym_file->nSrcFiles,
|
sym_file->nSrcFiles,
|
||||||
sym_file->attribute);
|
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;
|
file_name = sym_file->filename;
|
||||||
symbol_size = sym_file->symbol_size;
|
symbol_size = sym_file->symbol_size;
|
||||||
lineno_size = sym_file->lineno_size;
|
lineno_size = sym_file->lineno_size;
|
||||||
|
lineno2_size = sym_file->lineno2_size;
|
||||||
printf("\t--------symbol file----------- %s\n", file_name);
|
printf("\t--------symbol file----------- %s\n", file_name);
|
||||||
printf("\t\tunknown1: %08x\n"
|
printf("\t\tunknown1: %08x\n"
|
||||||
"\t\trange\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\tfile: %04x\n"
|
||||||
"\t\tsymb size: %08x\n"
|
"\t\tsymb size: %08x\n"
|
||||||
"\t\tline size: %08x\n"
|
"\t\tline size: %08x\n"
|
||||||
"\t\tunknown2: %08x\n"
|
"\t\tline2 size: %08x\n"
|
||||||
"\t\tnSrcFiles: %08x\n"
|
"\t\tnSrcFiles: %08x\n"
|
||||||
"\t\tattribute: %08x\n"
|
"\t\tattribute: %08x\n"
|
||||||
"\t\treserved/0: %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->file,
|
||||||
sym_file->symbol_size,
|
sym_file->symbol_size,
|
||||||
sym_file->lineno_size,
|
sym_file->lineno_size,
|
||||||
sym_file->unknown2,
|
sym_file->lineno2_size,
|
||||||
sym_file->nSrcFiles,
|
sym_file->nSrcFiles,
|
||||||
sym_file->attribute,
|
sym_file->attribute,
|
||||||
sym_file->reserved[0],
|
sym_file->reserved[0],
|
||||||
|
@ -569,15 +571,13 @@ static void pdb_dump_symbols(struct pdb_reader* reader, PDB_STREAM_INDEXES* sidx
|
||||||
/* line number info */
|
/* line number info */
|
||||||
if (lineno_size)
|
if (lineno_size)
|
||||||
codeview_dump_linetab((const char*)modimage + symbol_size, TRUE, " ");
|
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
|
else if (lineno2_size) /* actually, only one of the 2 lineno should be present */
|
||||||
* it's not clear yet when to call for linetab2...
|
codeview_dump_linetab2((const char*)modimage + symbol_size, lineno2_size,
|
||||||
*/
|
filesimage ? filesimage + 12 : NULL, filessize, " ");
|
||||||
codeview_dump_linetab2((const char*)modimage + symbol_size + lineno_size,
|
|
||||||
total_size - (symbol_size + lineno_size),
|
|
||||||
filesimage ? filesimage + 12 : NULL, filessize, " ");
|
|
||||||
/* what's that part ??? */
|
/* what's that part ??? */
|
||||||
if (0)
|
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);
|
free(modimage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue