)]}'
{
  "log": [
    {
      "commit": "e4788d4c7e842b0ca24363ebc5544a16c9e3b185",
      "tree": "0b209f0b6825d111911a939a4db689633da7301f",
      "parents": [
        "c49776bffc92c623c0bbb9d517252bf95bf9b652"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Dec 11 20:28:02 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Dec 12 04:28:29 2018 +0000"
      },
      "message": "No ifunc for strcmp and strlen\n\nThis is a workaround to unbreak bank apps\n\nBug: 120254692\nTest: Run broken apps\nChange-Id: I47a655e9648a6d5f50856f712d8e1cf2be24b440\n"
    },
    {
      "commit": "b0a55fbf748c8564daabd51a7d95113576040efb",
      "tree": "24c89222f658608e5042dbeb29aec32f92bf91b0",
      "parents": [
        "913f808c0f502d64ca542ceab984c9d40eb97eed",
        "4825c6d8146245e06c39d616c9dc91b6ae401cd1"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Dec 12 02:02:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 12 02:02:03 2018 +0000"
      },
      "message": "Merge \"Reserve TLS_SLOT_SANITIZER with value 6.\""
    },
    {
      "commit": "913f808c0f502d64ca542ceab984c9d40eb97eed",
      "tree": "b5a25e8c53eacbfb54433f39c68e89300889b5f7",
      "parents": [
        "7c2c34cb246d6d44f8c37c3480dba0325b738f44",
        "37754cdef681dde87f74ece0712e7c93b18ee368"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 11 22:35:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 11 22:35:16 2018 +0000"
      },
      "message": "Merge \"Move errno to a pthread_internal_t field.\""
    },
    {
      "commit": "4825c6d8146245e06c39d616c9dc91b6ae401cd1",
      "tree": "363bfa4f7a29fdcccdb9a6e484694d7621394585",
      "parents": [
        "37754cdef681dde87f74ece0712e7c93b18ee368"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 11 12:59:00 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 11 13:02:56 2018 -0800"
      },
      "message": "Reserve TLS_SLOT_SANITIZER with value 6.\n\nThis slot will replace TLS_SLOT_TSAN, which needs to be removed for ELF\nTLS compatibility. The platform has both slots reserved until compiler-rt\ncan be updated. See:\n - https://reviews.llvm.org/D53906\n - discussion on AOSP change Idf25d2ee457a5d26d0bdd6281cee72c345c8b755\n\nBug: http://b/78026329\nTest: m\nChange-Id: Ifd5aeb5711dc88266e7350cb022146dd87cfd7be\n"
    },
    {
      "commit": "37754cdef681dde87f74ece0712e7c93b18ee368",
      "tree": "2e94cb9012c50e2a6315f08994ff983e0095c15a",
      "parents": [
        "8b475e598d6c1252271849e41fb0e30e105a0ab3"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Dec 07 01:47:00 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 11 12:59:23 2018 -0800"
      },
      "message": "Move errno to a pthread_internal_t field.\n\nThis change is intended to allow native-bridge to use independent\nTLS memory for host and guest environments, while still sharing a\nthread-local errno between the two.\n\nBug: http://b/78026329\nTest: bionic unit tests\nChange-Id: I838cd321e159add60760bc12a8aa7e9ddc960c33\nMerged-In: I838cd321e159add60760bc12a8aa7e9ddc960c33\n(cherry picked from commit a9c7c55462392a6b974761831744f6d80ca162df)\n"
    },
    {
      "commit": "24bddbe949235a3fa01e93e6f19951df4705c6c1",
      "tree": "3cc51cd55cee9d2bbb2acefe7b930af541ae20a4",
      "parents": [
        "681d8eb5cab3461c91c04faa38cc418c3e120d3d",
        "b9e7b699a2e22333e4f844e2d37d222f4c5451c5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 11 20:20:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 11 20:20:14 2018 +0000"
      },
      "message": "Merge \"Revert \"Track movement of ICU .dat file\"\""
    },
    {
      "commit": "b9e7b699a2e22333e4f844e2d37d222f4c5451c5",
      "tree": "3ebeb19b4e6d4da4aac3bbcedf8be3dc03180923",
      "parents": [
        "68c6bd8b43f03f7d2ffc81d3490a754e21803a30"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 11 20:09:51 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 11 20:11:58 2018 +0000"
      },
      "message": "Revert \"Track movement of ICU .dat file\"\n\nThis reverts commit 68c6bd8b43f03f7d2ffc81d3490a754e21803a30.\n\nReason for revert: Broke ART test environments and emulator devices.\n\nBug: 119293618\nChange-Id: I1b0531d13c6565ce83801d93c78813af592eec1a\n"
    },
    {
      "commit": "681d8eb5cab3461c91c04faa38cc418c3e120d3d",
      "tree": "693e7ffcdaafe29113565a77219fc5c6f1e4661c",
      "parents": [
        "2f1a8dbd10fba5c1b97f8b57c2bc26eaddd25577",
        "68c6bd8b43f03f7d2ffc81d3490a754e21803a30"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 11 14:03:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 11 14:03:28 2018 +0000"
      },
      "message": "Merge \"Track movement of ICU .dat file\""
    },
    {
      "commit": "2f1a8dbd10fba5c1b97f8b57c2bc26eaddd25577",
      "tree": "3cc51cd55cee9d2bbb2acefe7b930af541ae20a4",
      "parents": [
        "4e33c4ff9b7e29a923b00a42669bef88c76f93fe",
        "a50e51ac966579a384c72e3b2ed680e5c9f8fed1"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Dec 10 17:37:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 10 17:37:33 2018 +0000"
      },
      "message": "Merge \"Find tzdata in the runtime module before /system\""
    },
    {
      "commit": "68c6bd8b43f03f7d2ffc81d3490a754e21803a30",
      "tree": "20fc35686690fa2316207b9853bad5330af7870f",
      "parents": [
        "4e33c4ff9b7e29a923b00a42669bef88c76f93fe"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Nov 13 10:23:02 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Sun Dec 09 15:01:43 2018 +0000"
      },
      "message": "Track movement of ICU .dat file\n\nTrack movement of ICU .dat file into the runtime module.\n\nBug: 119293618\nTest: build / boot\nChange-Id: I595c0c94ea7f693810fbe323d7966d9fdf4a07e6\n"
    },
    {
      "commit": "4e33c4ff9b7e29a923b00a42669bef88c76f93fe",
      "tree": "3ebeb19b4e6d4da4aac3bbcedf8be3dc03180923",
      "parents": [
        "b0f293ce52ba095e325ab68e49403d401891ee3a",
        "9268977f2d4e553342dffc9f1a20d72bd813821c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Sat Dec 08 16:41:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 08 16:41:48 2018 +0000"
      },
      "message": "Merge \"Track move of APEX module tz files under etc/tz\""
    },
    {
      "commit": "a50e51ac966579a384c72e3b2ed680e5c9f8fed1",
      "tree": "449c8157060a023e98e765fc14f82fc855362b87",
      "parents": [
        "9268977f2d4e553342dffc9f1a20d72bd813821c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Nov 12 18:45:57 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Dec 07 09:14:03 2018 +0000"
      },
      "message": "Find tzdata in the runtime module before /system\n\nLook for the tzdata file in the runtime module before looking\nin /system. It is still an open question how the removal of\ntzdata will be handled, if at all. Until it is worked out it\nwill be duplicated.\n\nBug: 119293618\nBug: 119390260\nTest: build / boot\nChange-Id: I7e14ef41d0ec226caa595c56be61df5ecf50c382\n"
    },
    {
      "commit": "8b475e598d6c1252271849e41fb0e30e105a0ab3",
      "tree": "85bf3bef4830eb42d9e7792fdcfd6d4b18680c42",
      "parents": [
        "42635c98a18e1ee89a22bc499db122f921a46f61",
        "34583c1089755406877cde9ebd9f75f73858a9bc"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Dec 06 22:18:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 22:18:56 2018 +0000"
      },
      "message": "Merge \"Move dlerror out of a TLS slot and into a pthread_internal_t member.\""
    },
    {
      "commit": "42635c98a18e1ee89a22bc499db122f921a46f61",
      "tree": "edede0b55e6f641f970a5e34ecbc86bfa636a93f",
      "parents": [
        "5c92d9e858f36b78c02a650b98003c35a764c8ac",
        "fe21bbacfcdaf14d9bf5b10939cb73b77cc368ac"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 06 17:13:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 17:13:06 2018 +0000"
      },
      "message": "Merge \"Add Android Runtime APEX bin directory to Bionic default shell search path.\""
    },
    {
      "commit": "fe21bbacfcdaf14d9bf5b10939cb73b77cc368ac",
      "tree": "49ca190005ff639228f07163c84d7a8d8342ad8b",
      "parents": [
        "aabebb277283383a293b021bca6bba46347de6b4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Dec 04 19:30:00 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 06 17:03:47 2018 +0000"
      },
      "message": "Add Android Runtime APEX bin directory to Bionic default shell search path.\n\nInsert `/apex/com.android.runtime/bin` before `/system/bin` in the\ndefault shell search path (`_PATH_DEFPATH`).\n\nTest: Device boot test with Android Runtime APEX.\nTest: Device boot test without Android Runtime APEX.\nTest: cts-tradefed run cts --m vm-tests-tf\nTest: cts-tradefed run cts --m CtsSimpleperfTestCases\nTest: adb root \u0026\u0026 cts-tradefed run cts --m CtsBionicTestCases\nBug: 113373927\nBug: 119949783\nChange-Id: I45fd6ccb939c7e99eb6bda740a7187774c1e930d\n"
    },
    {
      "commit": "5c92d9e858f36b78c02a650b98003c35a764c8ac",
      "tree": "3618a82b233b7466559e9ac06927950f220d6675",
      "parents": [
        "31105c8dd8f4b57b3244aca23ba377c1190f3a6b",
        "c0c0ef6da6c383413b1e0d42f983c5fc88a015f3"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Dec 06 14:39:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 14:39:30 2018 +0000"
      },
      "message": "Merge \"Introduce filegroups for libc sources\""
    },
    {
      "commit": "9268977f2d4e553342dffc9f1a20d72bd813821c",
      "tree": "1b717cfb4fbdb5867160d72d06f97e4486df2dda",
      "parents": [
        "31105c8dd8f4b57b3244aca23ba377c1190f3a6b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Dec 06 14:33:12 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Dec 06 14:33:12 2018 +0000"
      },
      "message": "Track move of APEX module tz files under etc/tz\n\nThe same prebuilts will be used in both runtime and time zone\nmodules. Having the rules put the files in etc/tz/ will make\nthem more appropriate for the runtime module.\n\nBug: 119026403\nTest: build /boot only\nChange-Id: Ia1370457e9d1547b35ed56bb385213d3727c8b9a\n"
    },
    {
      "commit": "34583c1089755406877cde9ebd9f75f73858a9bc",
      "tree": "084d100ac5071fedbd93741a283a6452d35fdb8d",
      "parents": [
        "31105c8dd8f4b57b3244aca23ba377c1190f3a6b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 13 15:30:07 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Dec 06 05:19:57 2018 +0000"
      },
      "message": "Move dlerror out of a TLS slot and into a pthread_internal_t member.\n\nBug: N/A\nTest: boots, tests pass.\nChange-Id: Idf25d2ee457a5d26d0bdd6281cee72c345c8b755\n"
    },
    {
      "commit": "31105c8dd8f4b57b3244aca23ba377c1190f3a6b",
      "tree": "108e24ae000853205f5b5fe21ca9417bee282229",
      "parents": [
        "a6bc0e3c28687130bfa987ade471cb4fd065b261",
        "9131b4abfd54927eb19c1b2cf60d94de0ec13fec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 02:43:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 02:43:58 2018 +0000"
      },
      "message": "Merge \"Remove cruft.\""
    },
    {
      "commit": "a6bc0e3c28687130bfa987ade471cb4fd065b261",
      "tree": "587e0847d2246185d3ffbdd6f15c0a969a27ff6e",
      "parents": [
        "b071f27a4fd9e9cc7ca835594305c35f228ef18b",
        "07440a87732b0f23f8866256cf460b0798f08b8a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Dec 05 20:46:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 05 20:46:15 2018 +0000"
      },
      "message": "Merge changes I96c7b02c,I461feeae,I6fcd8d75\n\n* changes:\n  Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals\n  Use shared globals so getauxval works earlier\n  Split main thread init into early+late functions\n"
    },
    {
      "commit": "9131b4abfd54927eb19c1b2cf60d94de0ec13fec",
      "tree": "8470221d92919c2d03f908ccd42896fbc70738a1",
      "parents": [
        "aabebb277283383a293b021bca6bba46347de6b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 05 10:00:25 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 05 10:00:25 2018 -0800"
      },
      "message": "Remove cruft.\n\nTest: builds\nChange-Id: I432d97ca9c94d96eba74687338d27c0f41b71f0c\n"
    },
    {
      "commit": "c0c0ef6da6c383413b1e0d42f983c5fc88a015f3",
      "tree": "fd3a022f04fd0c742c89997ad709b11231ab6460",
      "parents": [
        "5332af69b67a3cde0dca417887403aab8f3ee520"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Dec 05 16:33:52 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Dec 05 16:37:13 2018 +0100"
      },
      "message": "Introduce filegroups for libc sources\n\nAdd filegroups for libc sources not included in component static\nlibraries.\n\nBug: http://b/120406045\nBug: http://b/114470065\nTest: make\nChange-Id: I2045f14d6636e0da4eb741bfd2de3312475e20e3\n"
    },
    {
      "commit": "4af19611e2cf84a23599f7f2a478f1728a4eac52",
      "tree": "3a6514e672b016b100b6accff3ca2ec325a69ad6",
      "parents": [
        "998175dc6f45e401746fb420c7c245ef8eb074c4"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Dec 04 12:54:43 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Dec 05 04:39:15 2018 +0000"
      },
      "message": "Bionic: Support kryo385 CPU\n\nBug: 119564566\nTest: build\nChange-Id: I557fb6a860b777b7cdb6b97d6946847800a8cec6\n"
    },
    {
      "commit": "07440a87732b0f23f8866256cf460b0798f08b8a",
      "tree": "db993d6293c37214c37d52f5f2cd032891887991",
      "parents": [
        "5a66490e3b9738cc70162257788bcc00583032fa"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 03:16:06 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 04 13:51:56 2018 -0800"
      },
      "message": "Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals\n\nInstead of passing the address of a KernelArgumentBlock to libc.so for\ninitialization, use __loader_shared_globals() to initialize globals.\n\nMost of the work happened in the previous CLs. This CL switches a few\nKernelArgumentBlock::getauxval calls to [__bionic_]getauxval and stops\nrouting the KernelArgumentBlock address through the libc init functions.\n\nBug: none\nTest: bionic unit tests\nChange-Id: I96c7b02c21d55c454558b7a5a9243c682782f2dd\nMerged-In: I96c7b02c21d55c454558b7a5a9243c682782f2dd\n(cherry picked from commit 746ad15912cfa82271424747e94d8125acc43d8c)\n"
    },
    {
      "commit": "5a66490e3b9738cc70162257788bcc00583032fa",
      "tree": "3c284f55d4ce2f2af5745627bf271812082d3223",
      "parents": [
        "9cfca866ce36458bb942b7eebc4997f7bb94d3ad"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 02:14:14 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 04 13:51:46 2018 -0800"
      },
      "message": "Use shared globals so getauxval works earlier\n\nMake getauxval() work in .preinit_array. It still won\u0027t be usable for\nifuncs unless we can guarantee that the __loader_shared_globals relocation\nis resolved before the ifunc calls [__bionic_]getauxval.\n\nDefine __bionic_getauxval for use in replacing calls to\nKernelArgumentBlock::getauxval, which doesn\u0027t (and sometimes isn\u0027t allowed\nto) access TLS variables like errno.\n\nBug: http://b/25751302\nTest: bionic unit tests\nChange-Id: I461feeaed7f43cfa2a2b6c34147194f0df82b516\nMerged-In: I461feeaed7f43cfa2a2b6c34147194f0df82b516\n(cherry picked from commit bdab4a2b97c53af0205788875342ec08e6901376)\n"
    },
    {
      "commit": "9cfca866ce36458bb942b7eebc4997f7bb94d3ad",
      "tree": "f0a8fbdff8af4c8a911b4e88c248f7256f941bbc",
      "parents": [
        "949269828e14167cef09ed7a5ba99df170b5adb6"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 02:44:09 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Dec 04 13:51:36 2018 -0800"
      },
      "message": "Split main thread init into early+late functions\n\nSplit __libc_init_main_thread into __libc_init_main_thread_early and\n__libc_init_main_thread_late. The early function is called very early in\nthe startup of the dynamic linker and static executables. It initializes\nthe global auxv pointer and enough TLS memory to do system calls, access\nerrno, and run -fstack-protector code (but with a zero cookie because the\ncode for generating a cookie is complex).\n\nAfter the linker is relocated, __libc_init_main_thread_late finishes\nthread initialization.\n\nBug: none\nTest: bionic unit tests\nChange-Id: I6fcd8d7587a380f8bd649c817b40a3a6cc1d2ee0\nMerged-In: I6fcd8d7587a380f8bd649c817b40a3a6cc1d2ee0\n(cherry picked from commit 39bc44bb0e03514e8d92f8c0ceb0b5901e27a485)\n"
    },
    {
      "commit": "949269828e14167cef09ed7a5ba99df170b5adb6",
      "tree": "c9d0bbe68e70e13fd45c666ebd286ae404362869",
      "parents": [
        "b7cee4ebad75cdf7c1c2887984e737935d58fa9f",
        "01bfd8934e207986b9328be9e0fa2dfe7218daee"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Dec 04 20:49:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 20:49:10 2018 +0000"
      },
      "message": "Merge \"Remove denver from bionic\""
    },
    {
      "commit": "b7cee4ebad75cdf7c1c2887984e737935d58fa9f",
      "tree": "8395e43df39bd2edbea07adf5eb9345e9e30f9e8",
      "parents": [
        "969538db2ef4394d19617d33a5279fd57ea752ca",
        "5332af69b67a3cde0dca417887403aab8f3ee520"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 20:02:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 20:02:45 2018 +0000"
      },
      "message": "Merge \"Make __libc_init_malloc weak-for-native-bridge\""
    },
    {
      "commit": "5332af69b67a3cde0dca417887403aab8f3ee520",
      "tree": "88bb9539c536897d1f488ec2ca8eeaa274ae1317",
      "parents": [
        "d264aaf95d045cbf41ce9f2fa38e5843774f4531"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Dec 04 14:03:13 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Dec 04 14:06:44 2018 +0100"
      },
      "message": "Make __libc_init_malloc weak-for-native-bridge\n\nBug: http://b/120406045\nTest: make\n\nChange-Id: Ieee30beca3f3bb8525030643b0245041cd4a6167\n"
    },
    {
      "commit": "01bfd8934e207986b9328be9e0fa2dfe7218daee",
      "tree": "2cdabaf9ff2a0bcc30dac38b9d129f7cc95acd97",
      "parents": [
        "c69218d47ed3f915357fb3782dd0a528efc745e5"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Dec 03 15:05:16 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Dec 04 06:38:08 2018 +0000"
      },
      "message": "Remove denver from bionic\n\nTest: bionic unit tests\nBug: 73545680\nChange-Id: Ib142bf289ac73a3512ad1f29789ef82027160d78\n"
    },
    {
      "commit": "c69218d47ed3f915357fb3782dd0a528efc745e5",
      "tree": "8cfb8a05a89199fdaf84dca8bfc953fddcb4a06b",
      "parents": [
        "d264aaf95d045cbf41ce9f2fa38e5843774f4531",
        "6b3be172d6cf5fd29d7e1f825a1b0e589fdc72b2"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Dec 04 06:19:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 06:19:08 2018 +0000"
      },
      "message": "Merge \"Prevent dependency cycle due to system_shared_libs expansion\""
    },
    {
      "commit": "6b3be172d6cf5fd29d7e1f825a1b0e589fdc72b2",
      "tree": "bf0dd5982e0a1c1fbce9d7a34135e9c927d011e8",
      "parents": [
        "9b849d6391a278e06e3c4b39cbee9d30916f51b2"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Dec 03 13:57:20 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Dec 03 15:41:56 2018 -0800"
      },
      "message": "Prevent dependency cycle due to system_shared_libs expansion\n\nIt was discovered that we were building some objects inconsistently due\nto an optimization in cc_library to only build objects once and use them\nfor both the static and shared libraries. But static libraries didn\u0027t\nget system_shared_libs set automatically, and we didn\u0027t notice that we\nwould have built the objects differently.\n\nSo static libraries now get the default system_shared_libs, we allow\nadjusting that for static vs shared in a cc_library, and we disable the\noptimization if the linked libraries are configured differently between\nstatic and shared in a single cc_library.\n\nThis triggers dependency cycles for static libraries that libc/libdl\nuse, so fix those cycles here.\n\nTest: treehugger\nChange-Id: I3cf7fda161a05ec32e0c1e871999720d12a4d38e\n"
    },
    {
      "commit": "eebf5fddf3db685213831d963f924fd3c6ff6692",
      "tree": "8b7839d279946bad9be6b3e2c9467c44f361ce1a",
      "parents": [
        "c466664c4703fdb9e540c33bd31e0b44d88d891d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:56:43 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 03 08:46:21 2018 -0800"
      },
      "message": "Reduce strerror(3)\u0027s impact on .data.rel.ro.\n\nTest: tests pass\nChange-Id: I60b15dfac6ca7dce45f4858ad10b8255e2f1b66d\n"
    },
    {
      "commit": "3927db1d5b54d18510c056fe66ed14ca742da909",
      "tree": "9a9d3100d6bfa22d66a05cc783504908079bcca7",
      "parents": [
        "9f1fddca26554ebfb136113ce0dd8ddc170a2af9"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Nov 30 14:26:23 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Nov 30 22:28:39 2018 +0000"
      },
      "message": "Remove denver64 from libc\n\nTest: compile\nChange-Id: Ifcbe15c1682b4e1e18835e38915b2421196882f7\n"
    },
    {
      "commit": "9f1fddca26554ebfb136113ce0dd8ddc170a2af9",
      "tree": "67723f1da79434700b1b21e1f1bdb7e56d2aa35c",
      "parents": [
        "0a75b5e8a9a170d3bad436c801fe517628e142bf",
        "4e28ea13c7a5fdcc4e673b8f6adda2bbe91eebc8"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Nov 30 21:56:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 21:56:00 2018 +0000"
      },
      "message": "Merge \"Use cmdline instead for enabling heapprofd.\""
    },
    {
      "commit": "4e28ea13c7a5fdcc4e673b8f6adda2bbe91eebc8",
      "tree": "acaccee7ec7a522b93edf125bf19509845376319",
      "parents": [
        "6d0a1e7636d5136cd14ee8d2b725369b86423cb2"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Nov 22 17:34:34 2018 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Nov 30 11:14:43 2018 +0000"
      },
      "message": "Use cmdline instead for enabling heapprofd.\n\nBecause we also want to profile Java applications, which have longer\nnames, the character limit of comm is a problem. To avoid complexity, it\nis preferable to apply the same logic for finding running processes\n(which includes Java apps), and determining whether to profile a process\nfrom startup.\n\nTest: m\nTest: flash sailfish\nTest: setprop heapprofd.enable 1\n      setprop heapprofd.enable.ls 1\n      ls\n      /system/bin/ls\n      /system/bin/ls /\n\nBug: 120175590\n\nChange-Id: Id0859d4a333efcb05883e611ea6a31a51468f82c\n"
    },
    {
      "commit": "73ad790ebebf595a95d2d846d40671ba702d112e",
      "tree": "891999b33045684215acc20d7f2951defcca29f7",
      "parents": [
        "6b70fda682419b1cb41b33bfd84c66c037b7390e"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Nov 28 22:56:58 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Nov 30 07:56:22 2018 +0000"
      },
      "message": "[ifunc] Use c implementation to compare cpu variant names\n\nDid this for fun but turns out it generates better assembly code.\n\nWith a C implementation, compiler can expand both the comparison\nloop and cpu_variant_names array. Results in a decision tree like\nstructure. For example the \"cortex-a\" prefix common in many variants\nwill only be compared once.\n\nTest: run bionic unit tests.\nTest: use debugger to check which variant is used.\nChange-Id: Id70e5536f968161f20b18f35d46430457c338f0f\n"
    },
    {
      "commit": "6b70fda682419b1cb41b33bfd84c66c037b7390e",
      "tree": "bfa841808df6ed69eef493dfda2eb4e94812bce0",
      "parents": [
        "c7cbef4f2dca7de4fb6186df05e0208d7d7fbfa5",
        "48b1159bb82b12bdd75be9228bd43db45168bdba"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Nov 30 02:06:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 30 02:06:52 2018 +0000"
      },
      "message": "Merge changes I376d7695,Ied443375,I614d25e7\n\n* changes:\n  Use shared globals to init __progname + environ\n  Move the abort message to libc_shared_globals\n  Expose libc_shared_globals to libc.so with symbol\n"
    },
    {
      "commit": "7260329093c3a36536e0bebf4ed5b929430f4efb",
      "tree": "aa7f05e80762aa5e0de2d48f839a26255da1bdbe",
      "parents": [
        "12ed389ca5ea756f664de6f76118c886f7bac865",
        "f1c8d1a6f9622bc72442a11b2b0fee8bb994a486"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Thu Nov 29 00:47:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 00:47:35 2018 +0000"
      },
      "message": "Merge \"Use ifunc for ARM32 fortify functions\""
    },
    {
      "commit": "48b1159bb82b12bdd75be9228bd43db45168bdba",
      "tree": "876b546289ca58c6bb0a923c325aedeef7fd5cf8",
      "parents": [
        "7752bcb234a9960d2e9e89766d143b7ac0c5f332"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 02:41:36 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Nov 28 14:26:14 2018 -0800"
      },
      "message": "Use shared globals to init __progname + environ\n\nInitialize the __progname and environ global variables using\nlibc_shared_globals rather than KernelArgumentBlock.\n\nAlso: suppose the linker is invoked on an executable:\n\n    linker prog [args...]\n\nThe first argument passed to main() and constructor functions is \"prog\"\nrather than \"linker\". For consistency, this CL changes the BSD\n__progname global from \"linker\" to \"prog\".\n\nBug: none\nTest: bionic unit tests\nChange-Id: I376d76953c9436706dbc53911ef6585c1acc1c31\n"
    },
    {
      "commit": "7752bcb234a9960d2e9e89766d143b7ac0c5f332",
      "tree": "e7bcae45f66a0682f07d242f18b33681fc9e4cfa",
      "parents": [
        "abf736a7803f4acc8b70a2dab0d43b931aa9c5c0"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 02:41:04 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Nov 28 14:26:14 2018 -0800"
      },
      "message": "Move the abort message to libc_shared_globals\n\n__libc_shared_globals() is available in dynamic modules as soon as\nrelocation has finished (i.e. after ifuncs run). Before ifuncs have run,\nthe android_set_abort_message() function already doesn\u0027t work because it\ncalls public APIs via the PLT. (If this matters, we can use a static\nbool variable to enable android_set_abort_message after libc\ninitialization).\n\n__libc_shared_globals() is hidden, so it\u0027s available in the linker\nimmediately (i.e. before relocation). TLS memory (e.g. errno) currently\nisn\u0027t accessible until after relocation, but a later patch fixes that.\n\nBug: none\nTest: bionic unit tests\nChange-Id: Ied4433758ed2da9ee404c6158e319cf502d05a53\n"
    },
    {
      "commit": "abf736a7803f4acc8b70a2dab0d43b931aa9c5c0",
      "tree": "72009b4f3acbd65415b4c1ed2244d1c560269349",
      "parents": [
        "12ed389ca5ea756f664de6f76118c886f7bac865"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Nov 22 02:40:17 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Nov 28 14:26:14 2018 -0800"
      },
      "message": "Expose libc_shared_globals to libc.so with symbol\n\nPreviously, the address of the global variable was communicated from the\ndynamic linker to libc.so using a field of KernelArgumentBlock, which is\ncommunicated using the TLS_SLOT_BIONIC_PREINIT slot.\n\nAs long as this function isn\u0027t called during relocations (i.e. while\nexecuting an ifunc), it always return a non-NULL value. If it\u0027s called\nbefore its PLT entry is relocated, I expect a crash.\n\nI removed the __libc_init_shared_globals function. It\u0027s currently empty,\nand I don\u0027t think there\u0027s one point in libc\u0027s initialization where\nshared globals should be initialized.\n\nBug: http://b/25751302\nTest: bionic unit tests\nChange-Id: I614d25e7ef5e0d2ccc40d5c821dee10f1ec61c2e\n"
    },
    {
      "commit": "12ed389ca5ea756f664de6f76118c886f7bac865",
      "tree": "e84f0aaafbd490c51795bf378bf04053e50091f1",
      "parents": [
        "fdbf46b4e08a97c57eaa7a536b3d9fb4990b4464",
        "f8294fd8dccd0114820170d92316ddc7b5474b3a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 28 22:01:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 22:01:47 2018 +0000"
      },
      "message": "Merge \"Remove _sys_signal_strings.\""
    },
    {
      "commit": "f1c8d1a6f9622bc72442a11b2b0fee8bb994a486",
      "tree": "e38b3d285b0dd8e013182426843afcb323832aad",
      "parents": [
        "fdbf46b4e08a97c57eaa7a536b3d9fb4990b4464"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Nov 27 15:38:47 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Nov 28 10:56:21 2018 -0800"
      },
      "message": "Use ifunc for ARM32 fortify functions\n\nTest: compile and run bionic unit tests\nTest: make PRODUCT-sdk_phone_arm64-sdk\nChange-Id: I614f495ad6053d507446a6a896b9199825325188\n"
    },
    {
      "commit": "f47e89f29bedeece3cd702e6c48c921d37a03d1b",
      "tree": "27be02dcd96200c148a90567e3bc0c640d3b034e",
      "parents": [
        "0ff8df5f6affa4dac7658e947f71baa0cba2f709",
        "e3ed892faaaa1d580fbdb49dbe6242e10cceff4d"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Nov 28 12:21:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 28 12:21:33 2018 +0000"
      },
      "message": "Merge \"Replace android_open_proxy with dns_open_proxy\""
    },
    {
      "commit": "f8294fd8dccd0114820170d92316ddc7b5474b3a",
      "tree": "fbc5d11d5b777b4c9e2c23dbe3ecd4e9ca423669",
      "parents": [
        "6d0a1e7636d5136cd14ee8d2b725369b86423cb2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 27 14:43:38 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 27 14:43:38 2018 -0800"
      },
      "message": "Remove _sys_signal_strings.\n\nWe already have sys_siglist as public API.\n\nTest: tests pass\nChange-Id: I45bf72955f41b34d91fac19dbfb2946bb9995ef4\n"
    },
    {
      "commit": "0ff8df5f6affa4dac7658e947f71baa0cba2f709",
      "tree": "c98862bc28f281e11c7d4ae2751c6d0ce85630a1",
      "parents": [
        "aa5c0e261a0733f982156e7897560643361e30bd",
        "701bd0cc88092521fdafe6cdd88317469ad4ec1c"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Nov 27 21:23:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 21:23:21 2018 +0000"
      },
      "message": "Merge \"Cleanup: __libc_init_AT_SECURE, auxv, sysinfo\""
    },
    {
      "commit": "aa5c0e261a0733f982156e7897560643361e30bd",
      "tree": "3b8bdf01ab19ce85078f22d940040b16ae1d641b",
      "parents": [
        "b827c97366fe4a261e9b8e2b5f651874e6ce7e1d",
        "e965bcdbe3116e21838e92d973fb8899be6e8821"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 20:51:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 20:51:00 2018 +0000"
      },
      "message": "Merge \"Fix minor bug in dispatch table initialization order.\""
    },
    {
      "commit": "e965bcdbe3116e21838e92d973fb8899be6e8821",
      "tree": "19cbd776c2f535a054f02aa3c40c64ffb900994d",
      "parents": [
        "6d0a1e7636d5136cd14ee8d2b725369b86423cb2"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Nov 23 15:35:42 2018 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Nov 27 17:38:18 2018 +0000"
      },
      "message": "Fix minor bug in dispatch table initialization order.\n\nOther minor changes:\n * document assignment that relies on _Atomic assignments to use\n   atomic_store.\n * consistently use atomic_store when assigning to atomics.\n * remove incorrect comment.\n\nTest: m\nTest: flash \u0026 boot sailfish\n\nChange-Id: I4789c08f7ac28a2de8d6925d03af354514bfd9d7\n"
    },
    {
      "commit": "f17fd1d68aca0a63f7888cd4035858bbdfc6fa94",
      "tree": "554093f4206046bc26daa484604c7f1fad4689a5",
      "parents": [
        "7f92fbe06484f036274952efa00fb5cdf410eb12"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Nov 27 07:56:17 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Nov 27 07:56:17 2018 -0800"
      },
      "message": "Disable XOM in linker, libc, and libm.\n\nThese modules have issues running with execute-only memory. Disable it\nin them until we can resolve the issues.\n\nBug: 77958880\nTest: No more XOM-related crashes in these binaries\n\nChange-Id: Ie6c957731155566c2bbe7dbb7a91b9583d9aff93\n"
    },
    {
      "commit": "701bd0cc88092521fdafe6cdd88317469ad4ec1c",
      "tree": "0fc8dabab1ed23365492b44637e5c412273b4359",
      "parents": [
        "7f92fbe06484f036274952efa00fb5cdf410eb12"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Nov 21 16:23:03 2018 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Nov 26 18:37:13 2018 -0800"
      },
      "message": "Cleanup: __libc_init_AT_SECURE, auxv, sysinfo\n\n__sanitize_environment_variables is only called when getauxval(AT_SECURE)\nis true.\n\nInstead of scanning __libc_auxv, reuse getauxval. If the entry is missing,\ngetauxval will set errno to ENOENT.\n\nReduce the number of times that __libc_sysinfo and __libc_auxv are\ninitialized. (Previously, __libc_sysinfo was initialized 3 times for the\nlinker\u0027s copy). The two variables are initialized in these places:\n - __libc_init_main_thread for libc.a (including the linker copy)\n - __libc_preinit_impl for libc.so\n - __linker_init: the linker\u0027s copy of __libc_sysinfo is still initialized\n   twice, because __libc_init_main_thread runs after relocation. A later\n   CL consolidates the linker\u0027s two initializations.\n\nBug: none\nTest: bionic unit tests\nChange-Id: I196f4c9011b0d803ee85c07afb415fcb146f4d65\n"
    },
    {
      "commit": "ea9957a72a78d4f43dd8ddc1545fd800c0d15c9f",
      "tree": "e6875688c7da7c8ca1083623e78205af81e92cf5",
      "parents": [
        "9ab3e4015d381d7309d54b630abebab2bbae1856"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Nov 19 11:00:32 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Nov 26 20:00:55 2018 +0000"
      },
      "message": "Arm32 dynamic function dispatch\n\nPrevious change was reverted in 9690b121e342676453c58f5940964350762085a0.\nThis change added .arch directive to kryo/ to avoid invalid instruction error.\n\nTest: Run bionic unit test.\nTest: Use gdb to make sure the right function is selected.\nTest: Build previously failed target: make PRODUCT-sdk_phone_arm64-sdk\nChange-Id: I14de41851121fc1a0b38c98fda5eb844b6a9695c\n"
    },
    {
      "commit": "27beebf6e502f9f562881dcf451741f46a48d778",
      "tree": "f1b94e925e18d7c8c6bfdd3f62aafbbce77347fa",
      "parents": [
        "d2dd37936111937c3662c0dd697142b9cc059643"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 26 16:09:56 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 26 18:57:32 2018 +0000"
      },
      "message": "Revert \"Add Android Runtime APEX directories to Bionic search paths.\"\n\nThis reverts commit d2dd37936111937c3662c0dd697142b9cc059643.\n\nReason for revert: Breaks vm-tests.\n\nBug: 119949783\nBug: 113373927\nChange-Id: I2b23285ba98422a23da653d7ea99d9034000f6d6\n"
    },
    {
      "commit": "d2dd37936111937c3662c0dd697142b9cc059643",
      "tree": "b11704f04dd4f2e23b34f3b18b5bae9a4af3ac44",
      "parents": [
        "9e70e8100a4265f4494f2dde3feb8e1407f14565"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 19 13:57:52 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 20 19:12:40 2018 +0000"
      },
      "message": "Add Android Runtime APEX directories to Bionic search paths.\n\n- Insert /apex/com.android.runtime/lib(64) before /system/lib(64)\n  in the default library search paths (`kDefaultLdPaths`,\n  `kAsanDefaultLdPaths`).\n- Insert apex/com.android.runtime/bin before /system/bin in the\n  default shell search path (`_PATH_DEFPATH`).\n\nTest: Device boot test with Android Runtime APEX.\nTest: Device boot test without Android Runtime APEX.\nBug: 113373927\nChange-Id: I9ae6bfe6939f63e7d76e7b3c9b21d8b698bd8fda\n"
    },
    {
      "commit": "9e70e8100a4265f4494f2dde3feb8e1407f14565",
      "tree": "f1b94e925e18d7c8c6bfdd3f62aafbbce77347fa",
      "parents": [
        "8d849ffbade2e4418084e186f9f22a347fe4862c",
        "0dbe6d1aec12d2f30f0331dcfea6dc8e8c55cf97"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Nov 19 21:53:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 19 21:53:25 2018 +0000"
      },
      "message": "Merge \"System property for heapprofd at process startup.\""
    },
    {
      "commit": "8d849ffbade2e4418084e186f9f22a347fe4862c",
      "tree": "afbcf74d11c296650ae0aedbd2ed52361757abcb",
      "parents": [
        "7562ef394daa8c8e3313372be73bec7d1be68d9b",
        "734beec3d48a7ea5cfe3bd0815676181ea698cc7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 19 20:44:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 19 20:44:03 2018 +0000"
      },
      "message": "Merge \"Allocate a small guard region around the shadow call stack.\""
    },
    {
      "commit": "9690b121e342676453c58f5940964350762085a0",
      "tree": "0679a4121379514b370e3c73c1842170af2205a0",
      "parents": [
        "ce4ff9c44de8213a55c3712da17c5eab8f1247bc"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Mon Nov 19 14:14:41 2018 +0000"
      },
      "committer": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Mon Nov 19 14:14:41 2018 +0000"
      },
      "message": "Revert \"Arm32 dynamic function dispatch\"\n\nThis reverts commit ce4ff9c44de8213a55c3712da17c5eab8f1247bc.\n\nReason for revert: broke master in ab/5138164 target sdk_phone_armv7-sdk\n\nChange-Id: Ia4b0c7e6117a37df694509078116963f41d7865e\n"
    },
    {
      "commit": "e3ed892faaaa1d580fbdb49dbe6242e10cceff4d",
      "tree": "67995fa3dd42fd0d2d40f503822c23481ecd20fc",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Mon Nov 19 16:59:08 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Mon Nov 19 18:00:37 2018 +0800"
      },
      "message": "Replace android_open_proxy with dns_open_proxy\n\nremove android_open_proxy and use dns_open_proxy instead of it.\ndns_open_proxy is in libnetd_client and\nit does the same thing as android_open_proxy except return value.\nIt returns fd directly now.\n\nTest: build, dns works fine\nChange-Id: I984743fb50b23eeb9a7d24e9fc347832acfe2afe\n"
    },
    {
      "commit": "734beec3d48a7ea5cfe3bd0815676181ea698cc7",
      "tree": "4a288b288b56d549c23e25166de6be1b86729c79",
      "parents": [
        "83590680649dc04ce8a98cd85b6356e1d6066564"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 14 12:41:41 2018 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 16 14:37:08 2018 -0800"
      },
      "message": "Allocate a small guard region around the shadow call stack.\n\nThis lets us do two things:\n\n1) Make setjmp and longjmp compatible with shadow call stack.\n   To avoid leaking the shadow call stack address into memory, only the\n   lower log2(SCS_SIZE) bits of x18 are stored to jmp_buf. This requires\n   allocating an additional guard page so that we\u0027re guaranteed to be\n   able to allocate a sufficiently aligned SCS.\n\n2) SCS overflow detection. Overflows now result in a SIGSEGV instead\n   of corrupting the allocation that comes after it.\n\nChange-Id: I04d6634f96162bf625684672a87fba8b402b7fd1\nTest: bionic-unit-tests\n"
    },
    {
      "commit": "ce4ff9c44de8213a55c3712da17c5eab8f1247bc",
      "tree": "dd42c871275126a69ed5f4bd22d3359a95fadeeb",
      "parents": [
        "3de3a5faaf34bd3a1b6469988eb2975038074ec2"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Wed Oct 24 10:47:34 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Nov 16 19:50:17 2018 +0000"
      },
      "message": "Arm32 dynamic function dispatch\n\nTest: Run bionic unit test.\nTest: Use gdb to make sure the right function is selected.\n\nChange-Id: I34ccd83d472c13993f75672b1aac2b2eae65c499\n"
    },
    {
      "commit": "0f57d561fe6149f06a53355db846f7e81933c955",
      "tree": "0679a4121379514b370e3c73c1842170af2205a0",
      "parents": [
        "ae471db4a9e5d3411fcfd5d602f65099b5d989d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 15 15:07:13 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 15 15:07:13 2018 -0800"
      },
      "message": "Fix a comment in \u003candroid/api-level.h\u003e.\n\nBug: N/A\nTest: N/A\nChange-Id: Id6ef27caf8fe095d2be7fbf18fed74cc1334f86b\n"
    },
    {
      "commit": "c0f46564528c7bec8d490e62633e962f2007b8f4",
      "tree": "4dabb94963f869576828c5d169e74956f527031a",
      "parents": [
        "83590680649dc04ce8a98cd85b6356e1d6066564"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 15:38:52 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 15 11:07:30 2018 -0800"
      },
      "message": "Make android_get_application_target_sdk_version available to the NDK.\n\nAlso move this and android_get_device_api_level into \u003candroid/api-level.h\u003e\nso that they\u0027re always available.\n\nThis involves cleaning up \u003csys/cdefs.h\u003e slightly.\n\nBug: N/A\nTest: builds\nChange-Id: I25435c55f3549cd0d827a7581bee75ea8228028b\n"
    },
    {
      "commit": "83590680649dc04ce8a98cd85b6356e1d6066564",
      "tree": "753629be99569b6866ebda256ccec04932c2b8c0",
      "parents": [
        "48630a91914b312f5b8c952872c1a9a11b3591ae",
        "ff1428a48e05a86b6e777d5f04a8faa1dc662f8b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 14 19:50:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 14 19:50:59 2018 +0000"
      },
      "message": "Merge \"Move API levels from `uint32_t` to `int`.\""
    },
    {
      "commit": "ff1428a48e05a86b6e777d5f04a8faa1dc662f8b",
      "tree": "513aeffdbfed65b2f995aca73d9926ac70e293ee",
      "parents": [
        "17c4bd9e5966e36352bfe93832e6cdccf5755a49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 12 16:01:37 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 13 21:25:07 2018 -0800"
      },
      "message": "Move API levels from `uint32_t` to `int`.\n\n(cherrypick of a6c71a09670ca636cca5cfea9d74b03a951e2b5e.)\n\nBug: N/A\nTest: builds\nChange-Id: I9c414e30e3c4fe2a4e16a2fe4ce18eae85fe4844\n"
    },
    {
      "commit": "e141362aa1a860274a4833dae532a70b21c08541",
      "tree": "a4d8d5c68a0ebb3878b5fe5e5cb25d4594c94e92",
      "parents": [
        "b9244ff551d3ca90f50635f733950c9c860fff8a"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Nov 13 14:20:43 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Nov 13 14:23:19 2018 -0800"
      },
      "message": "Change memcpy ifunc to return memmove for x86\n\nIt is cleaner to do this with ifunc. This is a partial revert of:\nhttps://android-review.googlesource.com/c/platform/bionic/+/693863\n\nTest: run bionic unit test\nChange-Id: I5fb5745fc98807805aedb94b683e959e2a76a25d\n"
    },
    {
      "commit": "b9244ff551d3ca90f50635f733950c9c860fff8a",
      "tree": "2e38ae33f3927fbced3d742803c55e19a8c6354a",
      "parents": [
        "17c4bd9e5966e36352bfe93832e6cdccf5755a49"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Sat Aug 11 10:12:13 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Tue Nov 13 13:48:23 2018 -0800"
      },
      "message": "Use ifunc to dynamically dispatch libc routines for x86\n\nTest: run bionic unit test in aosp_cf_x86_phone emulator\nChange-Id: Ib0c0de37cd38d24bfce2dfbe35b8fd8edff004af\n"
    },
    {
      "commit": "17c4bd9e5966e36352bfe93832e6cdccf5755a49",
      "tree": "24a8bd471a4c8b0abeac0811ac5dbdef220c9b14",
      "parents": [
        "c2d3e67a77fe284e8f8f1ae4dd4a67a669bfd644",
        "d73a49e91e373cbcf4d044ec79ee7ed7b56dd7ca"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 13 20:48:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 13 20:48:07 2018 +0000"
      },
      "message": "Merge \"Move to jemalloc5.\""
    },
    {
      "commit": "d73a49e91e373cbcf4d044ec79ee7ed7b56dd7ca",
      "tree": "e488c86e6ded1b98a04479aab7123c770bc4f0fd",
      "parents": [
        "b87e85aac399414aeacdc372df4f6900760c7aee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 19 16:03:44 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 13 10:32:33 2018 -0800"
      },
      "message": "Move to jemalloc5.\n\nBug: 62621531\n\nTest: Builds and boots. All unit tests pass.\nChange-Id: I09d106cc3b658885b9155d6838f8df61498d3f85\n"
    },
    {
      "commit": "da772e2113fad40575eea4ebbb522509be7dfe4f",
      "tree": "90cf998a01738c71c6ab06c14c667a642cd74d7b",
      "parents": [
        "b87e85aac399414aeacdc372df4f6900760c7aee"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 06 22:20:44 2018 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 12 20:04:40 2018 -0800"
      },
      "message": "bionic: Allocate a shadow call stack for each thread.\n\nInstead of allocating the stack within a 16MB guard region as we\nwere doing before, just allocate the stack on its own. This isn\u0027t\nas secure as with the guard region (since it means that an attacker\nwho can read the pthread_internal_t can determine the address of the\nSCS), but it will at least allow us to discover more blockers until\na solution to b/118642754 is decided on.\n\nBug: 112907825\nBug: 118642754\nChange-Id: Ibe5dffbad1b4700eaa0e24177eea792e7c329a61\n"
    },
    {
      "commit": "5d427bcb08d74112701cc6c6bf46d7344ea07cc7",
      "tree": "9e9091c92ff108909d0ff2ff7091a01a075cbcf7",
      "parents": [
        "e9bd18ac0c1413473211bbd427c12275b92c9f0e"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 07 14:48:29 2018 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 12 13:42:28 2018 -0800"
      },
      "message": "bionic: Add shadow call stack guard region field to pthread_internal_t.\n\nLanding this change separately to the change that implements SCS\nbecause it needs to land at the same time as an internal change. This\nwill simplify the situation in case SCS needs to be reverted again.\n\nChange-Id: Ibe18750829665b6dcf6e36628a5e5bbdd1a0dd4f\nMerged-In: Ibe18750829665b6dcf6e36628a5e5bbdd1a0dd4f\n"
    },
    {
      "commit": "f71edfad1c95baf226af86fba949621349ab8041",
      "tree": "a276b2434eb651c081b2f3bd5b44f1c315826859",
      "parents": [
        "40538268d43d82409a93637960f2da3c1226840a"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Nov 12 10:06:56 2018 -0800"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Nov 12 10:10:31 2018 -0800"
      },
      "message": "Separate libc_common to two targets\n\nAdds libc_common_static and libc_common_shared targets. So that static\nand shared objects can use different libraries.\n\nIn following changes I\u0027ll add dynamic dispatch code to\nlibc_common_shared.\n\nTest: compile and run bionic unit test.\nChange-Id: I056742fdf8af76ed7deb274c515951656b176fcb\n"
    },
    {
      "commit": "8251d4419fa8040e894685b6d065637701730fa6",
      "tree": "1bb9ee0da642a011e90e0106446faa91f062dc14",
      "parents": [
        "b9de32f6f06efe11f33c16c9ec77df10fdf0cea1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 13:55:21 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 13:57:34 2018 -0800"
      },
      "message": "Add lp32 and lp64 shorthands to SYSCALLS.TXT.\n\nBug: N/A\nTest: updating the generated stubs is a no-op\nChange-Id: I7f6f9bcfd8c054f0a2d7e5f488eacb88cefb8d15\n"
    },
    {
      "commit": "0dbe6d1aec12d2f30f0331dcfea6dc8e8c55cf97",
      "tree": "36c8bd5bfa5f8faab81b323a62ad71dc2de4b76a",
      "parents": [
        "10265a8cbe36fecf59e7630ebf1132b8ecc0902d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Nov 08 11:25:49 2018 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Nov 09 12:00:24 2018 +0000"
      },
      "message": "System property for heapprofd at process startup.\n\nTest: m\nTest: flash sailfish\nTest: setprop heapprofd.enable 1;\n      setprop heapprofd.enable.ls 1;\n      ls;\n\nBug: 117821125\n\nChange-Id: I4a42e430e5e1e194a22f83683061751aa5dfe7ff\n"
    },
    {
      "commit": "b9de32f6f06efe11f33c16c9ec77df10fdf0cea1",
      "tree": "fe2c853ae92fd84230dc9a81609347037881753a",
      "parents": [
        "8fd93e6ea5af395c60d1bfcc0165f0535a30c2dd",
        "f945716bf95b577513d3af65d7cac0d694c4a09f"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Fri Nov 09 03:28:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 03:28:44 2018 +0000"
      },
      "message": "Merge \"Free memory when it is no more used\""
    },
    {
      "commit": "f945716bf95b577513d3af65d7cac0d694c4a09f",
      "tree": "b96c99a681ffcdf89a97ce3c269b8018784a50d1",
      "parents": [
        "8178c417f68dac9c2d1a6b44dbca1e6b85e5b081"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "cken@google.com",
        "time": "Thu Nov 08 17:28:11 2018 +0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 13:29:13 2018 -0800"
      },
      "message": "Free memory when it is no more used\n\nMemory leak happen when Android data framework updates identical DNS\ninformation to netd.\n\n(cherrypick of c466fe95dc641d879683700aea4233ffd42bc762.)\n\nBug: 115595601\nTest: netd_unit_test, netd_integration_test\nChange-Id: Idcc0956729286563603f482258f488a1ccd75e6a\n"
    },
    {
      "commit": "8fd93e6ea5af395c60d1bfcc0165f0535a30c2dd",
      "tree": "1eb55e9ad8050b4cc76c5177a02d4e1da7872c45",
      "parents": [
        "bf925b0580b63f0746303eb234d2684aadc29dc0",
        "f90687c4ec2eba944fa697eff2ccaf9e3b8ee480"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 08 21:24:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 21:24:51 2018 +0000"
      },
      "message": "Merge \"Increase the size of the signal stack on 64-bit.\""
    },
    {
      "commit": "f90687c4ec2eba944fa697eff2ccaf9e3b8ee480",
      "tree": "c4ef71eeb0bce234bd0a4ad8dac35e8778de7b75",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 06 14:47:27 2018 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 08 21:24:31 2018 +0000"
      },
      "message": "Increase the size of the signal stack on 64-bit.\n\nThe signal stack is sufficiently large for a single invocation of the\nsignal handler, but in cases where the signal handler needs to recurse,\n(e.g. if our address space is limited by RLIMIT_AS), it\u0027s too small for\nus to get to the part where we recognize that we\u0027ve recursed and bail\nout.\n\nBug: http://b/118772392\nTest: /data/nativetest64/debuggerd_test/debuggerd_test64 --gtest_filter\u003dCrasherTest.seccomp_crash_oom\nChange-Id: Ic7a2cf8b01b3f7ea7f4a2318a3ec22a0c3649da6\n"
    },
    {
      "commit": "bf925b0580b63f0746303eb234d2684aadc29dc0",
      "tree": "527d9e983d5b0d4ce4bc11d5424c6104ca8573d0",
      "parents": [
        "d495e0b777a101e6a146e9cc87abf522bc64f687",
        "eadf50601bd968889a0cdb022abf29e2374c39b1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 20:09:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 20:09:49 2018 +0000"
      },
      "message": "Merge \"Remove obsolete workaround.\""
    },
    {
      "commit": "10265a8cbe36fecf59e7630ebf1132b8ecc0902d",
      "tree": "d3befccaa8f0209e72b99e39e15e4ba7affe29d2",
      "parents": [
        "b3fe0136d85f889ba467ea3e259bd18805c06762",
        "fd522d01321df225c5e376063dd5154d1e7bc8c5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Nov 08 08:18:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 08:18:59 2018 +0000"
      },
      "message": "Merge \"Finalize the name of the apex package\""
    },
    {
      "commit": "b3fe0136d85f889ba467ea3e259bd18805c06762",
      "tree": "0e01f063363e40df54e89141e666056eedd1283e",
      "parents": [
        "bbd465a230401b41fa6c1375ea5ab139f7fede7e",
        "56794421fc41e5ed28b7546634051458159bbfd4"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 08 04:59:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 08 04:59:14 2018 +0000"
      },
      "message": "Merge \"Revert \"Disable lld, libc_malloc_debug failed to boot.\"\""
    },
    {
      "commit": "56794421fc41e5ed28b7546634051458159bbfd4",
      "tree": "5b4352c5e0ddacfac7785f290f08a7535b0631ad",
      "parents": [
        "0e87940961f999aad65834abf7a09e86b569ed3b"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Nov 07 22:02:27 2018 +0000"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Nov 07 23:49:37 2018 +0000"
      },
      "message": "Revert \"Disable lld, libc_malloc_debug failed to boot.\"\n\nThis reverts commit 0e87940961f999aad65834abf7a09e86b569ed3b.\n\nReason for revert: This should have been fixed.\nBug: 78118944\n\nChange-Id: I796ff2420ec3682dd54a059175a8428868b75c23\n"
    },
    {
      "commit": "fd522d01321df225c5e376063dd5154d1e7bc8c5",
      "tree": "9291f83cf39f696cf9cbd89d80c9581ae7cf8ccf",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Nov 07 15:42:43 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Nov 07 15:42:43 2018 +0000"
      },
      "message": "Finalize the name of the apex package\n\nThe package name in the manifest.json is changing to\nremove apex so the hardcoded path must change.\n\nBug: 119026403\nTest: build\nChange-Id: I906b595a1325b40f8af8c37d7d08cd543c988cc8\n"
    },
    {
      "commit": "eadf50601bd968889a0cdb022abf29e2374c39b1",
      "tree": "5e7bda5df8b37967bb2163b49b8b1217ad3f0f24",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 16 11:55:20 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 06 11:17:34 2018 -0800"
      },
      "message": "Remove obsolete workaround.\n\nBug: b/37423073\nTest: builds\nChange-Id: Ib0ad58abc7303967a80bb933501cc1247bb36385\n"
    },
    {
      "commit": "8178c417f68dac9c2d1a6b44dbca1e6b85e5b081",
      "tree": "ac31cd7fcd74e5b7beb05807bae4f288a6dbdf90",
      "parents": [
        "0c39bd468d3aa19b3e27937b36b101cc4aa65dab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 05 13:34:36 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 06 11:15:17 2018 -0800"
      },
      "message": "ART isn\u0027t using the ART-specific linker features any more.\n\nBug: N/A\nTest: ran tests\nChange-Id: Ide3c295035687019608a2c4716a4a21cb889d121\n"
    },
    {
      "commit": "0c39bd468d3aa19b3e27937b36b101cc4aa65dab",
      "tree": "da08c84bb3e7623629aa6574020f74f8a8902062",
      "parents": [
        "6d1c5cab94f9fb7423198f950fb94dc7e31c4ddd",
        "833cbe4b1c12e31fbbaf99df88f7e2ad23da6610"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Nov 05 08:20:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 05 08:20:42 2018 +0000"
      },
      "message": "Merge \"Add bionic/libc/include to exported_include_dirs\""
    },
    {
      "commit": "6d1c5cab94f9fb7423198f950fb94dc7e31c4ddd",
      "tree": "473411ff281ffc2f2a35a92d01df3c28a7e3a4e6",
      "parents": [
        "9ffd39cdeaf399f53950d2f578f148a88d08e396",
        "7dfeaf896d598f823eda79a238fc9902ba7d4c06"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Nov 02 22:34:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 02 22:34:50 2018 +0000"
      },
      "message": "Merge \"Changes to support loading tz data from APEX\""
    },
    {
      "commit": "833cbe4b1c12e31fbbaf99df88f7e2ad23da6610",
      "tree": "ebd94e76888aec68397e40a39142adeb0542243f",
      "parents": [
        "38b8255866860aef8b514cacb21c242e10a33107"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Oct 19 17:57:54 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Nov 02 13:21:03 2018 +0800"
      },
      "message": "Add bionic/libc/include to exported_include_dirs\n\nThis commit adds \"include\" (full path: \"bionic/libc/include\") to\nexported_include_dirs for libc.  Without this change,\nheader-abi-checker will strip all functions from ABI dumps.\n\nBug: 117963950\nTest: libc.so.lsdump has a non-empty functions array\nChange-Id: I192a4ec0251f1320ced56c6201818076ebd2a2da\n"
    },
    {
      "commit": "8d65a81fb6f485658bbce9c2376424947c9f01f4",
      "tree": "71ff04f831b8d3fb35c0d960dbdee66810c57373",
      "parents": [
        "e2833f27c17e87021dae45c0d45025afd51f1e7e"
      ],
      "author": {
        "name": "nuccachen",
        "email": "nuccachen@google.com",
        "time": "Wed Sep 12 16:36:50 2018 +0800"
      },
      "committer": {
        "name": "nuccachen",
        "email": "nuccachen@google.com",
        "time": "Thu Nov 01 16:40:34 2018 +0800"
      },
      "message": "getnameinfo: Don\u0027t add flag NI_NUMERICHOST for well-known prefix address\n\nCurrently, getnameinfo() will never issue a reverse DNS lookup if the first\nbyte of the IPv6 address is 0x00. This means it is not possible to do a\nreverse DNS lookup for a NAT64 address if the NAT64 prefix is the well-known\nprefix. Make this possible by treating the well-known prefix specially. This\nis not needed for unicast NAT64 prefixes because they do not start with 0x00.\n\nBug: 78545619\nTest: netd_{unit,integration}_test pass\nTest: bionic-unit-tests --gtest_filter\u003d\u0027net*\u0027 pass\nChange-Id: I176d30dcf411a5ffe1eec110db99cd73b48e956f\n"
    },
    {
      "commit": "6f3a56bb18628243b6dbe470222e56bb56ed10ae",
      "tree": "53a7886e2e1f2c7766986c5eafe3f631fe6027ce",
      "parents": [
        "5c7bece8ca071118cceb42306ca568df495d09c7",
        "7b13dd918e6e2c1638e6b137f27c80979a4ecd3f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 01 01:32:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 01:32:00 2018 +0000"
      },
      "message": "Merge \"Revert \"bionic: Allocate a shadow call stack for each thread.\"\""
    },
    {
      "commit": "d6ac79300d2dc777b1df7345e68d5ad04e5e666c",
      "tree": "ead635dee8fef370464d8ca155e833e7c2402a58",
      "parents": [
        "6a5dcd678645df1c1d1987fc7389347765b28f53",
        "25c34e0feba2d0c49971016117a5af4fb8d32c1e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 30 23:31:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 23:31:15 2018 +0000"
      },
      "message": "Merge \"Reverse two pthread_internal_t fields\""
    },
    {
      "commit": "7dfeaf896d598f823eda79a238fc9902ba7d4c06",
      "tree": "ff60ccd8afccda2a11152affb576d6a7136d9bb7",
      "parents": [
        "e898a17e8f2bf30506642be8106b1f8a6de61151"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 30 20:19:35 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 30 20:19:35 2018 +0000"
      },
      "message": "Changes to support loading tz data from APEX\n\nThe changes needed to pick up time zone data files from\na mounted APEX directory. Code that looks for time zone\ndata now looks in a new location after checking for\ndata installed by the time zone updates via APK feature.\n\nThis hasn\u0027t been tested in combination with a real APEX but\nit shouldn\u0027t do anything bad if the new path does not exist.\n\nBug: 115612964\nTest: CTS: run cts-dev -m CtsBionicTests\nTest: Build / boot without APEX support\nChange-Id: I56ae50e26f2cbfa0e537029a0e6f679fa2394327\n"
    },
    {
      "commit": "25c34e0feba2d0c49971016117a5af4fb8d32c1e",
      "tree": "46b26664f7fd968f0009981b5f25878239227d41",
      "parents": [
        "f284a475441f612a0b48067a8bc7a59c72c4b47a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 29 16:31:51 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Oct 30 12:30:21 2018 -0700"
      },
      "message": "Reverse two pthread_internal_t fields\n\nThe golang runtime currently expects to find the pthread key data after\nthe tls slots.\n\nBug: http://b/78026329\nBug: http://b/118381796\nTest: run a golang-based app, bionic unit tests\nChange-Id: Idc777d809b803093e1c81d9a2ce4eafcc7d61f8d\nMerged-In: Idc777d809b803093e1c81d9a2ce4eafcc7d61f8d\n(cherry picked from commit a2c30723dac6b570247ac1bc7190850616f4db93)\n"
    },
    {
      "commit": "9ce28844db7cf80ee8cf7c88dab23b666eaab739",
      "tree": "a6dc35217992637cf0102c4beba99c6fdcd1ffdc",
      "parents": [
        "e898a17e8f2bf30506642be8106b1f8a6de61151"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 25 12:11:39 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 30 09:21:16 2018 -0700"
      },
      "message": "Update to v4.19 kernel headers.\n\nTest: Builds and boots.\nChange-Id: I99a9ed79666e143b47f02ca4e59eed94f69b7e4a\n(cherry picked from commit a981e2e52e2e95a65fa9c9b6fb16dcb4c83dd576)\n"
    },
    {
      "commit": "e898a17e8f2bf30506642be8106b1f8a6de61151",
      "tree": "d257168fc36fe3dec7549bdccb8570f1fade9b97",
      "parents": [
        "f284a475441f612a0b48067a8bc7a59c72c4b47a",
        "176a47594e118a02d7c003ef3eb955ccc6781539"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Oct 30 11:34:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 30 11:34:17 2018 +0000"
      },
      "message": "Merge \"Allow to re-initialize heapprofd.\""
    },
    {
      "commit": "7b13dd918e6e2c1638e6b137f27c80979a4ecd3f",
      "tree": "b7f8343a6fc3767bd968b68ba8b6be74466d027a",
      "parents": [
        "da1bc79f937225b1a048d9e5a03eca81680a17fd"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:48:38 2018 +0000"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:48:59 2018 +0000"
      },
      "message": "Revert \"bionic: Allocate a shadow call stack for each thread.\"\n\nThis reverts commit da1bc79f937225b1a048d9e5a03eca81680a17fd.\n\nReason for revert: Caused OOM in media process\n\nBug: 112907825\nBug: 118593766\nChange-Id: I545663871d75889b209b9fd2131cdaa97166478f\n"
    },
    {
      "commit": "f284a475441f612a0b48067a8bc7a59c72c4b47a",
      "tree": "47d3953dcd5c84de7b57e01fae11d3c0cab606dd",
      "parents": [
        "debcd02d184822df57e7dc69066933dd44092235",
        "da1bc79f937225b1a048d9e5a03eca81680a17fd"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Oct 29 21:05:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 21:05:25 2018 +0000"
      },
      "message": "Merge \"bionic: Allocate a shadow call stack for each thread.\""
    },
    {
      "commit": "da1bc79f937225b1a048d9e5a03eca81680a17fd",
      "tree": "0334b394fff71fc1263d82515dde5c8c16a5dda8",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Sep 06 22:20:44 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 19:55:18 2018 +0000"
      },
      "message": "bionic: Allocate a shadow call stack for each thread.\n\nBug: 112907825\nChange-Id: I7c1479a0cd68696739bf6aa5e0700ba4f2a137ec\nMerged-In: I7c1479a0cd68696739bf6aa5e0700ba4f2a137ec\n"
    },
    {
      "commit": "176a47594e118a02d7c003ef3eb955ccc6781539",
      "tree": "6eed1c373fe16aaa14b078133f8089a5433cc1e2",
      "parents": [
        "d84f8b5eb24f0e55645fd6a35d39611d2ffa74ff"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Oct 23 11:48:34 2018 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Oct 29 12:24:15 2018 +0000"
      },
      "message": "Allow to re-initialize heapprofd.\n\nWithout this change, any process can only be profiled by heapprofd\nonce.\n\nChange-Id: I2d0f50eebcc3b219750354ccdc4ea22a2e39c4b6\n"
    },
    {
      "commit": "debcd02d184822df57e7dc69066933dd44092235",
      "tree": "903e862004d9db9b22ad0e6fdd5d10649150bdbb",
      "parents": [
        "90856af78be11457f9b4a32ad8dad4946ae30bb3",
        "f2484aaed779c0ef03661d6d473ee64e3b0503cd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Oct 27 04:42:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 27 04:42:02 2018 +0000"
      },
      "message": "Merge \"Fix handling of #elif.\""
    },
    {
      "commit": "f2484aaed779c0ef03661d6d473ee64e3b0503cd",
      "tree": "bc6f0851c48e30bce36d872f7b390de8a01ddcc3",
      "parents": [
        "c89a3971e94c30611c885e4c440eae2fd9937948"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 25 19:41:45 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 26 22:42:26 2018 +0000"
      },
      "message": "Fix handling of #elif.\n\nWhen a construct like:\n\nif defined(something)\n  blocks1\nelif 1\n  blocks2\nelse\n  blocks3\nendif\n\nThe parser would put the first clause but then simply omit the elif and\nput all of blocks2 without a terminating #endif. The code also did\nsomething similar when the #else was an #endif.\n\nAlso convert all of the unit tests to real unit tests and only run\nthem if you run cpp.py by itself. Added new unit tests to cover the\nnew cases.\n\nTest: Ran cpp.py unit tests.\nTest: Reran update_all.py and verified nothing changed, and that running\nTest: it on the new kernel headers that exposed this problem.\nChange-Id: Ie168511303c4e15afdb60c37baef75a966ca29a8\n"
    }
  ],
  "next": "90856af78be11457f9b4a32ad8dad4946ae30bb3"
}
