)]}'
{
  "log": [
    {
      "commit": "cc3d67a9abb3eceb0d79d5369b40b41f67e2474b",
      "tree": "2edacfe8ccfb5e45be93897ec6780304ed4738dd",
      "parents": [
        "3416f7e9ec16bff06074f7a87ca4a7f950602703"
      ],
      "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": "3416f7e9ec16bff06074f7a87ca4a7f950602703",
      "tree": "5432e92ad33005129806df3696a000ebf7318aaa",
      "parents": [
        "471f6c45e948d8ce50048030e8c80cea76afc962"
      ],
      "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": "471f6c45e948d8ce50048030e8c80cea76afc962",
      "tree": "2829b102b0a65bf5b0909513f1b24e1d381ceff8",
      "parents": [
        "ffc2ce5a7dcff445bdf2b10a5e1f83e4a563be13"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Dec 29 16:12:56 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Dec 29 16:12:56 2010"
      },
      "message": "[binutils] Fix tls transition check from R_X86_64_GOTTPOFF\n\nx86_64 linker expects either movq or addq there, while for NaCl we generate movl or addl.\nFixed the check to accept movl and addl, the rewrite itself seems to work as is.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1278\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/6025010\n"
    },
    {
      "commit": "ffc2ce5a7dcff445bdf2b10a5e1f83e4a563be13",
      "tree": "c0d51891a867c9ff32bafffcc4f73ece5b65ba91",
      "parents": [
        "feaa0af17a4d4e1a87c7de1d53a72fe19e708286"
      ],
      "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": "feaa0af17a4d4e1a87c7de1d53a72fe19e708286",
      "tree": "acefc56fe1a1e2407f43266dabb9834aaaba045c",
      "parents": [
        "95dcbc2d4d4c8ab544834fcbeb2c3cd771122b28"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 21 18:06:19 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Dec 21 18:06:19 2010"
      },
      "message": "[binutils] Force assembler to align code section size\n\nAssembler pads code sections with NOPs, which is exactly what we need for NaCl.\n\nThis change introduces NOP padding at the end of the code section. Whitout this change, linker may add zero padding to code sections, which does not validate.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d499\nTEST\u003dcode sections in object files should be padded with NOPs at the end when needed\n\nReview URL: http://codereview.chromium.org/6001005\n"
    },
    {
      "commit": "95dcbc2d4d4c8ab544834fcbeb2c3cd771122b28",
      "tree": "d24772b5e47d242bc03f4d806859af94f8a9e736",
      "parents": [
        "8ef5a2c53499e36f8784bbcacf43d9260da1e817"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Wed Dec 08 16:02:41 2010"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Wed Dec 08 16:02:41 2010"
      },
      "message": "[binutils] allow immediates in naclrest{bp,sp}\n\nOriginally these commands would have produced an error in nacl64-as:\n  naclrestbp $0, %r15\n  naclrestsp $0, %r15\nError: suffix or operands invalid for `naclrestbp\u0027\n\n8bit immediates would be extended to 32bit.\n\nBUG\u003d\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/5648005\n"
    },
    {
      "commit": "8ef5a2c53499e36f8784bbcacf43d9260da1e817",
      "tree": "e0d6d2cd546befff8f71b3e1ac0ef9f5e5faac14",
      "parents": [
        "3b2eaf0825e444a7a122caf1e79a3e989e53dc87"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Thu Nov 25 15:24:57 2010"
      },
      "committer": {
        "name": "Egor Pasko",
        "email": "egor.pasko@gmail.com",
        "time": "Thu Nov 25 15:24:57 2010"
      },
      "message": "[noupstream] add codereview.settings\n\nBUG\u003dnone\nTEST\u003dnone\n\nReview URL: http://codereview.chromium.org/5367005\n"
    },
    {
      "commit": "3b2eaf0825e444a7a122caf1e79a3e989e53dc87",
      "tree": "7a1565e87836f360f8e41c34896e97aca6228af0",
      "parents": [
        "6d9e9956805cda3fe461198675ee0bc7bd8ded4b"
      ],
      "author": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Tue Nov 23 12:57:01 2010"
      },
      "committer": {
        "name": "Andrey Khalyavin",
        "email": "halyavin@google.com",
        "time": "Tue Nov 23 12:57:01 2010"
      },
      "message": "[binutils] Move .got.plt section to the data segment.\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d960\n\nI do nothing in case of DATA_GOT, RELRO_NOW and GOTPLT variables exist during linker script generation from linker script template. The reason is that $RELRO_NOW undefines $SEPARATE_GOTPLT in the template. Case when someone sets $GOTPLT by other means is not supported. Also, we don\u0027t have $RELRO_NOW defined now.\n\nTEST\u003d#in /native_client/tools\nmake SDKLOC\u003d/path_to_new_toolchain\n\n./scons MODE\u003dnacl,dbg-linux platform\u003dx86-64 sdl\u003dnone naclsdk_mode\u003dcustom:/path_to_new_toolchain thread_test.nexe\nobjdump -ph ./scons-out/nacl-x86-64/staging/thread_test.nexe \u003e~/thread_test_dump.txt\n\nReview URL: http://codereview.chromium.org/5115005\n"
    },
    {
      "commit": "6d9e9956805cda3fe461198675ee0bc7bd8ded4b",
      "tree": "adcee0d937084ce0171d4106dff50d26e5d73446",
      "parents": [
        "fe2b972f0af7d139324691b248572df1bbd79e5a"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Tue Nov 02 12:56:56 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:14:01 2010"
      },
      "message": "[binutils] Special processing of R_X86_64_32 relocations\n\nR_X86_64_32 relocations in NaCl64 play the same role as R_X86_64_64 in native x86_64. They should be rewritten in case relocated symbol is hidden and will not exist in statically linked binary.\n\nR_X86_64_64 are rewritten into R_X86_64_RELATIVE using the absolute value of the symbol. Unfortunately we don\u0027t have 32-bit alternative, thus we change relocation to use section instead of symbol. Usually this rewrite produces buggy relocations (why? there is corresponding comment in bfd, but it does not explain much), but in our special case we just create valid relocations.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d1095\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/4128004\n"
    },
    {
      "commit": "fe2b972f0af7d139324691b248572df1bbd79e5a",
      "tree": "00e4ed834ae1dd686b74f742916395ff56f351df",
      "parents": [
        "6ab88a6ce02bd7dbd1126bde881762616c2f54da"
      ],
      "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": "6ab88a6ce02bd7dbd1126bde881762616c2f54da",
      "tree": "a96fc1a40a5acd57bb223b665cc5010310ac9529",
      "parents": [
        "5d01723d6c99ca2de3b8a6d998d6327f778bae0c"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Fri Sep 24 18:03:59 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:14:00 2010"
      },
      "message": "[binutils] fix x86-64 PLT entries\n\nBUG\u003d\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3505001\n"
    },
    {
      "commit": "5d01723d6c99ca2de3b8a6d998d6327f778bae0c",
      "tree": "f0e259f1f0e8aed045db55264e793f29ef3434c5",
      "parents": [
        "ccfe0f096c78e301d0b932ba85de64b129785b07"
      ],
      "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": "ccfe0f096c78e301d0b932ba85de64b129785b07",
      "tree": "f5e1731ce7d71fbee0883ac90ce71fc0eb333f97",
      "parents": [
        "121a433fbf721ff53861ec3487a1e846630f642d"
      ],
      "author": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Wed Sep 22 14:14:07 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:59 2010"
      },
      "message": "[binutils] Prevent ld from rewriting tls access sequences with calls\n\nNaCl assembler inserts nops in front of a call for proper bundling. When linker tries to rewrite a code sequence that consists of something followed by a call, it complains about these nops.\n\nAt the moment, simply disable rewriting these sequences.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d237\nTEST\u003d\n\nReview URL: http://codereview.chromium.org/3467009\n"
    },
    {
      "commit": "121a433fbf721ff53861ec3487a1e846630f642d",
      "tree": "a1718d196d0e4713546e26996b09b7248df1b11d",
      "parents": [
        "cd1e1781ac71073d8f02f0d16bf26f78906cdda7"
      ],
      "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": "cd1e1781ac71073d8f02f0d16bf26f78906cdda7",
      "tree": "14475edc06ba89081c9d5bf4ac7da909e5771301",
      "parents": [
        "1bfb5845cd27db568df70c0df585c6d17b5ce5ef"
      ],
      "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": "1bfb5845cd27db568df70c0df585c6d17b5ce5ef",
      "tree": "333d0ba2b976a6de38558e37e3e9e0d5ec287f45",
      "parents": [
        "0f03371d2a260396d48644cc338ed496d86f50ec"
      ],
      "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": "0f03371d2a260396d48644cc338ed496d86f50ec",
      "tree": "5ce88c3ab958059ce84f990f63903b54ea60e655",
      "parents": [
        "f1e753a429d1626404dab8f2606a873ce12112ac"
      ],
      "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": "f1e753a429d1626404dab8f2606a873ce12112ac",
      "tree": "bdccd7b89b9d52b5d0caf9417337bb9fa27bc35f",
      "parents": [
        "1121bee06c54ccfacfb8eb8e0da7de85386498e3"
      ],
      "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": "1121bee06c54ccfacfb8eb8e0da7de85386498e3",
      "tree": "9197c6fe844c1345a40721a5bd4d1786ee3e8e59",
      "parents": [
        "b73d519cbfaccd01f10aee06c36992b967cff3ba"
      ],
      "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": "b73d519cbfaccd01f10aee06c36992b967cff3ba",
      "tree": "be212df560b15818eea600982141126def20b5f1",
      "parents": [
        "f2704c06c8d2dfa3e2f00151bbce790bafc915d2"
      ],
      "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": "f2704c06c8d2dfa3e2f00151bbce790bafc915d2",
      "tree": "607fb5e5746239ea0dfd0c94b643aa342bfb1a5e",
      "parents": [
        "8501b7d879e472894742a560814bc2a4a487f5cd"
      ],
      "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": "8501b7d879e472894742a560814bc2a4a487f5cd",
      "tree": "5863a6c4d34f91a0901fdd10d303d8f6dbc40a2a",
      "parents": [
        "65461517ab84101da6e2048319d5cc5167e9d0f1"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Mon Aug 23 21:51:23 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:55 2010"
      },
      "message": "[newlib] Don\u0027t try to implement clock(3) using times(2). NaCl provides native clock(2)\n\nReview URL: http://codereview.chromium.org/3183021\n"
    },
    {
      "commit": "65461517ab84101da6e2048319d5cc5167e9d0f1",
      "tree": "5a812b74063f9c5918966d29812d3e567d1e2064",
      "parents": [
        "22ab9a1519e65c8b63a0444c2d89476ea36980dc"
      ],
      "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": "22ab9a1519e65c8b63a0444c2d89476ea36980dc",
      "tree": "2c690fce5526573b7d6c533f026617e3bab0988b",
      "parents": [
        "fb14181f7e70c008e3f0dfd20fa0d92fd8c67e36"
      ],
      "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": "fb14181f7e70c008e3f0dfd20fa0d92fd8c67e36",
      "tree": "bc1597b8d853f9ee3a7652990cd1b0f79fc9c628",
      "parents": [
        "074b87760311dbbb6321555c7d77f9d720a38ee3"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Aug 17 09:59:03 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:54 2010"
      },
      "message": "[binutils] Pad PLT entries with NOPs instead of HLTs\n\nnacl_dyncode_copy() now rejects instruction bundles that contain only\nHLTs, so we need to change at least the 0th PLT entries.\n\nAlso fix the i386 PIC PLT entry so that it pads to the full 64 bytes.\nBefore, the last 4 bytes were zeroes.\n\nBUG\u003dhttp://code.google.com/p/nativeclient/issues/detail?id\u003d820\nTEST\u003dTested 32-bit with nacl-glibc\u0027s nacl/test.py\n\nReview URL: http://codereview.chromium.org/3177017\n"
    },
    {
      "commit": "074b87760311dbbb6321555c7d77f9d720a38ee3",
      "tree": "11e3107a507d39d73869bfcb0c8332b3e6e4228f",
      "parents": [
        "990fccd7ce0d756829b550de2240253956bf489a"
      ],
      "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": "990fccd7ce0d756829b550de2240253956bf489a",
      "tree": "7a91ed35e62ad777aaece3dca1e8bdabf206e235",
      "parents": [
        "af92547332f96dd6eeb3c7070ca33f759ae03b3d"
      ],
      "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": "af92547332f96dd6eeb3c7070ca33f759ae03b3d",
      "tree": "fb2a725d9e7c2ff60bb4838f6dff6a7fc3932583",
      "parents": [
        "fa575b2111d1880e7fec4a59ea636c452536db51"
      ],
      "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": "fa575b2111d1880e7fec4a59ea636c452536db51",
      "tree": "b5532bc0379e76dd8afe0906337900631909f83c",
      "parents": [
        "e9c3619e16a8dee9103a03361bd4b7f5eba6c840"
      ],
      "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": "e9c3619e16a8dee9103a03361bd4b7f5eba6c840",
      "tree": "296cda961ae8aa8ef2bc042cd72b1d23b0a3a800",
      "parents": [
        "dfe156e457e2b8b8e3c4e1e542ea3faade97917c"
      ],
      "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": "dfe156e457e2b8b8e3c4e1e542ea3faade97917c",
      "tree": "2284a7d81685ce6a98ec7679224df7a0d1934315",
      "parents": [
        "00a6db78e0d428d1628ee81973b8056710637660"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Fri Jul 30 16:59:45 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:51 2010"
      },
      "message": "[binutils] Allow \"scasb %nacl:(%rdi),%al,%r15\" command\n\nReview URL: http://codereview.chromium.org/3061037\n"
    },
    {
      "commit": "00a6db78e0d428d1628ee81973b8056710637660",
      "tree": "731ad7e5f748c3d481bc280c5582287cea371f05",
      "parents": [
        "5c338b2faa439512a06bafa61c25f2dba6d46aeb"
      ],
      "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": "5c338b2faa439512a06bafa61c25f2dba6d46aeb",
      "tree": "337cc5ce8db42e3737cb59807696ed0be019fe77",
      "parents": [
        "a47db7387fe88cafa2b42f097370a3caa317352b"
      ],
      "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": "a47db7387fe88cafa2b42f097370a3caa317352b",
      "tree": "b259d1a498427ad55b0c1900cabf75f783f8cd2f",
      "parents": [
        "10e79c3c74e5b6076f3e57eea277b12a21d5752e"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Wed Jul 28 10:44:30 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:50 2010"
      },
      "message": "[newlib] fix read sandboxing in asm functions\n\nReview URL: http://codereview.chromium.org/3056024\n"
    },
    {
      "commit": "10e79c3c74e5b6076f3e57eea277b12a21d5752e",
      "tree": "0c8f68fb0db9676c8377e498902a216039e1f276",
      "parents": [
        "7a08f10a898b03f006e258e3e31bc8f24d9cc374"
      ],
      "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": "7a08f10a898b03f006e258e3e31bc8f24d9cc374",
      "tree": "9d1dbd553b38d2d005f61022015ab42a65424023",
      "parents": [
        "18bd945efebf76d7f0679092e64c6203678aa774"
      ],
      "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": "18bd945efebf76d7f0679092e64c6203678aa774",
      "tree": "ab6186259d93a39b7790ba71bbbb0b42e714f9d5",
      "parents": [
        "1a02138f534e5e53faa2cece1fdd2303c7dfad12"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Wed Jul 21 16:27:32 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:48 2010"
      },
      "message": "[binutils] Stop using 2MiB pages for x86-64.\n\nStop using 2MiB pages for x86-64. This finalizes the ABI so now we are using\nversion 8 for both IA32 and x86-64.\n\noriginal change made by Victor at: http://codereview.chromium.org/2107008/show\nand was lost during transition to Git\n\nMade DATA_SEGMENT_RELRO_END macro non-empty (as in elf.sc), which is required by\nglibc configure. This requires extra alignment, so be it.\n\nReview URL: http://codereview.chromium.org/2834056\n"
    },
    {
      "commit": "1a02138f534e5e53faa2cece1fdd2303c7dfad12",
      "tree": "c050817e051336cb5b20f3ea9822755ae5f19fc1",
      "parents": [
        "84620dbc18580012e8db0c5012acfbf9cd56e4c8"
      ],
      "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": "84620dbc18580012e8db0c5012acfbf9cd56e4c8",
      "tree": "b1b9520a381594403569b0a656a30aa27f9ab413",
      "parents": [
        "7d0a85789209a0ee7732a860433c98b437f6fa72"
      ],
      "author": {
        "name": "Jan Voung",
        "email": "jvoung@google.com",
        "time": "Mon Jul 19 23:33:18 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:48 2010"
      },
      "message": "[binutils] add naclrestsp_noflags (lea instead of add)\n\nReview URL: http://codereview.chromium.org/2858055/show\n"
    },
    {
      "commit": "7d0a85789209a0ee7732a860433c98b437f6fa72",
      "tree": "7b0b63c61214a5c45785a3bf79356805ca6544a8",
      "parents": [
        "8b900749700d619eb924e820b321d389ef206b97"
      ],
      "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": "8b900749700d619eb924e820b321d389ef206b97",
      "tree": "704fe44d4665531119b452360a97593ee1f99656",
      "parents": [
        "0c5cdbec0acbee3347d5d21d83fd58c78083b351"
      ],
      "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": "0c5cdbec0acbee3347d5d21d83fd58c78083b351",
      "tree": "6b368e703b67e375dcf5dcbff06d4833d6c6e4f9",
      "parents": [
        "9c7823cfda90584c86f182416c3d27a10fb4474f"
      ],
      "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": "9c7823cfda90584c86f182416c3d27a10fb4474f",
      "tree": "65939f11f476384b02f04cd82859f339486eab20",
      "parents": [
        "eef7207bac5cab7d94a37e74acf5735a2f8ee924"
      ],
      "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": "eef7207bac5cab7d94a37e74acf5735a2f8ee924",
      "tree": "6436e8342ebcf73e470b0e6ad3d8d95dfb150d90",
      "parents": [
        "915fb7a04568f22996d326c833dbff5d6d502cfa"
      ],
      "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": "915fb7a04568f22996d326c833dbff5d6d502cfa",
      "tree": "f72dd7a9dd5ca6412fcd17084d5816cfef3c8dd1",
      "parents": [
        "963f327f1dec999be9ebb1526a0df661d101e015"
      ],
      "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": "963f327f1dec999be9ebb1526a0df661d101e015",
      "tree": "c3115d5c4db4d781f6c5372b62932ff679e1f4c9",
      "parents": [
        "7cc19bf49fcfbcbac35414748a132b62ea03f62d"
      ],
      "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": "7cc19bf49fcfbcbac35414748a132b62ea03f62d",
      "tree": "15615c352adef5c2085786ef74754443813e8f1b",
      "parents": [
        "4dfc22d2c1537da45d12c087363e8d7a2a7be607"
      ],
      "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": "4dfc22d2c1537da45d12c087363e8d7a2a7be607",
      "tree": "876fd99a278ce3842082281ed50c0497275a0c6a",
      "parents": [
        "da8bbd777e49467b3562eb02f135395d1f31db42"
      ],
      "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": "da8bbd777e49467b3562eb02f135395d1f31db42",
      "tree": "09355e39b50f4283cc10d38d35906da069d657fc",
      "parents": [
        "23ab191576705a7bb1b7b6e4985c0a80b1fe7721"
      ],
      "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": "23ab191576705a7bb1b7b6e4985c0a80b1fe7721",
      "tree": "d7b357ea379a681f9f3954a6392876931c1978e8",
      "parents": [
        "e3d8f74a8a56a2e3a062654b78f49424cd84bf62"
      ],
      "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": "e3d8f74a8a56a2e3a062654b78f49424cd84bf62",
      "tree": "90266695f603068fea40a8c7e4df6a4cb6e80b9d",
      "parents": [
        "84be8c3ecd00c52bf7bf92014f96e85ab74b4746"
      ],
      "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": "84be8c3ecd00c52bf7bf92014f96e85ab74b4746",
      "tree": "328a41cab4085e8382e6173e497d4c4438142f32",
      "parents": [
        "1f810097bfff356cf0670ac3d8468636b56e1f8e"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 25 11:32:55 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:41 2010"
      },
      "message": "[newlib] build newlib with nanosleep enabled\n"
    },
    {
      "commit": "1f810097bfff356cf0670ac3d8468636b56e1f8e",
      "tree": "e7a427b1508f71dba4298632123c1661fa39f88f",
      "parents": [
        "90cd6ea1f505f852d6e2b127924db1b55cb89536"
      ],
      "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": "90cd6ea1f505f852d6e2b127924db1b55cb89536",
      "tree": "5b91fd740b16a168b35d023739bcb3d60d5feeb0",
      "parents": [
        "29b9ff1f0fecf876c4cdb5f0d0c21ee2b6253dda"
      ],
      "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": "29b9ff1f0fecf876c4cdb5f0d0c21ee2b6253dda",
      "tree": "4af87ba93c26093b58972401cdfaf5c4bed638e5",
      "parents": [
        "4ad3cdc13e4348c1a2a62f55280837c400791d46"
      ],
      "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": "4ad3cdc13e4348c1a2a62f55280837c400791d46",
      "tree": "559dc4bb2bfe9ada63959e42825fa484be400f90",
      "parents": [
        "806b4ec7195366f5bed7bd4df4f35bb179c130f9"
      ],
      "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": "806b4ec7195366f5bed7bd4df4f35bb179c130f9",
      "tree": "ee82c1801ca0b4509d9cae4499eac11247a2f334",
      "parents": [
        "b4fbd843af8ef1f37a3611fb021300c5910302d1"
      ],
      "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": "b4fbd843af8ef1f37a3611fb021300c5910302d1",
      "tree": "67b25de11e02f4517ac45d3b0ed0da1a2c685d71",
      "parents": [
        "e20e26df9dd5cf669af5a90b490cb804f1322607"
      ],
      "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": "e20e26df9dd5cf669af5a90b490cb804f1322607",
      "tree": "7256a1e211395e3e274a286a232f04539f5cc79b",
      "parents": [
        "38048c461b29957fe2938000ee0f7baed5941c08"
      ],
      "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": "38048c461b29957fe2938000ee0f7baed5941c08",
      "tree": "865628f084feca9b4e8e71d5a3fe30753c4dfdbc",
      "parents": [
        "61bbd7dcae358e99590245abfb002ae701f057de"
      ],
      "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": "61bbd7dcae358e99590245abfb002ae701f057de",
      "tree": "4b29d77afaf3a6443aa9ab836840e0e6bd169286",
      "parents": [
        "1fb21ca7c3142a0e99017159e6d2b05e7ff14abb"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:29:20 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:37 2010"
      },
      "message": "[gdb] compilation fixes for gcc 4.4.1\n"
    },
    {
      "commit": "1fb21ca7c3142a0e99017159e6d2b05e7ff14abb",
      "tree": "adf3cc3493c7a214f8ca150f950d032caf47aa1d",
      "parents": [
        "4d26eeb8e12e06306e15e16cf069c703d6377b89"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Mon May 24 14:02:11 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:36 2010"
      },
      "message": "[gdb] Initial NaCl gdb bulk\n"
    },
    {
      "commit": "4d26eeb8e12e06306e15e16cf069c703d6377b89",
      "tree": "d8c1021fa61a0b62cd988cdf77ad3c581e8ee9c8",
      "parents": [
        "f0989755259243a535190bbba560ed5e32090203"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:28:02 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:36 2010"
      },
      "message": "[newlib] NaCl newlib bulk\n"
    },
    {
      "commit": "f0989755259243a535190bbba560ed5e32090203",
      "tree": "06c329e2b79cf36bbdf3ebbdb39946a4643d8f4c",
      "parents": [
        "d8a895ad9f8fc82a402b12210b24a7b609938e64"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue May 18 13:26:49 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:35 2010"
      },
      "message": "[binutils] NaCl binutils bulk\n"
    },
    {
      "commit": "d8a895ad9f8fc82a402b12210b24a7b609938e64",
      "tree": "9209c1ccc617b4b8edffea42e2e96dcd142ffd81",
      "parents": [
        "5aaf882990f79ff2b3a985b824fa24e370e522c1"
      ],
      "author": {
        "name": "Victor Khimenko",
        "email": "khim@chromium.org",
        "time": "Sat Jul 31 21:18:15 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:35 2010"
      },
      "message": "[binutils] Bump binutils to 2.20.1\n\nReview URL: http://codereview.chromium.org/3018030\n"
    },
    {
      "commit": "5aaf882990f79ff2b3a985b824fa24e370e522c1",
      "tree": "b057cf262b8e8ef17d2c2b7fb1a852f0565f94a4",
      "parents": [
        "b580f799acbc3d791cb42582bd59fc6f6254f046"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@google.com",
        "time": "Tue Jun 01 12:37:37 2010"
      },
      "committer": {
        "name": "Evgeny Eltsin",
        "email": "eaeltsin@google.com",
        "time": "Mon Nov 22 17:13:34 2010"
      },
      "message": "[noupstream] Removed some files regenerated during the build\n"
    },
    {
      "commit": "b580f799acbc3d791cb42582bd59fc6f6254f046",
      "tree": "a3bc3b64e51821478f9dab10ba6d3cf1b36b1b8f",
      "parents": [
        "67b59fb9997904b3fe2d25c2b2781ab9d777c6e9"
      ],
      "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": "67b59fb9997904b3fe2d25c2b2781ab9d777c6e9",
      "tree": "7b17e0db150447d5a6b108a85fa2ecde1cf72f15",
      "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"
    }
  ]
}
