Index: src/google_breakpad/common/minidump_format.h |
diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h |
index 18f8268b2970b1d825b3e443b80b640bc5d62812..8e0790e4e1a86c1ff0ac38ab2f0a52164b397d3f 100644 |
--- a/src/google_breakpad/common/minidump_format.h |
+++ b/src/google_breakpad/common/minidump_format.h |
@@ -449,15 +449,22 @@ static const size_t MDCVInfoPDB70_minsize = offsetof(MDCVInfoPDB70, |
#define MD_CVINFOPDB70_SIGNATURE 0x53445352 /* cvSignature = 'SDSR' */ |
+/* |
+ * Modern ELF toolchains insert a "build id" into the ELF headers that |
+ * usually contains a hash of some ELF headers + sections to uniquely |
+ * identify a binary. |
+ * https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Developer_Guide/compiling-build-id.html |
+ */ |
typedef struct { |
- uint32_t data1[2]; |
- uint32_t data2; |
- uint32_t data3; |
- uint32_t data4; |
- uint32_t data5[3]; |
- uint8_t extra[2]; |
+ uint32_t cv_signature; |
+ uint8_t build_id[1]; /* bytes of build id */ |
Mark Mentovai
2016/02/09 15:55:04
How many?
Ted Mielczarek
2016/02/09 18:01:52
There isn't really a spec for it, but it allows fo
|
} MDCVInfoELF; |
+static const size_t MDCVInfoELF_minsize = offsetof(MDCVInfoELF, |
+ build_id[0]); |
+ |
+#define MD_CVINFOELF_SIGNATURE 0x4270454c /* cvSignature = 'BpEL' */ |
+ |
/* In addition to the two CodeView record formats above, used for linking |
* to external pdb files, it is possible for debugging data to be carried |
* directly in the CodeView record itself. These signature values will |