)]}'
{
  "log": [
    {
      "commit": "f80d6b9ee7f94755c697ffb7194fb01dd0c537dd",
      "tree": "02766ce0d9d25b20bc3b3e524a2da012e971f3bd",
      "parents": [
        "7faaabb9f10e6dcae5f2b799da43e236e65cda95"
      ],
      "author": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sat Jan 10 09:57:34 2015"
      },
      "committer": {
        "name": "Sam Clegg",
        "email": "sbc@chromium.org",
        "time": "Sat Jan 10 09:57:34 2015"
      },
      "message": "Remove hack in __gthread_active_p() to always return 0 on x86_64\n\nThis was causing __cxa_guard_acquire to fail and abort if\ntwo threads attempted to initialise the same static local\nat same time.\n\nIt also presumably had other adverse effects in other\nparts of the gcc standard libraries.\n\nTEST\u003d local testing + trybots\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3948\nR\u003dmcgrathr@chromium.org\n\nReview URL: https://codereview.chromium.org/841313002\n"
    },
    {
      "commit": "7faaabb9f10e6dcae5f2b799da43e236e65cda95",
      "tree": "29d308194c1e72618c6cf5f01256fd780bff650e",
      "parents": [
        "093bbb415942cc3406656f90a3a5b2f0aef58d06"
      ],
      "author": {
        "name": "Jan Voung",
        "email": "jvoung@chromium.org",
        "time": "Wed Oct 08 00:03:14 2014"
      },
      "committer": {
        "name": "Jan Voung",
        "email": "jvoung@chromium.org",
        "time": "Wed Oct 08 00:03:14 2014"
      },
      "message": "Revert \"Make va_list a struct on X86-32 to match PNaCl.\"\n\nThis reverts commit 5e4e74a0ccc2757783ccf26f68cac1ef2cadb126.\n\nSince nacl-clang was not modified this ends up being a mismatch.\nRevert to match again.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3650\nR\u003dkhim@google.com\n\nReview URL: https://codereview.chromium.org/614683004\n"
    },
    {
      "commit": "093bbb415942cc3406656f90a3a5b2f0aef58d06",
      "tree": "45904b66c50a7bbd7bc49132dfa7a40f7a31c49a",
      "parents": [
        "ea8b744898d26914b51487bef797d5aaeac58e03"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Feb 20 17:32:15 2014"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Feb 20 17:32:15 2014"
      },
      "message": "Use \"e\" constraint in place of \"i\" to match x86_64_general_operand\n\nThe fix for bug 3549 (commit d913bb7) was incomplete.  When the\nx86_64_general_operand predicate is used, the corresponding operand\nconstraint must be \"e\" rather than \"i\".  The predicate controls only\nwhether the instruction pattern is selected in initial RTL generation.\nThe constraint controls how operands can be replaced by later phases\nof the compiler, such as the \"reload\" steps done by register allocation.\nThe \"i\" constraint accepts a SYMBOL_REF under -fPIC while \"e\" does not.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3793\nTEST\u003d toolchain trybots\nR\u003dsehr@chromium.org, khim@chromium.org\n\nReview URL: https://codereview.chromium.org/166573006\n"
    },
    {
      "commit": "ea8b744898d26914b51487bef797d5aaeac58e03",
      "tree": "be5dbdf94b68f1dc3d6455c00f4bc3d7af63317a",
      "parents": [
        "396037926cdb6195456a9f0f864f2dbc13de3e60"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Feb 14 17:22:33 2014"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Feb 14 17:22:33 2014"
      },
      "message": "Use \u0027ud2\u0027 assembly mnemonic instead of assembling the opcode as data\n\nThe new assembler only applies the bundling logic to things it knows are\nmachine instructions, not to data literals (even if they are in sections\nthat also contain machine instructions).  For __builtin_trap, the compiler\nwas emitting \".value 0x0b0f\" instead of \"ud2\", so with bad luck it could\nwind up that this two-byte instruction straddles a bundle boundary.\nUsing the mnemonic instead avoids that problem.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3792\nTEST\u003d toolchain trybots\nR\u003dsehr@chromium.org\n\nReview URL: https://codereview.chromium.org/165513002\n"
    },
    {
      "commit": "396037926cdb6195456a9f0f864f2dbc13de3e60",
      "tree": "ba8c5e65b107b176d575c8413ae860b162109cf9",
      "parents": [
        "fe3a902818eb7ba3153e7408edf8e95123ba148e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Sat Nov 16 02:06:07 2013"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Sat Nov 16 02:06:07 2013"
      },
      "message": "Fix interlibrary dependencies in target shared library builds\n\nThe core change here is just the libtool.m4 change.  The purpose of\nthat is to teach libtool that *-*-nacl* is like *-*-linux* as far as\nthe semantics of dependencies between shared libraries.  The lack of\nthis meant that libstdc++.so did not have proper dependencies on\nlibc.so and libm.so.  Fixes to the linker mean that links using\n--as-needed that happened to draw in libm.so as a dependency of the\nfinal nexe no longer do, leading to undefined symbol errors for\nlibstdc++.so\u0027s references to libm.so symbols.\n\nAll the */configure changes are just due to regenerating with\nAutoconf.  The status quo ante included a hodge-podge of hand edits\nto the generated configure files as well as some changes to .m4\nfiles that had then affected some configure files but not all\nbecause the person doing the change regenerated some affected files\nand not others.  The config/lib-link.m4 change is necessary to\npreserve a change that was made with hand edits to configure files\nbut should have been made in that source file instead.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3636\nTEST\u003d local build and hand examination\nR\u003dsehr@chromium.org, mseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/65643012\n"
    },
    {
      "commit": "fe3a902818eb7ba3153e7408edf8e95123ba148e",
      "tree": "958a014d58b6c8409437d523336c5d5712d9262b",
      "parents": [
        "46c2b9f0e51c734569cdd6956af695881814e7ed"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Oct 15 15:56:13 2013"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Oct 15 15:56:13 2013"
      },
      "message": "Change GCC spec to support upgraded binutils\n\nNew version of binutils have three regimes: --32, --64 and default\n(which is not identical to --64 !!!).\n\nForce --64 if x86_64 mode is used.\n\nAlso -m options for ld are changed.\n\nR\u003dmcgrathr@chromium.org\n\nReview URL: https://codereview.chromium.org/23567025\n"
    },
    {
      "commit": "46c2b9f0e51c734569cdd6956af695881814e7ed",
      "tree": "af70e0168b37d659fb9c6281de98907be1aab087",
      "parents": [
        "aca852ebe18b7df668416b1a0bf2fc8c3a198656"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Aug 09 08:43:58 2013"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Aug 09 08:43:58 2013"
      },
      "message": "Use long long builtins of zero counting for x86-64.\n\n2011-06-18  H.J. Lu  \u003chongjiu.lu@intel.com\u003e\n\n\t* longlong.h (count_leading_zeros): Use long long builtin for\n\tx86-64.\n\t(count_trailing_zeros): Likewise.\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175183 138bc75d-0d04-0410-961f-82ee72b054a4\n\nR\u003dhalyavin@google.com\nBUG\u003d\n\nReview URL: https://codereview.chromium.org/22638012\n"
    },
    {
      "commit": "aca852ebe18b7df668416b1a0bf2fc8c3a198656",
      "tree": "27e6e962ed7e6b31c623a537dda79f52c51e0da8",
      "parents": [
        "d913bb7ca2ab1adfd8222e1974b47dabd7ad4e89"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jul 31 16:34:58 2013"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jul 31 16:34:58 2013"
      },
      "message": "Use x86_64_*_operand in LEA splitters\n\nSimilar to the previous fix, these patterns need to use a constraint\nthat will reject a SYMBOL_REF expression in -m64 -fPIC.  That is not\nhow these patterns were handled in upstream -mx32 support.  But the\nsituation is substantially different there and possibly this is not\nthe relevant change there because Pmode is SImode for -mx32 while\nit\u0027s still DImode for x86_64-nacl-gcc -m64.  (That said, I don\u0027t\nactually understand what RTL transformations happen differently in\nthis case upstream under -mx32 to prevent it from exhibiting this\nbug--which it does not--without this constraint change.)\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3598\nTEST\u003d toolchain trybots\nR\u003dkhim@chromium.org\n\nReview URL: https://codereview.chromium.org/21318002\n"
    },
    {
      "commit": "d913bb7ca2ab1adfd8222e1974b47dabd7ad4e89",
      "tree": "24eb378f801ff6b71fcd6009c7e5df1d5104fff0",
      "parents": [
        "f96a3cbfb8777e1e47471b357929b8a1e3340a23"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Jul 26 23:13:07 2013"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Jul 26 23:13:07 2013"
      },
      "message": "Use x86_64_general_operand in a bunch more SI mode insn patterns\n\nThe x86_64_general_operand predicate applies some important constraints,\nsuch as that a symbol_ref cannot be an immediate operand under -fPIC.\nWith the ILP32 model, these constraints matter for SI mode instructions\n(rather than just DI mode) too, since address values are SI mode.\n\nPreviously the x86_64_general_operand predicate was used inconsistently,\ne.g. on add patterns but not on sub and mul patterns.  This fix changes\nall the relevant patterns to use x86_64_general_operand in place of\nvanilla general_operand.  This is consistent with how the -mx32 support\nhandles this issue in the upstream trunk code.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d3549\nTEST\u003d toolchain trybots\nR\u003dkhim@chromium.org\n\nReview URL: https://codereview.chromium.org/20820002\n"
    },
    {
      "commit": "f96a3cbfb8777e1e47471b357929b8a1e3340a23",
      "tree": "928f86a2d1339f6c26d0f9b3bfacf3da98c11b19",
      "parents": [
        "698564c88efa176fa1ae1254c67a12f7fb4fc573"
      ],
      "author": {
        "name": "Robert Grosse",
        "email": "grosse@chromium.org",
        "time": "Wed Jun 12 21:14:54 2013"
      },
      "committer": {
        "name": "Robert Grosse",
        "email": "grosse@chromium.org",
        "time": "Wed Jun 12 21:14:54 2013"
      },
      "message": "Fix mcount counter generation\n\nWhen compiling with with -pg, the x86 newlib toolchain tries to use\ninline locations for the mcount counts. Additionally it leaves stray @\nin the generated assembly.\n\nWe should use the code path that avoids all of this by defining\nNO_PROFILE_COUNTERS.\n\nBUG\u003dhttps://code.google.com/p/nativeclient/issues/detail?id\u003d3492\nR\u003dmcgrathr@chromium.org\n\nReview URL: https://codereview.chromium.org/15662012\n"
    },
    {
      "commit": "698564c88efa176fa1ae1254c67a12f7fb4fc573",
      "tree": "7ab584208cc52a89a97687dafce6912116942806",
      "parents": [
        "0622fce75c30b1cdce32dfa1a6fe96cb34e526ea"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Thu May 02 15:14:44 2013"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Thu May 02 15:14:44 2013"
      },
      "message": "Backport GCC 4.5+ --enable-linker-build-id option.\n\nBUG \u003d NONE\nTEST \u003d objdump -s -j .note.gnu.build-id libc.so\nR\u003dbradnelson@google.com\n\nReview URL: https://codereview.chromium.org/14859004\n"
    },
    {
      "commit": "0622fce75c30b1cdce32dfa1a6fe96cb34e526ea",
      "tree": "9abbe47e2e27b394d2e9c48ffef7fa19203c3ba9",
      "parents": [
        "455063da0a22a7a099d80efda2fff25bda15420a"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Oct 16 13:48:45 2012"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Oct 16 13:48:45 2012"
      },
      "message": "Fix potential out of bounds access.\n\nMerge from http://gcc.gnu.org/viewcvs?view\u003drevision\u0026revision\u003d185787.\n\nReview URL: https://codereview.chromium.org/11177002\n"
    },
    {
      "commit": "455063da0a22a7a099d80efda2fff25bda15420a",
      "tree": "39bb32b08a745f530d8619ed0b0f142409ad3e9f",
      "parents": [
        "3937565daab5e845fe8a8a1a7d9a5cb9cf62ecd4"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Jun 19 15:36:57 2012"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Jun 19 15:36:57 2012"
      },
      "message": "Patch NaCl gcc to avoid use of fsincos.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d2720\nTEST\u003dbots\n\nR\u003dpasko@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/10557041\n"
    },
    {
      "commit": "3937565daab5e845fe8a8a1a7d9a5cb9cf62ecd4",
      "tree": "5426700f5f437b37cfb73c7f9d470324f675da8d",
      "parents": [
        "cd8bf176c47dd6c9718e1eb6734c0f22e48f97f7"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jun 13 21:30:15 2012"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jun 13 21:30:15 2012"
      },
      "message": "Don\u0027t refer to pthread_cancel in libgcc\n\nThis is a backport of upstream commit svn://gcc.gnu.org/svn/gcc/trunk@188400\n\nBUG\u003d http://code.google.com/p/nativeclient/issues/detail?id\u003d2561\nTEST\u003d toolchain trybots\n\nR\u003dkhim@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/10537138\n"
    },
    {
      "commit": "cd8bf176c47dd6c9718e1eb6734c0f22e48f97f7",
      "tree": "1483def5c85fc055890c1b75b3470a4d211d8a6b",
      "parents": [
        "a4396cfdb5072df5e727e5da2d5fae30b2d7a59e"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Mon Jun 11 18:33:24 2012"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Mon Jun 11 18:33:24 2012"
      },
      "message": "Fix \"-lxxx\" command line parsing.\n\nInitialized variable leads to unpredictable behavior.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d2560\nTEST\u003dmanual build\n\nR\u003dmcgrathr@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/10532086\n"
    },
    {
      "commit": "a4396cfdb5072df5e727e5da2d5fae30b2d7a59e",
      "tree": "2fafa9dcd73245bb952ebeaa3c6fc79389803fbc",
      "parents": [
        "61ff43bd1c3cb25c5f277eb6065c0ebb4be75f83"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed May 16 14:06:13 2012"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed May 16 14:06:13 2012"
      },
      "message": "Fix one more bug in code generation...\n\nExample code:\n\nint foo()\n  {\n  unsigned int x \u003d 0xf2a3e218;\n\n  return ((int*)x)[0];\n  }\n\nR\u003deaeltsin@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/10389146\n"
    },
    {
      "commit": "61ff43bd1c3cb25c5f277eb6065c0ebb4be75f83",
      "tree": "8a3b2a4b7e29f88ab71dbf8c8ba7b447faa49c4b",
      "parents": [
        "c69a5b7252d2f073d0f526800e4fca3b63cd1fab"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri May 11 13:44:39 2012"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri May 11 13:44:39 2012"
      },
      "message": "Replace rip lea with eip\n\nFix for the POINTERS_EXTEND_UNSIGNED \u003e 0 problem of keeping high part of rip.\n\nNote that ix86_lea_decompose_address does not produce pc_rtx in base or index even if -fPIC is used: pc_rtx is added later in print_operand_address_parts. That\u0027s why we are handling !base and !index case here.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1304\nTEST\u003dsee reproducer in bug above\n\nR\u003deaeltsin@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/10386087\n"
    },
    {
      "commit": "c69a5b7252d2f073d0f526800e4fca3b63cd1fab",
      "tree": "70b5133319f0ef620a314d8a7fb4ba96111bd5c3",
      "parents": [
        "a7672660a9196dd149ace2649b909fa5d2db0886"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Feb 24 19:42:40 2012"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Fri Feb 24 19:42:40 2012"
      },
      "message": "Predefine __LITTLE_ENDIAN__\n\nIt\u0027s a nice consistency with some other targets to predefine\n__LITTLE_ENDIAN__ for little-endian NaCl targets.  We\u0027d like\nto be able to use this in upstream-friendly newlib headers.\n\nBUG\u003d none\nTEST\u003d manually examined -dM output\n\nR\u003dpdox@google.com\n\nReview URL: https://chromiumcodereview.appspot.com/9447064\n"
    },
    {
      "commit": "a7672660a9196dd149ace2649b909fa5d2db0886",
      "tree": "d3c270840f3ef2e0b0195a547e9009dbf6a5c4c1",
      "parents": [
        "82ea71ed9cd3ffbdb1c2292a143a0a54fce8e142"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jan 11 20:56:22 2012"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Jan 11 20:56:22 2012"
      },
      "message": "Make -Os a fatal error\n\nAs per http://code.google.com/p/nativeclient/issues/detail?id\u003d2284\nusing -Os produces bad code.  So disallow it until that gets fixed.\n\nBUG\u003d http://code.google.com/p/nativeclient/issues/detail?id\u003d2535\nTEST\u003d tested manually\n\nR\u003dkhim@google.com,bradchen@google.com\n\nReview URL: http://codereview.chromium.org/9186013\n"
    },
    {
      "commit": "82ea71ed9cd3ffbdb1c2292a143a0a54fce8e142",
      "tree": "5a7a71406ade308cb2a1b7b0ff0ce7a0059024d7",
      "parents": [
        "bb50a0d6a8d6fb783cde3f6b7425fe526b3966be"
      ],
      "author": {
        "name": "Jan Voung",
        "email": "jvoung@chromium.org",
        "time": "Tue Nov 15 23:26:43 2011"
      },
      "committer": {
        "name": "Jan Voung",
        "email": "jvoung@chromium.org",
        "time": "Tue Nov 15 23:26:43 2011"
      },
      "message": "Add a compatibility function attribute (and flag) for nacl-gcc to\nbe ABI compatible with llvm/PNaCl.\n\nDue to the fact that llvm bitcode loses information about the original source,\n(unions, alignment) it is hard to match the ABI (see notes for known issues:\nhttps://docs.google.com/a/google.com/document/d/1P3WrT_LHwN20gbs75LnHuMrbd804fSdSHKGK7Q3B20k/edit?hl\u003den_US#bookmark\u003did.sb20hms96tga).\n\nThus, for now, we make an attribute (and flag) to pass and return\nstructures and unions on the stack. Vectors and scalars can still use registers. This is calling convention is easy\nto match. With this nacl-gcc is calling convention compatible with\npnacl. If at some point in the future we get richer type information\nin bitcode we could do without this.\n\n*****\nExample uses of the attribute:\n\ntypedef struct {int x; float y; } s1;\n\ntypedef  void (__attribute__((pnaclcall)) *pnacl_fp)(int, s1, int);\ntypedef  s1 (__attribute__((pnaclcall)) *pnacl_ret_fp)(int, int) ;\n\nextern void foo(int x, s1 y, int z);\n\n__attribute__((pnaclcall)) void bar(int x, s1 y, int z)\n{\n  foo(x, y, z);\n  if (x \u003e 0)\n    bar(x - 1, y, z);\n}\n\nvoid bar_fp_casted(void) {\n  s1 s \u003d { 80, 81.0f };\n  void (__attribute__((pnaclcall)) *temp_fp)(int, s1, int) ;\n  temp_fp \u003d (pnacl_fp)\u0026foo;\n  (*temp_fp)(79, s, 82);\n}\n\nvoid bar_fp_casted2(void) {\n  s1 s \u003d { 80, 81.0f };\n  void (*temp_fp)(int, s1, int) \u003d \u0026foo;\n  (*(pnacl_fp)temp_fp)(79, s, 82);\n}\n\n*****\n\nBUG\u003d http://code.google.com/p/nativeclient/issues/detail?id\u003d1819\nBUG\u003d http://code.google.com/p/nativeclient/issues/detail?id\u003d2413\nTEST\u003d http://codereview.chromium.org/8502006/\nand toolchain trybots\n\nReview URL: http://codereview.chromium.org/8479017\n"
    },
    {
      "commit": "bb50a0d6a8d6fb783cde3f6b7425fe526b3966be",
      "tree": "33f2298280a622075f362578b25e0e71db6a65e3",
      "parents": [
        "a575b4ebdda69d49e115b1a1a06ff0f77a7d266f"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Nov 02 14:06:43 2011"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Nov 02 14:06:43 2011"
      },
      "message": "Fix libgfortran shared library for NaCl.\n\nThis is simple application of patch to libtool.m4 for libg{fortran,objc}.\n\nPatch courtesy of Alexander Vodomerov.\n\nR\u003dhalyavin@google.com\n\nReview URL: http://codereview.chromium.org/8423042\n"
    },
    {
      "commit": "a575b4ebdda69d49e115b1a1a06ff0f77a7d266f",
      "tree": "8a787f212e9f88f8f8505dce8db67fd0381a686e",
      "parents": [
        "b8d63c7c2cc854779873f0753569e2422e2a1139"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Nov 02 13:03:49 2011"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Nov 02 13:03:49 2011"
      },
      "message": "Fix libgfortran for NaCl.\n\nThis change should probably be pushed upstream: POSIX says that if\ngetcwd fails it should return NULL.  But in NaCl case it ALWAYS fail.\n\nPatch courtesy of Alexander Vodomerov.\n\nR\u003dhalyavin@google.com\n\nReview URL: http://codereview.chromium.org/8437050\n"
    },
    {
      "commit": "b8d63c7c2cc854779873f0753569e2422e2a1139",
      "tree": "5647fb3fed0d6337a6df64fd1df3233ee1740cf9",
      "parents": [
        "2e766e60608ebc77a0709b96945d3bbd6a7411ca"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Oct 20 16:09:36 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Oct 20 16:09:36 2011"
      },
      "message": "libiberty: Fix psignal parameter type\n\nThis is a backport of a change that was approved for the upstream trunk.\nFix the parameter type of psignal so it matches the canonical declaration.\nThis fixes a build problem when trying to use a nacl-newlib rebased on the\nupstream newlib trunk.\n\nBUG\u003d none\nTEST\u003d toolchain trybot\n\nR\u003dpasko@google.com,eaeltsin@google.com\n\nReview URL: http://codereview.chromium.org/8356012\n"
    },
    {
      "commit": "2e766e60608ebc77a0709b96945d3bbd6a7411ca",
      "tree": "486e0c387b279acc4ca7eb2ad4ea371ee91ad0d3",
      "parents": [
        "1cd4b759f5e3b7b647fa39e7ab8ab7890cda5997"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Thu Oct 20 12:36:47 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Thu Oct 20 12:36:47 2011"
      },
      "message": "Force function alignment for TARGET_NACL\n\nUgly, ugly hack... I tried so hard to get rid of NaCl-specific deps in the front-end, and now I\u0027m introducing one myself.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d2168\n\nR\u003dpasko@google.com,mcgrathr@chromium.org\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/8352043\n"
    },
    {
      "commit": "1cd4b759f5e3b7b647fa39e7ab8ab7890cda5997",
      "tree": "ee80def937b9bed1280197c81bcbeeddca8808f5",
      "parents": [
        "54602cdcf9d30925dd8455788fde7c9c6594851d"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue Oct 18 08:22:19 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue Oct 18 08:22:19 2011"
      },
      "message": "Inline \u0027if\u0027 in GC instrumentation\n\nThis is the same version as proposed by Evgeny, only changing the actual\nsuspension function name back to where it was before to be able to perform less\nchanges in libgc.\n\nInstead of\n__nacl_suspend_thread_if_needed ();\n\ninstrumentation now looks like\nif (__nacl_thread_suspension_needed)\n  __nacl_suspend_thread_if_needed ();\n\nGC runtime should define\nvolatile int __nacl_thread_suspension_needed;\nvoid __nacl_suspend_thread_if_needed (void);\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d2181\n\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/8336016\n"
    },
    {
      "commit": "54602cdcf9d30925dd8455788fde7c9c6594851d",
      "tree": "645c0fdffd5cac662eb09cd3ee9ecdcdbaaf2cee",
      "parents": [
        "cff9ac884908ba53ae16149e7c7d19c336aa4895"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Mon Sep 26 23:36:58 2011"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Mon Sep 26 23:36:58 2011"
      },
      "message": "Don\u0027t link in transitive dependences\n\nBorrowed from gcc46-no-add-needed.patch: don\u0027t link in transitive dependences.\n\nR\u003dhalyavin@google.com\n\nReview URL: http://codereview.chromium.org/8048011\n"
    },
    {
      "commit": "cff9ac884908ba53ae16149e7c7d19c336aa4895",
      "tree": "47def41a3a66ab6e3e21619d16f1570d8f68eea5",
      "parents": [
        "735dddbe3262bf948ff61c99da1c9cc67f928908"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Aug 31 16:46:30 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed Aug 31 16:46:30 2011"
      },
      "message": "Use a NaCl-specific dynamic linker name\n\nThis affects the PT_INTERP strings embedded in binaries.\nThis has no immediate effect on how we are currently doing things in NaCl.\nBut it establishes unique NaCl-specific names that we can use to enable\nNaCl-on-Linux hacks for developers.\n\nBUG\u003d none\nTEST\u003d toolchain trybot\n\nR\u003dpasko@google.com,eaeltsin@google.com\n\nReview URL: http://codereview.chromium.org/7740063\n"
    },
    {
      "commit": "735dddbe3262bf948ff61c99da1c9cc67f928908",
      "tree": "2a724eb9b1d957a3c843fbe450958c2de01ed8c5",
      "parents": [
        "a2490b96462a8cc20322c174e7ac5bee72f3d6bd"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Aug 26 17:03:02 2011"
      },
      "committer": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Aug 26 17:03:02 2011"
      },
      "message": "Don\u0027t generate absolute references under nacl-x64.\n\nAll NaCl modules are PIC to some degree: they can use constant offsets\nwhen statically linked, but these offsets must be relative to %r15.\nmovabs* with memory operand can never be used.\n\nR\u003deaeltsin@google.com\n\nReview URL: http://codereview.chromium.org/7694018\n"
    },
    {
      "commit": "a2490b96462a8cc20322c174e7ac5bee72f3d6bd",
      "tree": "59769fc9811e3bc86c8eafe989bb543d03d4ef32",
      "parents": [
        "1b292e390fd777f7dfd71fcd902187a385c729d0"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Thu Jun 23 09:57:10 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Thu Jun 23 09:57:10 2011"
      },
      "message": "Disable wrong Pmode !\u003d ptr_mode optimization\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1601\n\nR\u003dkhim@chromium.org,pasko@google.com\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/7241010\n"
    },
    {
      "commit": "1b292e390fd777f7dfd71fcd902187a385c729d0",
      "tree": "11340905445841e3eb540a24ad16e3b639083635",
      "parents": [
        "5e4e74a0ccc2757783ccf26f68cac1ef2cadb126"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 15 17:58:34 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 15 17:58:34 2011"
      },
      "message": "Fix NaCl system header files location\n\nNATIVE_SYSTEM_HEADER_DIR is target makefile variable that describes where system headers are located, relative to file system root. Default is /usr/include.\n\nWhen building a cross-compiler configured using --with-sysroot, CROSS_SYSTEM_HEADER_DIR is constructed from sysroot value followed by NATIVE_SYSTEM_HEADER_DIR.\n\nWe don’t have /usr/include on NaCl, so set this to /include.\n\nThis only affects configurations that use --with-sysroot, so the actual effect will become visible only when I add --with-sysroot to gcc configuration.\n\nR\u003dpasko@google.com\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d854\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/7170022\n"
    },
    {
      "commit": "5e4e74a0ccc2757783ccf26f68cac1ef2cadb126",
      "tree": "48fda5c16a95583c086bec577a404838eec181e9",
      "parents": [
        "818dbb2c0e3661b22952bc3f51f492c676b96585"
      ],
      "author": {
        "name": "David Meyer",
        "email": "pdox@google.com",
        "time": "Tue Jun 14 23:53:34 2011"
      },
      "committer": {
        "name": "David Meyer",
        "email": "pdox@google.com",
        "time": "Tue Jun 14 23:53:34 2011"
      },
      "message": "Make va_list a struct on X86-32 to match PNaCl.\n\nOriginal CL:\nhttp://codereview.chromium.org/7129035/\n\nBUG\u003d http://code.google.com/p/nativeclient/issues/detail?id\u003d1819\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/7169003\n"
    },
    {
      "commit": "818dbb2c0e3661b22952bc3f51f492c676b96585",
      "tree": "968eb72b1ad84ca81b8db55036d70deccc30148f",
      "parents": [
        "3f656d70c8be1aa8381a590e7be3bd650769f2b6"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Jun 09 16:45:11 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Thu Jun 09 16:45:11 2011"
      },
      "message": "Restore simple LIB_SPEC using just -lc\n\nThe compiler configuration is not the place to encode internal details of\nthe libc implementation.  When the libc implementation wants the default\nlink to include multiple constituent libraries, it can do that by providing\na linker script for libc.so or libc.a and let the compiler just use -lc\nas it has always done.\n\nThis follows a change to the nacl newlib build to provide a libc.a linker\nscript.  Future changes to the libc implementation internals will not\nrequire any gcc change.\n\nThis also removes the truly evil magical treatment of -lnosys as a special\ncommand line option.  It\u0027s just a library like any other.\n\nBUG\u003dcleanup\nTEST\u003dlocal builds still link the same using newlib\u0027s new libc.a linker script\n\nR\u003dkhim@google.com,pasko@google.com,eaeltsin@google.com\n\nReview URL: http://codereview.chromium.org/6995084\n"
    },
    {
      "commit": "3f656d70c8be1aa8381a590e7be3bd650769f2b6",
      "tree": "5ca1c130a32acce391a8c92da2479d48020b8261",
      "parents": [
        "bbb8426d201dc8421bd3b3cbb275ba13c63d2ff4"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 08 16:59:12 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 08 16:59:12 2011"
      },
      "message": "Get rid of bundle size controls in gcc\n\nWe do not need to be as flexible with the size of the bundles any more.\n\nR\u003dpasko@google.com\nBUG\u003d\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/6995077\n"
    },
    {
      "commit": "bbb8426d201dc8421bd3b3cbb275ba13c63d2ff4",
      "tree": "8968b00523f959bbbb48b07098100712863acaf7",
      "parents": [
        "2ad889d442a4c40d2682f32738dca56a5a087605"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 08 15:39:47 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@chromium.org",
        "time": "Wed Jun 08 15:39:47 2011"
      },
      "message": "Don\u0027t wrap system headers with extern \"C\"\n\nImplicit wrapping of system header files with  extern \"C\" is controlled by NO_IMPLICIT_EXTERN_C macro.\n\nThis macro is defined in gcc/config/linux.h (gcc/config/gnu-user.h in newer versions of gcc), which included on x86 linux systems (see gcc/config.gcc).\n\nThis change defines this macro for nacl.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1896\nTEST\u003dsee the bug\n\nR\u003dpasko@google.com,krasin@google.com\n\nReview URL: http://codereview.chromium.org/7134018\n"
    },
    {
      "commit": "2ad889d442a4c40d2682f32738dca56a5a087605",
      "tree": "092f6dd48f63f013a394e7087764bac58eef5acf",
      "parents": [
        "b7b2fa3daf5d613a764bf0aaa4e24590803302f0"
      ],
      "author": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Thu May 19 08:47:12 2011"
      },
      "committer": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Thu May 19 08:47:12 2011"
      },
      "message": "Remove TODO about __native_client__ define.\n\nWe don\u0027t have neither build/build_config.h nor __gnu_linux__ any more.\n\nR\u003dpasko@google.com\nBUG\u003dnone\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/7047001\n"
    },
    {
      "commit": "b7b2fa3daf5d613a764bf0aaa4e24590803302f0",
      "tree": "5386d92cbc1a5b4a18b655e177430e8070e9a4ef",
      "parents": [
        "df9e2bf6a8ee206114e787c5d3c3faabd2a2089b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed May 04 20:21:59 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Wed May 04 20:21:59 2011"
      },
      "message": "Update codereview.settings for gerrit hosting (gcc)\n\nFiddle the magic codereview.settings file for the new git hosting locations.\n\nBUG\u003dinfrastructure\nTEST\u003dgit cl upload working for this change!\n\nR\u003dkhim@google.com,mseaborn@chromium.org,pasko@google.com,eaeltsin@google.com\n\nReview URL: http://codereview.chromium.org/6931012\n"
    },
    {
      "commit": "df9e2bf6a8ee206114e787c5d3c3faabd2a2089b",
      "tree": "e5de13fbeafefdea20e026e400db1e230c5a85ce",
      "parents": [
        "058ec164b10d24e3ad9b50f1c41daf47d617f126"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Apr 19 17:56:24 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Apr 19 17:56:24 2011"
      },
      "message": "Get rid of prefixes in GD TLS for x86_64-nacl\n\nStandard GD TLS sequence contains commands prefixed with 0x6666, inserted by compiler with .byte directive. Our asm does not know how to move it around, and thus 0x6666 may cross bundle boundary and confuse the validator.\n\nAs we do not rewrite GD TLS access pattern at the moment, we can afford changing the standard sequence. Simply removing prefixes make still working code that does not suffer from the issues described above.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1685\nTEST\u003ddisassemble object file from any source accessing __thread variable - it should not have 0x6666 any more\n\nReview URL: http://codereview.chromium.org/6878043\n"
    },
    {
      "commit": "058ec164b10d24e3ad9b50f1c41daf47d617f126",
      "tree": "bbe3b486b072a93e0278d4861410c174320d9f0f",
      "parents": [
        "3aa84df0946f1bbf0fb4257b849348239a59742e"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@hack.frob.com",
        "time": "Thu Apr 07 18:59:52 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 07 18:59:52 2011"
      },
      "message": "Fix build regression in commit 18fae96\n\nCommit 18fae96 broke the build with a GCC_NO_EXECUTABLES configure\ncomplaint because it introduced a linking test, which is not allowed.\n\nThis redoes that change so it does not overload the native Linux version\nand take in its linking test.  The test in question is to determine\nwhether default linking is behaving as under --enable-new-dtags.\nThe answer is no with our binutils.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1580\nTEST\u003d\u0027make build-with-newlib\u0027 now works\n\nR\u003dhalyavin@google.com,khim@google.com\n\nReview URL: http://codereview.chromium.org/6813007\n"
    },
    {
      "commit": "3aa84df0946f1bbf0fb4257b849348239a59742e",
      "tree": "f80212c6e4c1f8643b750e057163f5b762a5e3a8",
      "parents": [
        "18fae965f968fa9ef17b687bc98d826c7b7d4cc5"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@chromium.org",
        "time": "Tue Apr 05 21:10:28 2011"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Apr 05 21:10:28 2011"
      },
      "message": "Add -mtls-use-call option to avoid %gs:0 TLS accesses.\n\nAdds an option to the 32-bit code generator to match the 64-bit\nvariant\u0027s behavior of generating calls to __nacl_read_tp rather\nthan fetches from %gs:0 to begin TLS access sequences.\n\nWe\u0027ll want this for the builds of newlib and libstdc++ that go into\nthe integrated runtime.  They have their own uses of TLS, which must\nbe kept separate from the user-side libc\u0027s TLS setup.  We\u0027ll reserve\n%gs for the user side.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1595\n\nReview URL: http://codereview.chromium.org/6691046\n"
    },
    {
      "commit": "18fae965f968fa9ef17b687bc98d826c7b7d4cc5",
      "tree": "254236a968ecb81a59e967a7286e6adb33866964",
      "parents": [
        "22a67afa71729e8ec422f095aa68f69742ea5b40"
      ],
      "author": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Tue Mar 29 07:28:09 2011"
      },
      "committer": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Tue Mar 29 07:28:09 2011"
      },
      "message": "Compile stdc++ library with both static and dynamic linking.\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1580\nTEST\u003dcompile glibc and check that libstdc++.so is present.\n\nReview URL: http://codereview.chromium.org/6761001\n"
    },
    {
      "commit": "22a67afa71729e8ec422f095aa68f69742ea5b40",
      "tree": "64208c7682eedfced6a62b6160286bf3d49fb059",
      "parents": [
        "0cf0078cac8c4dd676dda5e6303b8f3e32675bde"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Mon Mar 21 09:30:08 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Mon Mar 21 09:30:08 2011"
      },
      "message": "Teach sandboxed GCC not to rely on inode numbers.\n\nInside the NaCl sandbox all inode numbers for files and directories are\nidentical (because the least common denominator, Windows, does not have them).\n\nIf GCC treats include directories (passed with -I) with identical inodes as\nidentical directories.  GCC then is free to skip looking into some directories\nfor header files as an optimization.  NaCl inodes are all identical, which makes\nGCC to only look into a single directory.  Before we learn to emulate inode\nnumbers on Windows, the sandboxed GCC would just not use this optimization.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1362\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/6685112\n"
    },
    {
      "commit": "0cf0078cac8c4dd676dda5e6303b8f3e32675bde",
      "tree": "064385415775595ea4b1830d21e798538073c805",
      "parents": [
        "04bae1433afae44ddc6d50a8805554343be6a6bf"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Mar 18 17:43:53 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Mar 18 17:43:53 2011"
      },
      "message": "[gcc] Make command line for static linking similar to what native gcc does\n\nThe problem is that libgcc_eh depends on libc and libc depends on libgcc_eh.\n\nFor x86_64, everything works as is as all libc dependencies are inlined in libgcc_eh. For x86, there is memcpy call that is not inlined, and our current link specs do not work.\n\nAnyway, counting on all libc stuff being inlined is bad. Native gcc does not do that, and uses --start-group/--end-group to resolve these dependencies.\n\nThis change makes our link specs similar to what native gcc has.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1298\nTEST\u003dno more additional -lc for static linking by x86 glibc toolchain\n\nReview URL: http://codereview.chromium.org/6711037\n"
    },
    {
      "commit": "04bae1433afae44ddc6d50a8805554343be6a6bf",
      "tree": "b39f0ae6a3cc155790f7b93d8df8fce15d305aa8",
      "parents": [
        "e055602f53ea6dbd23d08fb6c344bbad6b3366d2"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Mon Feb 28 13:16:10 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Mon Feb 28 13:16:10 2011"
      },
      "message": "[noupstream] disable M4 in GMP\n\n... as we have been doing in tools/Makefile for ages.\n\nBUG\u003dnone\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/6594044\n"
    },
    {
      "commit": "e055602f53ea6dbd23d08fb6c344bbad6b3366d2",
      "tree": "3445d21777b998982609532d4f88ded76570526d",
      "parents": [
        "43a8fd9b5283ddc68ede5be4c84d8c6c8e98b869"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Mon Feb 28 12:34:27 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Mon Feb 28 12:34:27 2011"
      },
      "message": "[noupstream] allow git-cl to push from readonly sources\n\nBUG\u003dnone\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/6597041\n"
    },
    {
      "commit": "43a8fd9b5283ddc68ede5be4c84d8c6c8e98b869",
      "tree": "ae4e36b2f687e66861a7f39eafe3c785e0422fe5",
      "parents": [
        "0afad64e4ceb9bf762feced38cae2fa8e4c4e44f"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Mon Feb 28 09:41:27 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Mon Feb 28 09:41:27 2011"
      },
      "message": "[noupstream] Add codereview.settings for GCC repo\n\nBUG\u003dnone\nTEST\u003dgit clone http://git.chromium.org/git/nacl-gcc.git \u0026\u0026 cd nacl-gcc \u0026\u0026 ... \u0026\u0026 git-cl upload # in your branch\n\nReview URL: http://codereview.chromium.org/6596033\n"
    },
    {
      "commit": "0afad64e4ceb9bf762feced38cae2fa8e4c4e44f",
      "tree": "7631ffede61e15da181f120202d203a6ee5ba7bd",
      "parents": [
        "3e06528491b55808bdefed243840b4223c3d2433"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Fri Feb 25 16:48:25 2011"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Mon Feb 28 08:44:41 2011"
      },
      "message": "[noupstream] Add GMP and MPFR to our GCC repository.\n\nThis would allow us to remove the respective tarballs from SVN.\n\nAs before, we would use this build time optimization: if the correct versions of\npackages are installed in the system, we would use those. This optimization is\nmost important on Windows/Cygwin where build time is significantly bigger than\non Linux/Mac.\n\nTo let the GCC build take the sources of GMP and MPFR one would need to create\nsymlinks:\nln -s gmp-4.3.1 gmp\nln -s mpfr-2.4.1 mpfr\n\nVersions:\nGMP: 4.3.1\nMPFR: 2.4.1\n\nThe files were obtained by unpacking the tarballs in third_party/gcc at r4214.\n\nRietveld was unable to accept the upload of whole set of files, HTTP/500, you\nknow, so committing without review.\n"
    },
    {
      "commit": "3e06528491b55808bdefed243840b4223c3d2433",
      "tree": "e88ccae9758a982f859893425d91fcf95b0f10d5",
      "parents": [
        "adae4f1094e0b15def4c85d76cf112d760ba3213"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Jan 19 16:36:26 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Jan 19 16:36:26 2011"
      },
      "message": "[gcc] Replace rsp/rbp lea base with esp/ebp\n\nThis is yet another fix for POINTERS_EXTEND_UNSIGNED \u003e 0 problem of keeping high part of rsp/rbp.\n\nIn addition, minor fix for previous change - do not assert if writing rsp/rbp into memory (probably spill)?\n\nTest (-O1) must return 0 but returns high part of rsp without the fix:\n\nstruct StringRef {\n const char *Data;\n unsigned Length;\n};\n\n// Prevent inlining with \u0027weak\u0027 attribute\nint print_size(struct StringRef Data) __attribute__((weak));\n\nint print_size(struct StringRef Data) {\n return Data.Length;\n}\n\nint main() {\n char str[6]; // NEEDED!\n\n struct StringRef s;\n s.Data \u003d str + 3; // NEEDED!\n s.Length \u003d 0;\n\n return print_size(s);\n}\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1304\nTEST\u003dsee above\n\nReview URL: http://codereview.chromium.org/6271009\n"
    },
    {
      "commit": "adae4f1094e0b15def4c85d76cf112d760ba3213",
      "tree": "eae595318f724acf39a6e79fe6e104f270782dfd",
      "parents": [
        "f6b2c802abf182afacf0dc79a095716cf838c82f"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jan 18 18:40:19 2011"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jan 18 18:40:19 2011"
      },
      "message": "[gcc] Replace rsp/rbp mov source with esp/ebp\n\nThe problem is that with POINTERS_EXTEND_UNSIGNED \u003e 0 gcc considers high part of rsp and rbp to be zero, which is not true. This seems to be backend design flaw.\n\nFixing this by changing POINTERS_EXTEND_UNSIGNED to -1 and defining ptr_extend solves the problem but is likely to hit the performance of pointer arithmetics that does not involve rsp and rbp.\n\nThis fix fights the particular and most common case when rsp or rbp are sources of the mov instruction, by forcing this instructions to operate on low parts of the registers only. This is not the complete solution, and more changes will follow.\n\nTest (-O1) must return 0 but returns high part of rsp without the fix:\n\nstruct StringRef {\n  const char *Data;\n  unsigned Length;\n};\n\n// Prevent inlining with \u0027weak\u0027 attribute\nint print_size(struct StringRef Data) __attribute__((weak));\n\nint print_size(struct StringRef Data) {\n  return Data.Length;\n}\n\nint main() {\n  char str[6]; // NEEDED!\n\n  struct StringRef s;\n  s.Data \u003d str; // NEEDED!\n  s.Length \u003d 0;\n\n  return print_size(s);\n}\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1304\nTEST\u003dsee above\n\nReview URL: http://codereview.chromium.org/6304009\n"
    },
    {
      "commit": "f6b2c802abf182afacf0dc79a095716cf838c82f",
      "tree": "ecfa51aa938a25c2026340664eddff0f99175d8c",
      "parents": [
        "e3017402d8a6bcb9bb8170d9770d5de24fc994c1"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Dec 24 15:25:41 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Dec 24 15:25:41 2010"
      },
      "message": "[gcc] Yet another gen_lowpart code confused by prt_mode !\u003d Pmode\n\nTest from David Meyer, 64-bit mode with -O1:\n\ntypedef unsigned int size_t;\n\nextern \"C\" {\n  size_t strlen (const char *);\n};\n\nclass StringRef {\nprivate:\n  const char *Data;\n  size_t Length;\n\npublic:\n StringRef(const char *Str)\n    : Data(Str), Length(::strlen(Str)) {}\n};\n\nStringRef GetDLLSuffix() {\n  return \u0026(\".so\"[1]);\n}\n\nReports internal error while trying to replace Pmode register with ptr_mode CONST.\n\nThe change fixes the origin of such a CONST in gen_lowpart_for_combine. This is kinda hacky and clearly not upstreamable...\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1279\nTEST\u003dsee above\n\nReview URL: http://codereview.chromium.org/5968010\n"
    },
    {
      "commit": "e3017402d8a6bcb9bb8170d9770d5de24fc994c1",
      "tree": "f54471c039a2fc7d0a4f65a7578a503dc1c943bc",
      "parents": [
        "e9c9d8dfc8aa76c50d5fab257f1637c29639017a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Oct 20 15:24:22 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:14:01 2010"
      },
      "message": "[gcc] Add clobber FLAGS_REG to NaCl indirect jumps\n\nCompiler must know that NaCl indirect jump clobbers FLAGS register.\n\nFor call and return this is probably not important, as FLAGS is always clobbered by call.\n\nFor computed goto and switch, this IS important, so added explicit clobber.\n\nTEST\u003dvery hard to reproduce, we only suspect this bug was the reason for LLVM miscompilation.\n\nBUG\u003d\n\nReview URL: http://codereview.chromium.org/3892003\n"
    },
    {
      "commit": "e9c9d8dfc8aa76c50d5fab257f1637c29639017a",
      "tree": "543ab6c9a26f1dd38a33f85d93756ec38ace4464",
      "parents": [
        "e22d782e05373ebd99ea86f28ee0b953120b0121"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Sep 24 13:58:59 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:14:00 2010"
      },
      "message": "[gcc] x86_64 TLS support refactoring\n\nEnable all TLS access models.\n\nReplace misleading non-standard __tls_get_addr with newly introduced __nacl_read_tp. Standard __tls_get_addr is now used for dynamic TLS access models, as intended.\n\nBUG\u003d\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3453012\n"
    },
    {
      "commit": "e22d782e05373ebd99ea86f28ee0b953120b0121",
      "tree": "3fd857b3088e7c3149b2db844cc33b7b563f7b00",
      "parents": [
        "5ad534498b00d4f4cf4b29813512e29e647a26e0"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Sep 10 16:10:42 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:59 2010"
      },
      "message": "[gcc] Fix more addsi patterns for nacl64 PIC\n\nThe change is similar to the previous one - GLibC compilation revealed more cases to handle.\nPrevent define_expands and define_insns from treating ILP32 PIC symbol_ref as an immediate.\n\nBUG\u003d\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3342027\n"
    },
    {
      "commit": "5ad534498b00d4f4cf4b29813512e29e647a26e0",
      "tree": "6e11b53933972dd3f02b135372c2989c90e18956",
      "parents": [
        "75293e9bcfb23dcca9179bdb4cafe82c1fb46365"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Sep 10 09:41:49 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:59 2010"
      },
      "message": "[gcc] Fix addsi patterns for nacl64 PIC\n\nThis is similar to a bunch of previous fixes: prevent define_expands and define_insns from treating ILP32 PIC symbol_ref as an immediate.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d872\n\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3291022\n"
    },
    {
      "commit": "75293e9bcfb23dcca9179bdb4cafe82c1fb46365",
      "tree": "4f59e50ab7d0dca2e5bea1ba6831535751aa193a",
      "parents": [
        "9a192a1c928fce2d2098964a8482a427f6b81c77"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Sep 07 14:37:46 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:58 2010"
      },
      "message": "[gcc] Fix SIGSEGV in computed goto compilation.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d601\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3345011\n"
    },
    {
      "commit": "9a192a1c928fce2d2098964a8482a427f6b81c77",
      "tree": "4cc7f53c61179bbd1b425d131ab02f7ae4335e46",
      "parents": [
        "b0abf9cd6361f3b7870973e1cb1c98d18d68bc52"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Sep 06 20:32:18 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:57 2010"
      },
      "message": "[noupstream] Instrument for thread suspension.\n\nWhen given command line flag -finstrument-for-thread-suspension, generate instrumentation calls for function entry and back edges.\n\nInstrumentation call now looks like:\n  __nacl_suspend_thread_if_needed ();\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d826\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3320011\n"
    },
    {
      "commit": "b0abf9cd6361f3b7870973e1cb1c98d18d68bc52",
      "tree": "c3f4217ff175f779921a2c1945bdf8b34065f44c",
      "parents": [
        "5cc4310bf04c5bcf76b6b62213356e7505b709f7"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Aug 25 11:12:57 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:57 2010"
      },
      "message": "[gcc] Fix lea splitters for ILP32 data model\n\nThis is similar to http://codereview.chromium.org/3187016 and several previous changes.\n\nFixed lea splitters to disallow PIC symbol references where immediate operand is needed. Now all specs cpu2000 compile with -fPIC.\n\nHope the process of making these fixes should converge soon - instructions affected are instructions used for 32-bit pointer arithmetics, namely variants of add, sub and lea.\n\nReview URL: http://codereview.chromium.org/3165059\n"
    },
    {
      "commit": "5cc4310bf04c5bcf76b6b62213356e7505b709f7",
      "tree": "2b463225e7de37c80d639b1ddbb62fadda19b58e",
      "parents": [
        "517c05bfccb7b66e64dfa1186e118aad16591bfb"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Aug 24 20:03:46 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:57 2010"
      },
      "message": "[gcc] Correct configure check so that it matches i686-pc-nacl\n\nMy earlier change was accidentally too strict, and did not match the\ntarget configuration when it had been expanded from the argument in\n\"--target\u003dnacl\" to \"i686-pc-nacl\".\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d660\nTEST\u003dbuild full-gcc against nacl-glibc\n\nReview URL: http://codereview.chromium.org/3190016\n"
    },
    {
      "commit": "517c05bfccb7b66e64dfa1186e118aad16591bfb",
      "tree": "9e7ea11dbd95f073d2f61517fd0c5b924b4ba39a",
      "parents": [
        "e922a6b9e8538dba4d99c5b7c14bdce66df44111"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Aug 24 15:39:34 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:56 2010"
      },
      "message": "[gcc] Add nacl to libstdc++\u0027s list of glibc-based architectures\n\nNote that this does not affect newlib-based libstdc++ builds, for\nwhich crossconfig.m4 is not consulted (see configure.ac).\n\nUpdate \"configure\" by running autoconf 2.59.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d660\nTEST\u003dbuild full-gcc against nacl-glibc\n\nReview URL: http://codereview.chromium.org/3181032\n"
    },
    {
      "commit": "e922a6b9e8538dba4d99c5b7c14bdce66df44111",
      "tree": "e8ce2bca54a7ae3558a07b74676c0c97b3d72513",
      "parents": [
        "471f27b9e538b496764734ccd9fbb05551a6df21"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Aug 24 14:39:50 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:56 2010"
      },
      "message": "[gcc] Remove old \"nc\" cases from libstdc++\u0027s configure script\n\nThese cases are not used, and were apparently added by changing the\ngenerated file rather than editing the source, configure.ac.\nRe-running autoconf 2.59 undoes them.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d660\n\nReview URL: http://codereview.chromium.org/3186025\n"
    },
    {
      "commit": "471f27b9e538b496764734ccd9fbb05551a6df21",
      "tree": "3c61bf3bf6f68011f51003cc899232c5d829c35b",
      "parents": [
        "07de68ea59f6a1744aff475aa1971b35dae449b9"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Aug 23 12:38:16 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:55 2010"
      },
      "message": "[gcc] Fix optimized expand of ptr diff for 64-bit PIC\n\nSImode subtraction instructions use \"m\" contstraint for one operand and \"i\" constraint for another. This does not work in 64-bit PIC in nacl, as \"i\" allows symbol references which get rip-relative addressing.\n\nThis replaces \"i\" constraint with \"e\" contraint, where the latter does not allow symbol references except those that simply fit in 32-bits immediate.\n\nReview URL: http://codereview.chromium.org/3187016\n"
    },
    {
      "commit": "07de68ea59f6a1744aff475aa1971b35dae449b9",
      "tree": "6bdae8417a6b2023a03ef5667652f139b8d97ec9",
      "parents": [
        "a117b8d573a1e81f02642a491677fd30da8c9610"
      ],
      "author": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Thu Aug 19 10:27:17 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:54 2010"
      },
      "message": "Defines __gnu_linux__ and __linux__ are removed from the nacl-compiler.\n\nReview URL: http://codereview.chromium.org/3149014\n"
    },
    {
      "commit": "a117b8d573a1e81f02642a491677fd30da8c9610",
      "tree": "6b4045816d5b8bbfafbb7379849621f3cfb72c90",
      "parents": [
        "2dae08f5109738eb414f314346c67e5f4a14c28b"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Aug 13 17:01:46 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:53 2010"
      },
      "message": "Backport CL148346 from upstream: --no-canonical-prefixes\n\nReview URL: http://codereview.chromium.org/3156009\n"
    },
    {
      "commit": "2dae08f5109738eb414f314346c67e5f4a14c28b",
      "tree": "d57cdc26fff21beda63a14255e5012117c6c4e9d",
      "parents": [
        "2d9c402568b8c985fc845520cc016ba495129bff"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Aug 04 17:08:24 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:53 2010"
      },
      "message": "[gcc] Prevent movsi from having 2 memory operands in x86_64 PIC.\n\nThe cause is that rip-based symbol references are treated as constants with \"i\" constraint, \"e\" seems to do the right job.\n\nReview URL: http://codereview.chromium.org/3013058\n"
    },
    {
      "commit": "2d9c402568b8c985fc845520cc016ba495129bff",
      "tree": "e44f1a3a184db436b7bb606ab0bec0c642919a51",
      "parents": [
        "f8c184ee3e8e7e26db785b07c7884e80c7748885"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Jul 30 22:10:01 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:53 2010"
      },
      "message": "[gcc] Fix nacl64_as warnings: destination and source are swapped in cmpsX...\n\nReview URL: http://codereview.chromium.org/3050027\n"
    },
    {
      "commit": "f8c184ee3e8e7e26db785b07c7884e80c7748885",
      "tree": "6d1098d833b2e658bc20e047ceb0542e2c377765",
      "parents": [
        "3c2ce58de67330c992badf77bde93c9ebf1449d6"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Jul 30 21:56:53 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:52 2010"
      },
      "message": "[gcc] Fix movsw sandboxing\n\nReview URL: http://codereview.chromium.org/2832102\n"
    },
    {
      "commit": "3c2ce58de67330c992badf77bde93c9ebf1449d6",
      "tree": "4cb339dc3048786655e82ecc6dca6e561936d637",
      "parents": [
        "021bc39efc8c6396d36ee34ea487d986a5300363"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Jul 30 17:13:57 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:52 2010"
      },
      "message": "[binutils] Use \"scasb %nacl:(%rdi),%al,%r15\" pseudocommand, not series of commands\n\nReview URL: http://codereview.chromium.org/2870084\n"
    },
    {
      "commit": "021bc39efc8c6396d36ee34ea487d986a5300363",
      "tree": "6b1112d865cd1c1bac70ef1b554cdb49366c9df6",
      "parents": [
        "8ea83d4b1fc1f5a6adb9bccd99979ab6cfe37cd0"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Jul 30 14:40:20 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:51 2010"
      },
      "message": "[gcc] align structures as in x86-64\n\nReview URL: http://codereview.chromium.org/3041030\n"
    },
    {
      "commit": "8ea83d4b1fc1f5a6adb9bccd99979ab6cfe37cd0",
      "tree": "d3874d893be7635309eadb0ee0c4ffb471fd33f6",
      "parents": [
        "698d661d909e3180b38e068c3ac6e87c53ab3851"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Thu Jul 29 08:53:41 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:50 2010"
      },
      "message": "[gcc] Remove few changes from machine-independent part.\n\nThis change restores explow.c and reload.c back to their original state.\n\nThis change can affect the performance, as it may limit the number of cases when lea instruction is generated.\nHowever, the change is the \"right thing\" to do. Lea problems, if any, should be solved in i386-specific code.\n\nReview URL: http://codereview.chromium.org/2825071\n"
    },
    {
      "commit": "698d661d909e3180b38e068c3ac6e87c53ab3851",
      "tree": "fecf68fb7b3be0977c2293f920d03fa12f7fd136",
      "parents": [
        "5c091fc148909295acc5cdea58d75bf07522e227"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Tue Jul 27 20:11:51 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:49 2010"
      },
      "message": "[gcc] string operations: read sandboxing\n\nReview URL: http://codereview.chromium.org/3037021\n"
    },
    {
      "commit": "5c091fc148909295acc5cdea58d75bf07522e227",
      "tree": "7beda3d7f11ebc2983ecedb8c8421ec1ff222679",
      "parents": [
        "5984e7a39a4130c9b8a846346050cfa4123f4f58"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Jul 21 18:30:14 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:49 2010"
      },
      "message": "[gcc] Fix access to extern symbols in 64-bit pic.\n\nTest that should compile:\n  extern int var[2];\n  int* foo() {\n    return \u0026var[2];\n  }\n\nThe fix is to have the legitimized pic address in Pmode.\n\nReview URL: http://codereview.chromium.org/3059003\n"
    },
    {
      "commit": "5984e7a39a4130c9b8a846346050cfa4123f4f58",
      "tree": "759e2de474593c97be3cf2eb5b78b880abf3dfe4",
      "parents": [
        "7da85cd28442a4293d9beaa587ac3a25188cc71b"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jul 20 17:24:42 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:48 2010"
      },
      "message": "[gcc] Fix access to local symbols in 64-bit pic.\n\nThis fix changes movsi template for lea to print the first operand as %a1 instead of %1. Gcc trunk has this fix in, so this change looks like a fix for gcc bug, unrelated to nacl;\n\nThis fix also changes movsi template attr of TYPE_LEA to match operand as SImode instead of DImode. Gcc trunk still has DImode, but this seems to be a bug...\n\nReview URL: http://codereview.chromium.org/2858059\n"
    },
    {
      "commit": "7da85cd28442a4293d9beaa587ac3a25188cc71b",
      "tree": "9d0ba096155a188e6eb43efb5da8e8e88b4d67ea",
      "parents": [
        "3cb0ddd87d8ffac496dd6fb8e8916196762f454b"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Jul 14 15:16:56 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:47 2010"
      },
      "message": "[gcc] Revise definition for long double type.\n\nReview URL: http://codereview.chromium.org/2928008\n"
    },
    {
      "commit": "3cb0ddd87d8ffac496dd6fb8e8916196762f454b",
      "tree": "1855d66cfab1242cc03bc3379e6a754e14dca570",
      "parents": [
        "36cfdb3b77af1b724dd15888cb43d8ed8ffbd3dc"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue Jul 13 15:11:03 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:47 2010"
      },
      "message": "[gcc] Make GCC complain if setjmp/longjmp builtins are encountered.\n\nRedefine the builtins in c-torture/.../builtins.exp to make a lot of c-torture\ntests pass. This is a dirty way to fix the tests, we will need to enable the\nbuiltins to work with glibc once the latter ready. The purpose of this\nmanipulation is to reduce the amount of failing tests in the GCC testsuite and\nthus make it easier to focus on more interesting failures.\n\nReview URL: http://codereview.chromium.org/2824045\n"
    },
    {
      "commit": "36cfdb3b77af1b724dd15888cb43d8ed8ffbd3dc",
      "tree": "9e95351a54a132a8b7a0cd305191e74a65e46d2c",
      "parents": [
        "7f59454950548fe0e6f760fda3e2836e6eaad8b7"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jul 13 13:11:46 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:46 2010"
      },
      "message": "[gcc] Fix formatting issues.\n\nReview URL: http://codereview.chromium.org/2891017\n"
    },
    {
      "commit": "7f59454950548fe0e6f760fda3e2836e6eaad8b7",
      "tree": "cbd10edfea8deefb76b3aa4793cae21b26707bff",
      "parents": [
        "d6ed1e4f2f05c01c6c7f30a740ff0af5e740c68f"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jul 05 16:33:11 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:45 2010"
      },
      "message": "[gcc] Misc cleanup.\n\n- Use TARGET_NACL instead of flag_control_integrity;\n- Kill getenv calls used for debugging nacl-specific code;\n- Remove few debug printings;\n\nReview URL: http://codereview.chromium.org/2880018\n"
    },
    {
      "commit": "d6ed1e4f2f05c01c6c7f30a740ff0af5e740c68f",
      "tree": "0be15229255cf60f75605286d3dcecdc7e375e46",
      "parents": [
        "9579c15108e81fead4e2e93ddf326649a199b0c6"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Thu Jul 01 14:15:12 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:45 2010"
      },
      "message": "[gcc] Allow GCC insert .cfi_startproc and .cfi_endproc.\n\nNaCl GAS supports these assembler directives. Though on Mac buildbots this\ncapability is not recognized due to the lack of readelf installed. Supporting\nthese directives is essential to have correct backtraces listed with valgrind.\n\nBUG: http://code.google.com/p/nativeclient/issues/detail?id\u003d663\n\nReview URL: http://codereview.chromium.org/2805058\n"
    },
    {
      "commit": "9579c15108e81fead4e2e93ddf326649a199b0c6",
      "tree": "8a455f6257513e7c06f472e2833558295c3c28a5",
      "parents": [
        "0d598a5e52c9d49125c70f37e70b00793baccf0d"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Jun 30 11:20:52 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:45 2010"
      },
      "message": "[gcc] Make nacl calls CALLs.\n\nChange nacl calls from UNSPEC (fnaddr) to CALL (MEM (UNSPEC (fnaddr))).\n\nIn places where gcc processes CALLs, we copy-pasted the code for nacl calls implemented via UNSPEC_NACLCALL. Now we remove these changes.\n\nReview URL: http://codereview.chromium.org/2852035\n"
    },
    {
      "commit": "0d598a5e52c9d49125c70f37e70b00793baccf0d",
      "tree": "a7abf91b3b724994fca4c9950d7cab5a4e29962f",
      "parents": [
        "041a65e4b1884a1d7e65bba8b9caa8daa1165c62"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Jun 25 11:55:28 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:44 2010"
      },
      "message": "[gcc] Cleanup nacl_special_commands.\n\nThis seems like an artifact of an old refactoring.\n\nReview URL: http://codereview.chromium.org/2824029\n"
    },
    {
      "commit": "041a65e4b1884a1d7e65bba8b9caa8daa1165c62",
      "tree": "75285d5e88c2ff6ead340981485b2ad9889756c5",
      "parents": [
        "fdfbcc8c790403477e8c79c85285263535507a07"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Fri Jun 25 11:52:30 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:44 2010"
      },
      "message": "[gcc] Kill NACL_LEA_MATCH_ADDRESS_OPERAND and insn_is_nacl_lea.\n\nThis is a cleanup change - removing stuff made no-op by new contsraint for LEA memory operand.\n\nReview URL: http://codereview.chromium.org/2866019\n"
    },
    {
      "commit": "fdfbcc8c790403477e8c79c85285263535507a07",
      "tree": "46d981f7466fce3955bfad9f1973faad1be38934",
      "parents": [
        "99ad59f8c150d06ea562b3b315287aab4380e13a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Thu Jun 24 16:42:34 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:43 2010"
      },
      "message": "[gcc] Use new constraint for LEA address operands.\n\nThe problem of processing LEA address operands is that it requires original, non-nacl address decomposition. Before this change, an original \"p\" constraint was used, and a global variable NACL_LEA_MATCH_ADDRESS_OPERAND signaled LEA decomposition mode to x86_decompose_address. That solution required appropriate setting of NACL_LEA_MATCH_ADDRESS_OPERAND before every call to constrain_operands.\n\nHere I introduce new \"T\" constraint, and use custom decomposition function to process it. NACL_LEA_ADDRESS_OPERAND is still here, but it is not checked any more. Next change will cleanup it completely.\n\nIn fact, new address decomposition function is an original, non-nacl x86_decompose_address. For now, I just copy-paste it. Perhaps it is better to split x86_decompose_address into pieces and reuse them, but this better goes in a separate change.\n\nReview URL: http://codereview.chromium.org/2873014\n"
    },
    {
      "commit": "99ad59f8c150d06ea562b3b315287aab4380e13a",
      "tree": "4065fa5c17afd85cc83335225953b83ec05e277b",
      "parents": [
        "f662373bcd040839a8b851cd1a560f5398fc5c5c"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Jun 22 11:30:31 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:43 2010"
      },
      "message": "[gcc] Eliminate control integrity pass in favor of nacl instructions generation from the start.\n\nThis is a refactoring/cleanup CL. The advatage of this new control integrity implementation is that it touches less files and is fully contained in i386 backend. This seems to be easier to push in upstream.\n\nSpecs pass, and performance seems unaffected. I have a concern about generating unspecs at rtl expand phase, as it can possibly kill several optimizations. From the other side, it seems unlikely as optimizations that touch indirect calls and jumps are hopefully done before rtl. In any case, I have an idea how to improve this if we discover that some optimization suffers from the change.\n\nReview URL: http://codereview.chromium.org/2850019\n"
    },
    {
      "commit": "f662373bcd040839a8b851cd1a560f5398fc5c5c",
      "tree": "78a4228ae46c3df332f4665b15a315f13d121c70",
      "parents": [
        "a2e6c6baaed6a960a0f88d04135ea7e6c2e32faf"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Jun 21 15:20:52 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:42 2010"
      },
      "message": "[gcc] Introduce TARGET_NACL;\n\nReview URL: http://codereview.chromium.org/2846020\n"
    },
    {
      "commit": "a2e6c6baaed6a960a0f88d04135ea7e6c2e32faf",
      "tree": "9310b4ea1d840ae64210f72e4200e295b910fa8a",
      "parents": [
        "a69d21cd69f9392a72d1facf34e66e6c3d4af5b4"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Jun 16 15:25:33 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:42 2010"
      },
      "message": "[gcc] disable movsbw for x86-64.\n"
    },
    {
      "commit": "a69d21cd69f9392a72d1facf34e66e6c3d4af5b4",
      "tree": "4774352b8330834fa423d43396ca777ccbfc179b",
      "parents": [
        "e05747f2b06006111113251b358a862e014e16ee"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:51:56 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:41 2010"
      },
      "message": "[gcc] Fix test-unwind.h harness\n\nx86_64 does not work without %rip and\n%rdi/%rsi are not callee-saved per ABI.\n"
    },
    {
      "commit": "e05747f2b06006111113251b358a862e014e16ee",
      "tree": "8a3eedc1c952d72c34fa197cd4bb9552e8787fbb",
      "parents": [
        "e26d9e816c03a66fec54f6acf19c33f6aeab877c"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:49:36 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:41 2010"
      },
      "message": "[gcc] Make copy-propagated pointers be addressed in Pmode.\n\nBUG: http://code.google.com/p/nativeclient/issues/detail?id\u003d453\n"
    },
    {
      "commit": "e26d9e816c03a66fec54f6acf19c33f6aeab877c",
      "tree": "3486fcfecbcd580d185fc972ca7bcd790fd062bf",
      "parents": [
        "581b7f0b2f1aa142481f0b4e567b4ec4607f13d7"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:48:24 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:40 2010"
      },
      "message": "[gcc] Disable \"bt\" instruction even if optimization for size is used.\n"
    },
    {
      "commit": "581b7f0b2f1aa142481f0b4e567b4ec4607f13d7",
      "tree": "673f3438886c6b5c13a0eebe9b3c25f8b98605c3",
      "parents": [
        "36215d080cbd49a2d9780c26e24cbf521bc23d63"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:46:03 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:40 2010"
      },
      "message": "[gcc] write tableswitch relocation data to the .rodata section\n\nby default gcc-4.4.x would put it to .text section, which does not pass the\nNaCl validator.\n"
    },
    {
      "commit": "36215d080cbd49a2d9780c26e24cbf521bc23d63",
      "tree": "3b8cca8fe8b16e004ad0413c414999bf72663a02",
      "parents": [
        "d298bfb6d97eee2fe56f3dcff5d5e9ef5b46fbbd"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:43:14 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:39 2010"
      },
      "message": "[gcc] Don\u0027t output \"add %gs:0x0,%eax\" as part of a TLS access\n\nThis instruction is currently not accepted by the validator,\nalthough the validator is being overly cautious here.\n\nBUG: http://code.google.com/p/nativeclient/issues/detail?id\u003d263\n"
    },
    {
      "commit": "d298bfb6d97eee2fe56f3dcff5d5e9ef5b46fbbd",
      "tree": "0715f8a3169ae5d4aee925117e321a15f7ada42d",
      "parents": [
        "bb020a386aaca36c2073693ca03290f5dc892f4e"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:35:37 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:39 2010"
      },
      "message": "[gcc] multilib mode: build both x86-32 and x86-64 libraries\n\nin the patch:\n* combined linux.h and i386/linux64.h into i386/nacl.h\n* removed LINUX target specifics when it was easy\n* target multilib definitions: i386/t-nacl64\n* config.gcc cleanup\n\nside changes:\n* define __linux__ and Co in GCC to let Chrome headers build smoothly\n* disable llrint() on x86-64 in newlib to allow some examples compile on nacl64\n"
    },
    {
      "commit": "bb020a386aaca36c2073693ca03290f5dc892f4e",
      "tree": "bb671ea3d8b73131885fa131ba788cb581728093",
      "parents": [
        "5ff5b0edd5e5a9e9a3831da0c91437a6934c6da3"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:31:40 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:38 2010"
      },
      "message": "[gcc] Disable long double for IA32. Disable i387 for x86-64.\n\nRationale: PNaCl can not offer \u0027long double\u0027 since this mode is only supported\nby x86 architecture. To make further transition easier we\u0027l disable long double\nin default NaCl compiler. Unfortunatelly we can not disable i387 mode for IA32\nbecause SSE is not enough to implement double precision floating point\noperations and SSE2 is not implemented in Pentium !!! and Athlon XP (still\nwidely used in some regions). i387 mode can only ever use 80bit floats\ninternally - so while we are removing 80bit \u0027long double\u0027 type we are keeping\n80bit internal XFmode around.\n\nAlso we are disabling SSE math for IA32 - this is not a good default mode for\ngeneral code: because SSE only supports single-precision float operations,\ndouble-precision doubles can only be operated with i387 code and switch between\ni387 and SSE subsystems is slow on a lot of CPUs. The SSE-base code still can be\nused for carefully written codecs and benchmarks, but it\u0027s not a default\nanymore, it must be enabled explicitly.\n"
    },
    {
      "commit": "5ff5b0edd5e5a9e9a3831da0c91437a6934c6da3",
      "tree": "d6f024e6d75d4b7cf775bdd34385ebb4d3dff3c2",
      "parents": [
        "4e0ae761f59baae95282ab07efa9b831ac524642"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:30:14 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:38 2010"
      },
      "message": "[gcc] initial gcc bulk\n"
    },
    {
      "commit": "4e0ae761f59baae95282ab07efa9b831ac524642",
      "tree": "b31b7dd1f0fe169cb0399671bef440177a3b5d25",
      "parents": [
        "167ac2bec3ffd459c0eecffb94f1282f6b4e1fdd"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:09:46 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:12:42 2010"
      },
      "message": "[gcc] Added objc frontend and runtime\n"
    },
    {
      "commit": "167ac2bec3ffd459c0eecffb94f1282f6b4e1fdd",
      "tree": "5a0e4d3f8224bd3d5161ab059cf23818f4b766e4",
      "parents": [],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 12:26:51 2010"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 12:26:51 2010"
      },
      "message": "Initial commit of toolchain sources\n\n  binutils-2.20\n  gcc-4.4.3\n  gdb-6.8\n  newlib-1.18.0\n"
    }
  ]
}
