)]}'
{
  "log": [
    {
      "commit": "498eb18b82a425f9f30132e4832f327b2ee0e545",
      "tree": "08ae8d60c8f659139aba906ccfe6df4bc85afdb5",
      "parents": [
        "b3ebfecdae05e29062bf4d0234239a54a2733ce0"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 05 14:57:59 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Sep 05 16:27:54 2014 -0700"
      },
      "message": "Revert \"Load libraries in breadth-first order\"\n\nThis reverts commit a3ad450a2e3fb6b3fe359683b247eba20896f646.\n\nChange-Id: Ia2b838ad2159c643b80c514849582f4b4f4f40e5\n"
    },
    {
      "commit": "8adace5f2c185bd616f79159eaf90d2982157069",
      "tree": "9b0317d579c708e8d306cec13cc94dab9fc2c89d",
      "parents": [
        "001815ed197280409d08e9622890e7462c6e6831",
        "b58db8b083ce41798a5310616e4f20885cec611f"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Sep 05 18:54:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 05 18:54:48 2014 +0000"
      },
      "message": "Merge \"Enable clang compilation with libc but not linker.\""
    },
    {
      "commit": "b58db8b083ce41798a5310616e4f20885cec611f",
      "tree": "a212c19cb9f002c2c3db54a67c1691f208cee6c6",
      "parents": [
        "05f0bfd6c56746aa4f737804ebb62b555dc0d921"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 04 15:19:52 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Sep 05 11:18:35 2014 -0700"
      },
      "message": "Enable clang compilation with libc but not linker.\n\nClang is still disabled for x86 and x86_64 long double code,\nfor x86_64 special assembly instruction, and the linker module.\n\nBUG: 17163651\nBUG: 17302991\nBUG: 17403674\nChange-Id: I43c5f5f0ddc0c2a31918f00b57150dadd8f3f26b\n"
    },
    {
      "commit": "44352f5f7f06ff9383d695b0a7d4243f5268f430",
      "tree": "f1727f0f95a7865264c3b9d8d5a3a10315789e09",
      "parents": [
        "c0cd9ce5df753161aabb393420a8ada8f369b551",
        "4b41555ba5439025cee9cf3f9ff45db43b1865da"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:55:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 21:55:59 2014 +0000"
      },
      "message": "Merge \"Revert \"Register __libc_fini as early as possible.\"\""
    },
    {
      "commit": "c0cd9ce5df753161aabb393420a8ada8f369b551",
      "tree": "14639e94a4af7ab9f59cb3e5b213882683e74d13",
      "parents": [
        "05f0bfd6c56746aa4f737804ebb62b555dc0d921",
        "f0d89704351eeb10560e07b291766a2ddc360daf"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:55:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 21:55:55 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix arm64 build\"\""
    },
    {
      "commit": "4b41555ba5439025cee9cf3f9ff45db43b1865da",
      "tree": "130e856c9feb2499299a5fb57fc911cecacbee45",
      "parents": [
        "e880c736d6c1d947f6309d5f1f63c74e8345c6a6"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:54:34 2014 +0000"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:54:34 2014 +0000"
      },
      "message": "Revert \"Register __libc_fini as early as possible.\"\n\nThis reverts commit e880c736d6c1d947f6309d5f1f63c74e8345c6a6.\n\nChange-Id: Ide83e442eb5dbfef5298a15bc602c3fe1dda1862\n"
    },
    {
      "commit": "f0d89704351eeb10560e07b291766a2ddc360daf",
      "tree": "a2c9bfe9eea59dc8412c3c68df5679fdd8452519",
      "parents": [
        "5c1a7fdbd5a085024019b4c9307d2b2ace35df5e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:53:14 2014 +0000"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 21:53:14 2014 +0000"
      },
      "message": "Revert \"Fix arm64 build\"\n\nThis reverts commit 5c1a7fdbd5a085024019b4c9307d2b2ace35df5e.\n\nChange-Id: Ia5fea0d6a8f59700edce0742e2271b5f02a5d87c\n"
    },
    {
      "commit": "afe58ad9892de27a7acb0aaded6312ee0f958314",
      "tree": "0bd59ab94eabeaa98113686962a3ccc9b4b8413d",
      "parents": [
        "071bed8091cab4e070a1f5e6b2eb0dd1141f0498"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 04 13:54:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 04 13:54:42 2014 -0700"
      },
      "message": "Don\u0027t mask out SA_RESTORER from sa_flags.\n\nglibc doesn\u0027t do this, and we probably shouldn\u0027t either.\n\nBug: 16703540\nChange-Id: Id5b93c3782e34024a9916463348e8f3caff191bf\n"
    },
    {
      "commit": "fc8974b7aabd2e7c9884e8d5e3d84395461396ff",
      "tree": "99432e14bf4e1c087041b6aa51b03bccc3034f7e",
      "parents": [
        "1737b159374468a21859d97d8be70a726af0ec9e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 04 08:52:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 04 08:53:16 2014 -0700"
      },
      "message": "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.\n\nThis showed up as open_memstream not being visible in \u003cstdio.h\u003e\nif only _GNU_SOURCE was defined.\n\nBug: 17361504\nChange-Id: I38f9843f4e6ee770a6325ad50f779bda5495ffca\n"
    },
    {
      "commit": "1737b159374468a21859d97d8be70a726af0ec9e",
      "tree": "652d1b919ca6e2918d21e02f1749b83cbf1e92f5",
      "parents": [
        "8f3b8f523ed594b48d28ca0b9a2651d209f29e26",
        "a3ad450a2e3fb6b3fe359683b247eba20896f646"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Sep 04 00:59:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 04 00:59:23 2014 +0000"
      },
      "message": "Merge \"Load libraries in breadth-first order\""
    },
    {
      "commit": "8f3b8f523ed594b48d28ca0b9a2651d209f29e26",
      "tree": "4b73d4f1c1e0a493deeaf46520d057e585089aba",
      "parents": [
        "58bb54c38bf31fa5cdad8ddbdc44bbed04aaf0cf",
        "5c1a7fdbd5a085024019b4c9307d2b2ace35df5e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 23:36:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 03 23:36:35 2014 +0000"
      },
      "message": "Merge \"Fix arm64 build\""
    },
    {
      "commit": "5c1a7fdbd5a085024019b4c9307d2b2ace35df5e",
      "tree": "fe3eac330a260c922744754b72303f5152e4e055",
      "parents": [
        "450aaa018df19464cb4e01ea3059a2a075ebde52"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 16:33:08 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 16:33:08 2014 -0700"
      },
      "message": "Fix arm64 build\n\nBug: 14611536\nChange-Id: I4f7f4d1f5c0a37ef38fa0956778393f8d7668512\n"
    },
    {
      "commit": "5dea47221a116aa87b0c286230c944ed6b629636",
      "tree": "9bd6b42efb96dec7fc3db723ac45330f03bd0bee",
      "parents": [
        "450aaa018df19464cb4e01ea3059a2a075ebde52"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 03 15:53:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 03 16:30:22 2014 -0700"
      },
      "message": "Add back a dummy arc4random_stir for compatibility.\n\nThe current arc4random implementation stirs itself as needed, but we\nneed to keep an arc4random_stir symbol around for binary compatibility.\n\n(cherry-pick of 1e010d60397db706cd3d1c4d5701a2bced441aa8.)\n\nBug: 17291075\nChange-Id: Iaf6171c3ec65c39c1868364d5b35ea280e29a363\n"
    },
    {
      "commit": "e880c736d6c1d947f6309d5f1f63c74e8345c6a6",
      "tree": "b7e6dfa0c80d87f72ab1bbccd78242eee01ba841",
      "parents": [
        "3b10ba6f1b743ddced32474891ff6d1cb83c027a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 14:56:05 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 15:27:29 2014 -0700"
      },
      "message": "Register __libc_fini as early as possible.\n\n  We want __libc_fini to be called after all the destructors.\n\nBug: 14611536\nChange-Id: Ibb83a94436795ec178fd605fa531ac29608f4a3e\n"
    },
    {
      "commit": "a3ad450a2e3fb6b3fe359683b247eba20896f646",
      "tree": "46d55ca77bbe24d4834444ed21aa146bf6750e37",
      "parents": [
        "ec95a9cf11f7c4d2211c61da7ce05262a54409d1"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Jul 29 14:21:45 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Sep 03 15:06:14 2014 -0700"
      },
      "message": "Load libraries in breadth-first order\n\n  This patch fixes the problem with symbol search order\n  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries\n  and ld_preloads in correct order.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d74255\nChange-Id: I4cf84c70dbaabe99310230dfda12385ae5401859\n"
    },
    {
      "commit": "296895f1a96f7340e565fa5fc6074b85b29fd8cf",
      "tree": "fcfdfa6f7d65b677e72ada641c8342c2991b489d",
      "parents": [
        "86f594b19bc51ffe87bfacb6b42687af94c3c648"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Aug 20 16:39:47 2014 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu.gandham@imgtec.com",
        "time": "Tue Sep 02 12:41:01 2014 -0700"
      },
      "message": "MIPS64 syscall() arguments\n\nThe seventh argument for syscall is passed in a register, not on the stack\n\nChange-Id: Idb69fac77d1f710cff5a3ab4ae1259feb61ae69d\n"
    },
    {
      "commit": "9685c30a2375635f7410e60eff2f0559f7e84df6",
      "tree": "fbf0b10837c5df5c6611c0e26baf8434fa63d478",
      "parents": [
        "5120bcf9f11951bffd8ac595c2b70252ed4a4958"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 02 09:44:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 02 09:51:04 2014 -0700"
      },
      "message": "Upgrade bionic to tzdata2014g.\n\nFrom the release notes:\n\n  Changes affecting future time stamps\n\n    Turks \u0026 Caicos is switching from US eastern time to UTC-4 year-round,\n    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.\n\n  Changes affecting past time stamps\n\n    Time in Russia or the USSR before 1926 or so has been corrected by\n    a few seconds in the following zones: Asia/Irkutsk,\n    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,\n    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For\n    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to\n    Vladimir Karpinsky.)\n\n    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.\n    This affects 1911 time stamps in Africa/Bissau, Africa/Luanda,\n    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon\u0027s pre-1912\n    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.\n    (Thanks to Stephen Colebourne for pointing to the decree.)\n\n    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.\n\n    A new file \u0027backzone\u0027 contains data which may appeal to\n    connoisseurs of old time stamps, although it is out of scope for\n    the tz database, is often poorly sourced, and contains some data\n    that is known to be incorrect.  The new file is not recommended\n    for ordinary use and its entries are not installed by default.\n    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and\n    Isle of Man entries.)\n\n    Some more zones have been turned into links, when they differed\n    from existing zones only for older time stamps.  As usual,\n    these changes affect UTC offsets in pre-1970 time stamps only.\n    Their old contents have been moved to the \u0027backzone\u0027 file.\n    The affected zones are: Africa/Bangui, Africa/Brazzaville,\n    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,\n    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.\n\nBug: 17277574\nChange-Id: Idff4a68e927d49bef1e787af534e1b23b5b8a7fb\n"
    },
    {
      "commit": "32429606bf696d3b2ca555f132a0d60c566d0bd0",
      "tree": "a78cacfc6e28d35fdd41b0b4d6682b22b49939f2",
      "parents": [
        "bbe06e0da1742e9bdc52d3246ffa9f2ab3ce999a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 28 15:21:32 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 29 17:03:26 2014 -0700"
      },
      "message": "Make stdatomic.h work with gcc4.6 host compiler\n\nThis is needed to make L work correctly, and bionic tests pass\nagain, after applying the equivalent of\ncommit 00aaea364501b3b0abe58dae461136159df1e356 there.\n\nIt makes the preexisting code that uses __sync implementations\nmuch more useful, although we should no longer be exercising that\ncode in AOSP.\n\nSpecifically fixes:\n\nWe were invoking __has_extension and __has_builtin for GCC compilations.\nThey\u0027re clang specific. Restructured the tests.\n\nThe __sync implementation was not defining the LOCK_FREE macros.\n\nATOMIC_VAR_INIT was using named field initializations.  These are a\nC, not C++, feature, that is not supported by g++ 4.6.\n\nThe stdatomic bionic test still failed with 4.6 and glibc with our\nquestionable LOCK_FREE macro implementation.  Don\u0027t run that piece\nwith 4.6.\n\nIn L, this is a prerequisite for fixing:\n\n    Bug:16880454\n    Bug:16513433\n\nChange-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab\n"
    },
    {
      "commit": "e0c56efddf55ad40cb35b2c22e1dd9b4b50df159",
      "tree": "0e4bed3e5dda4ad2dcf94560c09fe40457e4843a",
      "parents": [
        "83b637fa28e072aa73691b5ddc588293f06cb54b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 29 15:54:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 29 15:54:11 2014 -0700"
      },
      "message": "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.\n\nBug: 16874785\nChange-Id: I8512f8be3fd149d8720c5c3b4657bedd5ce2b1d1\n"
    },
    {
      "commit": "cc4259ed9254ae66f63cacc3ad50963c4058eb1c",
      "tree": "ae035a802af7f24b21983a436220abb513144b03",
      "parents": [
        "29f06943a19ef2271a08f4223f597a3383f0d9c0",
        "b6b5cb53895a2d5e94368f14a25ccfaf807eacad"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 29 03:10:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 29 03:10:44 2014 +0000"
      },
      "message": "Merge \"Ignore all __weak_alias in OpenBSD libC.\""
    },
    {
      "commit": "416d7ddaff0946d480b6aa945a741b3eeaca5569",
      "tree": "d3fa6382f7d6d26ab7e3ecb95a715328e5f50b5e",
      "parents": [
        "f4e721dd519db89c504c8944763811a3df956b32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 17:28:32 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 28 16:37:09 2014 -0700"
      },
      "message": "Add GNU-compatible strerror_r.\n\nWe already had the POSIX strerror_r, but some third-party code defines\n_GNU_SOURCE and expects to get the GNU strerror_r instead.\n\nThis exposed a bug in the libc internal logging functions where unlike\ntheir standard brethren they wouldn\u0027t return the number of bytes they\u0027d\nhave liked to have written.\n\nBug: 16243479\nChange-Id: I1745752ccbdc569646d34f5071f6df2be066d5f4\n"
    },
    {
      "commit": "b6b5cb53895a2d5e94368f14a25ccfaf807eacad",
      "tree": "5ac04324d7b522369d8487ba142d6c59c9ed5406",
      "parents": [
        "fbe9d3dfeb0e09c0e4aa3221aace8249c0efe881"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 28 11:47:48 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 28 15:10:01 2014 -0700"
      },
      "message": "Ignore all __weak_alias in OpenBSD libC.\n\nGCC assembler allows xyz to be redeclared as weak,\nby __weak_alias(xyz, _xyz), while _xyz is undefined.\nClang does not like that but silently generates no code.\nIt will reject its own .s file if the assembly code is saved first.\nSince we have no reason to define xyz or _xyz as weak symbol now,\nand _xyz is a macro to xyz, we simplify libC to have only\nxyz defined as global.\n\nBUG: 17186746\nChange-Id: I24b154425838683cae69248cc750c59e26fd5467\n"
    },
    {
      "commit": "f4e721dd519db89c504c8944763811a3df956b32",
      "tree": "c0ca008acffffcdec50e4c1f73236ad96c73e6ec",
      "parents": [
        "af9da4a343d8fe2456e9d861bbd75bba67f2193c",
        "9e4ffa7032eaab308876b8e3da86b05c3c613878"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 27 23:43:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 27 23:43:27 2014 +0000"
      },
      "message": "Merge \"Have pthread_attr_getstack for the main thread report RLIMIT_STACK...\""
    },
    {
      "commit": "fbe9d3dfeb0e09c0e4aa3221aace8249c0efe881",
      "tree": "2c49301e9f6d9b182add14edeb30acab34829837",
      "parents": [
        "4f8268e38f151724722bcb489c32185a93fd86ba",
        "15b914c8f3e825bafd7d2319b2b95ff04b08d735"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 23:07:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 27 23:09:30 2014 +0000"
      },
      "message": "Merge \"Fix strlen function type for mips.\""
    },
    {
      "commit": "15b914c8f3e825bafd7d2319b2b95ff04b08d735",
      "tree": "521fb11da84dfaf84cb2d8cd7f6aed85d95503b4",
      "parents": [
        "9e307af982ea9030849293b5e3307733289e3c2c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 14:13:09 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 16:00:46 2014 -0700"
      },
      "message": "Fix strlen function type for mips.\n\nClang complains about incompatible-library-redeclaration.\n\nBUG: 17302369\nChange-Id: I3ae36f24846408c6464b84b5bddb1747e1e4a971\n"
    },
    {
      "commit": "4f8268e38f151724722bcb489c32185a93fd86ba",
      "tree": "4ad5a3a7d4a619217c6187987304ac96d0be3585",
      "parents": [
        "34da32e7dd00270e98b845f8a810a6f12ffffb9b",
        "857fa6b2a390101a92254b735cc9bc583f78dad5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 22:46:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 27 22:46:07 2014 +0000"
      },
      "message": "Merge \"Replace ambiguous cmp instruction with cmpl.\""
    },
    {
      "commit": "9e4ffa7032eaab308876b8e3da86b05c3c613878",
      "tree": "83e23ad0b0ba82c017cbf292abd7594d2148f316",
      "parents": [
        "34da32e7dd00270e98b845f8a810a6f12ffffb9b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 27 15:32:01 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 27 15:32:01 2014 -0700"
      },
      "message": "Have pthread_attr_getstack for the main thread report RLIMIT_STACK...\n\n...rather than just what\u0027s already mapped in. This seems somewhat\ncontrary to POSIX\u0027s \"All pages within the stack described by stackaddr\nand stacksize shall be both readable and writable by the thread\", but\nit\u0027s what glibc does.\n\nBug: 17111575\nChange-Id: If9e2dfad9a603c0d0615a8123aacda4946e95b2c\n"
    },
    {
      "commit": "857fa6b2a390101a92254b735cc9bc583f78dad5",
      "tree": "7f13002b78090be3a3f1263662255c67e4e97271",
      "parents": [
        "9e307af982ea9030849293b5e3307733289e3c2c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 15:04:23 2014 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 27 15:04:23 2014 -0700"
      },
      "message": "Replace ambiguous cmp instruction with cmpl.\n\nClang assembler rejects ambiguous cmp instruction.\n\nBUG: 17302482\nChange-Id: I74f49de87464541f9fe6fa288e4093a9fbf37120\n"
    },
    {
      "commit": "b78e60e7b7de02fed474f170c5c7a8f78f5a0e5c",
      "tree": "fa011d1a2df98f7f785e35d177a05b2e285c46b1",
      "parents": [
        "cb322a116804a690fdde6096d7efef4819151ad9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 26 15:47:42 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 27 13:13:21 2014 -0700"
      },
      "message": "Use the default unwind code.\n\nThis speeds up the debug malloc code by using the original unwinding code.\nThe only catch is that it has to link in the libc++ arm unwind code or\nthere will be crashes when attempting to unwind through libc++ compiled\ncode.\n\nBug: 16874447\n\n(cherry picked from commit 3f7635f4906c53fa744731efc35235456b7d93bf)\n\nChange-Id: If8a3821cdd95ed481bb496bf2daab449d13790f8\n"
    },
    {
      "commit": "cc7e5f489f02ceee46e315af4f78559d3ad6c962",
      "tree": "12570a31f29ae6c565b1f993d54a95e5a00105b0",
      "parents": [
        "6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 17:00:37 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 17:00:37 2014 -0700"
      },
      "message": "Switch to OpenBSD \u003cerr.h\u003e implementation.\n\nChange-Id: Ia950d88871a30f68e74f9ac7dbd87788e128e02f\n"
    },
    {
      "commit": "6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33",
      "tree": "378bb5962026c39359cc56275fce8c5d8a586406",
      "parents": [
        "07401c7136af113304a22f4a8245ef3fc1b6929b",
        "3e4a0099a179d7acee63d78c8fc4c3cc7b0bae42"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 23:34:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 23:34:49 2014 +0000"
      },
      "message": "Merge \"Undefine _Atomic before redefining\""
    },
    {
      "commit": "07401c7136af113304a22f4a8245ef3fc1b6929b",
      "tree": "dc59b1ec1a342d98bb53b88c6019f0924cc1d2b8",
      "parents": [
        "f1e64b5c171a374f36cd970df0c84558d4209e1c",
        "e5055179fd92ae243741d778426e1da03539165f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 23:33:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 23:33:43 2014 +0000"
      },
      "message": "Merge \"Switch to OpenBSD daemon(3).\""
    },
    {
      "commit": "e5055179fd92ae243741d778426e1da03539165f",
      "tree": "94559041a074a70fa311673de48be96884fa60d4",
      "parents": [
        "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:25:19 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:25:19 2014 -0700"
      },
      "message": "Switch to OpenBSD daemon(3).\n\nChange-Id: I1fd0be09fdb24aa6f1d945410eba5987f8a949b4\n"
    },
    {
      "commit": "f73183f1a34df22b62a3d0bbf82e18d5797c9cde",
      "tree": "1bc3c9a47180aaeb2f734e835034a3f6b9ac9d00",
      "parents": [
        "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:20:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:20:59 2014 -0700"
      },
      "message": "More cases where libc should use O_CLOEXEC.\n\nChange-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0\n"
    },
    {
      "commit": "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce",
      "tree": "0f965d4d7703ab74f2460ad2cba5dc018612d57a",
      "parents": [
        "59de803af98a284378303489f614be3e53800b3f",
        "0f7d882bb7661f9601f3843b0e393b6155cd9571"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 23:18:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 23:18:04 2014 +0000"
      },
      "message": "Merge \"Switch to OpenBSD res_random.\""
    },
    {
      "commit": "3e4a0099a179d7acee63d78c8fc4c3cc7b0bae42",
      "tree": "e2aed336e7f9a1d033835cf6d8bcf4f2d8d23115",
      "parents": [
        "d2bd3c4717ed223bca1c68a87f243f4bcf492a4b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "message": "Undefine _Atomic before redefining\n\nStdatomic.h was potentially redefining _Atomic, in spite of a\nprior definition by \u003catomic\u003e.  This could cause g++ builds that\nincluded \u003cstdatomic.h\u003e with an available \u003catomic\u003e header to break.\n\nChange-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8\n"
    },
    {
      "commit": "c674edbf27450bbb2396b1434421b1db5325d8f4",
      "tree": "31855742fc4370e2573f29a706a8223aa4d46edf",
      "parents": [
        "c764fb24ccb47e05d8e140cde5b4111225790ef1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 15:56:54 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 15:56:54 2014 -0700"
      },
      "message": "libc should use O_CLOEXEC when opening files for its own use.\n\nChange-Id: I159f1d57e0ca090d837f57854fcef5879b8b8248\n"
    },
    {
      "commit": "c764fb24ccb47e05d8e140cde5b4111225790ef1",
      "tree": "442368a25fa03844ccd866761b8b0b28aeedaab9",
      "parents": [
        "9e307af982ea9030849293b5e3307733289e3c2c",
        "57b7a6110e7e8b446fc23cce4765ff625ee0a105"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 19:53:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 19:53:40 2014 +0000"
      },
      "message": "Merge \"Fix pthread_getattr_np for the main thread.\""
    },
    {
      "commit": "57b7a6110e7e8b446fc23cce4765ff625ee0a105",
      "tree": "e2578675ae1435988a645a32182ced476f802ec5",
      "parents": [
        "a4a8c4feb8cf3cebf8aceace70e699e128095b5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 25 17:26:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 10:36:38 2014 -0700"
      },
      "message": "Fix pthread_getattr_np for the main thread.\n\nOn most architectures the kernel subtracts a random offset to the stack\npointer in create_elf_tables by calling arch_align_stack before writing\nthe auxval table and so on. On all but x86 this doesn\u0027t cause a problem\nbecause the random offset is less than a page, but on x86 it\u0027s up to two\npages. This means that our old technique of rounding the stack pointer\ndoesn\u0027t work. (Our old implementation of that technique was wrong too.)\n\nIt\u0027s also incorrect to assume that the main thread\u0027s stack base and size\nare constant. Likewise to assume that the main thread has a guard page.\nThe main thread is not like other threads.\n\nThis patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)\nwhenever we\u0027re asked.\n\nBug: 17111575\nSigned-off-by: Fengwei Yin \u003cfengwei.yin@intel.com\u003e\nChange-Id: I1d4dbffe7bc7bda1d353c3a295dbf68d29f63158\n"
    },
    {
      "commit": "ae558d6b4bcee740f7e61434982eb5f2c999fb97",
      "tree": "443b26ce7513f9ee430e4f639c5436fd11dbc9a5",
      "parents": [
        "a4a8c4feb8cf3cebf8aceace70e699e128095b5c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 25 12:08:19 2014 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 25 21:16:14 2014 +0000"
      },
      "message": "Add standard throw() spec to delete operators.\n\nWithout these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions.\n\nBUG: 17136236\nChange-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1"
    },
    {
      "commit": "a4a8c4feb8cf3cebf8aceace70e699e128095b5c",
      "tree": "bec4a8965bc55e4a03634fb262497e32a5f27a80",
      "parents": [
        "9d34f6a90973bea086b4244df6eff74ab2211814",
        "00aaea364501b3b0abe58dae461136159df1e356"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 22 22:52:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 22:52:31 2014 +0000"
      },
      "message": "Merge \"Fix, generalize stdatomic.h; improve test.\""
    },
    {
      "commit": "00aaea364501b3b0abe58dae461136159df1e356",
      "tree": "f65d7225c30fb5beb7100a3a70b89d025d223294",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 16:14:01 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 22 15:50:17 2014 -0700"
      },
      "message": "Fix, generalize stdatomic.h; improve test.\n\nWe seem to use this stdatomic.h sometimes, and slightly different prebuilts\nat other times, making them all difficult to test, and making it unclear\nwhich one we\u0027re testing.  This generalizes the bionic header so that it\ncan be used directly as the prebuilt header as well.  So long as they\ndon\u0027t diverge again, that should somewhat improve test coverage.\n\nUse the correct builtin for atomic_is_lock_free.\n\nFix atomic_flag_init.\n\nTurn on atomic tests even with __GLIBC__, since they now appear to pass.\n\nInclude uchar.h in stdatomic.h where needed.\n\nAdd a basic memory ordering test.\n\nFix bit-rotted comments in bionic tests makefile.\n\nChange-Id: If6a14c1075b379395ba5d93357d56025c0ffab68\n"
    },
    {
      "commit": "ef619cc083fc3aa4f58dd101b25cc97ad1d37570",
      "tree": "1045b243cb72130387802717a299630160d3898e",
      "parents": [
        "4756afe3d5017b50c89761c47f0da17a6799c81e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 11:05:48 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 11:05:48 2014 -0700"
      },
      "message": "Fix dlmalloc build.\n\nChange-Id: Ied542c40867ab443cdd2076bd2e535b00c4854e4\n"
    },
    {
      "commit": "4756afe3d5017b50c89761c47f0da17a6799c81e",
      "tree": "4835f493baf09cb4aada39c0b7b22fcdc77cc284",
      "parents": [
        "538db6d2e63b203622c49344488099eaa5062850",
        "4caa1f09770ea3e5ca22afbe8aa0900810a0dbfe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 17:39:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 17:39:18 2014 +0000"
      },
      "message": "Merge \"Implement malloc_info(3).\""
    },
    {
      "commit": "4caa1f09770ea3e5ca22afbe8aa0900810a0dbfe",
      "tree": "2bda183c2c930871e73486ea3e9c54e80e500f95",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 20 09:16:57 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 10:23:12 2014 -0700"
      },
      "message": "Implement malloc_info(3).\n\nExpose jemalloc stats through the malloc_info(3) interface.\n\nBug: 16874689\nChange-Id: I4358ac283002e60ff161107028d1a3fb1e9afb0a\n"
    },
    {
      "commit": "2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3",
      "tree": "cf0981b83d926b8dbb893c0f2d7553c6c4355112",
      "parents": [
        "2bd88d450ead2ad8b44a76126c720cf4a9772002",
        "47793d6a29f63869e7dbc583576cb8bf351cd504"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 21:51:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 21 21:51:42 2014 +0000"
      },
      "message": "Merge \"Remove _flush_cache(2) for mips64.\""
    },
    {
      "commit": "9598b8c415e2fa9f240508185fe8c964b83f538d",
      "tree": "f44be8df337dcb693baaf6aaa52de1ccd952bdcf",
      "parents": [
        "3157211849f808f89a7f1465fd60d6b41917ee4f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 21 13:54:03 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 21 14:24:13 2014 -0700"
      },
      "message": "Run constructors before resolving ifunc functions\n\nBug: 17177284\nChange-Id: I5714b9bc2d1ca8f8711806bfb68da3d524213e99\n"
    },
    {
      "commit": "47793d6a29f63869e7dbc583576cb8bf351cd504",
      "tree": "a1f8915fd1b5c885263a01159cb7160bf93920ad",
      "parents": [
        "3157211849f808f89a7f1465fd60d6b41917ee4f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 12:13:24 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 13:32:37 2014 -0700"
      },
      "message": "Remove _flush_cache(2) for mips64.\n\nAlso remove declaration.\n\nThe only user is compiler-rt, and they can replace that call with one to\nsyscall(2). compiler-rt doesn\u0027t currently build on mips64 anyway.\n\nBug: 11156955\nChange-Id: Ieae0ba49c8e7aa50253401fc1d7c2d17bc867d39\n"
    },
    {
      "commit": "2320b02c7d91a7ee34e63bcfae81f9e230814aa3",
      "tree": "c6fc4008b4553c763d95b4823a0bbb2217befdbf",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "message": "__gnu_basename(3) is accounted for.\n\nChange-Id: I3836b14a797c4a8d121c6d29d95791ac768257da\n"
    },
    {
      "commit": "6b841db2baa24ffcf2a4e5f975d1d07f1699b918",
      "tree": "af58fa1f4b5fa777f47e9ef797c50cff964b7046",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 16:10:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 17:03:46 2014 -0700"
      },
      "message": "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.\n\nBug: 17164505\nChange-Id: I59e28a08ff8b6ab632230b11a5807cfd5278aeb5\n"
    },
    {
      "commit": "0e7f8a9e52bac84c69aa2260d2a6356584ff3674",
      "tree": "90bd00cd1ce68652f544cec32d3db9cfa276572d",
      "parents": [
        "7134fc30892bff763e7c24ac722151e0777b5409"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 13:11:58 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 13:11:58 2014 -0700"
      },
      "message": "Simplify _ALIGN_TEXT.\n\nBug: 16872067\nChange-Id: I2b622f252c21ce1b344c040f828ab3f4bf9b6c0a\n"
    },
    {
      "commit": "c4a1de1ae23982583ec0bbbcb2f9da629b080514",
      "tree": "1ba6ca1324cedd28e7292e1cec8c75f198550016",
      "parents": [
        "3bcd414b78e515482139c7dc3dad8cad3357b374"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 12:11:31 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 12:11:31 2014 -0700"
      },
      "message": "Regenerate \"services.h\" from /etc/services.\n\nChange-Id: Iec118f9a342b5c1f6ce6d48965798b12a7159ad3\n"
    },
    {
      "commit": "dc1fb7000adb77c647f70428fd6ce224e3938220",
      "tree": "b1fb3ac1fd01134601776f82b5d13a2651ed66ec",
      "parents": [
        "55244a9bdbc661212999655644c374352ae92040"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "message": "Clean up some of our python scripts.\n\nChange-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d\n"
    },
    {
      "commit": "2b021e10664c3938249eb18b48eeac253cbb3e20",
      "tree": "31772908fbc1209095bbe668887809eff2fd60fd",
      "parents": [
        "b61c50647b85b3c33af8ca155e88ec098d9e8cb0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 17:00:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 10:23:52 2014 -0700"
      },
      "message": "Add \u003cstdio_ext.h\u003e for elfutils.\n\nBug: 17139679\nChange-Id: I1605ac382dbb6f23b2d874dbb9769f3cde4a6a99\n"
    },
    {
      "commit": "b61c50647b85b3c33af8ca155e88ec098d9e8cb0",
      "tree": "d6df9b7df0e626b49604a59f4b8c3772976bbff7",
      "parents": [
        "b9d674c8ada9c1e9c22b41bc7c89e35f11f4eb1e",
        "1e8587a479fd8b1ce9b594298a93f517816e8f15"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 22:34:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 22:32:42 2014 +0000"
      },
      "message": "Merge \"Work around atomic_load(const T*) issues.\""
    },
    {
      "commit": "1e8587a479fd8b1ce9b594298a93f517816e8f15",
      "tree": "4333a0ac6fbfcd2a9ae3e11090485cc45c955625",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 14:07:55 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 14:50:54 2014 -0700"
      },
      "message": "Work around atomic_load(const T*) issues.\n\nBug:17067219\nChange-Id: I78e753bcf03464f5f05c3f37e394f2727d282589\n"
    },
    {
      "commit": "35d226e05d92824c6eb992e7a64ea22efc8bae03",
      "tree": "32a4a9fb33b86fdd69ed2db974e9c8bf2cc747af",
      "parents": [
        "6f4220c49e90b18a50d36e47cc9287c7593af939"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "message": "Add in_port_t and move it and in_addr_t to the correct header file.\n\nNo one\u0027s reported this, but I saw it in an Android port of fuser(1).\n\nWe still have lots of problems in our network headers because we\nget most of the structs direct from the kernel, and it doesn\u0027t use\ntypes like this (which is why we\u0027ve got away without this one for\nso long). One day we should probably look at cleaning that up, but\ndoing so can wait.\n\nChange-Id: If15edf0cfc32716fa312d7ed97c48321b760d979\n"
    },
    {
      "commit": "09c39d6df0e952620f8c1751377b559a04e023aa",
      "tree": "1ca25e04d3ed7ebea1dde6f4d3baaeee9526c0e5",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "message": "Implement the GNU basename(3) in addition to the POSIX one.\n\nCode like perf(1) needs this.\n\nBug: 11860789\nChange-Id: I907eb448052a7b165e4012d74303330d32328cb2\n"
    },
    {
      "commit": "6f4220c49e90b18a50d36e47cc9287c7593af939",
      "tree": "34497153d977d4eb32bf3be37ce29acbb4121a08",
      "parents": [
        "2222eae61e723d946029899edaf7afcbaa160bb7",
        "f4c948a9e9b616c4f133f9495dacb105e51b3e49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 18:55:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Move the meat of \u003cfeatures.h\u003e into \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "f4c948a9e9b616c4f133f9495dacb105e51b3e49",
      "tree": "47e300fdbb36f28ab843468ad484a8d8a74a06e9",
      "parents": [
        "17f83c93cbbde3e38a03182931f40b7390061a7d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 11:16:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 11:18:20 2014 -0700"
      },
      "message": "Move the meat of \u003cfeatures.h\u003e into \u003csys/cdefs.h\u003e.\n\nThis way it\u0027s a lot harder for us to screw up (since we should always\nbe including \u003csys/cdefs.h\u003e anyway).\n\nBug: 14659579\nChange-Id: I23070fff3296b0d1c683bb5e3a6e214146327d53\n"
    },
    {
      "commit": "17f83c93cbbde3e38a03182931f40b7390061a7d",
      "tree": "d6f53e81e8a9aa8cda5ffb51e5ff3c6a29688523",
      "parents": [
        "934c8015d515f96c1f97255b48357da922cf626a",
        "f800969d351a72b79da2944a4a971ea10bee3cc2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 17:39:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Remove unused defines from \u003cfeatures.h\u003e.\""
    },
    {
      "commit": "f800969d351a72b79da2944a4a971ea10bee3cc2",
      "tree": "76508f136b8e2cf2da23c06e790ae9fe28f4b911",
      "parents": [
        "e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 10:07:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 10:07:00 2014 -0700"
      },
      "message": "Remove unused defines from \u003cfeatures.h\u003e.\n\nBug: 14659579\nChange-Id: I2ab02b13cafe3faad31248b843d39ab2cdbfeb91\n"
    },
    {
      "commit": "b81046202842427a7e894a6bcb357971332997b0",
      "tree": "2d42ca4acacd3a57837e93f81824edfc72665a49",
      "parents": [
        "0baf2ca34c7d9ec067b1f33bad69782c2dedc231"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 09:18:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 09:18:03 2014 -0700"
      },
      "message": "Fix _BSD_SOURCE/__USE_BSD.\n\nBug: 14659579\nChange-Id: I80ec9584f054c02d1078828f6bca759c42bc1d4c\n"
    },
    {
      "commit": "3a25ab952befbe908f6df45805683ebe3bf65863",
      "tree": "1d80288dbaf200e247e7b8367451ac473f99a128",
      "parents": [
        "17f83c93cbbde3e38a03182931f40b7390061a7d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 11:06:33 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 11:08:02 2014 -0700"
      },
      "message": "Missing #include \u003csys/cdefs.h\u003e.\n\nNeeded for __BEGIN_DECLS/__END_DECLS. Currently fine because it\u0027s being\nincluded after other files that do this.\n\nChange-Id: I1f12368fc461f6ef5ca90992cf19f317f0b5d7af\n"
    },
    {
      "commit": "934c8015d515f96c1f97255b48357da922cf626a",
      "tree": "b20a661222661755661de84e6e86046ec5192a2e",
      "parents": [
        "e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266",
        "ce6b1abbb1da797e716d8ec03da4e3b6304fd11d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 17:18:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:20:19 2014 +0000"
      },
      "message": "Merge \"Expose android_set_abort_message().\""
    },
    {
      "commit": "ce6b1abbb1da797e716d8ec03da4e3b6304fd11d",
      "tree": "75acb30cfbe62bf3141fd01f7a37cc53c1d82dea",
      "parents": [
        "54d24e099c24d0811ae723640d4e12e9558cab73"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 14:37:42 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 14:37:42 2014 -0700"
      },
      "message": "Expose android_set_abort_message().\n\nRemoves the leading underscores from __android_set_abort_message() and\nmoves its declaration into a public header file.\n\nBug: 17059126\nChange-Id: I470c79db47ec783ea7a54b800f8b78ecbe7479ab\n"
    },
    {
      "commit": "54d24e099c24d0811ae723640d4e12e9558cab73",
      "tree": "63e1bf5b64eccf5836912c10e28625e3aed79184",
      "parents": [
        "3c7c9a8d3fda1057b8a4dea85f357a044dd21563",
        "6d40d34908137c8d45e9bc303b4317b8303961ee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 20:12:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:08:14 2014 +0000"
      },
      "message": "Merge \"Fix leak_realloc, copy entire allocation.\""
    },
    {
      "commit": "6d40d34908137c8d45e9bc303b4317b8303961ee",
      "tree": "f2ece7dfb70602468cfdf2c8280ca267cd751588",
      "parents": [
        "5d9e145c62cc6f6b39409032af529a60cb7bf479"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 15 18:42:58 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 13:10:47 2014 -0700"
      },
      "message": "Fix leak_realloc, copy entire allocation.\n\nBug: 16874447\n\n(cherry picked from commit 5df0839cea98bd8c37d8dba5b94b98e99c681a94)\n\nChange-Id: I9280505c0c1c3b5da24ba590448dcd6e7a230406\n"
    },
    {
      "commit": "5d9e145c62cc6f6b39409032af529a60cb7bf479",
      "tree": "a132b3cc31a6a34d27d488d64d28faa3d4e43e23",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 14 12:48:04 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 13:10:16 2014 -0700"
      },
      "message": "malloc_usable_size returns the original size.\n\nBug: 16874447\n\n(cherry picked from commit 59c1ee44d0a560a754513fab12641c8a57a20d9e)\n\nChange-Id: I70839632974367c8b9893fb1f9c5ee4364608470\n"
    },
    {
      "commit": "3c7c9a8d3fda1057b8a4dea85f357a044dd21563",
      "tree": "cf576d7d78826fb1f376a11d345ddf050eb58930",
      "parents": [
        "db2e0247ed67dfdf6e16eb47348db81dc8ccd04d",
        "5d9e145c62cc6f6b39409032af529a60cb7bf479"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 20:12:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:09:33 2014 +0000"
      },
      "message": "Merge \"malloc_usable_size returns the original size.\""
    },
    {
      "commit": "fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e",
      "tree": "bfbf039f3d95eeb4be2da89a325317e422fcc383",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 15 14:20:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 12:01:01 2014 -0700"
      },
      "message": "Hide C++ stuff in libc. Put it back in libstdc++.\n\nBug: 17062445\nChange-Id: I027b186719654c2865b08c3fa83f90fa00c1e838\n"
    },
    {
      "commit": "5f5cc45cf0e027f6ca503dc229a4890fc7164b66",
      "tree": "36bebf629f486d24d8287e7a735662b0269044a6",
      "parents": [
        "205cc41556d44b104a21bc6839b7ea44f72df9ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 16:04:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 16:04:03 2014 -0700"
      },
      "message": "Fix \u003cfeatures.h\u003e (_BSD_SOURCE and _GNU_SOURCE).\n\n\u003cfeatures.h\u003e is supposed to take user-settable stuff like _GNU_SOURCE\nand _BSD_SOURCE and turn them into __USE_GNU and __USE_BSD for use in\nthe C library headers. Instead, bionic used to unconditionally define\n_BSD_SOURCE and _GNU_SOURCE, and then test _GNU_SOURCE in the header\nfiles (which makes no sense whatsoever).\n\nBug: 14659579\nChange-Id: Ice4cf21a364ea2e559071dc8329e995277d5b987\n"
    },
    {
      "commit": "205cc41556d44b104a21bc6839b7ea44f72df9ba",
      "tree": "5afafb0b1357994e26a2e39086c1936c53b7afe0",
      "parents": [
        "54d24e099c24d0811ae723640d4e12e9558cab73",
        "2cfb4e8e2e217ef0e4140dcbf9b3da809781158c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 22:11:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 18 21:31:43 2014 +0000"
      },
      "message": "Merge \"Improve \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "2cfb4e8e2e217ef0e4140dcbf9b3da809781158c",
      "tree": "19a83c3a73ba3c613de106fd1b6ae8e83f75d3d4",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 14:45:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 14:45:42 2014 -0700"
      },
      "message": "Improve \u003csys/cdefs.h\u003e.\n\nFix and use __RENAME (and lose ___RENAME --- two underscores should be\nenough for anybody). This was the point of this change, because I want\nto use __RENAME to support the two basename variants and the two\nstrerror_r variants.\n\nLose a bunch of macros that weren\u0027t being used.\n\nLose three dead files from the DNS code.\n\nChange-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522\n"
    },
    {
      "commit": "7d05f741e7885ad42f853b5fe2b1d31cdc756b5c",
      "tree": "821b7ef370d55ea435f18d7f5ec420e490edb9f2",
      "parents": [
        "d0cce1436435bfcb477f2c5a670ea6675473c2f8",
        "019d3958118b7dc3ec8444ad2accca50c268b737"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 15 18:19:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 15 05:01:31 2014 +0000"
      },
      "message": "Merge \"Have stdatomic.h punt to C++ atomic when possible\""
    },
    {
      "commit": "019d3958118b7dc3ec8444ad2accca50c268b737",
      "tree": "01809ecacf090063d43eab54039c97c567aaa1bc",
      "parents": [
        "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 15:26:03 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 15 10:38:20 2014 -0700"
      },
      "message": "Have stdatomic.h punt to C++ atomic when possible\n\nThis is an alternate, somewhat simpler, fix that makes it safe to\ninclude both \u003catomic\u003e and \u003cstdatomic.h\u003e from C++ code in either order.\nIt means that C code consistently uses one implementation of atomics\nand C++ another.  We still have to make sure that those two\nimplementations interoperate correctly at runtime; in particular,\nany flavor of atomic object needs to be represented exactly like the\nunderlying type, with the proper alignment constraint.\n\nBug:17007799\nChange-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc\n"
    },
    {
      "commit": "891ec7a6e46e60d7dfa1cf229e14a8e8634e272b",
      "tree": "3496b926a7bb7243f3e2e3e2f6c37fb24276f4d0",
      "parents": [
        "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 15:43:25 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 22:50:45 2014 +0000"
      },
      "message": "Move mtctxres.c to libc_dns.a.\n\nHas the effect of making ___mtctxres hidden.\n\nBug: 17007799\nChange-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d"
    },
    {
      "commit": "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0",
      "tree": "1249c631a5be89488538f3d9d2d0641d1cf5fbe8",
      "parents": [
        "104a472958f86eafafe0c1d9e2c58ba6403f99e7",
        "224ff048efc782bd60047a3ae53eb66941f73125"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 21:19:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:41:13 2014 +0000"
      },
      "message": "Merge \"Change name of MB_CUR_MAX implementation function.\""
    },
    {
      "commit": "224ff048efc782bd60047a3ae53eb66941f73125",
      "tree": "7c148e8f2e8095a98fa9cc24e710edc3ccf5d008",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "message": "Change name of MB_CUR_MAX implementation function.\n\nGlibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down\non differences between bionic and glibc.\n\nBug: 11156955\nChange-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73\n"
    },
    {
      "commit": "104a472958f86eafafe0c1d9e2c58ba6403f99e7",
      "tree": "d2225deaf6822896bbedafd46720ab09761a2e53",
      "parents": [
        "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9",
        "76212eeb53b0ceae9647314ec4806c66bc90783a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 21:18:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:41:13 2014 +0000"
      },
      "message": "Merge \"Add more functionality to glibc symbol checker.\""
    },
    {
      "commit": "76212eeb53b0ceae9647314ec4806c66bc90783a",
      "tree": "44cb655e694a156ddedeab08b93426a41d9b3e8d",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:04:28 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 14:02:34 2014 -0700"
      },
      "message": "Add more functionality to glibc symbol checker.\n\nAlso scan NDK\u0027s unwanted symbols list (to show the things that we\u0027re\nexporting but the NDK isn\u0027t. Symbols hidden in the NDK will be marked\nwith a *.\n\nAdd a -u (--unwanted) flag to disable the first two printed groups\n(all symbols in bionic, all symbols in glibc). This is helpful when\nwanting to grep in the list of unwanted symbols.\n\nFinally, update the list of known differences between us and glibc.\n\nChange-Id: I6fdb4126823098430454763c391bd8cd369a75bb\n"
    },
    {
      "commit": "9a74e4c15c17b9126ad348d865002880fc36bd12",
      "tree": "4e31268254601d2ea6329a515d4d5859678ea1ec",
      "parents": [
        "1f4c536fd53c69ba8122528435251b894e877e2a",
        "b3aaf398e1d6af5362e0f30f11ab7c11890644c2"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 21:07:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 23:11:16 2014 +0000"
      },
      "message": "Merge \"Hide __libc_init_vdso().\""
    },
    {
      "commit": "b3aaf398e1d6af5362e0f30f11ab7c11890644c2",
      "tree": "d71aeb605341e0bc89b43a483c18b5f5e7c2d9c1",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "message": "Hide __libc_init_vdso().\n\nBug: 11156955\nChange-Id: I7ee31e1ee2ce479c5746b374a239637d582815fe\n"
    },
    {
      "commit": "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9",
      "tree": "1b829c7e8544c18787c7f28729132e621b0c170e",
      "parents": [
        "e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2",
        "30214b901e8dbec9ec11230187a8e71fc8a04014"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 01:03:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Add memory ordering constraint, convert to C11 atomics\""
    },
    {
      "commit": "f2c1e7ee78a167ff323b9f45d20532d064d6778d",
      "tree": "05484cac9bd366891a5a1e53197c07b2c27d2e6f",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 11:25:01 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 11:25:01 2014 -0700"
      },
      "message": "Hide ScopedTrace.\n\nBug: 11156955\nChange-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a\n"
    },
    {
      "commit": "edd81faff0b61fc458dc27b9c91f358d3313ce7a",
      "tree": "75a100c4d5939b8b6b77274626e8994c0b92c8e8",
      "parents": [
        "00c16c1b921dfeab42eb92ac53c6d79addc9f549"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:21:26 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:53:14 2014 -0700"
      },
      "message": "Hide __libc_malloc_dispatch.\n\nNow that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without\nbreaking ASAN.\n\nBug: 11156955\nChange-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021\n"
    },
    {
      "commit": "e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2",
      "tree": "d8e38210c5ae8848ae9437f00d31bdefc001a9d7",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12",
        "c5a13efa9bc4264be0a9a9e37c00633af01584ed"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 14 00:29:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Added test for ifunc support in dynamic linker.\""
    },
    {
      "commit": "00c16c1b921dfeab42eb92ac53c6d79addc9f549",
      "tree": "15a3190069140da16e609b3817133ed92c655d89",
      "parents": [
        "4d0f742afe4867a0064d46a5b55df33e07c02c9d",
        "51a22a12ab370933a35463f5c81223132ec64dcb"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 16:36:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 09 00:45:41 2014 +0000"
      },
      "message": "Merge \"Label pages mapped by linker_allocator\""
    },
    {
      "commit": "51a22a12ab370933a35463f5c81223132ec64dcb",
      "tree": "83033d1672090d93a22d349669bbe9159322f4e8",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 08 16:57:15 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 09:22:48 2014 -0700"
      },
      "message": "Label pages mapped by linker_allocator\n\nChange-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff\n"
    },
    {
      "commit": "ca5b6a74a70924e513ae1b1a3f8718eb16ca60f2",
      "tree": "9be12a05b97b30aa6693b3b0433a7e179413676b",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 09 18:45:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 09 22:18:33 2014 -0700"
      },
      "message": "Fix our x86 PIC_PROLOGUE.\n\nThe old definition only worked for functions that didn\u0027t use numbered\nlocal labels. Upstream uses \u0027666\u0027 not only as some kind of BSD in-joke,\nbut also because there\u0027s little likelihood of any function having\nlabels that high.\n\nThere\u0027s a wider question about whether we actually want to go via the\nPLT at all in this code, but that\u0027s a question for another day.\n\n(cherry-pick of 72d7e667c7e926cb120c4edb53cbf74c652ab915.)\n\nBug: 16906712\nChange-Id: I3cd8ecc448b33f942bb6e783931808ef39091489\n"
    },
    {
      "commit": "30214b901e8dbec9ec11230187a8e71fc8a04014",
      "tree": "b81bf8ff795f3191c5f139893ffc29b4d4624092",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 31 15:53:22 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 08 11:34:25 2014 -0700"
      },
      "message": "Add memory ordering constraint, convert to C11 atomics\n\nAdd an ordering constraint/fence to __system_property_serial.\nThis slows down a read on a Nexus 5 from about 50 to about 70 ns,\nbut avoids the possibility of seeing an inconsistent property value.\nUse C11 atomic operations where easy and appropriate.\nThis code remains not fully C++11 memory model conformant, but\nI would now expect the generated code to now be correct with current compilers.\n\nBug:14970171\nChange-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83\n"
    },
    {
      "commit": "c5a13efa9bc4264be0a9a9e37c00633af01584ed",
      "tree": "4a1678bd154220d7e8d13e6739037fb48635006a",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Wed Jul 23 11:22:25 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Fri Aug 08 11:29:35 2014 -0700"
      },
      "message": "Added test for ifunc support in dynamic linker.\n\nifuncs now work in i386 and x86_64 when called in the same library as\nwell as in a different library.\n\nBug:6657325\nChange-Id: Ic0c48b1b0a76cb90f36c20c79f68294cc3fd44a1\n"
    },
    {
      "commit": "bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7",
      "tree": "17328616c29a98aa2eb16b6cb3a7b7b1c93c0322",
      "parents": [
        "3788a1ee8eae4180117010bb9302334acfe1d218"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:19:20 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:35:47 2014 -0700"
      },
      "message": "Make __set_errno hidden in asm.\n\nThis fixes the build after the -Bsymbolic change.\n\nBug: 16853291\nChange-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2\n"
    },
    {
      "commit": "3726f9c38b4b27b492e378e20c52be859225e5f3",
      "tree": "23112c6c1380ee88e4762b749a1a883acc530cf1",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:15:29 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 22:26:47 2014 +0000"
      },
      "message": "Revert \"Fix incorrect relocations for x86.\"\n\nBug: 16853291\nThis reverts commit 512bc5232689bec9c763c8247b59de970096ff87."
    },
    {
      "commit": "88a1f520d2d54d362dc2f29a0fad2cf0029c8918",
      "tree": "d2d8f1a51b39a7883247dbf36544621101decf3b",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 16:21:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 09:40:17 2014 -0700"
      },
      "message": "Add a way to disable backtracing in malloc debug.\n\nThe property libc.debug.malloc.nobacktrace set to non-zero disables\ngetting backtracing when using mode 1 or mode 10.\n\nBug: 16874447\n\n(cherry picked from 49de01a5be7bfb07baaea7415647d838383e1b59)\n\nChange-Id: I6bbefe5420b14991fe84c2f849222dcd7cb592bf\n"
    },
    {
      "commit": "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a",
      "tree": "9c8b6a30adf29d39edf9127556c95128a3ebaf2f",
      "parents": [
        "92f0c91b82c60788b14062ca032ccc732f0fba4c",
        "651a0683ca7ba911beb776975ec893de326d62d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 08 16:16:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 06 23:49:29 2014 +0000"
      },
      "message": "Merge \"Remove misleading arm/arm64 PIC_SYM.\""
    },
    {
      "commit": "651a0683ca7ba911beb776975ec893de326d62d2",
      "tree": "78d45b0ecaa8e2b0cfe8ac74a2c4816c5a08c7aa",
      "parents": [
        "d994622ebf2c4b7e918d9e1f1840f9df88ee7222"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 11:52:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 11:52:38 2014 -0700"
      },
      "message": "Remove misleading arm/arm64 PIC_SYM.\n\nBug: 16823325\nChange-Id: Ic8ff3a628bb4cd71361e3a1c2cfde4b3d39c50b1\n"
    },
    {
      "commit": "92f0c91b82c60788b14062ca032ccc732f0fba4c",
      "tree": "3f58b9e1093d6dd1fbcae3cfe4e280a9c63f96d6",
      "parents": [
        "cdd2f072af5c22750e06d1613b72336ecda7e71f",
        "01bd32e0e46ab8d9b6aeda77a550ec08074728a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 07:07:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 15:46:11 2014 +0000"
      },
      "message": "Merge \"Create a distinct temp directory for each run.\""
    },
    {
      "commit": "01bd32e0e46ab8d9b6aeda77a550ec08074728a6",
      "tree": "370657df52d5e3d6fb98d291bf31e754162f95b9",
      "parents": [
        "447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 05 12:19:27 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 19:33:22 2014 -0700"
      },
      "message": "Create a distinct temp directory for each run.\n\nModify make__NR_name so that only __ARM_NR_ is exempted from the\n__NR_ being prepended. This avoids a case where using a name starting\nwith __ but is not a valid syscall name in SYSCALLS.TXT does not generate\ncode that will compile but references the function itself and causes\nlink errors.\n\nFix all of the directory references from dir_part1 + dir_part2 to\nuse os.path.join() instead.\n\nChange-Id: Ib9527eba6f25f26a30c5cb0ad431f3f88a7683cf\n"
    },
    {
      "commit": "d994622ebf2c4b7e918d9e1f1840f9df88ee7222",
      "tree": "aa3aceda5dd6a59ac00a3372c8acc1866e563922",
      "parents": [
        "85ebcfceb62f011e0db359affefcf5570f518bd5",
        "6b6364a7fc7c3ba37ee907776a29bdc8c9793db9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 18:25:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 14:59:23 2014 +0000"
      },
      "message": "Merge \"Android is all-PIC/PIE.\""
    }
  ],
  "next": "6b6364a7fc7c3ba37ee907776a29bdc8c9793db9"
}
