| 659 | |
| 660 | |
| 661 | def _ReadArchitecture(self, directories): |
| 662 | # Find MDRawSystemInfo stream and determine arch. |
| 663 | for d in directories: |
| 664 | if d.stream_type == MD_SYSTEM_INFO_STREAM: |
| 665 | system_info = MINIDUMP_RAW_SYSTEM_INFO.Read( |
| 666 | self.minidump, d.location.rva) |
| 667 | self.arch = system_info.processor_architecture |
| 668 | if self.arch == MD_CPU_ARCHITECTURE_ARM64_BREAKPAD_LEGACY: |
| 669 | self.arch = MD_CPU_ARCHITECTURE_ARM64 |
| 670 | assert self.arch in [MD_CPU_ARCHITECTURE_AMD64, |
| 671 | MD_CPU_ARCHITECTURE_ARM, |
| 672 | MD_CPU_ARCHITECTURE_ARM64, |
| 673 | MD_CPU_ARCHITECTURE_X86] |
| 674 | assert not self.arch is None |
| 675 | |
| 676 | def _ReadDirectories(self, directories): |
| 677 | for d in directories: |