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 |