mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
[RSYM] Make the ROSSYM_ENTRY::Address field ULONG
This is an RVA, so there is no reason to expand it to 64 bit on x64. Fixes crash of dbghelp_apitest rsym on x64, as the test was using ULONG while dbghelp was using ULONG_PTR and rsym itself was using TARGET_ULONG_PTR.
This commit is contained in:
@@ -189,6 +189,9 @@ void create_compressed_files()
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
|
||||
#include <rossym.h> // For ROSSYM_ENTRY
|
||||
|
||||
typedef struct _SYMBOLFILE_HEADER {
|
||||
ULONG SymbolsOffset;
|
||||
ULONG SymbolsLength;
|
||||
@@ -196,13 +199,6 @@ typedef struct _SYMBOLFILE_HEADER {
|
||||
ULONG StringsLength;
|
||||
} SYMBOLFILE_HEADER, *PSYMBOLFILE_HEADER;
|
||||
|
||||
typedef struct _ROSSYM_ENTRY {
|
||||
ULONG Address;
|
||||
ULONG FunctionOffset;
|
||||
ULONG FileOffset;
|
||||
ULONG SourceLine;
|
||||
} ROSSYM_ENTRY, *PROSSYM_ENTRY;
|
||||
|
||||
|
||||
static int is_metadata(const char* name)
|
||||
{
|
||||
@@ -224,7 +220,7 @@ static void dump_rsym_internal(void* data)
|
||||
if (!Entry->FileOffset)
|
||||
{
|
||||
if (Entry->SourceLine)
|
||||
printf("ERR: SOURCELINE (%D) ", Entry->SourceLine);
|
||||
printf("ERR: SOURCELINE (%lu) ", Entry->SourceLine);
|
||||
if (is_metadata(Strings + Entry->FunctionOffset))
|
||||
printf("metadata: %s: 0x%x\n", Strings + Entry->FunctionOffset, Entry->Address);
|
||||
else
|
||||
@@ -244,7 +240,7 @@ static void dump_rsym_internal(void* data)
|
||||
void dump_rsym(const char* filename)
|
||||
{
|
||||
char* data;
|
||||
long size, res;
|
||||
SIZE_T size, res;
|
||||
PIMAGE_FILE_HEADER PEFileHeader;
|
||||
PIMAGE_OPTIONAL_HEADER PEOptHeader;
|
||||
PIMAGE_SECTION_HEADER PESectionHeaders;
|
||||
|
||||
@@ -24,7 +24,7 @@ typedef struct _ROSSYM_HEADER {
|
||||
} ROSSYM_HEADER, *PROSSYM_HEADER;
|
||||
|
||||
typedef struct _ROSSYM_ENTRY {
|
||||
ULONG_PTR Address;
|
||||
ULONG Address; /* RVA */
|
||||
ULONG FunctionOffset;
|
||||
ULONG FileOffset;
|
||||
ULONG SourceLine;
|
||||
|
||||
@@ -157,14 +157,8 @@ typedef struct _COFF_SYMENT
|
||||
} COFF_SYMENT, *PCOFF_SYMENT;
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef TARGET_i386
|
||||
typedef ULONG TARGET_ULONG_PTR;
|
||||
#else
|
||||
typedef ULONGLONG TARGET_ULONG_PTR;
|
||||
#endif
|
||||
|
||||
typedef struct _ROSSYM_ENTRY {
|
||||
TARGET_ULONG_PTR Address;
|
||||
ULONG Address; /* RVA */
|
||||
ULONG FunctionOffset;
|
||||
ULONG FileOffset;
|
||||
ULONG SourceLine;
|
||||
|
||||
Reference in New Issue
Block a user