aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorIvan Penkov <ivanpe@chromium.org>2016-09-02 14:26:23 -0700
committerIvan Penkov <ivanpe@chromium.org>2016-09-02 21:50:30 +0000
commitb857dfec2b3302a4fca882471271f2e359f51665 (patch)
tree33c93a44a40087b8a6bfcf71c28dfaa436f1000d /src/tools
parentCorrected some old references to mm files, which were renamed to cc files a w... (diff)
downloadbreakpad-b857dfec2b3302a4fca882471271f2e359f51665.tar.xz
Fixing the Xcode project for the Breakpad Mac crash reporter.
Added new files elf_reader and corrected the references to dump_syms. Also some corrections to be able to build using a newer Xcode and SDK version (tested with Xcode 7.3, SDK 10.11). Patch provided by Thomas Schweitzer. BUG= Change-Id: I18bd3f8ce0c1d0ceb737aee2fa8305adfcc83139 Reviewed-on: https://chromium-review.googlesource.com/377746 Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj24
-rw-r--r--src/tools/mac/crash_report/on_demand_symbol_supplier.mm8
2 files changed, 23 insertions, 9 deletions
diff --git a/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj b/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj
index d32837cb..c2bd3b8b 100644
--- a/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj
+++ b/src/tools/mac/crash_report/crash_report.xcodeproj/project.pbxproj
@@ -50,7 +50,7 @@
9BDF175D0B1B8C1B00F8391B /* process_state.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF175B0B1B8C1B00F8391B /* process_state.cc */; };
9BDF176E0B1B8CB100F8391B /* on_demand_symbol_supplier.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF176C0B1B8CB100F8391B /* on_demand_symbol_supplier.mm */; };
9BDF1A280B1BD58200F8391B /* pathname_stripper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */; };
- 9BDF21A70B1E825400F8391B /* dump_syms.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */; };
+ 9BDF21A70B1E825400F8391B /* dump_syms.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BDF192E0B1BC15D00F8391B /* dump_syms.cc */; };
9BE650B20B52FE3000611104 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650AC0B52FE3000611104 /* file_id.cc */; };
9BE650B40B52FE3000611104 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650AE0B52FE3000611104 /* macho_id.cc */; };
9BE650B60B52FE3000611104 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 9BE650B00B52FE3000611104 /* macho_walker.cc */; };
@@ -64,6 +64,9 @@
F44DDD8719C85CD50047280E /* dump_context.cc in Sources */ = {isa = PBXBuildFile; fileRef = F44DDD8419C85CD50047280E /* dump_context.cc */; };
F44DDD8819C85CD50047280E /* dump_object.cc in Sources */ = {isa = PBXBuildFile; fileRef = F44DDD8519C85CD50047280E /* dump_object.cc */; };
F44DDD8919C85CD50047280E /* microdump_processor.cc in Sources */ = {isa = PBXBuildFile; fileRef = F44DDD8619C85CD50047280E /* microdump_processor.cc */; };
+ F47180561D745DEF0032F208 /* elf_reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F47180541D745DEF0032F208 /* elf_reader.cc */; };
+ F47180581D7467630032F208 /* proc_maps_linux.cc in Sources */ = {isa = PBXBuildFile; fileRef = F47180571D7467630032F208 /* proc_maps_linux.cc */; };
+ F471805A1D7468A40032F208 /* symbolic_constants_win.cc in Sources */ = {isa = PBXBuildFile; fileRef = F47180591D7468A40032F208 /* symbolic_constants_win.cc */; };
F4D43B2F1A38490700C290B2 /* microdump.cc in Sources */ = {isa = PBXBuildFile; fileRef = F4D43B2E1A38490700C290B2 /* microdump.cc */; };
F9C7ECE50E8ABCA600E953AD /* bytereader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F9C7ECE20E8ABCA600E953AD /* bytereader.cc */; };
F9C7ECE60E8ABCA600E953AD /* dwarf2reader.cc in Sources */ = {isa = PBXBuildFile; fileRef = F9C7ECE30E8ABCA600E953AD /* dwarf2reader.cc */; };
@@ -151,7 +154,7 @@
9BDF176B0B1B8CB100F8391B /* on_demand_symbol_supplier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = on_demand_symbol_supplier.h; sourceTree = "<group>"; };
9BDF176C0B1B8CB100F8391B /* on_demand_symbol_supplier.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = on_demand_symbol_supplier.mm; sourceTree = "<group>"; };
9BDF192D0B1BC15D00F8391B /* dump_syms.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = dump_syms.h; path = ../../../common/mac/dump_syms.h; sourceTree = SOURCE_ROOT; };
- 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = dump_syms.mm; path = ../../../common/mac/dump_syms.mm; sourceTree = SOURCE_ROOT; };
+ 9BDF192E0B1BC15D00F8391B /* dump_syms.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = dump_syms.cc; path = ../../../common/mac/dump_syms.cc; sourceTree = SOURCE_ROOT; };
9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = pathname_stripper.cc; path = ../../../processor/pathname_stripper.cc; sourceTree = SOURCE_ROOT; };
9BDF1A7A0B1BE30100F8391B /* range_map-inl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = "range_map-inl.h"; path = "../../../processor/range_map-inl.h"; sourceTree = SOURCE_ROOT; };
9BDF1A7B0B1BE30100F8391B /* range_map.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = range_map.h; path = ../../../processor/range_map.h; sourceTree = SOURCE_ROOT; };
@@ -180,6 +183,10 @@
F44DDD8B19C85CFB0047280E /* dump_object.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dump_object.h; path = ../../../google_breakpad/processor/dump_object.h; sourceTree = "<group>"; };
F44DDD8C19C85CFC0047280E /* microdump_processor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = microdump_processor.h; path = ../../../google_breakpad/processor/microdump_processor.h; sourceTree = "<group>"; };
F44DDD8D19C85CFC0047280E /* process_result.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = process_result.h; path = ../../../google_breakpad/processor/process_result.h; sourceTree = "<group>"; };
+ F47180541D745DEF0032F208 /* elf_reader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = elf_reader.cc; path = ../../../common/dwarf/elf_reader.cc; sourceTree = "<group>"; };
+ F47180551D745DEF0032F208 /* elf_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elf_reader.h; path = ../../../common/dwarf/elf_reader.h; sourceTree = "<group>"; };
+ F47180571D7467630032F208 /* proc_maps_linux.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = proc_maps_linux.cc; path = ../../../processor/proc_maps_linux.cc; sourceTree = "<group>"; };
+ F47180591D7468A40032F208 /* symbolic_constants_win.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = symbolic_constants_win.cc; path = ../../../processor/symbolic_constants_win.cc; sourceTree = "<group>"; };
F4D43B2E1A38490700C290B2 /* microdump.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = microdump.cc; path = ../../../processor/microdump.cc; sourceTree = "<group>"; };
F4D43B301A38492000C290B2 /* microdump.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = microdump.h; path = ../../../google_breakpad/processor/microdump.h; sourceTree = "<group>"; };
F9C7ECE20E8ABCA600E953AD /* bytereader.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bytereader.cc; path = ../../../common/dwarf/bytereader.cc; sourceTree = SOURCE_ROOT; };
@@ -219,7 +226,7 @@
8B31FF7211F0C6E000FCF3E4 /* macho_reader.cc */,
8B31FF7311F0C6E000FCF3E4 /* macho_reader.h */,
9BDF192D0B1BC15D00F8391B /* dump_syms.h */,
- 9BDF192E0B1BC15D00F8391B /* dump_syms.mm */,
+ 9BDF192E0B1BC15D00F8391B /* dump_syms.cc */,
08FB7796FE84155DC02AAC07 /* crash_report.mm */,
F44DDD8D19C85CFC0047280E /* process_result.h */,
9BDF176B0B1B8CB100F8391B /* on_demand_symbol_supplier.h */,
@@ -371,6 +378,7 @@
9BDF173F0B1B8B9A00F8391B /* minidump.cc */,
9BDF172B0B1B8B2400F8391B /* minidump_processor.cc */,
9BDF1A270B1BD58200F8391B /* pathname_stripper.cc */,
+ F47180571D7467630032F208 /* proc_maps_linux.cc */,
9BDF175B0B1B8C1B00F8391B /* process_state.cc */,
9BDF1A7A0B1BE30100F8391B /* range_map-inl.h */,
9BDF1A7B0B1BE30100F8391B /* range_map.h */,
@@ -381,6 +389,7 @@
FD8EDEAD0CADDAD400A5EDF1 /* stackwalker_sparc.h */,
FD6625C40CF4D438004AC844 /* stackwalker_amd64.cc */,
FD6625C50CF4D438004AC844 /* stackwalker_amd64.h */,
+ F47180591D7468A40032F208 /* symbolic_constants_win.cc */,
);
name = processor;
sourceTree = "<group>";
@@ -405,6 +414,8 @@
F9C7ECE30E8ABCA600E953AD /* dwarf2reader.cc */,
8B31FFC311F0C8AB00FCF3E4 /* dwarf2diehandler.cc */,
8B31FFC411F0C8AB00FCF3E4 /* dwarf2diehandler.h */,
+ F47180541D745DEF0032F208 /* elf_reader.cc */,
+ F47180551D745DEF0032F208 /* elf_reader.h */,
F9C7ECE40E8ABCA600E953AD /* functioninfo.cc */,
);
name = DWARF;
@@ -460,6 +471,7 @@
files = (
162F64FE161C5ECB00CD68D5 /* arch_utilities.cc in Sources */,
8DD76F9A0486AA7600D96B5E /* crash_report.mm in Sources */,
+ F47180581D7467630032F208 /* proc_maps_linux.cc in Sources */,
9BDF172C0B1B8B2400F8391B /* call_stack.cc in Sources */,
9BDF172D0B1B8B2400F8391B /* minidump_processor.cc in Sources */,
9BDF17410B1B8B9A00F8391B /* minidump.cc in Sources */,
@@ -468,9 +480,10 @@
9BDF17550B1B8BF900F8391B /* stackwalker_x86.cc in Sources */,
9BDF17560B1B8BF900F8391B /* stackwalker.cc in Sources */,
9BDF175D0B1B8C1B00F8391B /* process_state.cc in Sources */,
+ F47180561D745DEF0032F208 /* elf_reader.cc in Sources */,
9BDF176E0B1B8CB100F8391B /* on_demand_symbol_supplier.mm in Sources */,
9BDF1A280B1BD58200F8391B /* pathname_stripper.cc in Sources */,
- 9BDF21A70B1E825400F8391B /* dump_syms.mm in Sources */,
+ 9BDF21A70B1E825400F8391B /* dump_syms.cc in Sources */,
9B35FEEA0B26761C008DE8C7 /* basic_code_modules.cc in Sources */,
9B3904990B2E52FD0059FABE /* basic_source_line_resolver.cc in Sources */,
9BE650B20B52FE3000611104 /* file_id.cc in Sources */,
@@ -498,6 +511,7 @@
8B31FF8911F0C6FB00FCF3E4 /* module.cc in Sources */,
8B31FFC511F0C8AB00FCF3E4 /* dwarf2diehandler.cc in Sources */,
F407DC49185773C10064622B /* stack_frame_symbolizer.cc in Sources */,
+ F471805A1D7468A40032F208 /* symbolic_constants_win.cc in Sources */,
4D2C721B126F9ACC00B43EAF /* source_line_resolver_base.cc in Sources */,
4D2C721F126F9ADE00B43EAF /* exploitability.cc in Sources */,
4D2C7223126F9AF900B43EAF /* exploitability_win.cc in Sources */,
@@ -530,6 +544,7 @@
1DEB927508733DD40010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
HEADER_SEARCH_PATHS = ../../../../src;
PRODUCT_NAME = crash_report;
};
@@ -538,6 +553,7 @@
1DEB927608733DD40010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
HEADER_SEARCH_PATHS = ../../../../src;
PRODUCT_NAME = crash_report;
};
diff --git a/src/tools/mac/crash_report/on_demand_symbol_supplier.mm b/src/tools/mac/crash_report/on_demand_symbol_supplier.mm
index ebbca87a..1955d266 100644
--- a/src/tools/mac/crash_report/on_demand_symbol_supplier.mm
+++ b/src/tools/mac/crash_report/on_demand_symbol_supplier.mm
@@ -27,6 +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.
+#import <Foundation/Foundation.h>
#include <sys/stat.h>
#include <map>
#include <string>
@@ -280,11 +281,8 @@ bool OnDemandSymbolSupplier::GenerateSymbolFile(const CodeModule *module,
}
if (generate_file) {
- NSString *module_str = [[NSFileManager defaultManager]
- stringWithFileSystemRepresentation:module_path.c_str()
- length:module_path.length()];
DumpSymbols dump(ALL_SYMBOL_DATA, false);
- if (dump.Read(module_str)) {
+ if (dump.Read(module_path)) {
// What Breakpad calls "x86" should be given to the system as "i386".
std::string architecture;
if (system_info->cpu.compare("x86") == 0) {
@@ -303,7 +301,7 @@ bool OnDemandSymbolSupplier::GenerateSymbolFile(const CodeModule *module,
result = false;
}
} else {
- printf("Unable to open %s\n", [module_str UTF8String]);
+ printf("Unable to open %s\n", module_path.c_str());
result = false;
}
}