Automatically capture debugID in Mac OS symupload tool.
There's no need to pass in debug ID to symupload for native symbol uploads, as breakpad can extra the ID itself for dsym and macho types. Change-Id: Ib0b7703eac85bc84fe1f095e678d75b347bd872a Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2724731 Reviewed-by: Nelson Billing <nbilling@google.com> Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
parent
778bd12f22
commit
46f4b593ee
4 changed files with 214 additions and 12 deletions
|
@ -285,6 +285,11 @@ SuperFatArch* DumpSymbols::FindBestMatchForArchitecture(
|
|||
string DumpSymbols::Identifier() {
|
||||
FileID file_id(object_filename_.c_str());
|
||||
unsigned char identifier_bytes[16];
|
||||
scoped_ptr<Module> module;
|
||||
if (!selected_object_file_) {
|
||||
if (!CreateEmptyModule(module))
|
||||
return string();
|
||||
}
|
||||
cpu_type_t cpu_type = selected_object_file_->cputype;
|
||||
cpu_subtype_t cpu_subtype = selected_object_file_->cpusubtype;
|
||||
if (!file_id.MachoIdentifier(cpu_type, cpu_subtype, identifier_bytes)) {
|
||||
|
|
|
@ -122,6 +122,9 @@ class DumpSymbols {
|
|||
// module object and must delete it when finished.
|
||||
bool ReadSymbolData(Module** module);
|
||||
|
||||
// Return an identifier string for the file this DumpSymbols is dumping.
|
||||
std::string Identifier();
|
||||
|
||||
private:
|
||||
// Used internally.
|
||||
class DumperLineToModule;
|
||||
|
@ -133,10 +136,6 @@ class DumpSymbols {
|
|||
SuperFatArch* FindBestMatchForArchitecture(
|
||||
cpu_type_t cpu_type, cpu_subtype_t cpu_subtype);
|
||||
|
||||
// Return an identifier string for the file this DumpSymbols is dumping.
|
||||
std::string Identifier();
|
||||
|
||||
|
||||
// Creates an empty module object.
|
||||
bool CreateEmptyModule(scoped_ptr<Module>& module);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// symupload.m: Upload a symbol file to a HTTP server. The upload is sent as
|
||||
// symupload.mm: Upload a symbol file to a HTTP server. The upload is sent as
|
||||
// a multipart/form-data POST request with the following parameters:
|
||||
// code_file: the basename of the module, e.g. "app"
|
||||
// debug_file: the basename of the debugging file, e.g. "app"
|
||||
|
@ -47,8 +47,13 @@
|
|||
#include "HTTPMultipartUpload.h"
|
||||
#include "HTTPPutRequest.h"
|
||||
#include "SymbolCollectorClient.h"
|
||||
#include "common/mac/dump_syms.h"
|
||||
|
||||
using google_breakpad::DumpSymbols;
|
||||
|
||||
NSString* const kBreakpadSymbolType = @"BREAKPAD";
|
||||
NSString* const kMachOSymbolType = @"MACHO";
|
||||
NSString* const kDSYMSymbolType = @"DSYM";
|
||||
|
||||
typedef enum { kSymUploadProtocolV1, kSymUploadProtocolV2 } SymUploadProtocol;
|
||||
|
||||
|
@ -275,7 +280,9 @@ static void Usage(int argc, const char* argv[]) {
|
|||
fprintf(stderr, "-c:\t <code-file> Explicitly set 'code_file' for symbol "
|
||||
"upload (basename of executable).\n");
|
||||
fprintf(stderr, "-i:\t <debug-id> Explicitly set 'debug_id' for symbol "
|
||||
"upload (typically build ID of executable).\n");
|
||||
"upload (typically build ID of executable). The debug-id for "
|
||||
"symbol-types 'dsym' and 'macho' will be determined "
|
||||
"automatically. \n");
|
||||
fprintf(stderr, "\t-h: Usage\n");
|
||||
fprintf(stderr, "\t-?: Usage\n");
|
||||
fprintf(stderr, "\n");
|
||||
|
@ -410,6 +417,27 @@ static void SetupOptions(int argc, const char* argv[], Options* options) {
|
|||
Usage(argc, argv);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!isBreakpadUpload && hasCodeFile && !hasDebugID &&
|
||||
([options->type isEqualToString:kMachOSymbolType] ||
|
||||
[options->type isEqualToString:kDSYMSymbolType])) {
|
||||
DumpSymbols dump_symbols(NO_CFI, false);
|
||||
if (dump_symbols.Read(argv[optind])) {
|
||||
std::string identifier = dump_symbols.Identifier();
|
||||
if (identifier.empty()) {
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr,
|
||||
"%s: Unable to determine debug-id. Please specify with '-i'.\n",
|
||||
argv[0]);
|
||||
fprintf(stderr, "\n");
|
||||
Usage(argc, argv);
|
||||
exit(1);
|
||||
}
|
||||
options->debugID = [NSString stringWithUTF8String:identifier.c_str()];
|
||||
hasDebugID = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isBreakpadUpload && (!hasCodeFile || !hasDebugID)) {
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr,
|
|
@ -14,8 +14,31 @@
|
|||
5B6060D022273BDA0015F0A0 /* SymbolCollectorClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B6060CF22273BDA0015F0A0 /* SymbolCollectorClient.m */; };
|
||||
5B97447524D0AA5F000C71F5 /* encoding_util.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B97447424D0AA5F000C71F5 /* encoding_util.m */; };
|
||||
8B31022C11F0CEBD00FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
|
||||
8DD76F9A0486AA7600D96B5E /* symupload.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* symupload.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8DD76F9A0486AA7600D96B5E /* symupload.mm in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* symupload.mm */; settings = {ATTRIBUTES = (); }; };
|
||||
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
|
||||
930DA19225ED543A008558E3 /* dump_syms.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA19025ED543A008558E3 /* dump_syms.cc */; };
|
||||
930DA22C25ED55A9008558E3 /* module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA21F25ED55A8008558E3 /* module.cc */; };
|
||||
930DA22D25ED55A9008558E3 /* dwarf_cfi_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */; };
|
||||
930DA22E25ED55A9008558E3 /* stabs_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22525ED55A8008558E3 /* stabs_to_module.cc */; };
|
||||
930DA22F25ED55A9008558E3 /* language.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22625ED55A9008558E3 /* language.cc */; };
|
||||
930DA23125ED55A9008558E3 /* dwarf_line_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */; };
|
||||
930DA23225ED55A9008558E3 /* dwarf_cu_to_module.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */; };
|
||||
930DA23725ED55B6008558E3 /* stabs_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23625ED55B6008558E3 /* stabs_reader.cc */; };
|
||||
930DA24225ED55BF008558E3 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23A25ED55BF008558E3 /* macho_id.cc */; };
|
||||
930DA24325ED55BF008558E3 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23C25ED55BF008558E3 /* macho_utilities.cc */; };
|
||||
930DA24425ED55BF008558E3 /* macho_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA23F25ED55BF008558E3 /* macho_reader.cc */; };
|
||||
930DA24525ED55BF008558E3 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24125ED55BF008558E3 /* macho_walker.cc */; };
|
||||
930DA25C25ED56DB008558E3 /* dwarf_range_list_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */; };
|
||||
930DA25D25ED56DB008558E3 /* cfi_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA24E25ED56DB008558E3 /* cfi_assembler.cc */; };
|
||||
930DA25E25ED56DB008558E3 /* elf_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25225ED56DB008558E3 /* elf_reader.cc */; };
|
||||
930DA25F25ED56DB008558E3 /* dwarf2diehandler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */; };
|
||||
930DA26025ED56DB008558E3 /* dwarf2reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25625ED56DB008558E3 /* dwarf2reader.cc */; };
|
||||
930DA26125ED56DB008558E3 /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA25925ED56DB008558E3 /* bytereader.cc */; };
|
||||
930DA26925ED56FF008558E3 /* test_assembler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA26825ED56FF008558E3 /* test_assembler.cc */; };
|
||||
930DA26E25ED571F008558E3 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA26D25ED571F008558E3 /* arch_utilities.cc */; };
|
||||
930DA27825ED572D008558E3 /* path_helper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27125ED572C008558E3 /* path_helper.cc */; };
|
||||
930DA27925ED572D008558E3 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27525ED572C008558E3 /* file_id.cc */; };
|
||||
930DA27A25ED572D008558E3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 930DA27725ED572D008558E3 /* md5.cc */; };
|
||||
9BC1D49E0B37427A00F2A2B4 /* minidump_upload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD836000B0544BA0055103E /* minidump_upload.m */; };
|
||||
9BD8336A0B03E4080055103E /* HTTPMultipartUpload.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9BD833680B03E4080055103E /* HTTPMultipartUpload.h */; };
|
||||
9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BD833690B03E4080055103E /* HTTPMultipartUpload.m */; };
|
||||
|
@ -36,7 +59,7 @@
|
|||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
08FB7796FE84155DC02AAC07 /* symupload.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; path = symupload.m; sourceTree = "<group>"; tabWidth = 2; };
|
||||
08FB7796FE84155DC02AAC07 /* symupload.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.objcpp; path = symupload.mm; sourceTree = "<group>"; tabWidth = 2; };
|
||||
08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
5B6060BB222716FC0015F0A0 /* HTTPRequest.h */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = HTTPRequest.h; path = ../../../common/mac/HTTPRequest.h; sourceTree = "<group>"; tabWidth = 2; };
|
||||
5B6060BC222716FC0015F0A0 /* HTTPRequest.m */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPRequest.m; path = ../../../common/mac/HTTPRequest.m; sourceTree = "<group>"; tabWidth = 2; };
|
||||
|
@ -54,6 +77,56 @@
|
|||
8B3102B611F0D5CE00FCF3E4 /* BreakpadDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadDebug.xcconfig; path = ../../../common/mac/BreakpadDebug.xcconfig; sourceTree = SOURCE_ROOT; };
|
||||
8B3102B711F0D5CE00FCF3E4 /* BreakpadRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadRelease.xcconfig; path = ../../../common/mac/BreakpadRelease.xcconfig; sourceTree = SOURCE_ROOT; };
|
||||
8DD76FA10486AA7600D96B5E /* symupload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = symupload; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
930DA19025ED543A008558E3 /* dump_syms.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dump_syms.cc; path = ../../../common/mac/dump_syms.cc; sourceTree = "<group>"; };
|
||||
930DA19125ED543A008558E3 /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = "<group>"; };
|
||||
930DA21F25ED55A8008558E3 /* module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = module.cc; path = ../../../common/module.cc; sourceTree = "<group>"; };
|
||||
930DA22025ED55A8008558E3 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../../common/module.h; sourceTree = "<group>"; };
|
||||
930DA22125ED55A8008558E3 /* dwarf_cfi_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cfi_to_module.h; path = ../../../common/dwarf_cfi_to_module.h; sourceTree = "<group>"; };
|
||||
930DA22225ED55A8008558E3 /* dwarf_cu_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_cu_to_module.h; path = ../../../common/dwarf_cu_to_module.h; sourceTree = "<group>"; };
|
||||
930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cfi_to_module.cc; path = ../../../common/dwarf_cfi_to_module.cc; sourceTree = "<group>"; };
|
||||
930DA22425ED55A8008558E3 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = language.h; path = ../../../common/language.h; sourceTree = "<group>"; };
|
||||
930DA22525ED55A8008558E3 /* stabs_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_to_module.cc; path = ../../../common/stabs_to_module.cc; sourceTree = "<group>"; };
|
||||
930DA22625ED55A9008558E3 /* language.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = language.cc; path = ../../../common/language.cc; sourceTree = "<group>"; };
|
||||
930DA22725ED55A9008558E3 /* dwarf_line_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_line_to_module.h; path = ../../../common/dwarf_line_to_module.h; sourceTree = "<group>"; };
|
||||
930DA22825ED55A9008558E3 /* stabs_to_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_to_module.h; path = ../../../common/stabs_to_module.h; sourceTree = "<group>"; };
|
||||
930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_line_to_module.cc; path = ../../../common/dwarf_line_to_module.cc; sourceTree = "<group>"; };
|
||||
930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_cu_to_module.cc; path = ../../../common/dwarf_cu_to_module.cc; sourceTree = "<group>"; };
|
||||
930DA23525ED55B6008558E3 /* stabs_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stabs_reader.h; path = ../../../common/stabs_reader.h; sourceTree = "<group>"; };
|
||||
930DA23625ED55B6008558E3 /* stabs_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stabs_reader.cc; path = ../../../common/stabs_reader.cc; sourceTree = "<group>"; };
|
||||
930DA23A25ED55BF008558E3 /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../../common/mac/macho_id.cc; sourceTree = "<group>"; };
|
||||
930DA23B25ED55BF008558E3 /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../../common/mac/macho_id.h; sourceTree = "<group>"; };
|
||||
930DA23C25ED55BF008558E3 /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../../common/mac/macho_utilities.cc; sourceTree = "<group>"; };
|
||||
930DA23D25ED55BF008558E3 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = "<group>"; };
|
||||
930DA23E25ED55BF008558E3 /* macho_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_reader.h; path = ../../../common/mac/macho_reader.h; sourceTree = "<group>"; };
|
||||
930DA23F25ED55BF008558E3 /* macho_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_reader.cc; path = ../../../common/mac/macho_reader.cc; sourceTree = "<group>"; };
|
||||
930DA24025ED55BF008558E3 /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../../common/mac/macho_utilities.h; sourceTree = "<group>"; };
|
||||
930DA24125ED55BF008558E3 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = "<group>"; };
|
||||
930DA24C25ED56DB008558E3 /* line_state_machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = line_state_machine.h; path = ../../../common/dwarf/line_state_machine.h; sourceTree = "<group>"; };
|
||||
930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf_range_list_handler.cc; path = ../../../common/dwarf_range_list_handler.cc; sourceTree = "<group>"; };
|
||||
930DA24E25ED56DB008558E3 /* cfi_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cfi_assembler.cc; path = ../../../common/dwarf/cfi_assembler.cc; sourceTree = "<group>"; };
|
||||
930DA24F25ED56DB008558E3 /* dwarf2enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2enums.h; path = ../../../common/dwarf/dwarf2enums.h; sourceTree = "<group>"; };
|
||||
930DA25025ED56DB008558E3 /* bytereader-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "bytereader-inl.h"; path = "../../../common/dwarf/bytereader-inl.h"; sourceTree = "<group>"; };
|
||||
930DA25125ED56DB008558E3 /* dwarf_range_list_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf_range_list_handler.h; path = ../../../common/dwarf_range_list_handler.h; sourceTree = "<group>"; };
|
||||
930DA25225ED56DB008558E3 /* elf_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = elf_reader.cc; path = ../../../common/dwarf/elf_reader.cc; sourceTree = "<group>"; };
|
||||
930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2diehandler.cc; path = ../../../common/dwarf/dwarf2diehandler.cc; sourceTree = "<group>"; };
|
||||
930DA25425ED56DB008558E3 /* elf_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elf_reader.h; path = ../../../common/dwarf/elf_reader.h; sourceTree = "<group>"; };
|
||||
930DA25525ED56DB008558E3 /* bytereader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bytereader.h; path = ../../../common/dwarf/bytereader.h; sourceTree = "<group>"; };
|
||||
930DA25625ED56DB008558E3 /* dwarf2reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dwarf2reader.cc; path = ../../../common/dwarf/dwarf2reader.cc; sourceTree = "<group>"; };
|
||||
930DA25725ED56DB008558E3 /* dwarf2reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2reader.h; path = ../../../common/dwarf/dwarf2reader.h; sourceTree = "<group>"; };
|
||||
930DA25825ED56DB008558E3 /* dwarf2diehandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dwarf2diehandler.h; path = ../../../common/dwarf/dwarf2diehandler.h; sourceTree = "<group>"; };
|
||||
930DA25925ED56DB008558E3 /* bytereader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bytereader.cc; path = ../../../common/dwarf/bytereader.cc; sourceTree = "<group>"; };
|
||||
930DA25A25ED56DB008558E3 /* cfi_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfi_assembler.h; path = ../../../common/dwarf/cfi_assembler.h; sourceTree = "<group>"; };
|
||||
930DA26725ED56FF008558E3 /* test_assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = test_assembler.h; path = ../../../common/test_assembler.h; sourceTree = "<group>"; };
|
||||
930DA26825ED56FF008558E3 /* test_assembler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = test_assembler.cc; path = ../../../common/test_assembler.cc; sourceTree = "<group>"; };
|
||||
930DA26C25ED571F008558E3 /* arch_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = arch_utilities.h; path = ../../../common/mac/arch_utilities.h; sourceTree = "<group>"; };
|
||||
930DA26D25ED571F008558E3 /* arch_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = arch_utilities.cc; path = ../../../common/mac/arch_utilities.cc; sourceTree = "<group>"; };
|
||||
930DA27125ED572C008558E3 /* path_helper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = path_helper.cc; path = ../../../common/path_helper.cc; sourceTree = "<group>"; };
|
||||
930DA27225ED572C008558E3 /* byteswap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byteswap.h; path = ../../../common/mac/byteswap.h; sourceTree = "<group>"; };
|
||||
930DA27325ED572C008558E3 /* path_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = path_helper.h; path = ../../../common/path_helper.h; sourceTree = "<group>"; };
|
||||
930DA27425ED572C008558E3 /* byte_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = byte_cursor.h; path = ../../../common/byte_cursor.h; sourceTree = "<group>"; };
|
||||
930DA27525ED572C008558E3 /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../../common/mac/file_id.cc; sourceTree = "<group>"; };
|
||||
930DA27625ED572C008558E3 /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../../common/mac/file_id.h; sourceTree = "<group>"; };
|
||||
930DA27725ED572D008558E3 /* md5.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = md5.cc; path = ../../../common/md5.cc; sourceTree = "<group>"; };
|
||||
9BD833680B03E4080055103E /* HTTPMultipartUpload.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = HTTPMultipartUpload.h; path = ../../../common/mac/HTTPMultipartUpload.h; sourceTree = "<group>"; tabWidth = 2; };
|
||||
9BD833690B03E4080055103E /* HTTPMultipartUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.objc; name = HTTPMultipartUpload.m; path = ../../../common/mac/HTTPMultipartUpload.m; sourceTree = "<group>"; tabWidth = 2; };
|
||||
9BD835FB0B0544950055103E /* minidump_upload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_upload; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -83,6 +156,7 @@
|
|||
08FB7794FE84155DC02AAC07 /* symupload */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
930DA21E25ED5586008558E3 /* dump_syms */,
|
||||
5B6060CE22273BDA0015F0A0 /* SymbolCollectorClient.h */,
|
||||
5B6060CF22273BDA0015F0A0 /* SymbolCollectorClient.m */,
|
||||
5B6060C82227374E0015F0A0 /* HTTPSimplePostRequest.h */,
|
||||
|
@ -98,7 +172,7 @@
|
|||
8B31022B11F0CE6900FCF3E4 /* Breakpad.xcconfig */,
|
||||
8B3102B611F0D5CE00FCF3E4 /* BreakpadDebug.xcconfig */,
|
||||
8B3102B711F0D5CE00FCF3E4 /* BreakpadRelease.xcconfig */,
|
||||
08FB7796FE84155DC02AAC07 /* symupload.m */,
|
||||
08FB7796FE84155DC02AAC07 /* symupload.mm */,
|
||||
9BD836000B0544BA0055103E /* minidump_upload.m */,
|
||||
9BD833680B03E4080055103E /* HTTPMultipartUpload.h */,
|
||||
9BD833690B03E4080055103E /* HTTPMultipartUpload.m */,
|
||||
|
@ -125,6 +199,63 @@
|
|||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
930DA21E25ED5586008558E3 /* dump_syms */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
930DA23A25ED55BF008558E3 /* macho_id.cc */,
|
||||
930DA23B25ED55BF008558E3 /* macho_id.h */,
|
||||
930DA23F25ED55BF008558E3 /* macho_reader.cc */,
|
||||
930DA23E25ED55BF008558E3 /* macho_reader.h */,
|
||||
930DA23C25ED55BF008558E3 /* macho_utilities.cc */,
|
||||
930DA24025ED55BF008558E3 /* macho_utilities.h */,
|
||||
930DA24125ED55BF008558E3 /* macho_walker.cc */,
|
||||
930DA23D25ED55BF008558E3 /* macho_walker.h */,
|
||||
930DA19025ED543A008558E3 /* dump_syms.cc */,
|
||||
930DA19125ED543A008558E3 /* dump_syms.h */,
|
||||
930DA23625ED55B6008558E3 /* stabs_reader.cc */,
|
||||
930DA23525ED55B6008558E3 /* stabs_reader.h */,
|
||||
930DA22325ED55A8008558E3 /* dwarf_cfi_to_module.cc */,
|
||||
930DA22125ED55A8008558E3 /* dwarf_cfi_to_module.h */,
|
||||
930DA22B25ED55A9008558E3 /* dwarf_cu_to_module.cc */,
|
||||
930DA22225ED55A8008558E3 /* dwarf_cu_to_module.h */,
|
||||
930DA22A25ED55A9008558E3 /* dwarf_line_to_module.cc */,
|
||||
930DA22725ED55A9008558E3 /* dwarf_line_to_module.h */,
|
||||
930DA22625ED55A9008558E3 /* language.cc */,
|
||||
930DA22425ED55A8008558E3 /* language.h */,
|
||||
930DA21F25ED55A8008558E3 /* module.cc */,
|
||||
930DA22025ED55A8008558E3 /* module.h */,
|
||||
930DA22525ED55A8008558E3 /* stabs_to_module.cc */,
|
||||
930DA22825ED55A9008558E3 /* stabs_to_module.h */,
|
||||
930DA25025ED56DB008558E3 /* bytereader-inl.h */,
|
||||
930DA25925ED56DB008558E3 /* bytereader.cc */,
|
||||
930DA25525ED56DB008558E3 /* bytereader.h */,
|
||||
930DA24E25ED56DB008558E3 /* cfi_assembler.cc */,
|
||||
930DA25A25ED56DB008558E3 /* cfi_assembler.h */,
|
||||
930DA24D25ED56DB008558E3 /* dwarf_range_list_handler.cc */,
|
||||
930DA25125ED56DB008558E3 /* dwarf_range_list_handler.h */,
|
||||
930DA25325ED56DB008558E3 /* dwarf2diehandler.cc */,
|
||||
930DA25825ED56DB008558E3 /* dwarf2diehandler.h */,
|
||||
930DA24F25ED56DB008558E3 /* dwarf2enums.h */,
|
||||
930DA25625ED56DB008558E3 /* dwarf2reader.cc */,
|
||||
930DA25725ED56DB008558E3 /* dwarf2reader.h */,
|
||||
930DA25225ED56DB008558E3 /* elf_reader.cc */,
|
||||
930DA25425ED56DB008558E3 /* elf_reader.h */,
|
||||
930DA24C25ED56DB008558E3 /* line_state_machine.h */,
|
||||
930DA26825ED56FF008558E3 /* test_assembler.cc */,
|
||||
930DA26725ED56FF008558E3 /* test_assembler.h */,
|
||||
930DA26D25ED571F008558E3 /* arch_utilities.cc */,
|
||||
930DA26C25ED571F008558E3 /* arch_utilities.h */,
|
||||
930DA27425ED572C008558E3 /* byte_cursor.h */,
|
||||
930DA27225ED572C008558E3 /* byteswap.h */,
|
||||
930DA27525ED572C008558E3 /* file_id.cc */,
|
||||
930DA27625ED572C008558E3 /* file_id.h */,
|
||||
930DA27725ED572D008558E3 /* md5.cc */,
|
||||
930DA27125ED572C008558E3 /* path_helper.cc */,
|
||||
930DA27325ED572C008558E3 /* path_helper.h */,
|
||||
);
|
||||
name = dump_syms;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
|
@ -191,14 +322,37 @@
|
|||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8DD76F9A0486AA7600D96B5E /* symupload.m in Sources */,
|
||||
8DD76F9A0486AA7600D96B5E /* symupload.mm in Sources */,
|
||||
930DA19225ED543A008558E3 /* dump_syms.cc in Sources */,
|
||||
930DA24525ED55BF008558E3 /* macho_walker.cc in Sources */,
|
||||
930DA22E25ED55A9008558E3 /* stabs_to_module.cc in Sources */,
|
||||
5B6060CA2227374E0015F0A0 /* HTTPSimplePostRequest.m in Sources */,
|
||||
930DA25F25ED56DB008558E3 /* dwarf2diehandler.cc in Sources */,
|
||||
930DA27825ED572D008558E3 /* path_helper.cc in Sources */,
|
||||
930DA27A25ED572D008558E3 /* md5.cc in Sources */,
|
||||
930DA22D25ED55A9008558E3 /* dwarf_cfi_to_module.cc in Sources */,
|
||||
930DA24425ED55BF008558E3 /* macho_reader.cc in Sources */,
|
||||
930DA24325ED55BF008558E3 /* macho_utilities.cc in Sources */,
|
||||
5B6060D022273BDA0015F0A0 /* SymbolCollectorClient.m in Sources */,
|
||||
5B6060C7222735E50015F0A0 /* HTTPGetRequest.m in Sources */,
|
||||
930DA27925ED572D008558E3 /* file_id.cc in Sources */,
|
||||
930DA26925ED56FF008558E3 /* test_assembler.cc in Sources */,
|
||||
930DA22F25ED55A9008558E3 /* language.cc in Sources */,
|
||||
930DA25E25ED56DB008558E3 /* elf_reader.cc in Sources */,
|
||||
930DA26E25ED571F008558E3 /* arch_utilities.cc in Sources */,
|
||||
930DA24225ED55BF008558E3 /* macho_id.cc in Sources */,
|
||||
5B6060C02227201B0015F0A0 /* HTTPPutRequest.m in Sources */,
|
||||
930DA25C25ED56DB008558E3 /* dwarf_range_list_handler.cc in Sources */,
|
||||
5B6060BD222716FC0015F0A0 /* HTTPRequest.m in Sources */,
|
||||
930DA25D25ED56DB008558E3 /* cfi_assembler.cc in Sources */,
|
||||
930DA23225ED55A9008558E3 /* dwarf_cu_to_module.cc in Sources */,
|
||||
930DA23125ED55A9008558E3 /* dwarf_line_to_module.cc in Sources */,
|
||||
930DA26125ED56DB008558E3 /* bytereader.cc in Sources */,
|
||||
930DA22C25ED55A9008558E3 /* module.cc in Sources */,
|
||||
5B97447524D0AA5F000C71F5 /* encoding_util.m in Sources */,
|
||||
930DA23725ED55B6008558E3 /* stabs_reader.cc in Sources */,
|
||||
9BD8336B0B03E4080055103E /* HTTPMultipartUpload.m in Sources */,
|
||||
930DA26025ED56DB008558E3 /* dwarf2reader.cc in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -217,7 +371,13 @@
|
|||
1DEB927508733DD40010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
HEADER_SEARCH_PATHS = ../../..;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = HAVE_MACH_O_NLIST_H;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
../../..,
|
||||
../../../common/mac/include,
|
||||
../../../third_party/musl/include/,
|
||||
);
|
||||
PRODUCT_NAME = symupload;
|
||||
};
|
||||
name = Debug;
|
||||
|
@ -225,7 +385,17 @@
|
|||
1DEB927608733DD40010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
HEADER_SEARCH_PATHS = ../../..;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
NDEBUG,
|
||||
HAVE_MACH_O_NLIST_H,
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
../../..,
|
||||
../../../common/mac/include,
|
||||
../../../third_party/musl/include/,
|
||||
);
|
||||
PRODUCT_NAME = symupload;
|
||||
};
|
||||
name = Release;
|
||||
|
|
Loading…
Reference in a new issue