)]}'
{
  "log": [
    {
      "commit": "0c9ea17e0c31540cb2caab7ec2149ae40670b2d2",
      "tree": "7f1917b9e599acfe5b71a8a6b35d8e69a5661a3d",
      "parents": [
        "df862454b69f81b5574da415b61d9cbf12662bcc",
        "7b0af7ad82fcf88e800d1a553d81fda29dc064bd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 18 21:33:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 18 21:33:54 2017 +0000"
      },
      "message": "Merge \"Always log errno when aborting.\""
    },
    {
      "commit": "df862454b69f81b5574da415b61d9cbf12662bcc",
      "tree": "98b7361c8e6a711fcb529a0df6a46e7c590f9d57",
      "parents": [
        "5e805526422d90c4054c9fb0f7b1b915dc49f3c8",
        "50cda38f1ddfb0216e986f60cdc877fb9c55ebba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 18 21:33:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 18 21:33:06 2017 +0000"
      },
      "message": "Merge \"Use __RENAME for long double functions.\""
    },
    {
      "commit": "7b0af7ad82fcf88e800d1a553d81fda29dc064bd",
      "tree": "4cf982c55c48b49864bcb4f986c7400d640930e0",
      "parents": [
        "3b64f8ecb3db49574cc5b7c6030be98c159be4d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 15 16:09:22 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 15 16:18:49 2017 -0700"
      },
      "message": "Always log errno when aborting.\n\n(Where errno is relevant.)\n\nAlso consistently use -1 as the fd for anonymous mmaps. (It doesn\u0027t matter,\nbut it\u0027s more common, and potentially more intention-revealing.)\n\nBug: http://b/65608572\nTest: ran tests\nChange-Id: Ie9a207632d8242f42086ba3ca862519014c3c102\n"
    },
    {
      "commit": "5e805526422d90c4054c9fb0f7b1b915dc49f3c8",
      "tree": "b893305262bb5427733890aae45a0fffa6076417",
      "parents": [
        "5828840e7251091b8a2121d1ab44a53fd44dd689",
        "ded4524cb0a2ad931468409ff0f4817f9c0a8925"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 15 23:08:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 15 23:08:31 2017 +0000"
      },
      "message": "Merge \"[cfi] Fix __cfi_check address calculation.\""
    },
    {
      "commit": "ded4524cb0a2ad931468409ff0f4817f9c0a8925",
      "tree": "b29a6087860266b044a54cb19e38605167362ebb",
      "parents": [
        "3b64f8ecb3db49574cc5b7c6030be98c159be4d4"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Sep 15 13:58:58 2017 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Sep 15 14:15:54 2017 -0700"
      },
      "message": "[cfi] Fix __cfi_check address calculation.\n\nThe current code is incorrect when the target address is 18 bit aligned.\n\nTest: stops random (and extremely rare) crashes in media.extractor\nBug: 63400743\nBug: 65590288\n\nChange-Id: I65b45ff0c4b57a7ff08d3f5b3d80f41167d3c0f8\n"
    },
    {
      "commit": "5828840e7251091b8a2121d1ab44a53fd44dd689",
      "tree": "46ffa0bdac830d4b64aa914b0507f8c806a6a418",
      "parents": [
        "3b64f8ecb3db49574cc5b7c6030be98c159be4d4",
        "c2c36b661cf80f88305fc15907a6df16a0342862"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Sep 15 13:44:31 2017 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Sep 15 13:44:31 2017 -0700"
      },
      "message": "Merge remote-tracking branch \u0027aosp/oreo-cts-dev\u0027 into HEAD\n"
    },
    {
      "commit": "50cda38f1ddfb0216e986f60cdc877fb9c55ebba",
      "tree": "fb702878229b8b64a5386ece09d32653b7c6a3e4",
      "parents": [
        "3b64f8ecb3db49574cc5b7c6030be98c159be4d4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 14 15:30:08 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 14 16:10:43 2017 -0700"
      },
      "message": "Use __RENAME for long double functions.\n\nWe can cut a lot of stuff out of the NDK\u0027s libandroid_support with this,\nand reduce unnecessary relocations for all LP32 code. LP64 code should\nbe unaffected.\n\nBug: https://issuetracker.google.com/64450768\nBug: https://github.com/android-ndk/ndk/issues/507\nTest: ran tests, plus manual readelf on the _test.o files\nChange-Id: I3de6015921195304ea9c829ef31665cd34664066\n"
    },
    {
      "commit": "3b64f8ecb3db49574cc5b7c6030be98c159be4d4",
      "tree": "18dd64c58b62e849346c879dd27bccf2581013d3",
      "parents": [
        "7e6f98b93d8f386d3c9413ab17998591a0e1cf3a",
        "e719ceb35bc7de8578a41c4636cb2ea077fcc65f"
      ],
      "author": {
        "name": "Isaac Chen",
        "email": "ycchen@google.com",
        "time": "Thu Sep 14 01:56:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 14 01:56:29 2017 +0000"
      },
      "message": "Merge \"Enable 32-bit armv8 NEON for libm\""
    },
    {
      "commit": "e719ceb35bc7de8578a41c4636cb2ea077fcc65f",
      "tree": "18dd64c58b62e849346c879dd27bccf2581013d3",
      "parents": [
        "7e6f98b93d8f386d3c9413ab17998591a0e1cf3a"
      ],
      "author": {
        "name": "Isaac Chen",
        "email": "ycchen@google.com",
        "time": "Tue Sep 12 16:47:54 2017 +0800"
      },
      "committer": {
        "name": "Isaac Chen",
        "email": "ycchen@google.com",
        "time": "Wed Sep 13 19:31:08 2017 +0800"
      },
      "message": "Enable 32-bit armv8 NEON for libm\n\nSince ARM neon instructions were only used on armv7-a-neon architecture\nvariant, the default implementation for 32-bit armv8-a cores doesn\u0027t\nuse these advanced SIMD instructions. By using \"neon\" key in the\nAndroid.bp, both arch variants (armv7-a-neon and armv8-a) are covered.\n\nBug: 65569003\nTest: lunch aosp_arm64; emulator # on oc-mr1-dev; boot to home screen\n      Also checked if sqrt.o and floor.o are actually built and linked\n      in the resulted libm.a for both armv7-a-neon/cortex-a15 and\n      armv8-a/generic (2nd) arch/cpu variant.\nChange-Id: I2084dbdb12e252b06bba5adc65adb59e97a99332\n"
    },
    {
      "commit": "7e6f98b93d8f386d3c9413ab17998591a0e1cf3a",
      "tree": "daac1c1a5d7c0ad3c71ea9bb68478670663cc5e2",
      "parents": [
        "40756d61ac05c71a1a00aa686bf5105bda420661",
        "2286b9f5ae822445646a5ed403949986498116b0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 11 21:39:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 11 21:39:41 2017 +0000"
      },
      "message": "Merge \"Remove clang: true\""
    },
    {
      "commit": "40756d61ac05c71a1a00aa686bf5105bda420661",
      "tree": "93b913a53b77e2201df48b2dc4e535027b1e9807",
      "parents": [
        "4c9d528a25a5b605643a13da24afb42d2d5d840c",
        "4c0803d16504079f58c85f88f376c0d3842004c5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 11 20:43:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 11 20:43:36 2017 +0000"
      },
      "message": "Merge \"Cast __builtin_swap64 to uint64_t.\""
    },
    {
      "commit": "4c0803d16504079f58c85f88f376c0d3842004c5",
      "tree": "82867b5f77ff846ec863f388c908898b8c0577ee",
      "parents": [
        "60103831eb96217983e9e98fc4ec88ae9f48a7c6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 08 16:52:59 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 11 13:21:35 2017 -0700"
      },
      "message": "Cast __builtin_swap64 to uint64_t.\n\nstrace 4.19 causes clang to emit a questionable warning:\n\n  external/strace/nlattr.c:254:35: error: format specifies type \u0027unsigned long\u0027 but the argument has type \u0027unsigned long long\u0027 [-Werror,-Wformat]\n                tprintf(\"htobe64(%\" PRIu64 \")\", be64toh(num));\n                                 ~~~            ^~~~~~~~~~~~\n  bionic/libc/include/sys/endian.h:100:20: note: expanded from macro \u0027be64toh\u0027\n  #define be64toh(x) htobe64(x)\n                     ^~~~~~~~~~\n  bionic/libc/include/sys/endian.h:80:17: note: expanded from macro \u0027htobe64\u0027\n  #define htobe64 __swap64\n                  ^\n  bionic/libc/include/sys/endian.h:48:18: note: expanded from macro \u0027__swap64\u0027\n  #define __swap64 __builtin_bswap64\n                   ^\n\nWhat\u0027s happened here is:\n\n* be64toh is __builtin_bswap64\n\n* PRIu64 is \"lu\"\n\n* __builtin_bswap64 is internally declared a \"ULLiULLi\"\n\nAll of which leads to the `unsigned long` !\u003d `unsigned long long` complaint.\n\nIt seems like __builtin_bswap64 should be ULiULi on 64-bit architectures,\nwhere `long` rather than `long long` is the natural way to refer to 64-bit\ntypes, as evidenced by the \"lu\" for PRIu64.\n\nAs long as clang behaves like this, though, we can work around it with a cast.\n\nAlso clean up the other casts in the file, be more consistent about whether\nthese function-like macros are defined with an argument, and remove an\nincorrect comment.\n\nBug: http://b/65495954\nTest: ran tests, built strace 4.19 without warnings\nChange-Id: I8e06d4bf71e95d62f556eab8661033e04d487e0d\n"
    },
    {
      "commit": "2286b9f5ae822445646a5ed403949986498116b0",
      "tree": "5ce4cb329035ba39834f1555b881eef1fe5a14ea",
      "parents": [
        "d74088bc46bba234a9bf24a91c16e64fc05ba3be"
      ],
      "author": {
        "name": "Lennart Wieboldt",
        "email": "lennart.1997@gmx.de",
        "time": "Mon Jul 24 20:06:15 2017 +0200"
      },
      "committer": {
        "name": "Lennart Wieboldt",
        "email": "lennart.1997@gmx.de",
        "time": "Mon Sep 11 21:43:58 2017 +0200"
      },
      "message": "Remove clang: true\n\nclang is the default compiler since Android nougat\n\nTest: mma \u0026 verified it´s still build with clang\nChange-Id: Id8b5361d18c1b2febb2dc6cc44502feaa08f605c\nSigned-off-by: Lennart Wieboldt \u003clennart.1997@gmx.de\u003e\n"
    },
    {
      "commit": "4c9d528a25a5b605643a13da24afb42d2d5d840c",
      "tree": "07ec4842deb71eadd51b231b8c86b5abf55e972d",
      "parents": [
        "d74088bc46bba234a9bf24a91c16e64fc05ba3be",
        "5702c6ff454a8a9695fae64597d7692b06fc27b5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 11 18:39:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 11 18:39:30 2017 +0000"
      },
      "message": "Merge \"Finish \u003csearch.h\u003e.\""
    },
    {
      "commit": "d74088bc46bba234a9bf24a91c16e64fc05ba3be",
      "tree": "bdce2985d38a6dcdde0e34f4f7a44c647d6c467c",
      "parents": [
        "60103831eb96217983e9e98fc4ec88ae9f48a7c6",
        "ab2f79c0daa113ceaacaa59c4573ba606ab7de15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 11 18:20:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 11 18:20:59 2017 +0000"
      },
      "message": "Merge \"For devices which are not treble enabled, return the system shell.\""
    },
    {
      "commit": "60103831eb96217983e9e98fc4ec88ae9f48a7c6",
      "tree": "08b369b64dbb5f879c13c9cb881cef9d3111ca28",
      "parents": [
        "04503da174b5e51ba9035fb79521a6a2af17c111",
        "00d8a8b77922da018d71984ff90fd8877eaafd09"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Sep 08 19:37:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 08 19:37:16 2017 +0000"
      },
      "message": "Merge \"Trivial tests for \u003cinttypes.h\u003e/\u003cstdlib.h\u003e *abs and *div functions.\""
    },
    {
      "commit": "ab2f79c0daa113ceaacaa59c4573ba606ab7de15",
      "tree": "47b2c3045044274ff6a1413f106ed96cb4e8874c",
      "parents": [
        "04503da174b5e51ba9035fb79521a6a2af17c111"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 01 16:29:44 2017 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Sep 07 17:19:21 2017 -0700"
      },
      "message": "For devices which are not treble enabled, return the system shell.\n\nFor treble enabled devices, still return the appropriate shell depending\non whether the process is a vendor process or a system one.\n\nTest: Manual testing: on a bullhead device, ran test programs from\n      /vendor/bin which used popen() and system(). The calls succeeded.\n\nBug: 65054230\n\nBug: 64516799\n\nMerged-In: I15dfdbb107cfca7c0f92f337c9bb46b9876eb38e\nChange-Id: I15dfdbb107cfca7c0f92f337c9bb46b9876eb38e\n(cherry picked from commit 1e52871773505edf70d10a3af7b003e9320ef6a3)\n"
    },
    {
      "commit": "00d8a8b77922da018d71984ff90fd8877eaafd09",
      "tree": "08b369b64dbb5f879c13c9cb881cef9d3111ca28",
      "parents": [
        "04503da174b5e51ba9035fb79521a6a2af17c111"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 07 16:42:13 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 07 17:01:37 2017 -0700"
      },
      "message": "Trivial tests for \u003cinttypes.h\u003e/\u003cstdlib.h\u003e *abs and *div functions.\n\nBecause I want something to copy \u0026 paste into the NDK support library test\nthat\u0027s slightly better than taking the address of the function...\n\nBug: https://github.com/android-ndk/ndk/issues/502\nTest: ran tests\nChange-Id: If43089d16691d6a4dcf5d972450b14ed85bbca81\n"
    },
    {
      "commit": "04503da174b5e51ba9035fb79521a6a2af17c111",
      "tree": "57c9851723cf0c884afaa53e6cf76d721dee4724",
      "parents": [
        "5a905961f8e0a576eaace8fda88aa8e119e824fe",
        "7379018162d83da8f2c25690541fe169e820f5e8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 07 23:11:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 07 23:11:22 2017 +0000"
      },
      "message": "Merge \"\u003cstdbool.h\u003e not necessary in C++.\""
    },
    {
      "commit": "7379018162d83da8f2c25690541fe169e820f5e8",
      "tree": "bbc0a4707f9c18704d29ae6e58d134a2dcb4e6dd",
      "parents": [
        "7f9f1b6f918bec90354f70f2eb3dcf87d85df918"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 07 13:28:14 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 07 13:28:14 2017 -0700"
      },
      "message": "\u003cstdbool.h\u003e not necessary in C++.\n\nBug: N/A\nTest: builds\nChange-Id: I40fffe92d4273eab5a98bd65013bb9da2aea2171\n"
    },
    {
      "commit": "5a905961f8e0a576eaace8fda88aa8e119e824fe",
      "tree": "68a2718f6507424907a50f86752d89d2b88526b2",
      "parents": [
        "0f6dd63e068440142bf07d2edc035e394053d2f0",
        "602b88ccddfafdefec023e7599d49c811ad3214f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 06 01:37:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 06 01:37:47 2017 +0000"
      },
      "message": "Merge \"Provide method to dump backtrace heap data.\""
    },
    {
      "commit": "602b88ccddfafdefec023e7599d49c811ad3214f",
      "tree": "11730f3f0cbc308860c4e45d6f0310c7f2083041",
      "parents": [
        "e0e2798f11ca082fe0a796f167f9006c51dc3304"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 04 13:04:04 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 05 15:57:00 2017 -0700"
      },
      "message": "Provide method to dump backtrace heap data.\n\nFor non-zygote spawned processes, we might want to dump the backtrace\ndata. Provide a method to send a signal to a process and then dump the\ndata to a file.\n\nAdds a method to dump the backtrace data on exit.\n\nUpdate documentation and explain format of heap dump data.\n\nTest: Ran unit tests, enabled new options and used them.\nChange-Id: Ie2fa706694160731afe02c1382b037d06df1d069\n"
    },
    {
      "commit": "0f6dd63e068440142bf07d2edc035e394053d2f0",
      "tree": "b1c0742e033af76412e450990974a60d0a046cd2",
      "parents": [
        "b20c246fc91261e3904f77817dbdf81b99acecf3",
        "77bb564dc7b3f1771a116b52a3227a91b5235026"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 01 00:44:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 01 00:44:43 2017 +0000"
      },
      "message": "Merge \"Use env to invoke python\""
    },
    {
      "commit": "5702c6ff454a8a9695fae64597d7692b06fc27b5",
      "tree": "198c64982038daff5603e6c6813089751f62328f",
      "parents": [
        "7f9f1b6f918bec90354f70f2eb3dcf87d85df918"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 31 17:27:05 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 31 17:38:51 2017 -0700"
      },
      "message": "Finish \u003csearch.h\u003e.\n\nI\u0027m unable to find a bug, but we\u0027ve had requests for this internally\nonce or twice (though I pointed those folks at the STL), and there\u0027s\ncode we build for the host or in our bootloaders that would use this,\nand there\u0027s reasonable-looking FreeBSD implementation ready and waiting.\n\nBug: N/A\nTest: ran tests\nChange-Id: I6ddee4b71bea4c22ed015debd31d3eaac4fcdd35\n"
    },
    {
      "commit": "b20c246fc91261e3904f77817dbdf81b99acecf3",
      "tree": "a25f2ea61210c943db669e55d34e60ca38d778b8",
      "parents": [
        "7f9f1b6f918bec90354f70f2eb3dcf87d85df918",
        "d40a833ab0cfbd810ea4567aefc121ae7ea4c9ec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 31 23:45:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 31 23:45:27 2017 +0000"
      },
      "message": "Merge \"Add an extra test for a POSIX iconv requirement.\""
    },
    {
      "commit": "77bb564dc7b3f1771a116b52a3227a91b5235026",
      "tree": "b1059f9d10339ef04e74d954d2e06edd238407b7",
      "parents": [
        "7f9f1b6f918bec90354f70f2eb3dcf87d85df918"
      ],
      "author": {
        "name": "Stephen Crane",
        "email": "sjc@immunant.com",
        "time": "Thu Aug 31 15:08:26 2017 -0700"
      },
      "committer": {
        "name": "Stephen Crane",
        "email": "sjc@immunant.com",
        "time": "Thu Aug 31 15:11:50 2017 -0700"
      },
      "message": "Use env to invoke python\n\n/usr/bin/python may be python3. We should respect PATH to find the python\nexecutable so it can be locally overridden to be python2.\n\nTest: Build libc, repo upload\nChange-Id: Iaddd7cd4a1c2177c32786e4fa0fc664ab0ad36de\n"
    },
    {
      "commit": "d40a833ab0cfbd810ea4567aefc121ae7ea4c9ec",
      "tree": "2bd6ae6e78e4edfc2dddd17c2c8d902311ccf178",
      "parents": [
        "e0e2798f11ca082fe0a796f167f9006c51dc3304"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 31 13:35:50 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 31 14:14:16 2017 -0700"
      },
      "message": "Add an extra test for a POSIX iconv requirement.\n\nBug: N/A\nTest: ran tests\nChange-Id: If211bf2a74ac3a6e8e84375c88f6c2580c392d50\n"
    },
    {
      "commit": "7f9f1b6f918bec90354f70f2eb3dcf87d85df918",
      "tree": "c411bdeaa0c0f2e0188c69576c1920456b0246f1",
      "parents": [
        "e0e2798f11ca082fe0a796f167f9006c51dc3304",
        "4945d8f121ff0f7bec857bd5664d79bc20c270ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 30 23:57:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 23:57:40 2017 +0000"
      },
      "message": "Merge \"Don\u0027t run disable_ld_config_file test on non-production devices\""
    },
    {
      "commit": "e0e2798f11ca082fe0a796f167f9006c51dc3304",
      "tree": "6753865c332d26aa022c2e1f4cf2ed566d51edfd",
      "parents": [
        "b3aea2bb9afd8202a25491d7f95d404c8054192c",
        "6eae4cc57bf6672ec5ecb3cae3bdc6827009531f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 19:37:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 19:37:53 2017 +0000"
      },
      "message": "Merge \"Explicitly name DT_RPATH.\""
    },
    {
      "commit": "b3aea2bb9afd8202a25491d7f95d404c8054192c",
      "tree": "a23a11b3141f307e3c0b8b3f94582aaf66fdd4a1",
      "parents": [
        "352afd0e932ee28bce48baf0d8b38ab3d149162d",
        "966d8a321e12d5c4353d1b786e8523df94e11ff6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 30 18:22:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 18:22:37 2017 +0000"
      },
      "message": "Merge \"Use have_dl to guard all tests that rely on icu4c.\""
    },
    {
      "commit": "4945d8f121ff0f7bec857bd5664d79bc20c270ad",
      "tree": "ea13d76732ee0e512793c1429842b7f86ecd601b",
      "parents": [
        "352afd0e932ee28bce48baf0d8b38ab3d149162d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Aug 30 11:30:53 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 31 01:42:55 2017 +0900"
      },
      "message": "Don\u0027t run disable_ld_config_file test on non-production devices\n\nThe test always fails when run on non-production devices. Silence the\nexpected failure.\n\nBug: 64908138\nTest: run CtsBionicTestCases on userdebug device. disable_ld_config_file\ntest does not fail.\n\nMerged-In: Icd24a356dfbc62f540e3263070434a4fd065bfbc\nChange-Id: Icd24a356dfbc62f540e3263070434a4fd065bfbc\n(cherry picked from commit 157655dc6785923740e334478c4e2f1a392bade4)\n"
    },
    {
      "commit": "966d8a321e12d5c4353d1b786e8523df94e11ff6",
      "tree": "eb3336ce916b80d334cc5d01731d6b0660e94d7c",
      "parents": [
        "dc7cc6258aa90409d3aa5453bdbb2667e049c9c1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 11:29:28 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 16:17:40 2017 +0000"
      },
      "message": "Use have_dl to guard all tests that rely on icu4c.\n\nBug: http://b/65138342\nTest: ran tests\nChange-Id: Iddded068a2481e8b15e102c8705545a886ae2772\n"
    },
    {
      "commit": "352afd0e932ee28bce48baf0d8b38ab3d149162d",
      "tree": "ca33610409ad0f5478c281e6582fa3196bf993c3",
      "parents": [
        "76a4bb980c1a4d0c7d08324a0045ec74a3448a23",
        "dc7cc6258aa90409d3aa5453bdbb2667e049c9c1"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Aug 30 16:15:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 16:15:55 2017 +0000"
      },
      "message": "Merge \"Restore dummy libdl.a implementation\""
    },
    {
      "commit": "6eae4cc57bf6672ec5ecb3cae3bdc6827009531f",
      "tree": "723aed7c5531e95770c7645965ecaa1c350b83b0",
      "parents": [
        "0d5d0746e8b88dab66038d6150cb92b62467aac1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 09:02:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 09:02:33 2017 -0700"
      },
      "message": "Explicitly name DT_RPATH.\n\nThe specific case of finding a DT_RPATH entry is a pretty common harmless\nwarning. An alternative to this change would be to just add a case to the\nswitch for DT_RPATH to just silently ignore it, since it\u0027s never been\nsupported and is deprecated anyway.\n\nBug: N/A\nTest: builds\nChange-Id: I01986da8f1f8d411fc2ea32d492c53b9f4488c72\n"
    },
    {
      "commit": "76a4bb980c1a4d0c7d08324a0045ec74a3448a23",
      "tree": "fcc24ce432046ffdcfb571f044e53c0a9a063640",
      "parents": [
        "dbd48e1d8c0ccee8873cdc4f368adf4678efef3c",
        "45da3263249f55cd7a0d927128a285ac20720367"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 15:57:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 15:57:40 2017 +0000"
      },
      "message": "Merge \"Add tests for all C11 headers.\""
    },
    {
      "commit": "dc7cc6258aa90409d3aa5453bdbb2667e049c9c1",
      "tree": "15479706305f69e29373626167150a9a575d76a3",
      "parents": [
        "7abea57ba599b9b114031ae33699b5d7fba8cc97"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Aug 30 10:52:19 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Aug 30 10:52:19 2017 +0200"
      },
      "message": "Restore dummy libdl.a implementation\n\nBug: http://b/36206043\nTest: bionic-unit-tests-static\nChange-Id: If0400b72b51570e5ca0d70ec0bd9fb77664b9210\n"
    },
    {
      "commit": "dbd48e1d8c0ccee8873cdc4f368adf4678efef3c",
      "tree": "c658f2d0828aa58313a7e6dce59f58910077ffdc",
      "parents": [
        "274e2661a239deb117c42dec0d76a02a3b3a78ac",
        "b6a6ac5ab2c7f9bbb7c9452d854e2bb6c66952c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 30 03:54:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 03:54:23 2017 +0000"
      },
      "message": "Merge \"Add missing libm introduced\u003d26 annotations.\""
    },
    {
      "commit": "274e2661a239deb117c42dec0d76a02a3b3a78ac",
      "tree": "0206815bc21045e93ca2648db263dcf292a5f1c2",
      "parents": [
        "0d5d0746e8b88dab66038d6150cb92b62467aac1",
        "0bfcbaf4d069e005d6e959d97f8d11c77722b70d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 30 00:06:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 30 00:06:04 2017 +0000"
      },
      "message": "Merge \"Add new status document, based on internal wiki.\""
    },
    {
      "commit": "45da3263249f55cd7a0d927128a285ac20720367",
      "tree": "8224951e0b8b70b032a3f5b577c62d37e0bf2e64",
      "parents": [
        "0d5d0746e8b88dab66038d6150cb92b62467aac1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 15:28:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 15:32:18 2017 -0700"
      },
      "message": "Add tests for all C11 headers.\n\nWell, all except \u003cthreads.h\u003e which we have no current plans to implement.\n\nThe only thing this turned up is that clang\u0027s \u003cfloat.h\u003e doesn\u0027t define\nFLT_HAS_SUBNORM/DBL_HAS_SUBNORM/LDBL_HAS_SUBNORM, so for now we assert\nthat those are missing so that when we get a fixed clang, we notice.\n\nAlso the \u003ctgmath.h\u003e is utterly perfunctory, but seems like an appropriate\namount of effort to put in.\n\nBug: N/A\nTest: ran tests\nChange-Id: I7f7a7040b3271ceda625bee8a40a9d8cef52ee44\n"
    },
    {
      "commit": "0d5d0746e8b88dab66038d6150cb92b62467aac1",
      "tree": "773b5e56bf6c0cd110f86797a6be7cd8923fceda",
      "parents": [
        "0e23c87de5bd223a79d397b45d97283509035f27",
        "7abea57ba599b9b114031ae33699b5d7fba8cc97"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 29 18:51:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 29 18:51:05 2017 +0000"
      },
      "message": "Merge changes from topic \"version-script-for-binaries\"\n\n* changes:\n  Replace artificial symbol table with proper one\n  Implement __gnu_Unwind_Find_exidx/__cxa_type_match\n"
    },
    {
      "commit": "b6a6ac5ab2c7f9bbb7c9452d854e2bb6c66952c3",
      "tree": "b167adcea7657d5742997c5fa2c3af3bb798cb5f",
      "parents": [
        "8468a1be012f485c4f6579204704b52f5409cdc2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 11:09:00 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 11:45:31 2017 -0700"
      },
      "message": "Add missing libm introduced\u003d26 annotations.\n\nWithout this, the NDK stub libm.so files think we\u0027ve had the new O\nfunctions since the beginning of time.\n\nBug: N/A\nTest: nm\nChange-Id: Ibdd7b910934b706348cc6d10b2b6b63a283d7320\n"
    },
    {
      "commit": "0bfcbaf4d069e005d6e959d97f8d11c77722b70d",
      "tree": "c1c11870e6184884cf8f2dc6cf9cdf250cf5abde",
      "parents": [
        "8468a1be012f485c4f6579204704b52f5409cdc2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 28 09:18:34 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 29 11:07:36 2017 -0700"
      },
      "message": "Add new status document, based on internal wiki.\n\nAlso start breaking up the monolithic top level README.md, pulling the\n32-bit ABI stuff out into its own file, and moving the remaining benchmark\ndocumentation in with the rest of the benchmark documentation.\n\nBug: N/A\nTest: N/A\nChange-Id: Ic1b9995e27b5044199ed34883cc0b8faa894df0e\n"
    },
    {
      "commit": "7abea57ba599b9b114031ae33699b5d7fba8cc97",
      "tree": "773b5e56bf6c0cd110f86797a6be7cd8923fceda",
      "parents": [
        "25bf29bbadaeb593bdb9211dc75063903ce369e4"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Aug 29 18:14:49 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Aug 29 18:18:28 2017 +0200"
      },
      "message": "Replace artificial symbol table with proper one\n\nThis change also replaces elf-hash with gnu-hash.\n\nTest: make\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nChange-Id: Ibc4026f7abc7e8002f69c33eebaf6a193f1d22eb\n"
    },
    {
      "commit": "25bf29bbadaeb593bdb9211dc75063903ce369e4",
      "tree": "942cfd42e5f74284e3385c51c86f7d26b12af10d",
      "parents": [
        "0e23c87de5bd223a79d397b45d97283509035f27"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Aug 29 13:38:04 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Aug 29 18:18:27 2017 +0200"
      },
      "message": "Implement __gnu_Unwind_Find_exidx/__cxa_type_match\n\nLeaving these unimplemented causes linker to have 2 weak undefined\nsymbols which in turn results in 3 unwanted relocations for arm arch.\nImplementing them removes unwanted relocations from resulted dynamic\nobject\n\nTest: make \u0026\u0026 readelf --dyn-sym linker\nTest: linker-unit-tests \u0026\u0026 bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nTest: flash and boot angler\nChange-Id: I10120271936c770659239898aaf852d31c5483c2\n"
    },
    {
      "commit": "0e23c87de5bd223a79d397b45d97283509035f27",
      "tree": "b078297eecec1b423447f20fa15cd3033efad54b",
      "parents": [
        "8468a1be012f485c4f6579204704b52f5409cdc2",
        "8dc4ef98ffdbd9421d54228b5bf4054fcc9ff3b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 29 03:28:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 29 03:28:25 2017 +0000"
      },
      "message": "Merge \"Allow io_* syscalls.\""
    },
    {
      "commit": "8468a1be012f485c4f6579204704b52f5409cdc2",
      "tree": "867433cc93ba2b446abb475d05908f1af847affc",
      "parents": [
        "6a4c0eff12bef1d0c77b7fa231b090b4bc3445b6",
        "f11aa95ee7f3c7c3a8538deefd084cdab351c01a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 26 00:02:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 26 00:02:50 2017 +0000"
      },
      "message": "Merge \"Pretend the \u003cfts.h\u003e functions didn\u0027t appear until 21.\""
    },
    {
      "commit": "6a4c0eff12bef1d0c77b7fa231b090b4bc3445b6",
      "tree": "3060628283a10b50ce4bec56e04debbd02d00e17",
      "parents": [
        "d615a06068f9d0dd01df840122221d183ba1098e",
        "bda6f3b6af8788b34f435632ae0738c35f49b2ec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 25 23:47:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 23:47:26 2017 +0000"
      },
      "message": "Merge \"Improve names for function arguments in \u003cunistd.h\u003e for Studio.\""
    },
    {
      "commit": "f11aa95ee7f3c7c3a8538deefd084cdab351c01a",
      "tree": "e19fa29f07c507e04a8484ffb60a60401b2d1111",
      "parents": [
        "d615a06068f9d0dd01df840122221d183ba1098e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 15:18:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 15:18:33 2017 -0700"
      },
      "message": "Pretend the \u003cfts.h\u003e functions didn\u0027t appear until 21.\n\nBecause there was an accidental ABI breakage in 21, and we can\u0027t fix\nthe past. It seems more useful to refuse to build code that won\u0027t work\non any current or future device.\n\nBug: https://issuetracker.google.com/37051826\nTest: builds\nChange-Id: I4b5c30f899e2c7307642e2fb20e43a3ca14ae7fe\n"
    },
    {
      "commit": "bda6f3b6af8788b34f435632ae0738c35f49b2ec",
      "tree": "3060628283a10b50ce4bec56e04debbd02d00e17",
      "parents": [
        "d615a06068f9d0dd01df840122221d183ba1098e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 15:07:05 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 15:07:05 2017 -0700"
      },
      "message": "Improve names for function arguments in \u003cunistd.h\u003e for Studio.\n\nSpotted while adding syncfs(2). I\u0027d previously seen that this file already\nhad names, but apparently not inspected them. A couple were missing, a\ncouple (pipe/pipe2) could usefully have a more specific type, and many\nhadruntogethercstylenames.\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I6b4a131bf51bf04825317ec481bc55e87c88c2b3\n"
    },
    {
      "commit": "d615a06068f9d0dd01df840122221d183ba1098e",
      "tree": "72d4723235edc406442102d0876dfc0eb153d571",
      "parents": [
        "96b313506a72ab7e258d4a0a92e7b1513f81937c",
        "a648733cb7398810df9a35528cc6e874edc57b06"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 25 21:06:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 21:06:44 2017 +0000"
      },
      "message": "Merge \"Implement \u003ciconv.h\u003e.\""
    },
    {
      "commit": "96b313506a72ab7e258d4a0a92e7b1513f81937c",
      "tree": "2fbc1222ca095a3e5a3ea357f15f2b143228c4ca",
      "parents": [
        "571c88823636e3c6f894e806ea7c4dc8131a1ae4",
        "814359a88053aa4eb80e2e0b8118ed88b44d3ec4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 25 18:07:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 18:07:48 2017 +0000"
      },
      "message": "Merge \"Update the bionic benchmarks documentation.\""
    },
    {
      "commit": "814359a88053aa4eb80e2e0b8118ed88b44d3ec4",
      "tree": "2fbc1222ca095a3e5a3ea357f15f2b143228c4ca",
      "parents": [
        "571c88823636e3c6f894e806ea7c4dc8131a1ae4"
      ],
      "author": {
        "name": "Anders Lewis",
        "email": "agloo@google.com",
        "time": "Fri Aug 11 16:07:18 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 25 10:41:38 2017 -0700"
      },
      "message": "Update the bionic benchmarks documentation.\n\nTest: NA\nChange-Id: I6b804a1655b5cb76f189366070d478680f40c5d1\n"
    },
    {
      "commit": "a648733cb7398810df9a35528cc6e874edc57b06",
      "tree": "90ff33e6b479b5ccb20b1a8bb0007dacde75bc8d",
      "parents": [
        "571c88823636e3c6f894e806ea7c4dc8131a1ae4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 15 23:16:48 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 08:47:41 2017 -0700"
      },
      "message": "Implement \u003ciconv.h\u003e.\n\nBug: http://b/32978596\nTest: ran tests\nChange-Id: I56b6ae3d9c5a3a56d2b4afba33fb8f9e964bf7b9\n"
    },
    {
      "commit": "571c88823636e3c6f894e806ea7c4dc8131a1ae4",
      "tree": "3f4b7d6786325a77267ee35d8813039c54fef345",
      "parents": [
        "fa3d3291e1107aeb84c0a9ff1687b0d24fd7176a",
        "44d8f7be1f82ef8db5d2cae9c820b532467466d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 15:44:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 15:44:23 2017 +0000"
      },
      "message": "Merge \"Fix ndk build.\""
    },
    {
      "commit": "44d8f7be1f82ef8db5d2cae9c820b532467466d5",
      "tree": "3f4b7d6786325a77267ee35d8813039c54fef345",
      "parents": [
        "fa3d3291e1107aeb84c0a9ff1687b0d24fd7176a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 08:42:48 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 08:42:48 2017 -0700"
      },
      "message": "Fix ndk build.\n\nThe NDK gen_stub_libs.py doesn\u0027t support introduced\u003dP yet:\n\n  Traceback (most recent call last):\n    File \"build/soong/cc/gen_stub_libs.py\", line 439, in \u003cmodule\u003e\n      main()\n    File \"build/soong/cc/gen_stub_libs.py\", line 429, in main\n      versions \u003d SymbolFileParser(symbol_file, api_map).parse()\n    File \"build/soong/cc/gen_stub_libs.py\", line 234, in parse\n      versions.append(self.parse_version())\n    File \"build/soong/cc/gen_stub_libs.py\", line 269, in parse_version\n      symbols.append(self.parse_symbol())\n    File \"build/soong/cc/gen_stub_libs.py\", line 286, in parse_symbol\n      tags \u003d decode_api_level_tags(tags, self.api_map)\n    File \"build/soong/cc/gen_stub_libs.py\", line 76, in decode_api_level_tags\n      raise ParseError(\u0027Unknown version name in tag: {}\u0027.format(tag))\n  __main__.ParseError: Unknown version name in tag: introduced\u003dP\n\nBug: N/A\nTest: builds\nChange-Id: Ifd91e525b30f3aa9ad8c889c9564cd769a3a603a\n"
    },
    {
      "commit": "fa3d3291e1107aeb84c0a9ff1687b0d24fd7176a",
      "tree": "ce0d61fb5b205619df8e89eda5506f06a5a547b7",
      "parents": [
        "eab34c8ad75e4cb2a1b66eb2474c023b79b24b6b",
        "896362eb0e82bcde71c137c925eae9e0882acb91"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 14:50:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 14:50:58 2017 +0000"
      },
      "message": "Merge \"Add syncfs(2).\""
    },
    {
      "commit": "eab34c8ad75e4cb2a1b66eb2474c023b79b24b6b",
      "tree": "832e35a65c7db27ea693d10cdbc32e7cf18ef5a5",
      "parents": [
        "1ca334b1c4495254bed39adea9934079d5334be5",
        "5da4fe4adaf80c1a5103f739f1ce51de0db795cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 25 14:50:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 14:50:43 2017 +0000"
      },
      "message": "Merge \"Fix overflow in get_phys_pages and get_avphys_pages.\""
    },
    {
      "commit": "1ca334b1c4495254bed39adea9934079d5334be5",
      "tree": "fd26b94d09d10ffe8f143b25b93859e0be6008b9",
      "parents": [
        "96c577c48284c376ec065f2b3a2d2987a7eeff5c",
        "d9d39be0f0716eea1127b95be5c0b8155122fbd4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 25 01:03:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 25 01:03:13 2017 +0000"
      },
      "message": "Merge \"A few small fix ups.\""
    },
    {
      "commit": "5da4fe4adaf80c1a5103f739f1ce51de0db795cf",
      "tree": "7b9f4331dd067ee80db331b59f2a795976217fb9",
      "parents": [
        "96c577c48284c376ec065f2b3a2d2987a7eeff5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 24 16:44:08 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 24 16:51:48 2017 -0700"
      },
      "message": "Fix overflow in get_phys_pages and get_avphys_pages.\n\nOn LP32 mem_unit will be 4096 to allow more than 4GiB in the \"ulong\"\nfields, but we need to promote to a 64-bit type before we multiply.\n\nBug: N/A\nTest: tested manually with an x86 static binary on my 64GiB desktop.\nSigned-off-by: YiPing Xu \u003cxuyiping@hisilicon.com\u003e\nChange-Id: Id663932503b75793bb7c26a008129f3e2e4cccbf\n"
    },
    {
      "commit": "896362eb0e82bcde71c137c925eae9e0882acb91",
      "tree": "3c4b2fb6e1626a2b377c93bd925f4f0fb4e02a9c",
      "parents": [
        "96c577c48284c376ec065f2b3a2d2987a7eeff5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 24 16:31:49 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 24 16:31:49 2017 -0700"
      },
      "message": "Add syncfs(2).\n\nGMM calls this system call directly at the moment. That\u0027s silly.\n\nBug: http://b/36405699\nTest: ran tests\nChange-Id: I1e14c0e5ce0bc2aa888d884845ac30dc20f13cd5\n"
    },
    {
      "commit": "d9d39be0f0716eea1127b95be5c0b8155122fbd4",
      "tree": "44b29ea650d690588b3d87f0a8b559ebf2b77dd1",
      "parents": [
        "8e410a73d411a1dfe0a5074c9f956adfae361027"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 23 18:03:51 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 24 14:50:03 2017 -0700"
      },
      "message": "A few small fix ups.\n\n- Add a default xml file to run if nothing is specified on the command-line.\n- Add a way to specify a xml file in suites without having to specify the\n  full path name.\n- Move all of the test xml files into their own directory.\n- Add the suites directory for to glibc benchmarks.\n- Add a new test for help data.\n- Modify the full suite test to verify the default xml is chosen and use\n  the real full.xml instead of the test one. Delete the test_full.xml.\n- Move the property tests to the end of the suite.\n- Add skipping of xml comments.\n\nTest: Ran the unit tests and ran the bionic benchmarks.\nChange-Id: Ie99965f86fe915af0175de46c7780ab79e2b0843\n"
    },
    {
      "commit": "96c577c48284c376ec065f2b3a2d2987a7eeff5c",
      "tree": "a6a964ff75e25c84f0323ebd0d261f4e89521dd2",
      "parents": [
        "8e410a73d411a1dfe0a5074c9f956adfae361027",
        "c7bd90ff6f7b45bc33f765bf9c6dd42b043e71f6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 24 18:01:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 18:01:38 2017 +0000"
      },
      "message": "Merge \"tests: explain how to debug FileCheck failures\""
    },
    {
      "commit": "8e410a73d411a1dfe0a5074c9f956adfae361027",
      "tree": "ee5d992a23fba77d9220eaa9a4a04705e50020ab",
      "parents": [
        "506f3f11f135039f3662ba183605bb194824aa57",
        "4b26f71778b446bb2da1592b20bcfa281d706c89"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 24 17:01:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 17:01:56 2017 +0000"
      },
      "message": "Merge \"Fix local path assumption in interface_test.\""
    },
    {
      "commit": "506f3f11f135039f3662ba183605bb194824aa57",
      "tree": "5d0014007f1dd80b01d4ca46fa8828cc9ec04f77",
      "parents": [
        "7b4fb64177a3d82cc223553366c32f3f11bee680",
        "fe1b27cf844aabaf4c4b06018cea96794e8b5d0d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 24 09:38:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 09:38:33 2017 +0000"
      },
      "message": "Merge \"Add support of architecture specific ld.configs\""
    },
    {
      "commit": "7b4fb64177a3d82cc223553366c32f3f11bee680",
      "tree": "8bfecf0b4aa4980b6138a263139b762d0ae5ec11",
      "parents": [
        "8afd42ff285c9f1b28b437f4938fa9f56120c684",
        "df9a489b2bfcc224943a12b447e9cf00db81d9e0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 24 02:31:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 02:31:35 2017 +0000"
      },
      "message": "Merge \"Add more const-correct C++ overloads.\""
    },
    {
      "commit": "8afd42ff285c9f1b28b437f4938fa9f56120c684",
      "tree": "3347170c864d6f59fb08a34db28a504df0716ba0",
      "parents": [
        "73c23ead427037ffd891c1ee11d833b8e6c31386",
        "8f0c87e21f023cbbdc9a090535911619d2e881d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 24 01:07:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 01:07:36 2017 +0000"
      },
      "message": "Merge \"Remove dead `longjmperror`.\""
    },
    {
      "commit": "c7bd90ff6f7b45bc33f765bf9c6dd42b043e71f6",
      "tree": "2566cc25a660ab7940a8f08f85651c3ce6caab9b",
      "parents": [
        "57e07a150e536f79d78f8203b0c807087b5c854b"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Aug 23 17:32:48 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Aug 24 00:36:15 2017 +0000"
      },
      "message": "tests: explain how to debug FileCheck failures\n\nAs requested by enh@ in Ie9ed1fbcc794e14a0c9bba13b5307ad677949613.\n\nBug: None\nTest: mma\nChange-Id: I3beb97fb500faa50d79f9355898bf778ab1184bd\n"
    },
    {
      "commit": "8f0c87e21f023cbbdc9a090535911619d2e881d7",
      "tree": "3347170c864d6f59fb08a34db28a504df0716ba0",
      "parents": [
        "73c23ead427037ffd891c1ee11d833b8e6c31386"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 15:40:03 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 15:40:03 2017 -0700"
      },
      "message": "Remove dead `longjmperror`.\n\nThis used to be used by the ARM longjmp implementation, but hasn\u0027t been in\nlibc.so for as long as we\u0027ve used a linker script.\n\nBug: N/A\nTest: builds\nChange-Id: I3dff4d154d5e317955c349c9eaa08b982cbf0285\n"
    },
    {
      "commit": "73c23ead427037ffd891c1ee11d833b8e6c31386",
      "tree": "cb655541a4b96f3af5c854a80793af05833235b5",
      "parents": [
        "57e07a150e536f79d78f8203b0c807087b5c854b",
        "938bece9e0c5d7d67d137dbfbba1e2d244c95b35"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 22:20:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 23 22:20:57 2017 +0000"
      },
      "message": "Merge \"Benchmark fgetln(3) and getline(3) as well as fgets(3).\""
    },
    {
      "commit": "df9a489b2bfcc224943a12b447e9cf00db81d9e0",
      "tree": "4ab72c37dc663296fedc579b194646b89d8d931c",
      "parents": [
        "57e07a150e536f79d78f8203b0c807087b5c854b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 14:34:03 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Aug 23 14:34:40 2017 -0700"
      },
      "message": "Add more const-correct C++ overloads.\n\nlibc++ actually provides overloads for all the standard C library stuff,\nso we just need to handle the POSIX and GNU extensions, of which there\nare just two more: memrchr and strcasestr.\n\nBug: http://b/22768375\nTest: builds\nChange-Id: Ie9ed1fbcc794e14a0c9bba13b5307ad677949613\n"
    },
    {
      "commit": "938bece9e0c5d7d67d137dbfbba1e2d244c95b35",
      "tree": "cb655541a4b96f3af5c854a80793af05833235b5",
      "parents": [
        "57e07a150e536f79d78f8203b0c807087b5c854b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 09:52:50 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 14:03:43 2017 -0700"
      },
      "message": "Benchmark fgetln(3) and getline(3) as well as fgets(3).\n\nOn Pixel 2016, there\u0027s about 1us overhead for getline versus\nfgets. fgetln(3) is worse still because of the intermediate buffering\n(though it might actually be better if you were only reading one line\nwhose length was less than BUFSIZ).\n\nAlso use somewhat realistic input for these benchmarks: /dev/zero makes\nno sense at all.\n\nBug: N/A\nTest: ran benchmarks\nChange-Id: I4a319825a37ac3849014c4c6b31523c1e200c641\n"
    },
    {
      "commit": "57e07a150e536f79d78f8203b0c807087b5c854b",
      "tree": "0fa9d4957221655de00bb2b385bba2267a431346",
      "parents": [
        "96ba713f7336c1c21dacee8a4add72a47cdd826c",
        "d706fe5f9e83707901389914c77afa69c19e07e6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 15:55:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 23 15:55:28 2017 +0000"
      },
      "message": "Merge \"Fix the stdio fwrite benchmark.\""
    },
    {
      "commit": "fe1b27cf844aabaf4c4b06018cea96794e8b5d0d",
      "tree": "0cccd3a6c05a817c652483e05e60fedd71752759",
      "parents": [
        "96ba713f7336c1c21dacee8a4add72a47cdd826c"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri Aug 11 14:43:21 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Aug 23 10:47:07 2017 +0200"
      },
      "message": "Add support of architecture specific ld.configs\n\nPrefer architecture specific ld.config.\u003carch\u003e.txt if it exists;\nfall back to default ld.config.txt files if arch-specific one is\nnot present.\n\nBug: http://b/64061157\nTest: bionic-unit-tests \u0026\u0026 linker-unit-tests\nChange-Id: I83a298a932f2e4af7acb2049a7641fb86908736c\n"
    },
    {
      "commit": "96ba713f7336c1c21dacee8a4add72a47cdd826c",
      "tree": "49991a9504047be29a3f62878f6afa6cf8fb834a",
      "parents": [
        "3ce774c83bb0fb25ec7f88ff384d8176a41e7c11",
        "0288dbb73916f0bcad01a60defbc7e0a4409ee91"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Aug 23 07:16:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 23 07:16:34 2017 +0000"
      },
      "message": "Merge \"Fix wchar.wcstold_hex_floats on arm64\""
    },
    {
      "commit": "3ce774c83bb0fb25ec7f88ff384d8176a41e7c11",
      "tree": "0de87c9ac79944abb7ff929145a2f07d150676fe",
      "parents": [
        "1b3fe44e3dcf2729292313422a795b218feb113c",
        "abf510a39fd527426e63856156e41c458dedf980"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 00:29:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 23 00:29:45 2017 +0000"
      },
      "message": "Merge \"Add three more functions to the list of POSIX cruft.\""
    },
    {
      "commit": "d706fe5f9e83707901389914c77afa69c19e07e6",
      "tree": "dffb701fa9e822f6c45c2d14d711e51d1701e22a",
      "parents": [
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 22 15:26:07 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 23 00:05:21 2017 +0000"
      },
      "message": "Fix the stdio fwrite benchmark.\n\nCan\u0027t write to a read-only file. (Mode \"rw\" isn\u0027t meaningful, but isn\u0027t\nconsidered an error by any libc I know of.)\n\nBug: http://b/64585477\nTest: ran benchmarks\nChange-Id: Ifec1d68414bfc8f3cc8d7f912cb135dccb2e7a41\n"
    },
    {
      "commit": "1b3fe44e3dcf2729292313422a795b218feb113c",
      "tree": "05a90ce29fbac9d23d597138ea7c18dc5d4d7479",
      "parents": [
        "4a3c9751ebb7054b27c0ee25d2891646a4a5699c",
        "92476407115f4431c5888c02cdb5f476b26e393a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 22 22:50:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 22:50:32 2017 +0000"
      },
      "message": "Merge \"Refactor BufferOutputStream.\""
    },
    {
      "commit": "abf510a39fd527426e63856156e41c458dedf980",
      "tree": "418c33d185e3f88d10f3b3aac13ae80697298e35",
      "parents": [
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 22 15:21:39 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 22 15:21:39 2017 -0700"
      },
      "message": "Add three more functions to the list of POSIX cruft.\n\nIt will never make sense to implement confstr, gethostid, or ulimit.\n\nBug: N/A\nTest: N/A\nChange-Id: I9cc18b8a0dbe066f0f76b842c5a5be6b8d5da436\n"
    },
    {
      "commit": "92476407115f4431c5888c02cdb5f476b26e393a",
      "tree": "d1724f23f16883ab14e7fca02054973635bc6141",
      "parents": [
        "3ce8834e53304b66e5b0d0d56bc0efea1a172e95"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 22 11:24:09 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 22 13:17:28 2017 -0700"
      },
      "message": "Refactor BufferOutputStream.\n\n- Rewrite BufferOutputStream to handle 0 sized buffers and to get rid\n  of an unnecessary loop.\n- Add tests to verify overflow corner cases.\n- Implement async_safe_format_buffer to call async_safe_format_buffer_va_list\n  instead of duplicate the code.\n\nTest: Ran new unit tests, booted on angler.\nChange-Id: I7fb13e209f5b7443d212f55aab4b05ff2e0e8219\n"
    },
    {
      "commit": "4a3c9751ebb7054b27c0ee25d2891646a4a5699c",
      "tree": "9385ee595c5c7284d71199f9871a6b3432a8a460",
      "parents": [
        "8440dc736d6296a7966b543eeba4453a3e83db87",
        "9b1ca569db3e698c3a901720ae6989c876a9e6ee"
      ],
      "author": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Tue Aug 22 19:55:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 19:55:41 2017 +0000"
      },
      "message": "Merge \"libc: Add support to allow library calls to find appropriate shell executable for a process\""
    },
    {
      "commit": "9b1ca569db3e698c3a901720ae6989c876a9e6ee",
      "tree": "586e7581ad2e2296aa8b24cb4c5bcf598255bfbb",
      "parents": [
        "611d0de62fc7d23dcdd120c2d3698acc85351f9e"
      ],
      "author": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Mon Aug 21 12:17:19 2017 -0700"
      },
      "committer": {
        "name": "Sandeep Patil",
        "email": "sspatil@google.com",
        "time": "Tue Aug 22 10:17:28 2017 -0700"
      },
      "message": "libc: Add support to allow library calls to find appropriate shell executable for a process\n\nLibrary calls like system() and popen() invoke the shell executable\npointed to by \u0027_PATH_BSHELL\u0027 in order to run the command passed into the\nfunction. The _PATH_BSHELL points to /system/bin/sh by default and thus\nbreaks any vendor process trying to use system() / popen(), as they are\ndenied access to system shell by selinux.\n\nThis CL make necessary changes, so the implmentations of system() and popen()\ncan use the appropriate shell (e.g. /vendor/bin/sh for processes running\nout of /vendor partition). Also, changes the implementation of system()\nand popen().\n\nBug: 64832610\nTest: Manual, Using a test program running from /system/bin and\n      /vendor/bin to ensure correct shell is being used.\n\nChange-Id: Ie7168d69decb1ae98284446ae7db34dec930dc33\nMerged-In: Ie7168d69decb1ae98284446ae7db34dec930dc33\nSigned-off-by: Sandeep Patil \u003csspatil@google.com\u003e\n(cherry picked from commit aa3e32422cc7089b9b15976f2651a58840d95e4f)\n"
    },
    {
      "commit": "8440dc736d6296a7966b543eeba4453a3e83db87",
      "tree": "4df43f3f105df68fe13deb5fe1e4338a8d1bca5c",
      "parents": [
        "119ef0a32066bbb52c58196e32f28e83df8e5f52",
        "611d0de62fc7d23dcdd120c2d3698acc85351f9e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 22 16:22:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 22 16:22:54 2017 +0000"
      },
      "message": "Merge \"Name function arguments in libc headers for Studio.\"\nam: 611d0de62f\n\nChange-Id: I5c089d77145a0189b6ec52ecad65bdfaa8477fd2\n"
    },
    {
      "commit": "611d0de62fc7d23dcdd120c2d3698acc85351f9e",
      "tree": "924929fb0dfc6dbe9994524689a2ead1265df6d8",
      "parents": [
        "f3b92f14857b3947e7f7d1a3906da72b12e8c070",
        "ffde533ed9fb7ecc023cae1dd123a493d2cba859"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 22 16:14:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 16:14:26 2017 +0000"
      },
      "message": "Merge \"Name function arguments in libc headers for Studio.\""
    },
    {
      "commit": "0288dbb73916f0bcad01a60defbc7e0a4409ee91",
      "tree": "d1a3007f8fe2a634e123ae8399ae19f02780c25c",
      "parents": [
        "f3b92f14857b3947e7f7d1a3906da72b12e8c070"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Aug 22 17:52:02 2017 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Aug 22 17:52:02 2017 +0800"
      },
      "message": "Fix wchar.wcstold_hex_floats on arm64\n\nThis commit fixes wchar.wcstold_hex_floats on arm64.  On AArch64\n(ARM64), the `long double` type has 128 bits and is more precise then\n`double` type (64-bit).  As a result, `1e100L` is slightly different\nfrom `static_cast\u003clong double\u003e(1e100)`.\n\nThis commit fixes the regression by adding \u0027L\u0027 after the floating point\nliterals.  This should work because casting from a higher precision\nto lower precision won\u0027t lose any precisions.\n\nTest: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests \\\n  --gtest-filter\u003dwchar.wcstold_hex_floats\nTest: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nTest: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests\n\nChange-Id: Ibd7b6a5d46c38338b4ca56838d9d272c710b32f6\n"
    },
    {
      "commit": "ffde533ed9fb7ecc023cae1dd123a493d2cba859",
      "tree": "da6bd771d636488585359f956beb79600704ff5e",
      "parents": [
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 21 14:51:59 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 21 14:51:59 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nFinal batch of headers...\n\nBug: http://b/64613623\nTest: builds\n\nChange-Id: I86578c7c2df446b210fa1bdda3391b21f340e947\n"
    },
    {
      "commit": "119ef0a32066bbb52c58196e32f28e83df8e5f52",
      "tree": "a30d772bf3d201b014b8eb4b65ac5ea3c694a248",
      "parents": [
        "411814e0a9ced7751a1b0f64bbe696987444a630",
        "f3b92f14857b3947e7f7d1a3906da72b12e8c070"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 19 16:48:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 19 16:48:21 2017 +0000"
      },
      "message": "Merge \"Name function arguments in libc headers for Studio.\"\nam: f3b92f1485\n\nChange-Id: I033daf856c6fab5ec41702b36c4d384475de9178\n"
    },
    {
      "commit": "f3b92f14857b3947e7f7d1a3906da72b12e8c070",
      "tree": "775516ba3028c396053182cde1b84e0fef34a337",
      "parents": [
        "7ac99d3ff6f246c928e6e6dfe4a374de1c85037f",
        "684c31a2676772ad1fa2005941dcb6f6493b7dfc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 19 16:42:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 19 16:42:07 2017 +0000"
      },
      "message": "Merge \"Name function arguments in libc headers for Studio.\""
    },
    {
      "commit": "411814e0a9ced7751a1b0f64bbe696987444a630",
      "tree": "7d73cd3197ef97e4e88354d847a7ec150c029709",
      "parents": [
        "55d0f1636958abf700fcee4dc8765bc0c2cc86b5",
        "7ac99d3ff6f246c928e6e6dfe4a374de1c85037f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Aug 18 22:58:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 18 22:58:12 2017 +0000"
      },
      "message": "Merge \"Disable FORTIFY on ASAN builds\"\nam: 7ac99d3ff6\n\nChange-Id: Ib469956edc364bd0d4af59dc5a79439528bf5efd\n"
    },
    {
      "commit": "7ac99d3ff6f246c928e6e6dfe4a374de1c85037f",
      "tree": "4003f1f5ccf26c1fbef3251df3aba56ad18d9758",
      "parents": [
        "cbb09bcbb16d728a0e03de0d5d33fc95d833aedf",
        "d9551db089e01d08db4198d7cef4aaecc878b9ea"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 18 22:52:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 22:52:27 2017 +0000"
      },
      "message": "Merge \"Disable FORTIFY on ASAN builds\""
    },
    {
      "commit": "684c31a2676772ad1fa2005941dcb6f6493b7dfc",
      "tree": "219e96cfeaeeb5f1b20b712533313501ab37b766",
      "parents": [
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 15:07:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 15:07:41 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nThird batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I32d8467a0bd22ba94d76476397f4f7dc51003886\n"
    },
    {
      "commit": "d9551db089e01d08db4198d7cef4aaecc878b9ea",
      "tree": "a8cdee1eb37db3533366f8bff3bfffe010e0a9df",
      "parents": [
        "cf3b0c183d9a6910db6384e6f8095c414041ea0c"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Aug 17 18:51:02 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Aug 18 13:33:45 2017 -0700"
      },
      "message": "Disable FORTIFY on ASAN builds\n\nFORTIFY\u0027s *_chk functions mess with ASAN\u0027s library function\ninterceptors, which can apparently result in false-positives.\n\nSince adding even more complexity to every run-time check condition in\nFORTIFY doesn\u0027t seem like a great idea, and the majority of our builds\nwill still use FORTIFY anyway, turning FORTIFY off here seems\nreasonable.\n\nBug: 63104159\nTest: checkbuild on internal master + CtsBionicTestCases. No new\nfailures.\n\nChange-Id: Id32e551e28ee70a9815ad140c3253b86f03de63f\n"
    },
    {
      "commit": "55d0f1636958abf700fcee4dc8765bc0c2cc86b5",
      "tree": "9f9fe9f562af4117ffbd2989fba463b1d3635319",
      "parents": [
        "169f883ef11995e782d0931e70495474556e1e13",
        "cbb09bcbb16d728a0e03de0d5d33fc95d833aedf"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 18 20:06:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 18 20:06:28 2017 +0000"
      },
      "message": "Merge \"Always use CLOCK_MONOTONIC for pthreads and semaphores\"\nam: cbb09bcbb1\n\nChange-Id: Ic0192542c3f4de8afc4cdc4719c2db1e59bcfc4b\n"
    },
    {
      "commit": "cbb09bcbb16d728a0e03de0d5d33fc95d833aedf",
      "tree": "aa8a4c16b2f56f55d8d074be426dd98f4d12be7d",
      "parents": [
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6",
        "ac49cedc7e2bab2073a0895ef01e31dac84f590b"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 18 19:59:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 19:59:26 2017 +0000"
      },
      "message": "Merge \"Always use CLOCK_MONOTONIC for pthreads and semaphores\""
    },
    {
      "commit": "ac49cedc7e2bab2073a0895ef01e31dac84f590b",
      "tree": "49713323bcf5e81e429e669e359bd99021d771e6",
      "parents": [
        "30438e4cea83628bcacbedff37a35398bb8b40e7"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Aug 17 13:18:52 2017 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 18 09:11:05 2017 -0700"
      },
      "message": "Always use CLOCK_MONOTONIC for pthreads and semaphores\n\npthread\u0027s and semaphore\u0027s default behavior is to use CLOCK_REALTIME,\nhowever this behavior is essentially never intended, as that clock is\nprone to change discontinuously.\n\nWhat users really intend is to use CLOCK_MONOTONIC, however only\npthread_cond_timedwait() provides this as an option and even there, a\nlarge amount of existing code does not opt into CLOCK_MONOTONIC.\n\nWe have seen numerous bugs directly attributable to this difference.\nTherefore, we provide this general workaround to always use\nCLOCK_MONOTONIC for waiting, regardless of what the input timespec\nis.\n\nSpecifically this impacts the below APIs:\npthread_mutex_timedlock()\npthread_cond_timedwait()\npthread_rwlock_timedrdlock()\npthread_rwlock_timedwrlock()\nsem_timedwait()\n\nTest: boot bullhead, boot sailfish\nTest: bionic pthread/semaphore unit tests\nTest: check that pthread_cond_timedwait() timeouts are uneffected by\n      CLOCK_REALTIME time changes\n\nBug: 64694413\nBug: 64623895\nBug: 35756266\nBug: 35678943\nChange-Id: Ibba98f5d88be1c306d14e9b9366302ecbef6d534\n"
    },
    {
      "commit": "169f883ef11995e782d0931e70495474556e1e13",
      "tree": "0fec8c50adf822cdbc76ddbf9b0e861e9fc77d01",
      "parents": [
        "47b244c850a1353090536ced0ca450a98e7d89bd",
        "096fa4497c50cffdb56f06d7038adbeb3c1254d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 15:40:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 18 15:40:53 2017 +0000"
      },
      "message": "Merge \"Re-submit \"Name function arguments in libc headers for Studio.\"\"\nam: 096fa4497c\n\nChange-Id: I402df5b9c5dd3cdbe247db7e25c6baecf57ef2dc\n"
    },
    {
      "commit": "096fa4497c50cffdb56f06d7038adbeb3c1254d6",
      "tree": "0b74b4d4c61e76585560281de8db68a040fe63b3",
      "parents": [
        "ad5c4e359611fc683a535d7167ee87dbe04a264b",
        "ff26a16c1de7be696719e9001f0707b7c55b52cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 18 15:34:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 15:34:55 2017 +0000"
      },
      "message": "Merge \"Re-submit \"Name function arguments in libc headers for Studio.\"\""
    },
    {
      "commit": "47b244c850a1353090536ced0ca450a98e7d89bd",
      "tree": "df48f4aa542b1b9da36a1ba457475ea25c45b284",
      "parents": [
        "c9ca3ddbafd884351106a865666d2dfdb7e6e995",
        "ad5c4e359611fc683a535d7167ee87dbe04a264b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 18 02:00:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 18 02:00:29 2017 +0000"
      },
      "message": "Merge \"Fix out-of-bounds deque access causing build failure.\"\nam: ad5c4e3596\n\nChange-Id: Iaf40064fa230b6887e080a288f33c01680d61ef2\n"
    },
    {
      "commit": "ad5c4e359611fc683a535d7167ee87dbe04a264b",
      "tree": "384531d05a9f9c655f17de25c5ecafa6f006e923",
      "parents": [
        "cf3b0c183d9a6910db6384e6f8095c414041ea0c",
        "113e9b1bc146f945274fa5b5088ebf45ea0b37d8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 18 01:55:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 18 01:55:39 2017 +0000"
      },
      "message": "Merge \"Fix out-of-bounds deque access causing build failure.\""
    },
    {
      "commit": "ff26a16c1de7be696719e9001f0707b7c55b52cf",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "9af9120091ceb96641d7c6c645fabad96db4bc0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:34:21 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 00:00:38 2017 +0000"
      },
      "message": "Re-submit \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert\nof 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is\nfixed.\n\nBug: http://b/64613623 # header bug\nBug: http://b/64802958 # versioner bug\nChange-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d\n"
    },
    {
      "commit": "113e9b1bc146f945274fa5b5088ebf45ea0b37d8",
      "tree": "c5ca7ef20a765b819baa8fad26e8a9ec9303a722",
      "parents": [
        "b2688f4a2a25781efbef33a2f4b8bde2592a0a81"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 17 14:46:49 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:26:20 2017 +0000"
      },
      "message": "Fix out-of-bounds deque access causing build failure.\n\nBug: http://b/64802958\nTest: built successfully\n\nChange-Id: I8029826f0e4c7f578155d7db545e7786c76a0cdf\n"
    }
  ],
  "next": "c9ca3ddbafd884351106a865666d2dfdb7e6e995"
}
