Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* Copyright (c) 2006, Google Inc. | 1 /* Copyright (c) 2006, Google Inc. |
| 2 * All rights reserved. | 2 * All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 442 uint32_t age; /* Identifies incremental changes to PDB file */ | 442 uint32_t age; /* Identifies incremental changes to PDB file */ |
| 443 uint8_t pdb_file_name[1]; /* Pathname or filename of PDB file, | 443 uint8_t pdb_file_name[1]; /* Pathname or filename of PDB file, |
| 444 * 0-terminated 8-bit character data (UTF-8?) */ | 444 * 0-terminated 8-bit character data (UTF-8?) */ |
| 445 } MDCVInfoPDB70; | 445 } MDCVInfoPDB70; |
| 446 | 446 |
| 447 static const size_t MDCVInfoPDB70_minsize = offsetof(MDCVInfoPDB70, | 447 static const size_t MDCVInfoPDB70_minsize = offsetof(MDCVInfoPDB70, |
| 448 pdb_file_name[0]); | 448 pdb_file_name[0]); |
| 449 | 449 |
| 450 #define MD_CVINFOPDB70_SIGNATURE 0x53445352 /* cvSignature = 'SDSR' */ | 450 #define MD_CVINFOPDB70_SIGNATURE 0x53445352 /* cvSignature = 'SDSR' */ |
| 451 | 451 |
| 452 /* | |
| 453 * Modern ELF toolchains insert a "build id" into the ELF headers that | |
| 454 * usually contains a hash of some ELF headers + sections to uniquely | |
| 455 * identify a binary. | |
| 456 * https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html /Developer_Guide/compiling-build-id.html | |
| 457 */ | |
| 452 typedef struct { | 458 typedef struct { |
| 453 uint32_t data1[2]; | 459 uint32_t cv_signature; |
| 454 uint32_t data2; | 460 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
| |
| 455 uint32_t data3; | |
| 456 uint32_t data4; | |
| 457 uint32_t data5[3]; | |
| 458 uint8_t extra[2]; | |
| 459 } MDCVInfoELF; | 461 } MDCVInfoELF; |
| 460 | 462 |
| 463 static const size_t MDCVInfoELF_minsize = offsetof(MDCVInfoELF, | |
| 464 build_id[0]); | |
| 465 | |
| 466 #define MD_CVINFOELF_SIGNATURE 0x4270454c /* cvSignature = 'BpEL' */ | |
| 467 | |
| 461 /* In addition to the two CodeView record formats above, used for linking | 468 /* In addition to the two CodeView record formats above, used for linking |
| 462 * to external pdb files, it is possible for debugging data to be carried | 469 * to external pdb files, it is possible for debugging data to be carried |
| 463 * directly in the CodeView record itself. These signature values will | 470 * directly in the CodeView record itself. These signature values will |
| 464 * be found in the first 4 bytes of the CodeView record. Additional values | 471 * be found in the first 4 bytes of the CodeView record. Additional values |
| 465 * not commonly experienced in the wild are given by "Microsoft Symbol and | 472 * not commonly experienced in the wild are given by "Microsoft Symbol and |
| 466 * Type Information", http://www.x86.org/ftp/manuals/tools/sym.pdf, section | 473 * Type Information", http://www.x86.org/ftp/manuals/tools/sym.pdf, section |
| 467 * 7.2. An in-depth description of the CodeView 4.1 format is given by | 474 * 7.2. An in-depth description of the CodeView 4.1 format is given by |
| 468 * "Undocumented Windows 2000 Secrets", Windows 2000 Debugging Support/ | 475 * "Undocumented Windows 2000 Secrets", Windows 2000 Debugging Support/ |
| 469 * Microsoft Symbol File Internals/CodeView Subsections, | 476 * Microsoft Symbol File Internals/CodeView Subsections, |
| 470 * http://www.rawol.com/features/undocumented/sbs-w2k-1-windows-2000-debugging-s upport.pdf | 477 * http://www.rawol.com/features/undocumented/sbs-w2k-1-windows-2000-debugging-s upport.pdf |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 964 uint64_t ldbase; | 971 uint64_t ldbase; |
| 965 uint64_t dynamic; | 972 uint64_t dynamic; |
| 966 } MDRawDebug64; | 973 } MDRawDebug64; |
| 967 | 974 |
| 968 #if defined(_MSC_VER) | 975 #if defined(_MSC_VER) |
| 969 #pragma warning(pop) | 976 #pragma warning(pop) |
| 970 #endif /* _MSC_VER */ | 977 #endif /* _MSC_VER */ |
| 971 | 978 |
| 972 | 979 |
| 973 #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ */ | 980 #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ */ |
| OLD | NEW |