{"push_id":751119766,"size":1000,"distinct_size":1351,"ref":"refs/heads/master","head":"b23b37f3344ded7f7649e36b3387566bd3f0402d","before":"3b0e279e053dd1a3cc9b6a7aa11d47838a902983","commits":[{"sha":"0eb3c6e5e2846cc71a7fbcf581596f3b5b3135b6","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Correctly find boundary address when computing line and function sizes.\n\nIn NextAddress, check both the file list and the function list for the\nnearest boundary.  Don't assume that, if we find any bounding entry in\nthe function list, that must be the nearest thing.\n\nA=jimblandy\nR=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@365 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/0eb3c6e5e2846cc71a7fbcf581596f3b5b3135b6"},{"sha":"7a5e320f84a6f894d0d05a26978cc290cdd4e6f7","author":{"email":"0b9d6f0bcec629cc4a549eea5ba88c56036d0b88@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"nealsid"},"message":"Add tool dependencies to the 'Build All' target of Breakpad, so that everything can be built at once!\n\nR=stuart.morgan\nA=nealsid\n\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@366 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/7a5e320f84a6f894d0d05a26978cc290cdd4e6f7"},{"sha":"4a6e708ed62d1b075029e9e0d0b0077a8f1cf746","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Use a sorted array of addresses in computing function and line sizes.\n\nReplace the sorted lists of files and functions with an array of\nboundary addresses.  This replaces CompareAddress with the default\ncomparison, and SortByAddress and NextAddress with the stock STL sort\nand upper_bound algorithms, losing ~50 lines of code.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@367 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/4a6e708ed62d1b075029e9e0d0b0077a8f1cf746"},{"sha":"e0a251236906b84e87ee56c91cf3b1e0c4fd91dc","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Use pointers to SourceFileInfo structures.\n\nUse a list of pointers to SourceFileInfo structures, not a list of the\nstructures themselves.  This is preparation for a subsequent patch\nwhich makes the data structures less STABS-specific.\n\nThis patch introduces a memory leak.  If an included file is\nreferenced only by line entries for functions that LoadFuncSymbols\nelected to omit from the func_info list, then its SourceFileInfo\nstructure is leaked when we destroy the name_to_file map.  This leak\nis fixed in a subsequent patch by letting the map of files by name own\nthe file objects.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@368 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/e0a251236906b84e87ee56c91cf3b1e0c4fd91dc"},{"sha":"0d23e8c68659fa8c661e3e7454933234f90443c4","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Don't record file boundary addresses as null-name SourceFileInfoList entries.\n\nSTABS information introduces a compilation unit with an N_SO entry\nwhose address is the start address of the file and whose string is the\nname of the compilation unit's main source file.  However, STABS\nentries can only hold one address, so STABS indicates the compilation\nunit's ending address with an N_SO entry whose name is empty.\n\nCurrently, the dumper's data structures simply create SourceFileInfo\nstructures with empty names for these end-of-unit N_SO entries.  We\nwant to remove STABS-specific characteristics from these structures so\nthat we can replace them with an input-format-independent structure.\n\nThis moves end-of-compilation-unit addresses out of the symbol table\nstructure, and into their own list of boundary addresses.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@369 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/0d23e8c68659fa8c661e3e7454933234f90443c4"},{"sha":"f3f7df33de02410699895b5f9a77901b550578cd","author":{"email":"0b9d6f0bcec629cc4a549eea5ba88c56036d0b88@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"nealsid"},"message":"Fix an INVALIDATE_ITERATOR defect reported by Coverity.\n\nstd::vector::erase() invalidates the iterator, so we need\nto advance the iterator by using the return value of erase().\n\nR=nealsid\nA=wtc\n\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@370 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/f3f7df33de02410699895b5f9a77901b550578cd"},{"sha":"133c66ca40da1705c7b7c39105c211b2aee4f0f0","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Let LineInfo structures point directly to their SourceLineInfo structures\n\nLet LineInfo structures point directly to their SourceLineInfo\nstructures, rather than holding the index of the file's name in the\n.stabstr section in the early phases, and then later the holding\nsource_id of the file.\n\nThis is another step in the process of moving STABS-specific values\nout of the types that represent the breakpad symbol data.  When we're\ndone, the non-STABS structures will be something that we can populate\nwith both STABS and DWARF data --- or at least it will be more easily\nreplaced with such.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@371 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/133c66ca40da1705c7b7c39105c211b2aee4f0f0"},{"sha":"f6c98159e283995370fce1fd9df2f9a5427bc698","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Delete non-functional stack parameter size computation.\n\nDelete code to compute function stack parameter size.  It never did anything.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@372 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/f6c98159e283995370fce1fd9df2f9a5427bc698"},{"sha":"15117f9ae00f8c594d3529b0e04fdfa12db7a219","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Don't switch to wrong source file when starting new function.\n\nIn STABS, if one function's line number information contains an N_SOL\nentry to switch to a new source file, then the next function's line\ndata should pick up in the same source file where the prior function\nleft off.  However, the Linux dumper restarts each function in the\ncompilation unit's main source file.  This patch fixes that, so that\nthe output attributes the lines in subsequent functions to the correct\nsource files.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@373 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/15117f9ae00f8c594d3529b0e04fdfa12db7a219"},{"sha":"3c4de8e8a7c5958c468bcd36fd5e007f8279dc91","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Properly separate function names from STABS type data.\n\nSTABS strings for N_FUN entries contain a mangled function name,\nfollowed by a colon, followed by type information.  The type\ninformation itself may contain colons; mangled names never contain\ncolons (they need to be legal assembly-language identifiers).  So the\ncurrent code in src/common/linux/dump_symbols.cc:WriteOneFunction that\nattempts to separate the mangled name from the STABS junk will\nincorrectly include STABS junk in the name, causing demangling to\nfail.\n\nApplying the patch below results in changes like these in the symbol\nfile produced, where an unmangled name followed by STABS junk becomes\na properly demangled name:\n\n## --- base/libxul.so.syms\t2009-07-13 21:46:33.000000000 -0700\n## +++ tip/libxul.so.syms\t2009-07-13 21:51:04.000000000 -0700\n## @@ -3907,7 +3907,7 @@\n##  FILE 3905 /home/jimb/mc/in/gfx/cairo/libpixman/src/pixman-region.c\n##  FILE 3906 combine.inc\n##  FILE 3907 /home/jimb/mc/in/gfx/cairo/libpixman/src/pixman-edge-imp.h\n## -FUNC 19898c 54 0 _Z20NS_GetCaseConversionv:F(0,1201)=*(0,1202)=xsnsICaseConvers\n## ion\n## +FUNC 19898c 54 0 NS_GetCaseConversion()\n##  19898c 12 54 1\n##  19899e 9 56 1\n##  1989a7 6 60 1\n## @@ -214776,7 +214776,7 @@\n##  3847c9 9 57 506\n##  3847d2 13 58 506\n##  3847e5 7 59 506\n## -FUNC 387e89 27 0 _ZN20nsGenericHTMLElement11FromContentEP10nsIContent:F(0,8117)\n## =*(0,8118)=xsnsGenericHTMLElement\n## +FUNC 387e89 27 0 nsGenericHTMLElement::FromContent(nsIContent*)\n##  387e89 7 80 2584\n##  387e90 3 80 2584\n##  387e93 e 82 2584\n## @@ -250473,7 +250473,7 @@\n##  3d0d88 7 82 548\n##  3d0d8f 25 84 548\n##  3d0db4 5 85 548\n## -FUNC 3d0e0c 40 0 _ZL21GetEnclosingListFrameP8nsIFrame:f(0,7182)=*(0,7183)=xsnsL\n## istControlFrame\n## +FUNC 3d0e0c 40 0 GetEnclosingListFrame(nsIFrame*)\n##  3d0e0c 5 146 549\n##  3d0e11 3 722 2645\n##  3d0e14 d 146 549\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@374 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/3c4de8e8a7c5958c468bcd36fd5e007f8279dc91"},{"sha":"68c8481df65940e90151ff2a6a6bd3c01f73f702","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Make the 'name' field of FuncInfo a std::string instead of a char *.\n\nBecause the actual N_FUN strings in the .stabstr section contain type\ninformation after the mangled name, representing this information\nusing a pointer into .stabstr, while efficient with memory, makes the\nFuncInfo data structure STABS-specific: one must know the details of a\nSTABS N_FUN string's syntax to interpret FuncInfo::name.  This patch\nremoves this STABS dependency from the data structure, and moves us\ncloser to having an appropriate structure for representing unified\nSTABS and DWARF data.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@375 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/68c8481df65940e90151ff2a6a6bd3c01f73f702"},{"sha":"54bc5cfa2d594cc9719bef016657bc80a15d968c","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Move STABS parsing into its own class.\n\nWith this patch, dump_symbols.cc no longer knows about the details of\nthe STABS debugging format; that is handled by the StabsReader class.\ndump_symbols.cc provides a subclass of StabsHandler that builds\ndump_symbols' own representation of the data.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@378 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/54bc5cfa2d594cc9719bef016657bc80a15d968c"},{"sha":"f7cc9ef6f5bd9bcf455e54f7ad8532001cee7fb0","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Add files left behind by previous commit.\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@379 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/f7cc9ef6f5bd9bcf455e54f7ad8532001cee7fb0"},{"sha":"eab03fdb72a77dfd71db028e6e5676e734bdc443","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: Move the data structures representing the breakpad data into their own class.\n\nsrc/linux/common/module.h defines a new class, google_breakpad::Module,\nthat can represent the contents of a breakpad symbol file.  Module::Write\nwrites a well-formed symbol file to the given stream.\n\nsrc/linux/common/dump_symbols.cc can now lose its symbol-file-writing\ncode, and change DumpStabsHandler to populate a Module object, rather\nthan the old SymbolInfo/SourceFileInfo/... collection of types.\n\nThe code to compute function and line sizes, even in the absence of\nreliable size data in STABS, is moved into a new Finalize method of\nDumpStabsHandler, which is responsible for completing the Module's\ncontents.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@380 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/eab03fdb72a77dfd71db028e6e5676e734bdc443"},{"sha":"d4a212a099b5c658a7e8a9b9df1dd6ff62e2b470","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Linux dumper: fix comments in src/common/linux/module.h\n\nFix some typos and references to member functions that didn't make the\nfinal cut.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@381 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/d4a212a099b5c658a7e8a9b9df1dd6ff62e2b470"},{"sha":"7c48629d49c40abd67d36cb45dad028b6b65f66c","author":{"email":"9e5e601687e88bbaf503da1bf0a0e0f62af5fc94@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"mmentovai"},"message":"Fix build errors with gcc 4.4.  Patch by Silvius Rus <rus@google.com>.\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@383 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/7c48629d49c40abd67d36cb45dad028b6b65f66c"},{"sha":"b0baafc4da1f3ffb84e267dd19d176db3de1c14e","author":{"email":"0b9d6f0bcec629cc4a549eea5ba88c56036d0b88@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"nealsid"},"message":"Merge of Breakpad Chrome Linux fork\n\nA=agl, Lei Zhang\nR=nealsid, agl\n\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@384 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/b0baafc4da1f3ffb84e267dd19d176db3de1c14e"},{"sha":"ebe77d7e3bdd6c39522fceab23a87b4e1b697b77","author":{"email":"9e5e601687e88bbaf503da1bf0a0e0f62af5fc94@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"mmentovai"},"message":"Provide a real std::string hash, not just a forward declaration for something\nthat doesn't exist.\n\nTBR=nealsid\n\nCode review URL: http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/292f9ed79dfdbdde\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@391 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/ebe77d7e3bdd6c39522fceab23a87b4e1b697b77"},{"sha":"ddd71b75f7a61260a83da057b5642499db0713ee","author":{"email":"056d56d9bb11466a5ecc26971afdd7985a03f78e@4c0a9323-5329-0410-9bdc-e9ce6186880e","name":"stuartmorgan"},"message":"Fix text field resizing for 10.5+ SDK\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@392 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/ddd71b75f7a61260a83da057b5642499db0713ee"},{"sha":"c426b3d98af4c3cc48d97322001963f8b886e8e9","author":{"email":"90981fc966cbfcfaa698bdb19ca422d3bb9f7750@gmail.com","name":"jimblandy@gmail.com"},"message":"Breakpad: Don't use the deprecated __gnu_cxx::hash_map container.\n\nModern GNU compilers warn about the #inclusion of <ext/hash_map>; that\ncontainer is deprecated, and code should use <tr1/unordered_map>\ninstead.  However, to stay within the boundaries of C++ '98, it's\nprobably fine just to use plain old std::map.\n\nBreakpad uses hash_map in three cases:\n\no The DWARF reader's SectionMap type maps object file section names to\n  data.  This map is consulted once per section kind per DWARF\n  compilation unit; it is not performance-critical.\n\no The Mac dump_syms tool uses it to map machine architectures to\n  section maps in Universal binaries.  It's hard to imagine there\n  ever being more than two entries in such a map.\n\no The processor's BasicSourceLineResolver uses a hash_map to map file\n  numbers to file names.  This is the map that will probably have the\n  most entries, but it's only accessed once per frame, after we've\n  found the frame's line entry.\n\na=jimblandy\nr=nealsid\n\n\ngit-svn-id: http://google-breakpad.googlecode.com/svn/trunk@393 4c0a9323-5329-0410-9bdc-e9ce6186880e","distinct":true,"url":"https://api.github.com/repos/paid/google-breakpad/commits/c426b3d98af4c3cc48d97322001963f8b886e8e9"}]}