)]}'
{
  "log": [
    {
      "commit": "3e4a0099a179d7acee63d78c8fc4c3cc7b0bae42",
      "tree": "e2aed336e7f9a1d033835cf6d8bcf4f2d8d23115",
      "parents": [
        "d2bd3c4717ed223bca1c68a87f243f4bcf492a4b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "message": "Undefine _Atomic before redefining\n\nStdatomic.h was potentially redefining _Atomic, in spite of a\nprior definition by \u003catomic\u003e.  This could cause g++ builds that\nincluded \u003cstdatomic.h\u003e with an available \u003catomic\u003e header to break.\n\nChange-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8\n"
    },
    {
      "commit": "d2bd3c4717ed223bca1c68a87f243f4bcf492a4b",
      "tree": "0308dd630e83a0640ad43bf0496c0733e7708366",
      "parents": [
        "c764fb24ccb47e05d8e140cde5b4111225790ef1",
        "14241402de0faa4b244b1bd6b1f0799ce169b880"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 26 22:53:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 22:53:16 2014 +0000"
      },
      "message": "Merge \"Enable __cxa_atexit \u0026\u0026 __cxa_finalize for linker\""
    },
    {
      "commit": "14241402de0faa4b244b1bd6b1f0799ce169b880",
      "tree": "0308dd630e83a0640ad43bf0496c0733e7708366",
      "parents": [
        "c764fb24ccb47e05d8e140cde5b4111225790ef1"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 26 14:16:52 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 26 15:44:18 2014 -0700"
      },
      "message": "Enable __cxa_atexit \u0026\u0026 __cxa_finalize for linker\n\n This allows adding destructors to classes used\n for global variables.\n\nChange-Id: I5e1cd63fe3bf8f66de88cc4f7437cafb350f49b5\n"
    },
    {
      "commit": "c764fb24ccb47e05d8e140cde5b4111225790ef1",
      "tree": "442368a25fa03844ccd866761b8b0b28aeedaab9",
      "parents": [
        "9e307af982ea9030849293b5e3307733289e3c2c",
        "57b7a6110e7e8b446fc23cce4765ff625ee0a105"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 19:53:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 26 19:53:40 2014 +0000"
      },
      "message": "Merge \"Fix pthread_getattr_np for the main thread.\""
    },
    {
      "commit": "57b7a6110e7e8b446fc23cce4765ff625ee0a105",
      "tree": "e2578675ae1435988a645a32182ced476f802ec5",
      "parents": [
        "a4a8c4feb8cf3cebf8aceace70e699e128095b5c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 25 17:26:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 10:36:38 2014 -0700"
      },
      "message": "Fix pthread_getattr_np for the main thread.\n\nOn most architectures the kernel subtracts a random offset to the stack\npointer in create_elf_tables by calling arch_align_stack before writing\nthe auxval table and so on. On all but x86 this doesn\u0027t cause a problem\nbecause the random offset is less than a page, but on x86 it\u0027s up to two\npages. This means that our old technique of rounding the stack pointer\ndoesn\u0027t work. (Our old implementation of that technique was wrong too.)\n\nIt\u0027s also incorrect to assume that the main thread\u0027s stack base and size\nare constant. Likewise to assume that the main thread has a guard page.\nThe main thread is not like other threads.\n\nThis patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)\nwhenever we\u0027re asked.\n\nBug: 17111575\nSigned-off-by: Fengwei Yin \u003cfengwei.yin@intel.com\u003e\nChange-Id: I1d4dbffe7bc7bda1d353c3a295dbf68d29f63158\n"
    },
    {
      "commit": "9e307af982ea9030849293b5e3307733289e3c2c",
      "tree": "443b26ce7513f9ee430e4f639c5436fd11dbc9a5",
      "parents": [
        "a4a8c4feb8cf3cebf8aceace70e699e128095b5c",
        "ae558d6b4bcee740f7e61434982eb5f2c999fb97"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 25 22:08:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 25 22:08:33 2014 +0000"
      },
      "message": "Merge \"Add standard throw() spec to delete operators.\""
    },
    {
      "commit": "ae558d6b4bcee740f7e61434982eb5f2c999fb97",
      "tree": "443b26ce7513f9ee430e4f639c5436fd11dbc9a5",
      "parents": [
        "a4a8c4feb8cf3cebf8aceace70e699e128095b5c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 25 12:08:19 2014 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 25 21:16:14 2014 +0000"
      },
      "message": "Add standard throw() spec to delete operators.\n\nWithout these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions.\n\nBUG: 17136236\nChange-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1"
    },
    {
      "commit": "a4a8c4feb8cf3cebf8aceace70e699e128095b5c",
      "tree": "bec4a8965bc55e4a03634fb262497e32a5f27a80",
      "parents": [
        "9d34f6a90973bea086b4244df6eff74ab2211814",
        "00aaea364501b3b0abe58dae461136159df1e356"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 22 22:52:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 22:52:31 2014 +0000"
      },
      "message": "Merge \"Fix, generalize stdatomic.h; improve test.\""
    },
    {
      "commit": "00aaea364501b3b0abe58dae461136159df1e356",
      "tree": "f65d7225c30fb5beb7100a3a70b89d025d223294",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 16:14:01 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 22 15:50:17 2014 -0700"
      },
      "message": "Fix, generalize stdatomic.h; improve test.\n\nWe seem to use this stdatomic.h sometimes, and slightly different prebuilts\nat other times, making them all difficult to test, and making it unclear\nwhich one we\u0027re testing.  This generalizes the bionic header so that it\ncan be used directly as the prebuilt header as well.  So long as they\ndon\u0027t diverge again, that should somewhat improve test coverage.\n\nUse the correct builtin for atomic_is_lock_free.\n\nFix atomic_flag_init.\n\nTurn on atomic tests even with __GLIBC__, since they now appear to pass.\n\nInclude uchar.h in stdatomic.h where needed.\n\nAdd a basic memory ordering test.\n\nFix bit-rotted comments in bionic tests makefile.\n\nChange-Id: If6a14c1075b379395ba5d93357d56025c0ffab68\n"
    },
    {
      "commit": "9d34f6a90973bea086b4244df6eff74ab2211814",
      "tree": "c7ab03b357d28593fe25559b77a3f833064499db",
      "parents": [
        "0b9fa4c9bff5d3128f120a2008aa6997c7363b49",
        "0d15094287fe0f288d9c258953143fc1998b6b5a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 22 20:44:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 20:44:56 2014 +0000"
      },
      "message": "Merge \"Bump soinfo version\""
    },
    {
      "commit": "0d15094287fe0f288d9c258953143fc1998b6b5a",
      "tree": "25fe168fd8620ec77fc9a7b713dfc8916fcf064b",
      "parents": [
        "2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 22 12:25:04 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 22 13:29:18 2014 -0700"
      },
      "message": "Bump soinfo version\n\n This includes:\n 1. Placing has_ifunc after fields with version \u003d 0\n 2. Switch to has_min_version(v) function.\n 3. Minor soinfo initialization refactoring (placement new + ctor)\n\nChange-Id: I1bf5fde4d930914012ce5f3ad5acb48217da9b2d\n"
    },
    {
      "commit": "0b9fa4c9bff5d3128f120a2008aa6997c7363b49",
      "tree": "1045b243cb72130387802717a299630160d3898e",
      "parents": [
        "4756afe3d5017b50c89761c47f0da17a6799c81e",
        "ef619cc083fc3aa4f58dd101b25cc97ad1d37570"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 18:06:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 18:06:36 2014 +0000"
      },
      "message": "Merge \"Fix dlmalloc build.\""
    },
    {
      "commit": "ef619cc083fc3aa4f58dd101b25cc97ad1d37570",
      "tree": "1045b243cb72130387802717a299630160d3898e",
      "parents": [
        "4756afe3d5017b50c89761c47f0da17a6799c81e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 11:05:48 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 11:05:48 2014 -0700"
      },
      "message": "Fix dlmalloc build.\n\nChange-Id: Ied542c40867ab443cdd2076bd2e535b00c4854e4\n"
    },
    {
      "commit": "4756afe3d5017b50c89761c47f0da17a6799c81e",
      "tree": "4835f493baf09cb4aada39c0b7b22fcdc77cc284",
      "parents": [
        "538db6d2e63b203622c49344488099eaa5062850",
        "4caa1f09770ea3e5ca22afbe8aa0900810a0dbfe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 17:39:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 17:39:18 2014 +0000"
      },
      "message": "Merge \"Implement malloc_info(3).\""
    },
    {
      "commit": "4caa1f09770ea3e5ca22afbe8aa0900810a0dbfe",
      "tree": "2bda183c2c930871e73486ea3e9c54e80e500f95",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 20 09:16:57 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 22 10:23:12 2014 -0700"
      },
      "message": "Implement malloc_info(3).\n\nExpose jemalloc stats through the malloc_info(3) interface.\n\nBug: 16874689\nChange-Id: I4358ac283002e60ff161107028d1a3fb1e9afb0a\n"
    },
    {
      "commit": "538db6d2e63b203622c49344488099eaa5062850",
      "tree": "4bc53bd3bc27c2fb1e862f56411141a6ecb980f8",
      "parents": [
        "2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3",
        "2b3b2ecee8df54a25e9f5e0968761dbac4761e6c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 22 16:28:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 22 16:28:02 2014 +0000"
      },
      "message": "Merge \"Fix unistd.getpid_caching_and_clone.\""
    },
    {
      "commit": "2b3b2ecee8df54a25e9f5e0968761dbac4761e6c",
      "tree": "4bc53bd3bc27c2fb1e862f56411141a6ecb980f8",
      "parents": [
        "2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 21 19:23:53 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 22 09:26:50 2014 -0700"
      },
      "message": "Fix unistd.getpid_caching_and_clone.\n\nThis test only works if you\u0027re root (strictly: if you have permission to\nCLONE_NEWNS), so it\u0027s useful to us when we\u0027re doing ad hoc testing (since\nthat\u0027s usually done as root), but it\u0027s not useful as part of CTS or when\nrunning the tests on the host.\n\n(cherry-pick of 84d0683a824fa02dbaa6d1b56a79223804b54e80.)\n\nBug: 16705621\nBug: 17170200\nChange-Id: Ia92c871b15f7e45fc174bb59bc95540fd00ae745\n"
    },
    {
      "commit": "2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3",
      "tree": "cf0981b83d926b8dbb893c0f2d7553c6c4355112",
      "parents": [
        "2bd88d450ead2ad8b44a76126c720cf4a9772002",
        "47793d6a29f63869e7dbc583576cb8bf351cd504"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 21:51:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 21 21:51:42 2014 +0000"
      },
      "message": "Merge \"Remove _flush_cache(2) for mips64.\""
    },
    {
      "commit": "2bd88d450ead2ad8b44a76126c720cf4a9772002",
      "tree": "f44be8df337dcb693baaf6aaa52de1ccd952bdcf",
      "parents": [
        "3157211849f808f89a7f1465fd60d6b41917ee4f",
        "9598b8c415e2fa9f240508185fe8c964b83f538d"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 21 21:27:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 21 21:27:52 2014 +0000"
      },
      "message": "Merge \"Run constructors before resolving ifunc functions\""
    },
    {
      "commit": "9598b8c415e2fa9f240508185fe8c964b83f538d",
      "tree": "f44be8df337dcb693baaf6aaa52de1ccd952bdcf",
      "parents": [
        "3157211849f808f89a7f1465fd60d6b41917ee4f"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 21 13:54:03 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 21 14:24:13 2014 -0700"
      },
      "message": "Run constructors before resolving ifunc functions\n\nBug: 17177284\nChange-Id: I5714b9bc2d1ca8f8711806bfb68da3d524213e99\n"
    },
    {
      "commit": "47793d6a29f63869e7dbc583576cb8bf351cd504",
      "tree": "a1f8915fd1b5c885263a01159cb7160bf93920ad",
      "parents": [
        "3157211849f808f89a7f1465fd60d6b41917ee4f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 12:13:24 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 13:32:37 2014 -0700"
      },
      "message": "Remove _flush_cache(2) for mips64.\n\nAlso remove declaration.\n\nThe only user is compiler-rt, and they can replace that call with one to\nsyscall(2). compiler-rt doesn\u0027t currently build on mips64 anyway.\n\nBug: 11156955\nChange-Id: Ieae0ba49c8e7aa50253401fc1d7c2d17bc867d39\n"
    },
    {
      "commit": "3157211849f808f89a7f1465fd60d6b41917ee4f",
      "tree": "c6fc4008b4553c763d95b4823a0bbb2217befdbf",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e",
        "2320b02c7d91a7ee34e63bcfae81f9e230814aa3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 19:14:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 21 19:14:44 2014 +0000"
      },
      "message": "Merge \"__gnu_basename(3) is accounted for.\""
    },
    {
      "commit": "2320b02c7d91a7ee34e63bcfae81f9e230814aa3",
      "tree": "c6fc4008b4553c763d95b4823a0bbb2217befdbf",
      "parents": [
        "d5fbc37119ef6cd757ceb449cb071ee03c66590e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 21 11:36:07 2014 -0700"
      },
      "message": "__gnu_basename(3) is accounted for.\n\nChange-Id: I3836b14a797c4a8d121c6d29d95791ac768257da\n"
    },
    {
      "commit": "d5fbc37119ef6cd757ceb449cb071ee03c66590e",
      "tree": "af58fa1f4b5fa777f47e9ef797c50cff964b7046",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4",
        "6b841db2baa24ffcf2a4e5f975d1d07f1699b918"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 21 02:39:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 21 00:17:56 2014 +0000"
      },
      "message": "Merge \"Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.\""
    },
    {
      "commit": "6b841db2baa24ffcf2a4e5f975d1d07f1699b918",
      "tree": "af58fa1f4b5fa777f47e9ef797c50cff964b7046",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 16:10:49 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 17:03:46 2014 -0700"
      },
      "message": "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.\n\nBug: 17164505\nChange-Id: I59e28a08ff8b6ab632230b11a5807cfd5278aeb5\n"
    },
    {
      "commit": "b6ed54076abdd337150d7a92a661247b69d26cb4",
      "tree": "90bd00cd1ce68652f544cec32d3db9cfa276572d",
      "parents": [
        "7134fc30892bff763e7c24ac722151e0777b5409",
        "0e7f8a9e52bac84c69aa2260d2a6356584ff3674"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 20:36:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 20 20:25:32 2014 +0000"
      },
      "message": "Merge \"Simplify _ALIGN_TEXT.\""
    },
    {
      "commit": "0e7f8a9e52bac84c69aa2260d2a6356584ff3674",
      "tree": "90bd00cd1ce68652f544cec32d3db9cfa276572d",
      "parents": [
        "7134fc30892bff763e7c24ac722151e0777b5409"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 13:11:58 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 13:11:58 2014 -0700"
      },
      "message": "Simplify _ALIGN_TEXT.\n\nBug: 16872067\nChange-Id: I2b622f252c21ce1b344c040f828ab3f4bf9b6c0a\n"
    },
    {
      "commit": "7134fc30892bff763e7c24ac722151e0777b5409",
      "tree": "1ba6ca1324cedd28e7292e1cec8c75f198550016",
      "parents": [
        "3bcd414b78e515482139c7dc3dad8cad3357b374",
        "c4a1de1ae23982583ec0bbbcb2f9da629b080514"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 19:21:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:28:29 2014 +0000"
      },
      "message": "Merge \"Regenerate \"services.h\" from /etc/services.\""
    },
    {
      "commit": "c4a1de1ae23982583ec0bbbcb2f9da629b080514",
      "tree": "1ba6ca1324cedd28e7292e1cec8c75f198550016",
      "parents": [
        "3bcd414b78e515482139c7dc3dad8cad3357b374"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 12:11:31 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 12:11:31 2014 -0700"
      },
      "message": "Regenerate \"services.h\" from /etc/services.\n\nChange-Id: Iec118f9a342b5c1f6ce6d48965798b12a7159ad3\n"
    },
    {
      "commit": "3bcd414b78e515482139c7dc3dad8cad3357b374",
      "tree": "b1fb3ac1fd01134601776f82b5d13a2651ed66ec",
      "parents": [
        "55244a9bdbc661212999655644c374352ae92040",
        "dc1fb7000adb77c647f70428fd6ce224e3938220"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 19:07:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:28:29 2014 +0000"
      },
      "message": "Merge \"Clean up some of our python scripts.\""
    },
    {
      "commit": "dc1fb7000adb77c647f70428fd6ce224e3938220",
      "tree": "b1fb3ac1fd01134601776f82b5d13a2651ed66ec",
      "parents": [
        "55244a9bdbc661212999655644c374352ae92040"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 11:16:11 2014 -0700"
      },
      "message": "Clean up some of our python scripts.\n\nChange-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d\n"
    },
    {
      "commit": "55244a9bdbc661212999655644c374352ae92040",
      "tree": "31772908fbc1209095bbe668887809eff2fd60fd",
      "parents": [
        "b61c50647b85b3c33af8ca155e88ec098d9e8cb0",
        "2b021e10664c3938249eb18b48eeac253cbb3e20"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 17:41:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Add \u003cstdio_ext.h\u003e for elfutils.\""
    },
    {
      "commit": "2b021e10664c3938249eb18b48eeac253cbb3e20",
      "tree": "31772908fbc1209095bbe668887809eff2fd60fd",
      "parents": [
        "b61c50647b85b3c33af8ca155e88ec098d9e8cb0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 17:00:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 20 10:23:52 2014 -0700"
      },
      "message": "Add \u003cstdio_ext.h\u003e for elfutils.\n\nBug: 17139679\nChange-Id: I1605ac382dbb6f23b2d874dbb9769f3cde4a6a99\n"
    },
    {
      "commit": "b61c50647b85b3c33af8ca155e88ec098d9e8cb0",
      "tree": "d6df9b7df0e626b49604a59f4b8c3772976bbff7",
      "parents": [
        "b9d674c8ada9c1e9c22b41bc7c89e35f11f4eb1e",
        "1e8587a479fd8b1ce9b594298a93f517816e8f15"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 22:34:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 22:32:42 2014 +0000"
      },
      "message": "Merge \"Work around atomic_load(const T*) issues.\""
    },
    {
      "commit": "1e8587a479fd8b1ce9b594298a93f517816e8f15",
      "tree": "4333a0ac6fbfcd2a9ae3e11090485cc45c955625",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 14:07:55 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 14:50:54 2014 -0700"
      },
      "message": "Work around atomic_load(const T*) issues.\n\nBug:17067219\nChange-Id: I78e753bcf03464f5f05c3f37e394f2727d282589\n"
    },
    {
      "commit": "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c",
      "tree": "32a4a9fb33b86fdd69ed2db974e9c8bf2cc747af",
      "parents": [
        "6f4220c49e90b18a50d36e47cc9287c7593af939",
        "35d226e05d92824c6eb992e7a64ea22efc8bae03"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 20:11:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 15:49:56 2014 +0000"
      },
      "message": "Merge \"Add in_port_t and move it and in_addr_t to the correct header file.\""
    },
    {
      "commit": "35d226e05d92824c6eb992e7a64ea22efc8bae03",
      "tree": "32a4a9fb33b86fdd69ed2db974e9c8bf2cc747af",
      "parents": [
        "6f4220c49e90b18a50d36e47cc9287c7593af939"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 12:43:50 2014 -0700"
      },
      "message": "Add in_port_t and move it and in_addr_t to the correct header file.\n\nNo one\u0027s reported this, but I saw it in an Android port of fuser(1).\n\nWe still have lots of problems in our network headers because we\nget most of the structs direct from the kernel, and it doesn\u0027t use\ntypes like this (which is why we\u0027ve got away without this one for\nso long). One day we should probably look at cleaning that up, but\ndoing so can wait.\n\nChange-Id: If15edf0cfc32716fa312d7ed97c48321b760d979\n"
    },
    {
      "commit": "b9d674c8ada9c1e9c22b41bc7c89e35f11f4eb1e",
      "tree": "1ca25e04d3ed7ebea1dde6f4d3baaeee9526c0e5",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c",
        "09c39d6df0e952620f8c1751377b559a04e023aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 22:04:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Implement the GNU basename(3) in addition to the POSIX one.\""
    },
    {
      "commit": "09c39d6df0e952620f8c1751377b559a04e023aa",
      "tree": "1ca25e04d3ed7ebea1dde6f4d3baaeee9526c0e5",
      "parents": [
        "c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 14:30:30 2014 -0700"
      },
      "message": "Implement the GNU basename(3) in addition to the POSIX one.\n\nCode like perf(1) needs this.\n\nBug: 11860789\nChange-Id: I907eb448052a7b165e4012d74303330d32328cb2\n"
    },
    {
      "commit": "6f4220c49e90b18a50d36e47cc9287c7593af939",
      "tree": "34497153d977d4eb32bf3be37ce29acbb4121a08",
      "parents": [
        "2222eae61e723d946029899edaf7afcbaa160bb7",
        "f4c948a9e9b616c4f133f9495dacb105e51b3e49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 18:55:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Move the meat of \u003cfeatures.h\u003e into \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "f4c948a9e9b616c4f133f9495dacb105e51b3e49",
      "tree": "47e300fdbb36f28ab843468ad484a8d8a74a06e9",
      "parents": [
        "17f83c93cbbde3e38a03182931f40b7390061a7d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 11:16:41 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 11:18:20 2014 -0700"
      },
      "message": "Move the meat of \u003cfeatures.h\u003e into \u003csys/cdefs.h\u003e.\n\nThis way it\u0027s a lot harder for us to screw up (since we should always\nbe including \u003csys/cdefs.h\u003e anyway).\n\nBug: 14659579\nChange-Id: I23070fff3296b0d1c683bb5e3a6e214146327d53\n"
    },
    {
      "commit": "17f83c93cbbde3e38a03182931f40b7390061a7d",
      "tree": "d6f53e81e8a9aa8cda5ffb51e5ff3c6a29688523",
      "parents": [
        "934c8015d515f96c1f97255b48357da922cf626a",
        "f800969d351a72b79da2944a4a971ea10bee3cc2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 17:39:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Remove unused defines from \u003cfeatures.h\u003e.\""
    },
    {
      "commit": "f800969d351a72b79da2944a4a971ea10bee3cc2",
      "tree": "76508f136b8e2cf2da23c06e790ae9fe28f4b911",
      "parents": [
        "e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 10:07:00 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 10:07:00 2014 -0700"
      },
      "message": "Remove unused defines from \u003cfeatures.h\u003e.\n\nBug: 14659579\nChange-Id: I2ab02b13cafe3faad31248b843d39ab2cdbfeb91\n"
    },
    {
      "commit": "e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266",
      "tree": "2fc3e0a2bbc501f28c1a51437cef87294b317b73",
      "parents": [
        "8a76ee821e49a912d1777fbe83b1ab07c1da541a",
        "b81046202842427a7e894a6bcb357971332997b0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 16:48:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Fix _BSD_SOURCE/__USE_BSD.\""
    },
    {
      "commit": "b81046202842427a7e894a6bcb357971332997b0",
      "tree": "2d42ca4acacd3a57837e93f81824edfc72665a49",
      "parents": [
        "0baf2ca34c7d9ec067b1f33bad69782c2dedc231"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 09:18:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 09:18:03 2014 -0700"
      },
      "message": "Fix _BSD_SOURCE/__USE_BSD.\n\nBug: 14659579\nChange-Id: I80ec9584f054c02d1078828f6bca759c42bc1d4c\n"
    },
    {
      "commit": "8a76ee821e49a912d1777fbe83b1ab07c1da541a",
      "tree": "ddad8b09f163b21907f1d660fc52149f9a730aba",
      "parents": [
        "0baf2ca34c7d9ec067b1f33bad69782c2dedc231",
        "02aa70589d22fa9b65da43de705d6de2715870c6"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 19 16:45:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 19 02:44:29 2014 +0000"
      },
      "message": "Merge \"Revert \"Add support for protected local symbol lookup.\"\""
    },
    {
      "commit": "02aa70589d22fa9b65da43de705d6de2715870c6",
      "tree": "ddad8b09f163b21907f1d660fc52149f9a730aba",
      "parents": [
        "0baf2ca34c7d9ec067b1f33bad69782c2dedc231"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 18 15:08:51 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 19 05:19:53 2014 -0700"
      },
      "message": "Revert \"Add support for protected local symbol lookup.\"\n\nThis reverts commit d97e9f546ea195686a78e539315b273393609b9e.\n\nBug: 17107521\n(cherry picked from commit 9419420919ea846bbad5510850c7aaec95021648)\n\nChange-Id: I1a6df946ac8075699e77d68ffa6ac4a21b88e4bf\n"
    },
    {
      "commit": "2222eae61e723d946029899edaf7afcbaa160bb7",
      "tree": "1d80288dbaf200e247e7b8367451ac473f99a128",
      "parents": [
        "17f83c93cbbde3e38a03182931f40b7390061a7d",
        "3a25ab952befbe908f6df45805683ebe3bf65863"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 18:29:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:28:29 2014 +0000"
      },
      "message": "Merge \"Missing #include \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "3a25ab952befbe908f6df45805683ebe3bf65863",
      "tree": "1d80288dbaf200e247e7b8367451ac473f99a128",
      "parents": [
        "17f83c93cbbde3e38a03182931f40b7390061a7d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 11:06:33 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 11:08:02 2014 -0700"
      },
      "message": "Missing #include \u003csys/cdefs.h\u003e.\n\nNeeded for __BEGIN_DECLS/__END_DECLS. Currently fine because it\u0027s being\nincluded after other files that do this.\n\nChange-Id: I1f12368fc461f6ef5ca90992cf19f317f0b5d7af\n"
    },
    {
      "commit": "934c8015d515f96c1f97255b48357da922cf626a",
      "tree": "b20a661222661755661de84e6e86046ec5192a2e",
      "parents": [
        "e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266",
        "ce6b1abbb1da797e716d8ec03da4e3b6304fd11d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 19 17:18:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:20:19 2014 +0000"
      },
      "message": "Merge \"Expose android_set_abort_message().\""
    },
    {
      "commit": "ce6b1abbb1da797e716d8ec03da4e3b6304fd11d",
      "tree": "75acb30cfbe62bf3141fd01f7a37cc53c1d82dea",
      "parents": [
        "54d24e099c24d0811ae723640d4e12e9558cab73"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 14:37:42 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 14:37:42 2014 -0700"
      },
      "message": "Expose android_set_abort_message().\n\nRemoves the leading underscores from __android_set_abort_message() and\nmoves its declaration into a public header file.\n\nBug: 17059126\nChange-Id: I470c79db47ec783ea7a54b800f8b78ecbe7479ab\n"
    },
    {
      "commit": "54d24e099c24d0811ae723640d4e12e9558cab73",
      "tree": "63e1bf5b64eccf5836912c10e28625e3aed79184",
      "parents": [
        "3c7c9a8d3fda1057b8a4dea85f357a044dd21563",
        "6d40d34908137c8d45e9bc303b4317b8303961ee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 20:12:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:08:14 2014 +0000"
      },
      "message": "Merge \"Fix leak_realloc, copy entire allocation.\""
    },
    {
      "commit": "6d40d34908137c8d45e9bc303b4317b8303961ee",
      "tree": "f2ece7dfb70602468cfdf2c8280ca267cd751588",
      "parents": [
        "5d9e145c62cc6f6b39409032af529a60cb7bf479"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 15 18:42:58 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 13:10:47 2014 -0700"
      },
      "message": "Fix leak_realloc, copy entire allocation.\n\nBug: 16874447\n\n(cherry picked from commit 5df0839cea98bd8c37d8dba5b94b98e99c681a94)\n\nChange-Id: I9280505c0c1c3b5da24ba590448dcd6e7a230406\n"
    },
    {
      "commit": "5d9e145c62cc6f6b39409032af529a60cb7bf479",
      "tree": "a132b3cc31a6a34d27d488d64d28faa3d4e43e23",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 14 12:48:04 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 13:10:16 2014 -0700"
      },
      "message": "malloc_usable_size returns the original size.\n\nBug: 16874447\n\n(cherry picked from commit 59c1ee44d0a560a754513fab12641c8a57a20d9e)\n\nChange-Id: I70839632974367c8b9893fb1f9c5ee4364608470\n"
    },
    {
      "commit": "3c7c9a8d3fda1057b8a4dea85f357a044dd21563",
      "tree": "cf576d7d78826fb1f376a11d345ddf050eb58930",
      "parents": [
        "db2e0247ed67dfdf6e16eb47348db81dc8ccd04d",
        "5d9e145c62cc6f6b39409032af529a60cb7bf479"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 18 20:12:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:09:33 2014 +0000"
      },
      "message": "Merge \"malloc_usable_size returns the original size.\""
    },
    {
      "commit": "db2e0247ed67dfdf6e16eb47348db81dc8ccd04d",
      "tree": "bfbf039f3d95eeb4be2da89a325317e422fcc383",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024",
        "fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 19:56:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:08:14 2014 +0000"
      },
      "message": "Merge \"Hide C++ stuff in libc. Put it back in libstdc++.\""
    },
    {
      "commit": "fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e",
      "tree": "bfbf039f3d95eeb4be2da89a325317e422fcc383",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 15 14:20:04 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Aug 18 12:01:01 2014 -0700"
      },
      "message": "Hide C++ stuff in libc. Put it back in libstdc++.\n\nBug: 17062445\nChange-Id: I027b186719654c2865b08c3fa83f90fa00c1e838\n"
    },
    {
      "commit": "0baf2ca34c7d9ec067b1f33bad69782c2dedc231",
      "tree": "36bebf629f486d24d8287e7a735662b0269044a6",
      "parents": [
        "205cc41556d44b104a21bc6839b7ea44f72df9ba",
        "5f5cc45cf0e027f6ca503dc229a4890fc7164b66"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 19 00:27:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 16 04:03:35 2014 +0000"
      },
      "message": "Merge \"Fix \u003cfeatures.h\u003e (_BSD_SOURCE and _GNU_SOURCE).\""
    },
    {
      "commit": "5f5cc45cf0e027f6ca503dc229a4890fc7164b66",
      "tree": "36bebf629f486d24d8287e7a735662b0269044a6",
      "parents": [
        "205cc41556d44b104a21bc6839b7ea44f72df9ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 16:04:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 16:04:03 2014 -0700"
      },
      "message": "Fix \u003cfeatures.h\u003e (_BSD_SOURCE and _GNU_SOURCE).\n\n\u003cfeatures.h\u003e is supposed to take user-settable stuff like _GNU_SOURCE\nand _BSD_SOURCE and turn them into __USE_GNU and __USE_BSD for use in\nthe C library headers. Instead, bionic used to unconditionally define\n_BSD_SOURCE and _GNU_SOURCE, and then test _GNU_SOURCE in the header\nfiles (which makes no sense whatsoever).\n\nBug: 14659579\nChange-Id: Ice4cf21a364ea2e559071dc8329e995277d5b987\n"
    },
    {
      "commit": "205cc41556d44b104a21bc6839b7ea44f72df9ba",
      "tree": "5afafb0b1357994e26a2e39086c1936c53b7afe0",
      "parents": [
        "54d24e099c24d0811ae723640d4e12e9558cab73",
        "2cfb4e8e2e217ef0e4140dcbf9b3da809781158c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 22:11:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 18 21:31:43 2014 +0000"
      },
      "message": "Merge \"Improve \u003csys/cdefs.h\u003e.\""
    },
    {
      "commit": "2cfb4e8e2e217ef0e4140dcbf9b3da809781158c",
      "tree": "19a83c3a73ba3c613de106fd1b6ae8e83f75d3d4",
      "parents": [
        "2b6cdb5e459661727c99e81660c7c3df5cdbe024"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 14:45:42 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 14:45:42 2014 -0700"
      },
      "message": "Improve \u003csys/cdefs.h\u003e.\n\nFix and use __RENAME (and lose ___RENAME --- two underscores should be\nenough for anybody). This was the point of this change, because I want\nto use __RENAME to support the two basename variants and the two\nstrerror_r variants.\n\nLose a bunch of macros that weren\u0027t being used.\n\nLose three dead files from the DNS code.\n\nChange-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522\n"
    },
    {
      "commit": "2b6cdb5e459661727c99e81660c7c3df5cdbe024",
      "tree": "33ba9cc312e62586924c95eaadddb349a09df58f",
      "parents": [
        "7d05f741e7885ad42f853b5fe2b1d31cdc756b5c",
        "4571f31bd49e4951c9f1e0ff642c74fd79fe740a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 15 22:57:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 15 21:23:56 2014 +0000"
      },
      "message": "Merge \"Add atexit test for attributed c-tor/d-tor\""
    },
    {
      "commit": "4571f31bd49e4951c9f1e0ff642c74fd79fe740a",
      "tree": "33ba9cc312e62586924c95eaadddb349a09df58f",
      "parents": [
        "7d05f741e7885ad42f853b5fe2b1d31cdc756b5c"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 15 14:22:07 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 15 14:22:07 2014 -0700"
      },
      "message": "Add atexit test for attributed c-tor/d-tor\n\n 1. Add test for __attribute__((constructor/destructor))\n    and static constructor\n\n 2. Compile C++ testlibs with -std\u003dgnu++11\n\nChange-Id: I67f9308144a0c638a51f111fcba8e1933fe0ba41\n"
    },
    {
      "commit": "7d05f741e7885ad42f853b5fe2b1d31cdc756b5c",
      "tree": "821b7ef370d55ea435f18d7f5ec420e490edb9f2",
      "parents": [
        "d0cce1436435bfcb477f2c5a670ea6675473c2f8",
        "019d3958118b7dc3ec8444ad2accca50c268b737"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 15 18:19:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 15 05:01:31 2014 +0000"
      },
      "message": "Merge \"Have stdatomic.h punt to C++ atomic when possible\""
    },
    {
      "commit": "019d3958118b7dc3ec8444ad2accca50c268b737",
      "tree": "01809ecacf090063d43eab54039c97c567aaa1bc",
      "parents": [
        "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 15:26:03 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 15 10:38:20 2014 -0700"
      },
      "message": "Have stdatomic.h punt to C++ atomic when possible\n\nThis is an alternate, somewhat simpler, fix that makes it safe to\ninclude both \u003catomic\u003e and \u003cstdatomic.h\u003e from C++ code in either order.\nIt means that C code consistently uses one implementation of atomics\nand C++ another.  We still have to make sure that those two\nimplementations interoperate correctly at runtime; in particular,\nany flavor of atomic object needs to be represented exactly like the\nunderlying type, with the proper alignment constraint.\n\nBug:17007799\nChange-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc\n"
    },
    {
      "commit": "d0cce1436435bfcb477f2c5a670ea6675473c2f8",
      "tree": "29fe78fec49694c2e3574028483d028ae7d49998",
      "parents": [
        "8457779b3469f5fa6b8104c2fd3869a72f1345dd",
        "891ec7a6e46e60d7dfa1cf229e14a8e8634e272b"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 23:17:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Move mtctxres.c to libc_dns.a.\""
    },
    {
      "commit": "891ec7a6e46e60d7dfa1cf229e14a8e8634e272b",
      "tree": "3496b926a7bb7243f3e2e3e2f6c37fb24276f4d0",
      "parents": [
        "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 15:43:25 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 22:50:45 2014 +0000"
      },
      "message": "Move mtctxres.c to libc_dns.a.\n\nHas the effect of making ___mtctxres hidden.\n\nBug: 17007799\nChange-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d"
    },
    {
      "commit": "8457779b3469f5fa6b8104c2fd3869a72f1345dd",
      "tree": "41c10ed48c0617ca30766ffd9b689c08b10eecb5",
      "parents": [
        "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0",
        "ad5e8b50737144833233d47fe04deb3fa0284df2"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 14 22:50:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:49:27 2014 +0000"
      },
      "message": "Merge \"Keep symbols for linker\""
    },
    {
      "commit": "ad5e8b50737144833233d47fe04deb3fa0284df2",
      "tree": "41c10ed48c0617ca30766ffd9b689c08b10eecb5",
      "parents": [
        "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 14 15:46:36 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 14 15:46:36 2014 -0700"
      },
      "message": "Keep symbols for linker\n\nBug: 17011146\nChange-Id: I314e72a1ac9325bf5ea84d52e3d5bc51d8ea00cf\n"
    },
    {
      "commit": "0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0",
      "tree": "1249c631a5be89488538f3d9d2d0641d1cf5fbe8",
      "parents": [
        "104a472958f86eafafe0c1d9e2c58ba6403f99e7",
        "224ff048efc782bd60047a3ae53eb66941f73125"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 21:19:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:41:13 2014 +0000"
      },
      "message": "Merge \"Change name of MB_CUR_MAX implementation function.\""
    },
    {
      "commit": "224ff048efc782bd60047a3ae53eb66941f73125",
      "tree": "7c148e8f2e8095a98fa9cc24e710edc3ccf5d008",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 13:56:51 2014 -0700"
      },
      "message": "Change name of MB_CUR_MAX implementation function.\n\nGlibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down\non differences between bionic and glibc.\n\nBug: 11156955\nChange-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73\n"
    },
    {
      "commit": "104a472958f86eafafe0c1d9e2c58ba6403f99e7",
      "tree": "d2225deaf6822896bbedafd46720ab09761a2e53",
      "parents": [
        "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9",
        "76212eeb53b0ceae9647314ec4806c66bc90783a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 21:18:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 14 19:41:13 2014 +0000"
      },
      "message": "Merge \"Add more functionality to glibc symbol checker.\""
    },
    {
      "commit": "76212eeb53b0ceae9647314ec4806c66bc90783a",
      "tree": "44cb655e694a156ddedeab08b93426a41d9b3e8d",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:04:28 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 14 14:02:34 2014 -0700"
      },
      "message": "Add more functionality to glibc symbol checker.\n\nAlso scan NDK\u0027s unwanted symbols list (to show the things that we\u0027re\nexporting but the NDK isn\u0027t. Symbols hidden in the NDK will be marked\nwith a *.\n\nAdd a -u (--unwanted) flag to disable the first two printed groups\n(all symbols in bionic, all symbols in glibc). This is helpful when\nwanting to grep in the list of unwanted symbols.\n\nFinally, update the list of known differences between us and glibc.\n\nChange-Id: I6fdb4126823098430454763c391bd8cd369a75bb\n"
    },
    {
      "commit": "9a74e4c15c17b9126ad348d865002880fc36bd12",
      "tree": "4e31268254601d2ea6329a515d4d5859678ea1ec",
      "parents": [
        "1f4c536fd53c69ba8122528435251b894e877e2a",
        "b3aaf398e1d6af5362e0f30f11ab7c11890644c2"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 21:07:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 23:11:16 2014 +0000"
      },
      "message": "Merge \"Hide __libc_init_vdso().\""
    },
    {
      "commit": "b3aaf398e1d6af5362e0f30f11ab7c11890644c2",
      "tree": "d71aeb605341e0bc89b43a483c18b5f5e7c2d9c1",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 13:11:58 2014 -0700"
      },
      "message": "Hide __libc_init_vdso().\n\nBug: 11156955\nChange-Id: I7ee31e1ee2ce479c5746b374a239637d582815fe\n"
    },
    {
      "commit": "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9",
      "tree": "1b829c7e8544c18787c7f28729132e621b0c170e",
      "parents": [
        "e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2",
        "30214b901e8dbec9ec11230187a8e71fc8a04014"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 01:03:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Add memory ordering constraint, convert to C11 atomics\""
    },
    {
      "commit": "1f4c536fd53c69ba8122528435251b894e877e2a",
      "tree": "6e52b174d95646b63d1ee6985b3ba479428d1235",
      "parents": [
        "db0785cbf9ee6cc0ace5c89496d7e9f12c288a83",
        "f2c1e7ee78a167ff323b9f45d20532d064d6778d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 20:07:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Hide ScopedTrace.\""
    },
    {
      "commit": "f2c1e7ee78a167ff323b9f45d20532d064d6778d",
      "tree": "05484cac9bd366891a5a1e53197c07b2c27d2e6f",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 11:25:01 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Aug 13 11:25:01 2014 -0700"
      },
      "message": "Hide ScopedTrace.\n\nBug: 11156955\nChange-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a\n"
    },
    {
      "commit": "db0785cbf9ee6cc0ace5c89496d7e9f12c288a83",
      "tree": "1bb60c12cee9972a1cc86cd3e43b63ad2d0dbc33",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe",
        "042426ba6375f5c145379e598486ec6d675533c9"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Aug 13 16:28:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 13 01:32:01 2014 +0000"
      },
      "message": "Merge \"Optimize symbol lookup\""
    },
    {
      "commit": "042426ba6375f5c145379e598486ec6d675533c9",
      "tree": "1bb60c12cee9972a1cc86cd3e43b63ad2d0dbc33",
      "parents": [
        "6e3823d37e54929558990d7c475bc30d381098fe"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Aug 12 21:02:13 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Aug 13 09:21:57 2014 -0700"
      },
      "message": "Optimize symbol lookup\n\n Do not run symbol lookup on already visited soinfos\n Not taking into account already visited libraries\n dramatically slows down dlsym in cases when there\n are multiple occurrences of a large library in\n dependency tree.\n\nBug: 16977077\nChange-Id: I1379f30ed8b06758dd1cc76b80833ac8589afa50\n"
    },
    {
      "commit": "6e3823d37e54929558990d7c475bc30d381098fe",
      "tree": "75a100c4d5939b8b6b77274626e8994c0b92c8e8",
      "parents": [
        "00c16c1b921dfeab42eb92ac53c6d79addc9f549",
        "edd81faff0b61fc458dc27b9c91f358d3313ce7a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 23:55:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Hide __libc_malloc_dispatch.\""
    },
    {
      "commit": "edd81faff0b61fc458dc27b9c91f358d3313ce7a",
      "tree": "75a100c4d5939b8b6b77274626e8994c0b92c8e8",
      "parents": [
        "00c16c1b921dfeab42eb92ac53c6d79addc9f549"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:21:26 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 12 16:53:14 2014 -0700"
      },
      "message": "Hide __libc_malloc_dispatch.\n\nNow that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without\nbreaking ASAN.\n\nBug: 11156955\nChange-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021\n"
    },
    {
      "commit": "e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2",
      "tree": "d8e38210c5ae8848ae9437f00d31bdefc001a9d7",
      "parents": [
        "9a74e4c15c17b9126ad348d865002880fc36bd12",
        "c5a13efa9bc4264be0a9a9e37c00633af01584ed"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Aug 14 00:29:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 12 19:23:43 2014 +0000"
      },
      "message": "Merge \"Added test for ifunc support in dynamic linker.\""
    },
    {
      "commit": "00c16c1b921dfeab42eb92ac53c6d79addc9f549",
      "tree": "15a3190069140da16e609b3817133ed92c655d89",
      "parents": [
        "4d0f742afe4867a0064d46a5b55df33e07c02c9d",
        "51a22a12ab370933a35463f5c81223132ec64dcb"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 16:36:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 09 00:45:41 2014 +0000"
      },
      "message": "Merge \"Label pages mapped by linker_allocator\""
    },
    {
      "commit": "51a22a12ab370933a35463f5c81223132ec64dcb",
      "tree": "83033d1672090d93a22d349669bbe9159322f4e8",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Aug 08 16:57:15 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 11 09:22:48 2014 -0700"
      },
      "message": "Label pages mapped by linker_allocator\n\nChange-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff\n"
    },
    {
      "commit": "4d0f742afe4867a0064d46a5b55df33e07c02c9d",
      "tree": "9be12a05b97b30aa6693b3b0433a7e179413676b",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae",
        "ca5b6a74a70924e513ae1b1a3f8718eb16ca60f2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Aug 10 05:19:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 09 00:52:40 2014 +0000"
      },
      "message": "Merge \"Fix our x86 PIC_PROLOGUE.\""
    },
    {
      "commit": "ca5b6a74a70924e513ae1b1a3f8718eb16ca60f2",
      "tree": "9be12a05b97b30aa6693b3b0433a7e179413676b",
      "parents": [
        "a0db46418757dd1b399acb97ff42083cc274e8ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 09 18:45:55 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 09 22:18:33 2014 -0700"
      },
      "message": "Fix our x86 PIC_PROLOGUE.\n\nThe old definition only worked for functions that didn\u0027t use numbered\nlocal labels. Upstream uses \u0027666\u0027 not only as some kind of BSD in-joke,\nbut also because there\u0027s little likelihood of any function having\nlabels that high.\n\nThere\u0027s a wider question about whether we actually want to go via the\nPLT at all in this code, but that\u0027s a question for another day.\n\n(cherry-pick of 72d7e667c7e926cb120c4edb53cbf74c652ab915.)\n\nBug: 16906712\nChange-Id: I3cd8ecc448b33f942bb6e783931808ef39091489\n"
    },
    {
      "commit": "30214b901e8dbec9ec11230187a8e71fc8a04014",
      "tree": "b81bf8ff795f3191c5f139893ffc29b4d4624092",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 31 15:53:22 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 08 11:34:25 2014 -0700"
      },
      "message": "Add memory ordering constraint, convert to C11 atomics\n\nAdd an ordering constraint/fence to __system_property_serial.\nThis slows down a read on a Nexus 5 from about 50 to about 70 ns,\nbut avoids the possibility of seeing an inconsistent property value.\nUse C11 atomic operations where easy and appropriate.\nThis code remains not fully C++11 memory model conformant, but\nI would now expect the generated code to now be correct with current compilers.\n\nBug:14970171\nChange-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83\n"
    },
    {
      "commit": "c5a13efa9bc4264be0a9a9e37c00633af01584ed",
      "tree": "4a1678bd154220d7e8d13e6739037fb48635006a",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Wed Jul 23 11:22:25 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Fri Aug 08 11:29:35 2014 -0700"
      },
      "message": "Added test for ifunc support in dynamic linker.\n\nifuncs now work in i386 and x86_64 when called in the same library as\nwell as in a different library.\n\nBug:6657325\nChange-Id: Ic0c48b1b0a76cb90f36c20c79f68294cc3fd44a1\n"
    },
    {
      "commit": "a0db46418757dd1b399acb97ff42083cc274e8ae",
      "tree": "17328616c29a98aa2eb16b6cb3a7b7b1c93c0322",
      "parents": [
        "3788a1ee8eae4180117010bb9302334acfe1d218",
        "bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 22:36:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 08 18:16:13 2014 +0000"
      },
      "message": "Merge \"Make __set_errno hidden in asm.\""
    },
    {
      "commit": "bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7",
      "tree": "17328616c29a98aa2eb16b6cb3a7b7b1c93c0322",
      "parents": [
        "3788a1ee8eae4180117010bb9302334acfe1d218"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:19:20 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:35:47 2014 -0700"
      },
      "message": "Make __set_errno hidden in asm.\n\nThis fixes the build after the -Bsymbolic change.\n\nBug: 16853291\nChange-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2\n"
    },
    {
      "commit": "3788a1ee8eae4180117010bb9302334acfe1d218",
      "tree": "23112c6c1380ee88e4762b749a1a883acc530cf1",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772",
        "3726f9c38b4b27b492e378e20c52be859225e5f3"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 22:35:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 18:51:06 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix incorrect relocations for x86.\"\""
    },
    {
      "commit": "3726f9c38b4b27b492e378e20c52be859225e5f3",
      "tree": "23112c6c1380ee88e4762b749a1a883acc530cf1",
      "parents": [
        "1c5e415f8c4cd2cb10ad1d1cf660d17161132772"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 15:15:29 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Aug 08 22:26:47 2014 +0000"
      },
      "message": "Revert \"Fix incorrect relocations for x86.\"\n\nBug: 16853291\nThis reverts commit 512bc5232689bec9c763c8247b59de970096ff87."
    },
    {
      "commit": "1c5e415f8c4cd2cb10ad1d1cf660d17161132772",
      "tree": "d2d8f1a51b39a7883247dbf36544621101decf3b",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a",
        "88a1f520d2d54d362dc2f29a0fad2cf0029c8918"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 16:46:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 17:53:11 2014 +0000"
      },
      "message": "Merge \"Add a way to disable backtracing in malloc debug.\""
    },
    {
      "commit": "88a1f520d2d54d362dc2f29a0fad2cf0029c8918",
      "tree": "d2d8f1a51b39a7883247dbf36544621101decf3b",
      "parents": [
        "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 16:21:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 09:40:17 2014 -0700"
      },
      "message": "Add a way to disable backtracing in malloc debug.\n\nThe property libc.debug.malloc.nobacktrace set to non-zero disables\ngetting backtracing when using mode 1 or mode 10.\n\nBug: 16874447\n\n(cherry picked from 49de01a5be7bfb07baaea7415647d838383e1b59)\n\nChange-Id: I6bbefe5420b14991fe84c2f849222dcd7cb592bf\n"
    },
    {
      "commit": "f2d8c357eec1bbc4e7441942dfc338ad1d9a207a",
      "tree": "9c8b6a30adf29d39edf9127556c95128a3ebaf2f",
      "parents": [
        "92f0c91b82c60788b14062ca032ccc732f0fba4c",
        "651a0683ca7ba911beb776975ec893de326d62d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 08 16:16:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 06 23:49:29 2014 +0000"
      },
      "message": "Merge \"Remove misleading arm/arm64 PIC_SYM.\""
    },
    {
      "commit": "651a0683ca7ba911beb776975ec893de326d62d2",
      "tree": "78d45b0ecaa8e2b0cfe8ac74a2c4816c5a08c7aa",
      "parents": [
        "d994622ebf2c4b7e918d9e1f1840f9df88ee7222"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 11:52:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 11:52:38 2014 -0700"
      },
      "message": "Remove misleading arm/arm64 PIC_SYM.\n\nBug: 16823325\nChange-Id: Ic8ff3a628bb4cd71361e3a1c2cfde4b3d39c50b1\n"
    },
    {
      "commit": "92f0c91b82c60788b14062ca032ccc732f0fba4c",
      "tree": "3f58b9e1093d6dd1fbcae3cfe4e280a9c63f96d6",
      "parents": [
        "cdd2f072af5c22750e06d1613b72336ecda7e71f",
        "01bd32e0e46ab8d9b6aeda77a550ec08074728a6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 08 07:07:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 15:46:11 2014 +0000"
      },
      "message": "Merge \"Create a distinct temp directory for each run.\""
    },
    {
      "commit": "01bd32e0e46ab8d9b6aeda77a550ec08074728a6",
      "tree": "370657df52d5e3d6fb98d291bf31e754162f95b9",
      "parents": [
        "447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 05 12:19:27 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 07 19:33:22 2014 -0700"
      },
      "message": "Create a distinct temp directory for each run.\n\nModify make__NR_name so that only __ARM_NR_ is exempted from the\n__NR_ being prepended. This avoids a case where using a name starting\nwith __ but is not a valid syscall name in SYSCALLS.TXT does not generate\ncode that will compile but references the function itself and causes\nlink errors.\n\nFix all of the directory references from dir_part1 + dir_part2 to\nuse os.path.join() instead.\n\nChange-Id: Ib9527eba6f25f26a30c5cb0ad431f3f88a7683cf\n"
    },
    {
      "commit": "d994622ebf2c4b7e918d9e1f1840f9df88ee7222",
      "tree": "aa3aceda5dd6a59ac00a3372c8acc1866e563922",
      "parents": [
        "85ebcfceb62f011e0db359affefcf5570f518bd5",
        "6b6364a7fc7c3ba37ee907776a29bdc8c9793db9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 07 18:25:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 07 14:59:23 2014 +0000"
      },
      "message": "Merge \"Android is all-PIC/PIE.\""
    }
  ],
  "next": "6b6364a7fc7c3ba37ee907776a29bdc8c9793db9"
}
