Changes between Version 5 and Version 6 of StaticRootingAnalysis
- Timestamp:
- Aug 21, 2014, 10:53:05 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
StaticRootingAnalysis
v5 v6 3 3 [[TOC]] 4 4 5 = Overview5 == Overview 6 6 The static rooting analysis uses a GCC plugin to dump possible callstacks that can cause GC and statically (at compile time) analyses this data for rooting hazards. 7 7 … … 12 12 * There can be false positives 13 13 14 = Requirements14 == Requirements 15 15 16 16 * Sixgill plugin: [http://people.mozilla.org/~sfink/data/hazards-sixgill.tar.xz hazards-sixgill.tar.xz] … … 20 20 Download the custom GCC and extract it where you like. This path will be called "/path/to/customgcc". 21 21 22 = Setup23 == Generating .xdb files22 == Setup 23 === Generating .xdb files 24 24 The first step is to generate the .xdb files that contain all the information generated at compile time. You need to combine the information from the SpiderMonkey build and the 0 A.D. build. 25 25 … … 48 48 1. After the build is completed, the .xdb files in 0ad/build/workspaces/gcc should contain the information from the SpiderMonkey build and the 0 A.D. build. 49 49 50 === Troubleshooting50 ==== Troubleshooting 51 51 52 52 The following logfiles are generated when running run_complete with the correct GCC and an active sixgill plugin. You can also pass --no-logs to run_complete, which will print the logs in the console directly (except basecc.log). … … 61 61 62 62 63 == Analyzing .xdb files63 === Analyzing .xdb files 64 64 The second step is to run a series of scripts on the .xdb files generated in the previous step. 65 65 … … 74 74 You can restart analyze.py at any point. Pass --list to show the different stages, and use one of those in place of 'callgraph'. By default, it'll go from the stage you request all the way to the end. 75 75 76 === Troubleshooting76 ==== Troubleshooting 77 77 78 78 .xdb files are key value pairs. You can use the tools in /path/to/sixgill/usr/bin to inspect the data they contain. … … 82 82 || xdbkeys || List all keys || xdbkeys something.xdb || 83 83 84 = Reading the output84 == Reading the output 85 85 86 86 AnalyzeRoots.js will generate the following files. Examples are attached to this wiki page.