Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: src/google_breakpad/common/minidump_format.h

Issue 1675413002: Change MDCVInfoELF into something usable. (Closed) Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/google_breakpad/common/minidump_size.h » ('j') | src/processor/minidump.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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__ */
OLDNEW
« no previous file with comments | « no previous file | src/google_breakpad/common/minidump_size.h » ('j') | src/processor/minidump.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698