diff options
author | mdempsky@chromium.org <mdempsky@chromium.org> | 2014-12-11 01:17:43 +0000 |
---|---|---|
committer | mdempsky@chromium.org <mdempsky@chromium.org> | 2014-12-11 01:17:43 +0000 |
commit | d10c8c18ae5d92999f4154d27ed844c7803425a4 (patch) | |
tree | 9149cf99cddeac960d39757a742de5feec7909b3 /src/google_breakpad/common | |
parent | Breakpad: Fix build with new clang versions. (diff) | |
download | breakpad-d10c8c18ae5d92999f4154d27ed844c7803425a4.tar.xz |
Remove pointers from serialized file format
BUG=breakpad:621
R=thestig@chromium.org
Review URL: https://breakpad.appspot.com/1764002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1410 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/google_breakpad/common')
-rw-r--r-- | src/google_breakpad/common/minidump_format.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h index 109c72e6..17a5abba 100644 --- a/src/google_breakpad/common/minidump_format.h +++ b/src/google_breakpad/common/minidump_format.h @@ -342,7 +342,7 @@ typedef enum { MD_LINUX_ENVIRON = 0x47670007, /* /proc/$x/environ */ MD_LINUX_AUXV = 0x47670008, /* /proc/$x/auxv */ MD_LINUX_MAPS = 0x47670009, /* /proc/$x/maps */ - MD_LINUX_DSO_DEBUG = 0x4767000A /* MDRawDebug */ + MD_LINUX_DSO_DEBUG = 0x4767000A /* MDRawDebug{32,64} */ } MDStreamType; /* MINIDUMP_STREAM_TYPE */ @@ -930,21 +930,39 @@ typedef enum { } MDAssertionInfoData; /* These structs are used to store the DSO debug data in Linux minidumps, - * which is necessary for converting minidumps to usable coredumps. */ + * which is necessary for converting minidumps to usable coredumps. + * Because of a historical accident, several fields are variably encoded + * according to client word size, so tools potentially need to support both. */ + +typedef struct { + uint32_t addr; + MDRVA name; + uint32_t ld; +} MDRawLinkMap32; + +typedef struct { + uint32_t version; + MDRVA map; /* array of MDRawLinkMap32 */ + uint32_t dso_count; + uint32_t brk; + uint32_t ldbase; + uint32_t dynamic; +} MDRawDebug32; + typedef struct { - void* addr; + uint64_t addr; MDRVA name; - void* ld; -} MDRawLinkMap; + uint64_t ld; +} MDRawLinkMap64; typedef struct { uint32_t version; - MDRVA map; + MDRVA map; /* array of MDRawLinkMap64 */ uint32_t dso_count; - void* brk; - void* ldbase; - void* dynamic; -} MDRawDebug; + uint64_t brk; + uint64_t ldbase; + uint64_t dynamic; +} MDRawDebug64; #if defined(_MSC_VER) #pragma warning(pop) |