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

Side by Side Diff: src/common/mac/dump_syms.h

Issue 1864823002: Added an option (-i) to have dump_syms output header information only. (Closed) Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: merge Created 4 years, 8 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 | « src/common/linux/dump_symbols.cc ('k') | src/common/mac/dump_syms.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // -*- mode: c++ -*- 1 // -*- mode: c++ -*-
2 2
3 // Copyright (c) 2011, Google Inc. 3 // Copyright (c) 2011, Google Inc.
4 // All rights reserved. 4 // All rights reserved.
5 // 5 //
6 // Redistribution and use in source and binary forms, with or without 6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are 7 // modification, are permitted provided that the following conditions are
8 // met: 8 // met:
9 // 9 //
10 // * Redistributions of source code must retain the above copyright 10 // * Redistributions of source code must retain the above copyright
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (object_files_.size() > 0) 105 if (object_files_.size() > 0)
106 return &object_files_[0]; 106 return &object_files_[0];
107 return NULL; 107 return NULL;
108 } 108 }
109 109
110 // Read the selected object file's debugging information, and write it out to 110 // Read the selected object file's debugging information, and write it out to
111 // |stream|. Return true on success; if an error occurs, report it and 111 // |stream|. Return true on success; if an error occurs, report it and
112 // return false. 112 // return false.
113 bool WriteSymbolFile(std::ostream &stream); 113 bool WriteSymbolFile(std::ostream &stream);
114 114
115 // Read the selected object file's debugging information, and write out the
116 // header only to |stream|. Return true on success; if an error occurs, report
117 // it and return false.
118 bool WriteSymbolFileHeader(std::ostream &stream);
119
115 // As above, but simply return the debugging information in module 120 // As above, but simply return the debugging information in module
116 // instead of writing it to a stream. The caller owns the resulting 121 // instead of writing it to a stream. The caller owns the resulting
117 // module object and must delete it when finished. 122 // module object and must delete it when finished.
118 bool ReadSymbolData(Module** module); 123 bool ReadSymbolData(Module** module);
119 124
120 private: 125 private:
121 // Used internally. 126 // Used internally.
122 class DumperLineToModule; 127 class DumperLineToModule;
123 class LoadCommandDumper; 128 class LoadCommandDumper;
124 129
125 // This method behaves similarly to NXFindBestFatArch, but it supports 130 // This method behaves similarly to NXFindBestFatArch, but it supports
126 // SuperFatArch. 131 // SuperFatArch.
127 SuperFatArch* FindBestMatchForArchitecture( 132 SuperFatArch* FindBestMatchForArchitecture(
128 cpu_type_t cpu_type, cpu_subtype_t cpu_subtype); 133 cpu_type_t cpu_type, cpu_subtype_t cpu_subtype);
129 134
130 // Return an identifier string for the file this DumpSymbols is dumping. 135 // Return an identifier string for the file this DumpSymbols is dumping.
131 std::string Identifier(); 136 std::string Identifier();
132 137
138
139 // Creates an empty module object.
140 bool CreateEmptyModule(scoped_ptr<Module>& module);
141
133 // Read debugging information from |dwarf_sections|, which was taken from 142 // Read debugging information from |dwarf_sections|, which was taken from
134 // |macho_reader|, and add it to |module|. On success, return true; 143 // |macho_reader|, and add it to |module|. On success, return true;
135 // on failure, report the problem and return false. 144 // on failure, report the problem and return false.
136 bool ReadDwarf(google_breakpad::Module *module, 145 bool ReadDwarf(google_breakpad::Module *module,
137 const mach_o::Reader &macho_reader, 146 const mach_o::Reader &macho_reader,
138 const mach_o::SectionMap &dwarf_sections, 147 const mach_o::SectionMap &dwarf_sections,
139 bool handle_inter_cu_refs) const; 148 bool handle_inter_cu_refs) const;
140 149
141 // Read DWARF CFI or .eh_frame data from |section|, belonging to 150 // Read DWARF CFI or .eh_frame data from |section|, belonging to
142 // |macho_reader|, and record it in |module|. If |eh_frame| is true, 151 // |macho_reader|, and record it in |module|. If |eh_frame| is true,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 const SuperFatArch *selected_object_file_; 187 const SuperFatArch *selected_object_file_;
179 188
180 // A string that identifies the selected object file, for use in error 189 // A string that identifies the selected object file, for use in error
181 // messages. This is usually object_filename_, but if that refers to a 190 // messages. This is usually object_filename_, but if that refers to a
182 // fat binary, it includes an indication of the particular architecture 191 // fat binary, it includes an indication of the particular architecture
183 // within that binary. 192 // within that binary.
184 string selected_object_name_; 193 string selected_object_name_;
185 }; 194 };
186 195
187 } // namespace google_breakpad 196 } // namespace google_breakpad
OLDNEW
« no previous file with comments | « src/common/linux/dump_symbols.cc ('k') | src/common/mac/dump_syms.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698