| Index: minidump/minidump_extensions.h
|
| diff --git a/minidump/minidump_extensions.h b/minidump/minidump_extensions.h
|
| index a82d2f96562e522e5f42121ab7951b19d6cd3425..e57d13e83f4eacf4ca0660d43ae22723349521d6 100644
|
| --- a/minidump/minidump_extensions.h
|
| +++ b/minidump/minidump_extensions.h
|
| @@ -15,10 +15,17 @@
|
| #ifndef CRASHPAD_MINIDUMP_MINIDUMP_EXTENSIONS_H_
|
| #define CRASHPAD_MINIDUMP_MINIDUMP_EXTENSIONS_H_
|
|
|
| +#include "build/build_config.h"
|
| +
|
| +#if defined(OS_WIN)
|
| +#include <windows.h>
|
| +#endif // OS_WIN
|
| +
|
| #include <dbghelp.h>
|
| #include <stdint.h>
|
| #include <winnt.h>
|
|
|
| +#include "util/misc/struct_pack.h"
|
| #include "util/misc/uuid.h"
|
|
|
| namespace crashpad {
|
| @@ -69,7 +76,7 @@ enum MinidumpStreamType : uint32_t {
|
| //! file.
|
| //!
|
| //! \sa MINIDUMP_STRING
|
| -struct __attribute__((packed, aligned(4))) MinidumpUTF8String {
|
| +PACK_AND_ALIGN_4(struct MinidumpUTF8String {
|
| // The field names do not conform to typical style, they match the names used
|
| // in MINIDUMP_STRING. This makes it easier to operate on MINIDUMP_STRING (for
|
| // UTF-16 strings) and MinidumpUTF8String using templates.
|
| @@ -83,7 +90,7 @@ struct __attribute__((packed, aligned(4))) MinidumpUTF8String {
|
|
|
| //! \brief The string, encoded in UTF-8, and terminated with a `NUL` byte.
|
| uint8_t Buffer[0];
|
| -};
|
| +};)
|
|
|
| //! \brief CPU type values for MINIDUMP_SYSTEM_INFO::ProcessorArchitecture.
|
| //!
|
| @@ -297,25 +304,25 @@ struct MinidumpModuleCodeViewRecordPDB70 {
|
| };
|
|
|
| //! \brief A list of ::RVA pointers.
|
| -struct __attribute__((packed, aligned(4))) MinidumpRVAList {
|
| +PACK_AND_ALIGN_4(struct MinidumpRVAList {
|
| //! \brief The number of children present in the #children array.
|
| uint32_t count;
|
|
|
| //! \brief Pointers to other structures in the minidump file.
|
| RVA children[0];
|
| -};
|
| +};)
|
|
|
| //! \brief A list of MINIDUMP_LOCATION_DESCRIPTOR objects.
|
| -struct __attribute__((packed, aligned(4))) MinidumpLocationDescriptorList {
|
| +PACK_AND_ALIGN_4(struct MinidumpLocationDescriptorList {
|
| //! \brief The number of children present in the #children array.
|
| uint32_t count;
|
|
|
| //! \brief Pointers to other structures in the minidump file.
|
| MINIDUMP_LOCATION_DESCRIPTOR children[0];
|
| -};
|
| +};)
|
|
|
| //! \brief A key-value pair.
|
| -struct __attribute__((packed, aligned(4))) MinidumpSimpleStringDictionaryEntry {
|
| +PACK_AND_ALIGN_4(struct MinidumpSimpleStringDictionaryEntry {
|
| //! \brief ::RVA of a MinidumpUTF8String containing the key of a key-value
|
| //! pair.
|
| RVA key;
|
| @@ -323,16 +330,16 @@ struct __attribute__((packed, aligned(4))) MinidumpSimpleStringDictionaryEntry {
|
| //! \brief ::RVA of a MinidumpUTF8String containing the value of a key-value
|
| //! pair.
|
| RVA value;
|
| -};
|
| +};)
|
|
|
| //! \brief A list of key-value pairs.
|
| -struct __attribute__((packed, aligned(4))) MinidumpSimpleStringDictionary {
|
| +PACK_AND_ALIGN_4(struct MinidumpSimpleStringDictionary {
|
| //! \brief The number of key-value pairs present.
|
| uint32_t count;
|
|
|
| //! \brief A list of MinidumpSimpleStringDictionaryEntry entries.
|
| MinidumpSimpleStringDictionaryEntry entries[0];
|
| -};
|
| +};)
|
|
|
| //! \brief Additional Crashpad-specific information about a module carried
|
| //! within a minidump file.
|
| @@ -349,7 +356,7 @@ struct __attribute__((packed, aligned(4))) MinidumpSimpleStringDictionary {
|
| //! fields are valid or not.
|
| //!
|
| //! \sa #MinidumpModuleCrashpadInfoList
|
| -struct __attribute__((packed, aligned(4))) MinidumpModuleCrashpadInfo {
|
| +PACK_AND_ALIGN_4(struct MinidumpModuleCrashpadInfo {
|
| //! \brief The structure’s currently-defined version number.
|
| //!
|
| //! \sa version
|
| @@ -392,7 +399,7 @@ struct __attribute__((packed, aligned(4))) MinidumpModuleCrashpadInfo {
|
| //!
|
| //! This field is present when #version is at least `1`.
|
| MINIDUMP_LOCATION_DESCRIPTOR simple_annotations;
|
| -};
|
| +};)
|
|
|
| //! \brief Additional Crashpad-specific information about modules carried within
|
| //! a minidump file.
|
| @@ -422,7 +429,7 @@ using MinidumpModuleCrashpadInfoList = MinidumpLocationDescriptorList;
|
| //! structure. Revise #kVersion and document each field’s validity based on
|
| //! #version, so that newer parsers will be able to determine whether the added
|
| //! fields are valid or not.
|
| -struct __attribute__((packed, aligned(4))) MinidumpCrashpadInfo {
|
| +PACK_AND_ALIGN_4(struct MinidumpCrashpadInfo {
|
| //! \brief The structure’s currently-defined version number.
|
| //!
|
| //! \sa version
|
| @@ -443,7 +450,7 @@ struct __attribute__((packed, aligned(4))) MinidumpCrashpadInfo {
|
| //!
|
| //! This field is present when #version is at least `1`.
|
| MINIDUMP_LOCATION_DESCRIPTOR module_list;
|
| -};
|
| +};)
|
|
|
| } // namespace crashpad
|
|
|
|
|