)]}'
{
  "log": [
    {
      "commit": "fa5faa0ce6deba5ad9c96fe5cf74e63e4a6edfb3",
      "tree": "546a5eff515f97537cae2cbec5d99c68ee85844b",
      "parents": [
        "ee4997ecc3daeb9af110d932ddb27f969cc7271a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 16:50:46 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 24 21:08:26 2015 -0700"
      },
      "message": "Make gensyscalls.py use the ALIAS_SYMBOL macro.\n\nChange-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952\n"
    },
    {
      "commit": "93d44ff2a6e0febe18d42d5690e85023545318b4",
      "tree": "0145c42a21091f0a160129bd2978e9a7baefe543",
      "parents": [
        "32b039e46eee4d40b9979eab873a957e86fbf969",
        "673b15e4ee2c6d99b150aedddc0f389e29f98e1b"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 24 02:39:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 02:39:51 2015 +0000"
      },
      "message": "Merge \"Let g_thread_list_lock only protect g_thread_list.\""
    },
    {
      "commit": "673b15e4ee2c6d99b150aedddc0f389e29f98e1b",
      "tree": "edc101b54c689960bdf1262e6378b21082d3e277",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 14:19:19 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 23 19:03:49 2015 -0700"
      },
      "message": "Let g_thread_list_lock only protect g_thread_list.\n\nAs glibc/netbsd don\u0027t protect access to thread struct members by a global\nlock, we don\u0027t want to do it either. This change reduces the\nresponsibility of g_thread_list_lock to only protect g_thread_list.\n\nBug: 19636317\nChange-Id: I897890710653dac165d8fa4452c7ecf74abdbf2b\n"
    },
    {
      "commit": "32b039e46eee4d40b9979eab873a957e86fbf969",
      "tree": "b002a3de35b1451f77e2f1f605a85e032c56acee",
      "parents": [
        "f8246ac65f1985e23023df12112a6ce47057a4dd",
        "84c10c2e7928cf2128f2495b9d5ed916088b2f2b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 24 00:48:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 00:48:58 2015 +0000"
      },
      "message": "Merge \"RTLD_LAZY is not supported, use RTLD_NOW instead.\""
    },
    {
      "commit": "f8246ac65f1985e23023df12112a6ce47057a4dd",
      "tree": "7228c1c264947bd6915fc8bf7916f28b7bbd6cc0",
      "parents": [
        "27b38599dc4b0b4941906d8da30022f516abf143",
        "b58457221364eaad039c2c49a42626b725e980d5"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 23 23:18:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 23 23:18:27 2015 +0000"
      },
      "message": "Merge \"Add test for pthread types alignment check.\""
    },
    {
      "commit": "84c10c2e7928cf2128f2495b9d5ed916088b2f2b",
      "tree": "398e5dd3c5fd5ab801975b3899f51c7c896ef808",
      "parents": [
        "27b38599dc4b0b4941906d8da30022f516abf143"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 14:58:45 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 23 14:58:45 2015 -0700"
      },
      "message": "RTLD_LAZY is not supported, use RTLD_NOW instead.\n\nChange-Id: Ia08ed6416aef686435224b50b3e58955d09f04e2\n"
    },
    {
      "commit": "b58457221364eaad039c2c49a42626b725e980d5",
      "tree": "a7a8d9b3de7c34bda99153ebae330b6d180b112e",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 22:46:42 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 17:42:09 2015 -0700"
      },
      "message": "Add test for pthread types alignment check.\n\nBug: 19249079\nChange-Id: I83c4f0d11ec5d82a346ae0057d02a92bb1d519e8\n"
    },
    {
      "commit": "a2db50d5d7fa67b297eddd1c0549f08ea4b6a950",
      "tree": "e3b0bb4b01b2b7caf8f5f0ad5be05517592915fb",
      "parents": [
        "4149dc944bbe3c5f1c14fc998106975e68bdd6bf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 10:58:04 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 20 14:41:52 2015 -0700"
      },
      "message": "Fix alignment error for pthread_internal_t/pthread stack.\n\naligned attribute can only control compiler\u0027s behavior, but we\nare manually allocating pthread_internal_t. So we need to make\nsure of alignment manually.\n\nChange-Id: Iea4c46eadf10dfd15dc955c5f41cf6063cfd8536\n"
    },
    {
      "commit": "bbb0432a33787f1a627abb396fe343a7943ac7bc",
      "tree": "356c2b33690b7c1e43c4d5a4ba46d0553b1e06f6",
      "parents": [
        "7875b506edfb1fe593034eaf4bc9aa156179fbd2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 15:19:25 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 16:48:19 2015 -0700"
      },
      "message": "Return EINVAL when calling pthread_detach for joined thread.\n\nChange-Id: I717015132187e087e0ad485284a13c8801e25e77\n"
    },
    {
      "commit": "aec2bb5ec67637ec4b5374287e9bc0d572632054",
      "tree": "81a349d5c4f2a4962201fa9aea395014bdc89867",
      "parents": [
        "2e49508187254903943b83df7bb241d5fb6a8593"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 16:28:19 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 23:35:23 2015 +0000"
      },
      "message": "Fix two errors in pthread_detach.cpp.\n\nThe errors are introduced in \"Make pthread join_state not protected by g_thread_list_lock\".\n\nBug: 19636317\nChange-Id: I58ae9711da94bfbac809abfd81311eeb70301a4b\n"
    },
    {
      "commit": "6943f2968cb6054f8874e30b309985b41a37e2e0",
      "tree": "4f25c966dd69e3ed68c923cb4bd2310c9054882c",
      "parents": [
        "6420fb467f52f7c27c921b1bf53dc95ad5851077",
        "2f836d4989845c0c82a1e4f99206fb0ff0d137a2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 19 02:50:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 19 02:50:20 2015 +0000"
      },
      "message": "Merge \"Make __get_thread inlined.\""
    },
    {
      "commit": "2f836d4989845c0c82a1e4f99206fb0ff0d137a2",
      "tree": "7190db5cf1a8d85e40aa664b7ac50aa120ace278",
      "parents": [
        "c0eaa732844a8397d40a7ec82641f709e4b47a61"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 18 14:14:02 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 18 19:35:34 2015 -0700"
      },
      "message": "Make __get_thread inlined.\n\nBug: 19825434\n\nChange-Id: Ifb672a45a5776b83625a25654ed0d6f7fc368ae3\n"
    },
    {
      "commit": "fa495d51b02e1575088ed358614d3baa442f455f",
      "tree": "7d44227f43953a5b99d2fc582f917987a5980f56",
      "parents": [
        "ab12dc70f3ef551c490dcfede76033e57ceee64d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 18 15:46:48 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 18 15:46:48 2015 -0700"
      },
      "message": "Hide statfs/fstatfs\u0027 ST_VALID flag from userspace.\n\nSpotted while debugging the strace 4.10 upgrade.\n\nChange-Id: I1af1be9c9440151f55f74a835e1df71529b0e4fe\n"
    },
    {
      "commit": "ab12dc70f3ef551c490dcfede76033e57ceee64d",
      "tree": "e242d477f879a04bed1066f1595763eb6fde899b",
      "parents": [
        "b380b7d78cf4dbd034f51fcf7fc8ebdb037330c3",
        "110196244732911d4971ef7f9e30cc2407d8034b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 18 01:15:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 01:15:04 2015 +0000"
      },
      "message": "Merge \"Fix _PATH_DEFPATH to correspond to the actual default path.\""
    },
    {
      "commit": "110196244732911d4971ef7f9e30cc2407d8034b",
      "tree": "36f3963097eef27d25d924ea918f51c4469a4cc8",
      "parents": [
        "5f8ddf69e59b13653d016e236599b95daf6501a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 17 17:34:14 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 17 17:34:14 2015 -0700"
      },
      "message": "Fix _PATH_DEFPATH to correspond to the actual default path.\n\nThis is currently set in init.rc, but I plan on making init\nset PATH to _PATH_DEFPATH and removing the line from init.rc...\n\nBug: 19564110\nChange-Id: Ifa7226a3a5a90d141a788d7d6b1ae86245674218\n"
    },
    {
      "commit": "ee7649c5ac5f1e56cc8193cd4cee73004c04893d",
      "tree": "a7267fa3a7635c394f47fd409ad11058a6f4df3b",
      "parents": [
        "d917b20b613fd51e5f1056c8648fe8769ae8161e"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sun Mar 15 21:39:25 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Tue Mar 17 19:50:55 2015 -0400"
      },
      "message": "set errno to ENOENT in getauxval per glibc 2.19\n\nBionic\u0027s getauxval(...) implementation returns zero when entries are\nmissing. Zero can be a valid value, so there is no unambiguous way of\ndetecting an error. Since glibc 2.19, errno is set to ENOENT when an\nentry is missing to make it possible to detect this. Bionic should match\nthis behavior as code in the Linux ecosystem will start relying on it to\ncheck for the presence of newly added entries.\n\nChange-Id: Ic1efe29bc45fc87489274c96c4d2193f3a7b8854\nSigned-off-by: Daniel Micay \u003cdanielmicay@gmail.com\u003e\n"
    },
    {
      "commit": "ecbfb25c504b7360d250c849ab47890ad54b6125",
      "tree": "916d3348f1b9ef4192f754f71ce422994370d44a",
      "parents": [
        "94babaee1b6598b15bd807461055d4dcaaa52f10"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 17 11:34:57 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 17 11:37:51 2015 -0700"
      },
      "message": "Fix build: pthread_mutex/pthread_detach.\n\nChange-Id: I9c7b6297d3bf3ab8004d05d44cc4c95159315c9e\n"
    },
    {
      "commit": "94babaee1b6598b15bd807461055d4dcaaa52f10",
      "tree": "0efa7df548f74df352be643bc640202606ce0347",
      "parents": [
        "5490bebd7cdd4406780358f590391b75ab8a7d84",
        "58cf31b50699ed9f523de38c8e943f3bbd1ced9e"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 17 18:12:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 17 18:12:59 2015 +0000"
      },
      "message": "Merge \"Make pthread join_state not protected by g_thread_list_lock.\""
    },
    {
      "commit": "5490bebd7cdd4406780358f590391b75ab8a7d84",
      "tree": "845211310385c3998a280b73553ef7b852a725b6",
      "parents": [
        "5f8ddf69e59b13653d016e236599b95daf6501a8",
        "5b8e7cd957f9380e93c3aee84962d157fe0bc526"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 17 18:12:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 17 18:12:32 2015 +0000"
      },
      "message": "Merge \"Remove duplication in pthread_mutex.cpp.\""
    },
    {
      "commit": "b5cd3c7a7503d8155ea17424c00f7e77603252c0",
      "tree": "2e956c25c0f32ac89a3d4e360e8a96c2d917ee0d",
      "parents": [
        "f14fe856b40afc38540988b408edc508298ec116"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 16 17:06:59 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 16 17:06:59 2015 -0700"
      },
      "message": "Fix build: align pthread_cond_t to sizeof(long)\n\nChange-Id: Ieaee6d09089b161ec516ba22cafaee1ecb4342da\n"
    },
    {
      "commit": "eb8b122d67db501729ecde4fcb960336c87af4ce",
      "tree": "59b9b529198343d1135994ec25bbc749243ab2bd",
      "parents": [
        "0f3fcd12ddde0e10fbeab0a98cf0efb9d64bea76"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 16 16:21:08 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 16 16:28:54 2015 -0700"
      },
      "message": "Add alignment to opaque types.\n\nIf there is no alignment forced, then the compiler might put these\nstructures at any alignment.\n\nChange-Id: I6416db72433504e0ec1178bfae6f5b18b6e363fb\n"
    },
    {
      "commit": "9e6c7bc61838476d749d9bc4801777d35fd46a63",
      "tree": "7966332d21664afbab95e8051d960f1ad95a5579",
      "parents": [
        "169a84f980d7a55c5f829cdd53a3eaba8f968442"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 14:26:53 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 14:26:53 2015 -0700"
      },
      "message": "Fix atomic_load on const variable in pthread_cond_t.\n\nChange-Id: I60f55a53294a09332a3fbec669ed793359d1bdf5\n"
    },
    {
      "commit": "d3e2a207ffcaefedf2d3baaaad3d62be1abdb33c",
      "tree": "34f101f8d1352525c184ee76ec0fabd0f151c0c9",
      "parents": [
        "9923c8cd13d1e8305a908ef23712c7d3e4d4131d",
        "32651b8e8e453391c7aaca47cd885e94d54d0bf4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 20:58:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 16 20:58:02 2015 +0000"
      },
      "message": "Merge \"Hide content of pthread_cond_t in pthread_cond_internal_t.\""
    },
    {
      "commit": "32651b8e8e453391c7aaca47cd885e94d54d0bf4",
      "tree": "16c36165ce78fbc359bba222ee0744556c3ed4c4",
      "parents": [
        "d2cf59d4633d9e731d0342d4f94b6e925589ab1e"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 13 20:30:00 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Mar 16 11:09:52 2015 -0700"
      },
      "message": "Hide content of pthread_cond_t in pthread_cond_internal_t.\n\nBug: 19249079\nChange-Id: I6f55af30bcd6211ce71630c6cacbef0e1663dcee\n"
    },
    {
      "commit": "83c0028e030bad1f7cf54ba3f04962b9a6a9e1e4",
      "tree": "f761efabc1b8397d76828696a4bb88eb56e20fca",
      "parents": [
        "d2cf59d4633d9e731d0342d4f94b6e925589ab1e",
        "995b813e91a5eb67a970b9f076911873bdf5dbc4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Mar 14 17:44:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 14 17:44:32 2015 +0000"
      },
      "message": "Merge \"For libm, use a macro for aliasing symbols.\""
    },
    {
      "commit": "995b813e91a5eb67a970b9f076911873bdf5dbc4",
      "tree": "4cfd804670c9799cf8238bd10119320a7f8066e6",
      "parents": [
        "81c31bdd43e50538fa45f5e7783782a5ae5666e9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 17:43:52 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 23:57:15 2015 -0700"
      },
      "message": "For libm, use a macro for aliasing symbols.\n\nChange-Id: Ibd42ebc387c2bf3eba9aa96091770915b4b34184\n"
    },
    {
      "commit": "2fabea47ac9475bcc52aff0715819d18aa5bdf1d",
      "tree": "c0cad55497897c934661e49d2fc4c330b4d97cba",
      "parents": [
        "81c31bdd43e50538fa45f5e7783782a5ae5666e9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 13 14:22:05 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 13 19:35:05 2015 -0700"
      },
      "message": "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.\n\nBug: 19249079\nChange-Id: Ifbe634c716b6793bef897ec5134b55eb44c6b8d5\n"
    },
    {
      "commit": "81c31bdd43e50538fa45f5e7783782a5ae5666e9",
      "tree": "8f297a1786a24db782891f3e20414ea0f563fcc1",
      "parents": [
        "d7e091efc477c17da97415fa944675c6f16dcdb5",
        "c94c7ff2bb7cdc8638d2155b8eefd8e2538eea50"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 21:12:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 21:12:07 2015 +0000"
      },
      "message": "Merge \"Add some GNU specific elf constants.\""
    },
    {
      "commit": "d7e091efc477c17da97415fa944675c6f16dcdb5",
      "tree": "904c8fac8e099244d92cf0dfb495d6a95335e1b9",
      "parents": [
        "f074b531d266deb63c17e1d3bff751f3f3740d9d",
        "2e16d2cf1e477af1db92efde389a5ce0a8e6fbb3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 13 21:04:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 21:04:08 2015 +0000"
      },
      "message": "Merge \"Switch libc and libm to sysv-only hash style\""
    },
    {
      "commit": "2e16d2cf1e477af1db92efde389a5ce0a8e6fbb3",
      "tree": "b94bcc714add9028cf875933cade2e284b951b85",
      "parents": [
        "be86f87711ee71ff971da2e2ae7a092081177951"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 13 12:43:30 2015 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 13 19:48:03 2015 +0000"
      },
      "message": "Switch libc and libm to sysv-only hash style\n\nBug: 19059885\nChange-Id: I60a23dc5f9c756994d566818332ca42b305b4a05\n"
    },
    {
      "commit": "c94c7ff2bb7cdc8638d2155b8eefd8e2538eea50",
      "tree": "5f4622d8b2b24664df14504281499214443d5804",
      "parents": [
        "f074b531d266deb63c17e1d3bff751f3f3740d9d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 10:32:45 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 13 10:32:45 2015 -0700"
      },
      "message": "Add some GNU specific elf constants.\n\nChange-Id: I6c668463a27a641c9a280ce1937857d622344ff8\n"
    },
    {
      "commit": "5b8e7cd957f9380e93c3aee84962d157fe0bc526",
      "tree": "c454f02e61518005d531a825e2f0469fac261bbf",
      "parents": [
        "c3307dc43b2526c4031837738b139d22831c5d09"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 17:36:59 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 12 21:54:41 2015 -0700"
      },
      "message": "Remove duplication in pthread_mutex.cpp.\n\nAlso add unit tests about thread woken up by pthread_mutex_unlock.\n\nBug: 19216648\n\nChange-Id: I8bde8105b00186c52a2f41d92458ae4a5eb90426\n"
    },
    {
      "commit": "58cf31b50699ed9f523de38c8e943f3bbd1ced9e",
      "tree": "258ba808074bd047a94df452a4e465db66136797",
      "parents": [
        "e86a86f9f24df7028d2596c69ff008cf88e039e4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 06 17:23:53 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 12 21:39:49 2015 -0700"
      },
      "message": "Make pthread join_state not protected by g_thread_list_lock.\n\n1. Move the representation of thread join_state from pthread.attr.flag\n   to pthread.join_state. This clarifies thread state change.\n2. Use atomic operations for pthread.join_state. So we don\u0027t need to\n   protect it by g_thread_list_lock. g_thread_list_lock will be reduced\n   to only protect g_thread_list or even removed in further changes.\n\nBug: 19636317\nChange-Id: I31fb143a7c69508c7287307dd3b0776993ec0f43\n"
    },
    {
      "commit": "c4a586da49e438961e09a1319df86c9a26f4eb92",
      "tree": "db3d8d0aeb106cab69daad7846e44ed6662e650c",
      "parents": [
        "be86f87711ee71ff971da2e2ae7a092081177951"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 12 13:21:35 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 12 13:21:35 2015 -0700"
      },
      "message": "syslog.h: missing LOG_MAKEPRI definition\n\nBug: 19681572\nChange-Id: Ice5f5cb1f71522ffc47b2243a8dc4c277c2a288f\n"
    },
    {
      "commit": "be86f87711ee71ff971da2e2ae7a092081177951",
      "tree": "9f2e601bd56a32a8a0d1d33def503ff7e6d30169",
      "parents": [
        "e8107b66c56509a8d1b1d21f217e4e71a9f74bee",
        "ba87fe5145b27bee0dc2a0ce146928a1998c8061"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 11 16:42:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 16:42:49 2015 +0000"
      },
      "message": "Merge \"Add the UMOUNT_NOFOLLOW flag to \u003csys/mount.h\u003e.\""
    },
    {
      "commit": "ba87fe5145b27bee0dc2a0ce146928a1998c8061",
      "tree": "c13a69f01078ceb2ad5cd515c8d656187c44a0c2",
      "parents": [
        "c16c8368773452e2d18d761a7b3ea6f249dc2ac5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 11 09:32:25 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 11 09:32:25 2015 -0700"
      },
      "message": "Add the UMOUNT_NOFOLLOW flag to \u003csys/mount.h\u003e.\n\nChange-Id: I2b81cfc3147d9a0a6ac2a8f064e6d9864fa7e04d\n"
    },
    {
      "commit": "e842dc0de5ce5f9950e323ae8805909f60867bf6",
      "tree": "5d5d959f42cfe95617aeb39f2b3d8b9fefe0cd2a",
      "parents": [
        "dca2fadd8252a5c0664d2811187bc39bd7916aa4",
        "c16c8368773452e2d18d761a7b3ea6f249dc2ac5"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 17:41:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 10 17:41:18 2015 +0000"
      },
      "message": "am c16c8368: Merge \"Generate gnu hash for arm only\"\n\n* commit \u0027c16c8368773452e2d18d761a7b3ea6f249dc2ac5\u0027:\n  Generate gnu hash for arm only\n"
    },
    {
      "commit": "1156508265422f407c7072788ce6c32c35411941",
      "tree": "8396de72d1b950b695df57fe39a679c9e37ff440",
      "parents": [
        "a94cf791c1c9b93d49f5573716de93348757ae15"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "goran.jakovljevic@imgtec.com",
        "time": "Tue Mar 10 17:11:39 2015 +0100"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 10:01:50 2015 -0700"
      },
      "message": "Generate gnu hash for arm only\n\nFixes build failure caused by:\nhttps://android-review.googlesource.com/#/c/139660\n\nAs previously discussed [1], MIPS does not support GNU-style ELF hashes.\n\n[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk\n\nChange-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62\n"
    },
    {
      "commit": "dca2fadd8252a5c0664d2811187bc39bd7916aa4",
      "tree": "b4240a6398e2d2b8ce06717b749752d05e590019",
      "parents": [
        "50119cec8d872df02547af39a3a85aea9125299b",
        "a94cf791c1c9b93d49f5573716de93348757ae15"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Mar 10 15:03:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 10 15:03:35 2015 +0000"
      },
      "message": "am a94cf791: Merge \"Generate sysv hash for libc, libstdc++ and libm\"\n\n* commit \u0027a94cf791c1c9b93d49f5573716de93348757ae15\u0027:\n  Generate sysv hash for libc, libstdc++ and libm\n"
    },
    {
      "commit": "4a55c46d308deae70d7d8669c50514d521813dc2",
      "tree": "58d3ded6c3fe7002348e118f45435c668cfac5d8",
      "parents": [
        "017f94d34eedfaca1c62cb35a65b8436f04b8f62"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 09 19:38:56 2015 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Mar 09 19:38:56 2015 -0700"
      },
      "message": "Generate sysv hash for libc, libstdc++ and libm\n\nBug: 19059885\nChange-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667\n"
    },
    {
      "commit": "2bf9f30a3ae9892660b7f7f64fd4d60bae712ed6",
      "tree": "29bf10c7d79ab8e32c765d0b3dcea72c2c9d5021",
      "parents": [
        "2bb873aee94db4f317a62480b07f6d4d1d33da6d",
        "536ec7359eb951655e389443aa918a4bb16b2d8b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Mar 07 17:13:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 07 17:13:21 2015 +0000"
      },
      "message": "am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d\n\n* commit \u0027536ec7359eb951655e389443aa918a4bb16b2d8b\u0027:\n  Add support for packed relocations.\n  Refactoring: introduce reloc_iterators\n  Generalize compression tool\n  Import relocation packer from chromium repo\n"
    },
    {
      "commit": "2bb873aee94db4f317a62480b07f6d4d1d33da6d",
      "tree": "5be37f9d7c64ce538d0231322ecbf173aed64d05",
      "parents": [
        "a1d1f658b5ed0508a21c87008a13830530660eba",
        "e86a86f9f24df7028d2596c69ff008cf88e039e4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sat Mar 07 17:13:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Mar 07 17:13:21 2015 +0000"
      },
      "message": "am e86a86f9: Merge \"Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.\"\n\n* commit \u0027e86a86f9f24df7028d2596c69ff008cf88e039e4\u0027:\n  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.\n"
    },
    {
      "commit": "536ec7359eb951655e389443aa918a4bb16b2d8b",
      "tree": "bedecd99118a032f9e451b076a807e862aae8d74",
      "parents": [
        "e86a86f9f24df7028d2596c69ff008cf88e039e4",
        "18a6956b76a071097fc658c5fe13ef010e31864a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Sat Mar 07 07:08:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 07 07:08:51 2015 +0000"
      },
      "message": "Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d\n\n* changes:\n  Add support for packed relocations.\n  Refactoring: introduce reloc_iterators\n  Generalize compression tool\n  Import relocation packer from chromium repo\n"
    },
    {
      "commit": "18a6956b76a071097fc658c5fe13ef010e31864a",
      "tree": "9a5213aeddb62ffcf0002986808b6699c5988e9e",
      "parents": [
        "fa26eee77685e8dee7986e62a7d263003f5bd25a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Feb 04 16:05:30 2015 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Mar 06 17:12:47 2015 -0800"
      },
      "message": "Add support for packed relocations.\n\nChange-Id: I796a4ce86d3fccb8361c19889419c96147ee3c9f\n"
    },
    {
      "commit": "9d0c79304d2413028aa5c213f7a567f00feccde5",
      "tree": "b9c119c7f8e935abb9466e9253b905a7f485d968",
      "parents": [
        "45ee73a7fbe98cba2ccb007b60c027d27dfca1cb"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 06 13:48:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 06 15:16:44 2015 -0800"
      },
      "message": "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.\n\nMake this change because I think it is more reasonable to check stack info\nin pthread_getattr_np. I believe pthread_attr_t is not tied with any thread,\nand can\u0027t have a flag saying who using it is the main thread.\nThis change also helps refactor of g_thread_list_lock.\n\nBug: 19636317\nChange-Id: Iedbb85a391ac3e1849dd036d01445dac4bc63db9\n"
    },
    {
      "commit": "af1ad4220885bc37a347086cac15863fe9bbe16e",
      "tree": "cc3a506fd520ca8182968e5109566b762a2a3c50",
      "parents": [
        "e953f3cf985e810071d707bcc296b20ec6e2e8dd",
        "fe4f2a6734ed3ace50606900143e84993f450caf"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Mar 06 05:34:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 06 05:34:31 2015 +0000"
      },
      "message": "am fe4f2a67: Merge \"Use pthread_once for g_uselocale_key creation.\"\n\n* commit \u0027fe4f2a6734ed3ace50606900143e84993f450caf\u0027:\n  Use pthread_once for g_uselocale_key creation.\n"
    },
    {
      "commit": "f7e3b3e48ab3ffbf7bbce5102ce1739c200093cb",
      "tree": "19fe08cbb0324d67ce277d8f6594f8c126d3b3c6",
      "parents": [
        "c3307dc43b2526c4031837738b139d22831c5d09"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 20:08:21 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 20:39:10 2015 -0800"
      },
      "message": "Use pthread_once for g_uselocale_key creation.\n\nBug: 19625804\nChange-Id: I57ec4c965067dc0c157c795c1f7217a3ca403286\n"
    },
    {
      "commit": "9ecb7f40d01d7ee258d11277944cc2415635ea17",
      "tree": "737888e707c9edb50c4fa3b1f960d26d658f60de",
      "parents": [
        "917cb395bc7c71b34d3a4feca0c619d2aaf89fd8",
        "c3307dc43b2526c4031837738b139d22831c5d09"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 18:33:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 05 18:33:31 2015 +0000"
      },
      "message": "am c3307dc4: Merge \"Better control of pthread keys used in bionic.\"\n\n* commit \u0027c3307dc43b2526c4031837738b139d22831c5d09\u0027:\n  Better control of pthread keys used in bionic.\n"
    },
    {
      "commit": "c3307dc43b2526c4031837738b139d22831c5d09",
      "tree": "483094a914357a55a76dcea7f94bf167aa155f1b",
      "parents": [
        "5d400204589ceb781fa11864c2e8f3001e5dc96f",
        "4a2891d8c8f09a64ea9e1479518b0cc969bd5969"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 18:26:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 05 18:26:44 2015 +0000"
      },
      "message": "Merge \"Better control of pthread keys used in bionic.\""
    },
    {
      "commit": "80aa71aa71033fa8c03f8b7a9032643294f60006",
      "tree": "07c3b2101b16c9d24a9493d0adc4633de977411c",
      "parents": [
        "821653e65f481b65c608bb3eb89190f7a85356c7",
        "e1c0213be3f0c2c4e310cbc262da88835a2e5d86"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 04:48:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 05 04:48:48 2015 +0000"
      },
      "message": "am e1c0213b: Merge \"Switch pthread_rwlock_t to stdatomic.\"\n\n* commit \u0027e1c0213be3f0c2c4e310cbc262da88835a2e5d86\u0027:\n  Switch pthread_rwlock_t to stdatomic.\n"
    },
    {
      "commit": "e1c0213be3f0c2c4e310cbc262da88835a2e5d86",
      "tree": "052396403af1b7e83ca747a87ce2bc0ff730ba51",
      "parents": [
        "dec9501af2ee4d7cec3a163310d42e8ea1b8c58f",
        "08ee8d2030fbc73c4c144e819dd68806b0351cbe"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Mar 05 04:42:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 05 04:42:35 2015 +0000"
      },
      "message": "Merge \"Switch pthread_rwlock_t to stdatomic.\""
    },
    {
      "commit": "08ee8d2030fbc73c4c144e819dd68806b0351cbe",
      "tree": "61c0f1027bd8967ff7eb8e95a128ee10e260ca32",
      "parents": [
        "ee17e8800418a74e21dba11658234363cf6f6032"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 11 17:04:36 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 18:16:20 2015 -0800"
      },
      "message": "Switch pthread_rwlock_t to stdatomic.\n\nBug: 19099838\nChange-Id: Ie82967a60b5cec61a8bdd1e0e4a03738d01944f8\n"
    },
    {
      "commit": "4a2891d8c8f09a64ea9e1479518b0cc969bd5969",
      "tree": "435435ccd995c37c0e5b27948da8addc464b558d",
      "parents": [
        "dec9501af2ee4d7cec3a163310d42e8ea1b8c58f"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 16:53:23 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 16:53:23 2015 -0800"
      },
      "message": "Better control of pthread keys used in bionic.\n\nChange-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5\n"
    },
    {
      "commit": "c210e84f28633d15f84a66a0652a4485c5fbc24d",
      "tree": "aa9b0c7a242126e1a83e7bf9c883db4d92e52c24",
      "parents": [
        "62b6d11b2de06db8ed26dc4b2b175443110748fe",
        "e1edd301d2a722e0a0687a7a3a87081c8cb956d3"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 01:53:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 04 01:53:46 2015 +0000"
      },
      "message": "am e1edd301: Merge \"Refactor pthread_key.cpp to be lock-free.\"\n\n* commit \u0027e1edd301d2a722e0a0687a7a3a87081c8cb956d3\u0027:\n  Refactor pthread_key.cpp to be lock-free.\n"
    },
    {
      "commit": "e1edd301d2a722e0a0687a7a3a87081c8cb956d3",
      "tree": "5b40237fe1dfe0f19e6bf2b55733a6dd145c8bd3",
      "parents": [
        "d5c2745ca8664b987d737e4a32922b6c9fe7c628",
        "5e2bd719d7dd19afe55f8d4f24366c0230e0e6c7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Mar 04 01:49:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 04 01:49:20 2015 +0000"
      },
      "message": "Merge \"Refactor pthread_key.cpp to be lock-free.\""
    },
    {
      "commit": "5e2bd719d7dd19afe55f8d4f24366c0230e0e6c7",
      "tree": "14589a831046110c8cc6221cd1ee90226e899b4b",
      "parents": [
        "04bbef377b9941bf6d67d9c515b6640a314fb032"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Feb 20 16:15:33 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 03 15:46:53 2015 -0800"
      },
      "message": "Refactor pthread_key.cpp to be lock-free.\n\nChange-Id: I20dfb9d3cdc40eed10ea12ac34f03caaa94f7a49\n"
    },
    {
      "commit": "62b6d11b2de06db8ed26dc4b2b175443110748fe",
      "tree": "4b1b03bac048f7c95dd1f618feb40e013fe4ab51",
      "parents": [
        "1f3ac62b447f67fc60620bd3254761b1d73297ba",
        "d5c2745ca8664b987d737e4a32922b6c9fe7c628"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 03 03:00:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 03 03:00:42 2015 +0000"
      },
      "message": "am d5c2745c: Merge \"Lose bionic_atomic stuff.\"\n\n* commit \u0027d5c2745ca8664b987d737e4a32922b6c9fe7c628\u0027:\n  Lose bionic_atomic stuff.\n"
    },
    {
      "commit": "d5c2745ca8664b987d737e4a32922b6c9fe7c628",
      "tree": "82f148efec742b6df0eb8c0fdd3d027858aedbfd",
      "parents": [
        "ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c",
        "ce751b3536586683ad1dc9bac7e2a4fcfa9d028b"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Mar 03 02:56:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 03 02:56:19 2015 +0000"
      },
      "message": "Merge \"Lose bionic_atomic stuff.\""
    },
    {
      "commit": "1f3ac62b447f67fc60620bd3254761b1d73297ba",
      "tree": "781f8d12e24578a1629e8dac418e83c8bcea5df9",
      "parents": [
        "df14d8ef9884d85987e9810ae44837b659e1f82a",
        "ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Mar 02 19:41:53 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 02 19:41:53 2015 +0000"
      },
      "message": "am ceb9c182: Merge \"bionic: deprecate _PATH_MEM\"\n\n* commit \u0027ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c\u0027:\n  bionic: deprecate _PATH_MEM\n"
    },
    {
      "commit": "c09268a3fef0b9574b2b6227c9fac3096ad6654e",
      "tree": "f800d0e402c98cf917b98aac9283a7e902ca9578",
      "parents": [
        "2ae7c1e336af3dd2901e90608be3adeb577659a7"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Mar 02 09:14:51 2015 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Mar 02 18:44:11 2015 +0000"
      },
      "message": "bionic: deprecate _PATH_MEM\n\n/dev/mem (and /dev/kmem) are not enabled in the kernels, and selinux\nprevents access and makes it a rule compilation error to enable\naccess. No code uses the _PATH_MEM macro. Remove definition to\nsuppress future usage.\n\nBug: 19549480\nChange-Id: Ie0fb0f53d43349f4fe227068e4bf8a768f620d60\n"
    },
    {
      "commit": "df14d8ef9884d85987e9810ae44837b659e1f82a",
      "tree": "bf8a826606e1f952a2ba8dbd4738327f0ff152c7",
      "parents": [
        "d957bd08b08685da987ebf609f87c3806b4455bc",
        "2ae7c1e336af3dd2901e90608be3adeb577659a7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Feb 28 18:36:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 28 18:36:18 2015 +0000"
      },
      "message": "am 2ae7c1e3: Merge \"Fix fread returning bad data.\"\n\n* commit \u00272ae7c1e336af3dd2901e90608be3adeb577659a7\u0027:\n  Fix fread returning bad data.\n"
    },
    {
      "commit": "cc9ca1051dbf5bd2af1b801de13d43a399521cf9",
      "tree": "f8fd2edf4fd85c87a1b9259c821c4d8f9878b104",
      "parents": [
        "e6a33cefe4b3759fb77d9e69356cb50a97ea7e54"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 27 18:22:45 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 27 18:22:45 2015 -0800"
      },
      "message": "Fix fread returning bad data.\n\nBug: 19172514\nChange-Id: I05016577858a02aca7d14e75e6ec28abc925037c\n"
    },
    {
      "commit": "ce751b3536586683ad1dc9bac7e2a4fcfa9d028b",
      "tree": "2dceca02d6906287397a58570f89a30b7fe81f45",
      "parents": [
        "f8eec1e54fbfb7b0304b73cb9ce2de44760a672e"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 13:45:06 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 13:45:06 2015 -0800"
      },
      "message": "Lose bionic_atomic stuff.\n\nBug: 17177189\nChange-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec\n"
    },
    {
      "commit": "00ba42b9f509baa706c93f648c8ad7c84c89d6d0",
      "tree": "c7f149b1fc47f7f0e531e09d907c11bc2fbeadfa",
      "parents": [
        "253fcfe70e1bb87ca66e2886d90f6906e8d27f12",
        "7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 03:52:34 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 26 03:52:34 2015 +0000"
      },
      "message": "am 7355d29b: Merge \"Make getgrent deprecated.\"\n\n* commit \u00277355d29bbd106bd4ab3f5be1b743fb73e8c3b4da\u0027:\n  Make getgrent deprecated.\n"
    },
    {
      "commit": "b8b5a72f41830eadbb4753a74845cf5fcba86334",
      "tree": "f52e5639079587e733a98a859a454e5f39a83edd",
      "parents": [
        "398ef152d50854fccb21086e30b5cc24641b3e2a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 19:05:37 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 19:05:37 2015 -0800"
      },
      "message": "Make getgrent deprecated.\n\nBug: 19340053\nChange-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820\n"
    },
    {
      "commit": "253fcfe70e1bb87ca66e2886d90f6906e8d27f12",
      "tree": "f46a8db6920ba67a2a876a9c10ab3cbe31e7b996",
      "parents": [
        "fbff0fd516a5d6499b3417eb194b0631ae50094a",
        "398ef152d50854fccb21086e30b5cc24641b3e2a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 02:52:36 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 26 02:52:36 2015 +0000"
      },
      "message": "am 398ef152: Merge \"Move endpwent to ndk_cruft.cpp.\"\n\n* commit \u0027398ef152d50854fccb21086e30b5cc24641b3e2a\u0027:\n  Move endpwent to ndk_cruft.cpp.\n"
    },
    {
      "commit": "fbff0fd516a5d6499b3417eb194b0631ae50094a",
      "tree": "7b392b72e7939846fef40d4c9af2d229bb32e8a1",
      "parents": [
        "f5d4f322bbea9e5a5a1ec4025a0289123c667e5f",
        "f1b4a5d510c693d7cffc76cade9ab049f7dfed07"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 02:52:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 26 02:52:35 2015 +0000"
      },
      "message": "am f1b4a5d5: Merge \"Make tempnam/mktemp deprecated.\"\n\n* commit \u0027f1b4a5d510c693d7cffc76cade9ab049f7dfed07\u0027:\n  Make tempnam/mktemp deprecated.\n"
    },
    {
      "commit": "398ef152d50854fccb21086e30b5cc24641b3e2a",
      "tree": "6695bdc992942e63c924498c4bb05acca06d58ee",
      "parents": [
        "f1b4a5d510c693d7cffc76cade9ab049f7dfed07",
        "52d7f1a94fd6ccb87dabd21c682f68d31810aca9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 02:23:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 26 02:23:08 2015 +0000"
      },
      "message": "Merge \"Move endpwent to ndk_cruft.cpp.\""
    },
    {
      "commit": "f1b4a5d510c693d7cffc76cade9ab049f7dfed07",
      "tree": "f30cc0fd2c51c137aaa2e53c41542dc912214f5c",
      "parents": [
        "448a85968da1e4622e829bb48fd888a38f9f6c49",
        "9b4f77f5cfc45a377b7de7195341a7769a722b74"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Feb 26 02:17:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 26 02:17:17 2015 +0000"
      },
      "message": "Merge \"Make tempnam/mktemp deprecated.\""
    },
    {
      "commit": "9b4f77f5cfc45a377b7de7195341a7769a722b74",
      "tree": "41c892013dbfcde3a5a52b7c2a3aa06341cc3573",
      "parents": [
        "913fcb274f353348a353aaabbe872b3b5924a6e7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 23 16:42:07 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 15:42:01 2015 -0800"
      },
      "message": "Make tempnam/mktemp deprecated.\n\nBug: 19340053\nChange-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700\n"
    },
    {
      "commit": "52d7f1a94fd6ccb87dabd21c682f68d31810aca9",
      "tree": "b921836e4dfdcfbedaa10a12ac906a900d56294d",
      "parents": [
        "448a85968da1e4622e829bb48fd888a38f9f6c49"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 14:58:08 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 14:58:08 2015 -0800"
      },
      "message": "Move endpwent to ndk_cruft.cpp.\n\nBug: 19109159\nChange-Id: I3683a247643006ea6d6bcf3845f57d1908d457d7\n"
    },
    {
      "commit": "f5d4f322bbea9e5a5a1ec4025a0289123c667e5f",
      "tree": "b6ed9f180292eae5ba7109b8ce0f7a4e26e48621",
      "parents": [
        "a1e4a4a3c68fc99958cc7a6e6fb7fed58feeaae8",
        "448a85968da1e4622e829bb48fd888a38f9f6c49"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 21:10:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 25 21:10:42 2015 +0000"
      },
      "message": "am 448a8596: Merge \"Switch system_properties.cpp from bionic atomic operations to stdatomic.\"\n\n* commit \u0027448a85968da1e4622e829bb48fd888a38f9f6c49\u0027:\n  Switch system_properties.cpp from bionic atomic operations to stdatomic.\n"
    },
    {
      "commit": "448a85968da1e4622e829bb48fd888a38f9f6c49",
      "tree": "e300bf6ea44f7316ce42161fdcb5e6c2ac07dd18",
      "parents": [
        "8c41eae6fcdb6cad1f6c46ae01708ead6b734060",
        "b8ce47421727f7621f3e00043d535e35cd904852"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 21:04:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 25 21:04:56 2015 +0000"
      },
      "message": "Merge \"Switch system_properties.cpp from bionic atomic operations to stdatomic.\""
    },
    {
      "commit": "a1e4a4a3c68fc99958cc7a6e6fb7fed58feeaae8",
      "tree": "53fb9a65c6d503e7022054e12ed235da6018715d",
      "parents": [
        "4600bdac709969408ac446507d85881db55b0ca7",
        "8c41eae6fcdb6cad1f6c46ae01708ead6b734060"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 00:05:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 25 00:05:52 2015 +0000"
      },
      "message": "am 8c41eae6: Merge \"Move getusershell/endusershell/setusershell to ndk_cruft.cpp.\"\n\n* commit \u00278c41eae6fcdb6cad1f6c46ae01708ead6b734060\u0027:\n  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.\n"
    },
    {
      "commit": "8c41eae6fcdb6cad1f6c46ae01708ead6b734060",
      "tree": "3fb9067c8790b6471ceadbdb80517731182aa7b8",
      "parents": [
        "af3ba5c87319e19c10be6755b37af92521f702c2",
        "7fb680bfda059746c9bb8939ffaed600eecc3a29"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 25 00:00:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 25 00:00:51 2015 +0000"
      },
      "message": "Merge \"Move getusershell/endusershell/setusershell to ndk_cruft.cpp.\""
    },
    {
      "commit": "7fb680bfda059746c9bb8939ffaed600eecc3a29",
      "tree": "4d2528047166136a5c8baa69af69edafafcc42c2",
      "parents": [
        "4add77b93c0c61381faa9d4d8dc62f81cafcc69a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 24 13:18:25 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 24 14:46:59 2015 -0800"
      },
      "message": "Move getusershell/endusershell/setusershell to ndk_cruft.cpp.\n\nBug: 19108648\nChange-Id: I65134040345398dde612c4325d902db58f3bd2be\n"
    },
    {
      "commit": "e93bc6bbe8ce180187e3914d0a7494cfe84f6255",
      "tree": "5af2fd2f869835901c3d6f7772f259f573268d00",
      "parents": [
        "4ec60a017859b39d490cfeb089ed30da09863def",
        "d91ded81376a10a1c89f7a5ae3c462ae3b24188e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 21:52:36 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 21:52:36 2015 +0000"
      },
      "message": "am d91ded81: Merge \"Fix \"faccessat ignores flags\"\"\n\n* commit \u0027d91ded81376a10a1c89f7a5ae3c462ae3b24188e\u0027:\n  Fix \"faccessat ignores flags\"\n"
    },
    {
      "commit": "35778253a5ed71e87a608ca590b63729d9f88567",
      "tree": "d9e6112654bf2faa754abd9f28bc20c2ccccff57",
      "parents": [
        "2aef607b25c463baed5ae70d14212e24ea7bcf2b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "message": "Fix \"faccessat ignores flags\"\n\nThe kernel system call faccessat() does not have any flags arguments,\nso passing flags to the kernel is currently ignored.\n\nFix the kernel system call so that no flags argument is passed in.\n\nEnsure that we don\u0027t support AT_SYMLINK_NOFOLLOW. This non-POSIX\n(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)\nflag is a glibc extension, and has non-intuitive, error prone behavior.\n\nFor example, consider the following code:\n\n  symlink(\"foo.is.dangling\", \"foo\");\n  if (faccessat(AT_FDCWD, \"foo\", R_OK, AT_SYMLINK_NOFOLLOW) \u003d\u003d 0) {\n    int fd \u003d openat(AT_FDCWD, \"foo\", O_RDONLY | O_NOFOLLOW);\n  }\n\nThe faccessat() call in glibc will return true, but an attempt to\nopen the dangling symlink will end up failing. GLIBC documents this\nas returning the access mode of the symlink itself, which will\nalways return true for any symlink on Linux.\n\nSome further discussions of this are at:\n\n  * http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html\n  * http://permalink.gmane.org/gmane.linux.lib.musl.general/6952\n\nAT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this\nfunction was never added to POSIX. (note that \"access\" is pretty much\nbroken by design too, since it introduces a race condition between\ncheck and action). We shouldn\u0027t support this until it\u0027s clearly\ndocumented by POSIX or we can have it produce intuitive results.\n\nDon\u0027t support AT_EACCESS for now. Implementing it is complicated, and\npretty much useless on Android, since we don\u0027t have setuid binaries.\nSee http://git.musl-libc.org/cgit/musl/commit/?id\u003d0a05eace163cee9b08571d2ff9d90f5e82d9c228\nfor how an implementation might look.\n\nBug: 18867827\nChange-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04\n"
    },
    {
      "commit": "b8ce47421727f7621f3e00043d535e35cd904852",
      "tree": "a2d35e197034b900f4b70cadddccf11958926dad",
      "parents": [
        "ee17e8800418a74e21dba11658234363cf6f6032"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 10 21:35:56 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 24 10:41:53 2015 -0800"
      },
      "message": "Switch system_properties.cpp from bionic atomic operations to stdatomic.\n\nBug: 17177189\nChange-Id: I42e05ad1c490cc7a8040138151afc0ee72a9b63f\n"
    },
    {
      "commit": "4ec60a017859b39d490cfeb089ed30da09863def",
      "tree": "ce405faf2108eb25769fa02b811158744d54760d",
      "parents": [
        "491c09e0d5921edd57da2efb0c8ed4f32df93fe2",
        "2aef607b25c463baed5ae70d14212e24ea7bcf2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 24 05:59:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 05:59:52 2015 +0000"
      },
      "message": "am 2aef607b: Merge \"Fix dup2 in the case where the two fds are equal.\"\n\n* commit \u00272aef607b25c463baed5ae70d14212e24ea7bcf2b\u0027:\n  Fix dup2 in the case where the two fds are equal.\n"
    },
    {
      "commit": "be52e658171edf6651895c40d1563289bafa52f7",
      "tree": "0f58f6022d63e08166da1a03775d50df4d2f13b5",
      "parents": [
        "393bdb156d5024a03f03425a977d0518c84dbb98"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 18:02:29 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 21:52:56 2015 -0800"
      },
      "message": "Fix dup2 in the case where the two fds are equal.\n\ndup3\u0027s behavior differs from dup2 in this case, so we need to paper\nover that in the C library.\n\nChange-Id: I313cd6f226db5e237f61866f324c5ecdd12bf762\n"
    },
    {
      "commit": "491c09e0d5921edd57da2efb0c8ed4f32df93fe2",
      "tree": "d069d0be6608dd20f62d74304db5aa1d7e1ece69",
      "parents": [
        "07e218a484d8a1ac71c3b9317e86f5ba39aae919",
        "393bdb156d5024a03f03425a977d0518c84dbb98"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 22:45:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 23 22:45:14 2015 +0000"
      },
      "message": "am 393bdb15: Merge \"Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.\"\n\n* commit \u0027393bdb156d5024a03f03425a977d0518c84dbb98\u0027:\n  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.\n"
    },
    {
      "commit": "6af62e0d5016d0e8263f77139154a518d50fc2d6",
      "tree": "eaa5623ffe3ac6ee8714d24464e58a6d1b95b30a",
      "parents": [
        "3d83b18970f32467596830845793b18a858f59e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 13:41:40 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 13:41:40 2015 -0800"
      },
      "message": "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.\n\nChange-Id: Ia6be76460bfcf852832325c5f36cb272f49a4b87\n"
    },
    {
      "commit": "07e218a484d8a1ac71c3b9317e86f5ba39aae919",
      "tree": "392c7a80733033584ae38b3a34bf95257faad720",
      "parents": [
        "4602d8c7621ffd87e32f53c8f7e8ac5453a404ca",
        "3d83b18970f32467596830845793b18a858f59e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 23 16:09:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 23 16:09:17 2015 +0000"
      },
      "message": "am 3d83b189: Merge \"[MIPS64] Fix mips64 build.\"\n\n* commit \u00273d83b18970f32467596830845793b18a858f59e6\u0027:\n  [MIPS64] Fix mips64 build.\n"
    },
    {
      "commit": "daf8911079ad9c5e0b874701aabe3835e94991b6",
      "tree": "fdcfca81d975835407b150a2c7e1847b3c745f49",
      "parents": [
        "04bbef377b9941bf6d67d9c515b6640a314fb032"
      ],
      "author": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Mon Feb 23 16:14:56 2015 +0100"
      },
      "committer": {
        "name": "Nikola Veljkovic",
        "email": "Nikola.Veljkovic@imgtec.com",
        "time": "Mon Feb 23 16:21:31 2015 +0100"
      },
      "message": "[MIPS64] Fix mips64 build.\n\nBuild was broken by:\nhttps://android-review.googlesource.com/133834\n\nUse \u003cunistd.h\u003e to get syscall().\nRemove \u003casm/unistd.h\u003e, it gets included through \u003csys/syscall.h\u003e.\n\nChange-Id: Id762f6dea5f9538c19b79cdd46deda978efd50fe\n"
    },
    {
      "commit": "6421f8f5b21357b3f956f4b20c3622f96863a219",
      "tree": "9a1124b295309b194d4cc441d25cb01251511e0c",
      "parents": [
        "479070c51e34f9f9f809df4daa8184e5b2947f14",
        "c39eef71a7f66b69e2216a51d0e7fbc1796d0696"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 20 17:02:25 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 20 17:02:25 2015 +0000"
      },
      "message": "am c39eef71: Merge \"valgrind can\\\u0027t find syscall because we didn\\\u0027t put it in \u003cunistd.h\u003e.\"\n\n* commit \u0027c39eef71a7f66b69e2216a51d0e7fbc1796d0696\u0027:\n  valgrind can\u0027t find syscall because we didn\u0027t put it in \u003cunistd.h\u003e.\n"
    },
    {
      "commit": "4c5891d93dc151e2f07fc87ae967f23e6c3d6e0c",
      "tree": "0a18a145999730a8bcb118c2b42b4e6a8ffa15d9",
      "parents": [
        "97484d3a9d0d822aeaaa1547aeb76d7669076082"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 19 22:49:44 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 19 22:49:44 2015 -0800"
      },
      "message": "valgrind can\u0027t find syscall because we didn\u0027t put it in \u003cunistd.h\u003e.\n\nChange-Id: I1e47291d4476bd2816138a8cf58f29d4986d39e3\n"
    },
    {
      "commit": "a6395dda54057170fc66faf00410e983202aa7e0",
      "tree": "5609432d62045a31fe8190276326827a9ba7978b",
      "parents": [
        "d071b814ac5674ca032c05f369b2606cf3520332",
        "9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:30:25 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:30:25 2015 -0800"
      },
      "message": "Merge commit \u00279d7f68ebfd79b1ce54dc56bceb7346f34615e5a1\u0027 into HEAD\n"
    },
    {
      "commit": "3cfb52aab2548df635e9672218cc433e14922fd3",
      "tree": "eebbf162a1e5e1ed8726a9129ea17a410ebaa3ed",
      "parents": [
        "3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 18 21:29:13 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 18 22:02:56 2015 -0800"
      },
      "message": "Add GNU extensions mempcpy and wmemcpy.\n\nUsed by elfutils. On the bright side, they stopped using __mempcpy.\n\nBug: 18374026\nChange-Id: Id29bbe6ef1c5ed5a171bb6c32182f129d8332abb\n"
    },
    {
      "commit": "3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0",
      "tree": "a85c1da648b63c9e9cbeb9ce897d2a153446132f",
      "parents": [
        "d3fa31a55d542d51fc3f2df46af7c1b701ecb86e",
        "2c678e6644a0ac7bfdfb8f199ac2cd0d4ea1153f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 19 02:33:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 19 02:33:08 2015 +0000"
      },
      "message": "Merge \"Parameterize use of clang in libc_ndk.\""
    },
    {
      "commit": "2c678e6644a0ac7bfdfb8f199ac2cd0d4ea1153f",
      "tree": "65f48180347c969cf7b95eb73958656142bde268",
      "parents": [
        "5890ec3e229cbe115308e103111fec471f2319b7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Feb 18 17:37:52 2015 -0800"
      },
      "message": "Parameterize use of clang in libc_ndk.\n\nWe still have issues with clang coverage in static libraries, so we\nneed to make sure we follow suit with the rest of libc for now.\n\nBug: 17574078\nChange-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150\n"
    },
    {
      "commit": "d3fa31a55d542d51fc3f2df46af7c1b701ecb86e",
      "tree": "c5082df5f9d28b8e2f7c0017914c22e2ab991d9d",
      "parents": [
        "4add77b93c0c61381faa9d4d8dc62f81cafcc69a",
        "b6d301f42dc191681a17eb85536f9cde4eb78c44"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 19 01:00:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 19 01:00:19 2015 +0000"
      },
      "message": "Merge \"[MIPS] Fix setjmp signals\""
    },
    {
      "commit": "4add77b93c0c61381faa9d4d8dc62f81cafcc69a",
      "tree": "085f6898cd08fd3ff275b16e88c80b190b132d67",
      "parents": [
        "1dbc6bb02521ba1535748826eeaf28404160d788",
        "913fcb274f353348a353aaabbe872b3b5924a6e7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 18 21:33:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 18 21:33:02 2015 +0000"
      },
      "message": "Merge \"Make gets() deprecated.\""
    },
    {
      "commit": "913fcb274f353348a353aaabbe872b3b5924a6e7",
      "tree": "26701a564824e9a41de417eafc156f51895db10c",
      "parents": [
        "0e61c2c0ea201e157d0d3d3c04564588bcfb7c66"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 18 12:20:32 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Feb 18 12:20:32 2015 -0800"
      },
      "message": "Make gets() deprecated.\n\ngets is already deprecated in glibc. Others with __warnattr are not deprecated.\n\nChange-Id: I80a276d2b5964630218be47f1c94b146c0d31151\n"
    },
    {
      "commit": "1dbc6bb02521ba1535748826eeaf28404160d788",
      "tree": "50f5c7bb2766b85d612def474c483629ad17c46f",
      "parents": [
        "9ec37c7fa979c573e5743c343d38370cab1a67e4",
        "68dc20d41193831a94df04b994ff2f601dd38d10"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 18 18:01:04 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 18 18:01:05 2015 +0000"
      },
      "message": "Merge \"Implement _FILE_OFFSET_BITS (mostly).\""
    },
    {
      "commit": "9ec37c7fa979c573e5743c343d38370cab1a67e4",
      "tree": "ad3d3e7447e682a93615963fb45e18d7678b9cd8",
      "parents": [
        "5890ec3e229cbe115308e103111fec471f2319b7",
        "094a8ae078dc3646ff23a845cf038ddc3364116c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Feb 18 09:42:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 18 09:42:33 2015 +0000"
      },
      "message": "Merge \"Update tzdata to tzdata2015a\""
    },
    {
      "commit": "68dc20d41193831a94df04b994ff2f601dd38d10",
      "tree": "7706f742caa2ce1db9868baadf890187d7d02dbd",
      "parents": [
        "d687905f11102a7f6bad461b6f501dc870c59999"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 06 22:28:49 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 19:54:43 2015 -0800"
      },
      "message": "Implement _FILE_OFFSET_BITS (mostly).\n\nI still don\u0027t think we can make stdio\u0027s fseeko and ftello work, but we can\nhave everything else, and very few programs use fseeko/ftello (and they can\njust refrain from using _FILE_OFFSET_BITS and be no worse off than they are\ntoday).\n\nBug: 11865851\nChange-Id: Ic3cb409aae6713f4b345de954bcc4241fcd969ec\n"
    },
    {
      "commit": "a6395e1fd0ccc818ed6424797690b12f8b690755",
      "tree": "5e86f2e854024b8fcd0496119fb0caf4b0df7f81",
      "parents": [
        "9a9ea3a28099602fe22e36638a44fa36df80fe8e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 12 16:35:09 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:42 2015 -0800"
      },
      "message": "Update NDK compatlib for 4.1.2.\n\nThe replacement new failures present in newer versions are present\nhere as well, with the following new issues:\n\nXPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp\n\nThis is from the -NaN formatting fix in bionic. We previously had this\nwrong, and the upstream test is also wrong. There\u0027s currently an XFAIL\nfor Android in this test because I haven\u0027t fixed the upstream test\nyet. After that is done, I\u0027ll need to teach the test runner how to\nXFAIL older Android versions...\n\nFAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp\n    dtor.pass.cpp:39: int main(): assertion \"globalMemCounter.checkDeleteArrayCalledEq(1)\" failed\n\nHaven\u0027t investigated this one yet. http://b/19412688\n\nNote that this also needs the libgcc link ordering to be fixed in the\nbuild system, as we\u0027ll otherwise depend on libgcc symbols from libc\nthat may or may not have been there.\n\nThe build fix can\u0027t be submitted because the proper link order causes\nthe libgcc unwinder to be used instead of the EHABI one:\nhttp://b/18471342\n\nBug: 18471532\nChange-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1\n"
    },
    {
      "commit": "9a9ea3a28099602fe22e36638a44fa36df80fe8e",
      "tree": "ff71dda7ec4193daf9055a5c7ce75c4c54d1747e",
      "parents": [
        "54b61b7ca7d7c9c7474e2beb35d20a9ab635529f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Feb 09 17:45:22 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Feb 17 17:02:34 2015 -0800"
      },
      "message": "Update the NDK compatlib for 4.4.4 and ToT.\n\nNow passes all libc++ tests for these targets, with the exception of\nthe usual failing replacement new tests since libc uses new/delete for\nthings. I don\u0027t know if we can ever really fix these.\n\nBug: 18471532\nChange-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c\n"
    },
    {
      "commit": "0e61c2c0ea201e157d0d3d3c04564588bcfb7c66",
      "tree": "ea6359d64b68187a34a9fd3a3f6b8544056a4770",
      "parents": [
        "b5c23796872dee26d7fa88f0a41801dcc6090d99",
        "784de4e50a1161d78757402c149d85368bd49c29"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Feb 17 23:56:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 17 23:56:29 2015 +0000"
      },
      "message": "Merge \"Revert \"Move use of __warnattr to __deprecated.\"\""
    }
  ],
  "next": "784de4e50a1161d78757402c149d85368bd49c29"
}
