)]}'
{
  "log": [
    {
      "commit": "ad992ab7e4f06eb469378610abac5f533e7c8882",
      "tree": "0d956570c4262a97662fb56914d8342b0018e8c6",
      "parents": [
        "15f834e89efe02b0fdc4b48c20af495f91e56ca9"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Sep 05 01:03:35 2024 +0000"
      },
      "committer": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Sep 05 01:08:01 2024 +0000"
      },
      "message": "Remove //apex_available:platform from libdl,libdl_android,libm\n\nhttps://r.android.com/3248918 removed //apex_available:platform from\nlibc, but skipped this for the other bionic libaries. Since these\nlibraries are part of the runtime apex, drop //apex_available:platform\nfrom their apex_available property\n\nTest: m libm-checkbuild libdl-checkbuild libdl_android-checkbuild com.android.runtime\nTest: no changes in the list of installed files\n(out/target/product/$product/obj/PACKAGING/system_intermediates/file_list.txt)\n\nChange-Id: I2851363ccf286f087c23287e9c22871ebcafcbaa\n"
    },
    {
      "commit": "4b5d62e25147c40eeb7dda3e033a036927b630dc",
      "tree": "7019826136d9ade1086b55b0eddd11754e2518aa",
      "parents": [
        "8f21e45ac19adbc4203c31fb0725e2d32dda13f5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 20 16:21:08 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 20 16:21:32 2024 +0000"
      },
      "message": "Remove use of `--exclude-libs` for libgcc/libcompiler_rt.\n\nThis dates from before we had linker scripts, and isn\u0027t needed any more.\n\nAlso remove a similar obsolete libgcc workaround for unwinding.\n\nAlso clarify some of the commentary.\n\nTest: nm before and after.\nChange-Id: Icbc78559374bd3792ed4a1a11ebe54b27d0cce7a\n"
    },
    {
      "commit": "1c2ba6a5c5971dfad9750db095e62f31a6dcc9aa",
      "tree": "eb66148cebc2b813faf71ffaca18e39e1e7ff6c6",
      "parents": [
        "5069a21d18b605231d809ab099e10f134216f84e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 18 18:15:19 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 18 18:15:19 2024 +0000"
      },
      "message": "Factor out the bug 24465209 workaround for libdl too.\n\nI think this makes it clearer that we have some obsolete cruft here (for libgcc_eh in particular), but I\u0027ll come back for that later.\n\nChange-Id: I44e620d21275fb904a3084bffd607ec8d813b9b8\n"
    },
    {
      "commit": "8401230be6a396b10659de62639792f149daf811",
      "tree": "d33c433ab389fab0023b5958fe429dce62b32dec",
      "parents": [
        "d06e2e7b29ec785b9c9143b98c04dd75286fc5d5"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Sat Apr 27 01:17:21 2024 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed May 22 18:29:04 2024 +0000"
      },
      "message": "bionic: max_android_page_size to 16384\n\nThe maximum page size Android supports\nnow is 16384, and Art only supports 16kB,\nso we can save a bit of space.\n\nBug: 332556665\nTest: N/A\nChange-Id: I23df607bcc5cf9e96d7b6a66169413cd1a883f7e\n"
    },
    {
      "commit": "1eacc0edc001ee0f11333d47fa6f7fb14b5b6670",
      "tree": "f401b585b35a5dcb1f179bc4aa08a2ecfd6772f7",
      "parents": [
        "569b45dce513089930b266b63b74cdceef432d56"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 19 19:05:36 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 19 19:05:36 2024 +0000"
      },
      "message": "bpfmt all the .bp files to silence ayeaye.\n\nTest: treehugger\nChange-Id: I5b7add6f013dcd2d4eee4851b7a2a22310c6d533\n"
    },
    {
      "commit": "0a6cfe992e3eb5492d8749a2b579932c00073a01",
      "tree": "095fbf36ab7c25e5ec1c921d5621e4c606aa11dd",
      "parents": [
        "b28d496c189e22d1884e57da371a3050b143a8d5"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Jan 04 18:06:50 2024 +0000"
      },
      "committer": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Jan 04 18:14:44 2024 +0000"
      },
      "message": "Make apex availability of some bionic libraries explicit\n\nThe libraries are\n- libdl_static\n- liblinker_main\n- liblinker_malloc\n- libsystemproperties\n\nThe availability to runtime apex was done implicitly using a baseline map in\nbuild/soong/apex/apex.go. Make this explicit in Android.bp\n\nBug: 281077552\nTest: m nothing\nChange-Id: I029ae204f6cfef8c301a20b7c4294636b60b38be\n"
    },
    {
      "commit": "bbd9c0e275b722306b6eae2706dab7e73337956d",
      "tree": "341196dff54dba219e727949c34736c956ef5969",
      "parents": [
        "717debf261c56ada8b7a40d623bf3558ce6aef01"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Dec 11 16:06:02 2023 +0900"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Dec 11 16:06:02 2023 +0900"
      },
      "message": "Re-enable LTO for libdl_android\n\nThe build breakage is now fixed by the current stable Clang, workaround\nis no longer needed.\n\nTest: presubmit\nBug: 169004486\nChange-Id: Ieb1e35b0dbafe0fbe47c23ff310c803bf697a664\n"
    },
    {
      "commit": "9a8e6b80b19a33b08bca81c98de5fd27bf115b2f",
      "tree": "79c29e3e5dd646c8d8009067214f6bdc1f7be5f8",
      "parents": [
        "042e4c50d139b78e2a37d4740379e65bf98ac5f1"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Nov 30 11:55:09 2023 +0900"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Nov 30 11:55:09 2023 +0900"
      },
      "message": "Re-enable LTO for libdl\n\nThe build breakage is now fixed by the current stable Clang, workaround\nis no longer needed.\n\nTest: presubmit\nBug: 169004486\nChange-Id: Id8df8efeb9f4183921cbf75f1c51b1507bff1eb0\n"
    },
    {
      "commit": "461c64db9e1e8a035b2ab3663e8305e1a8268fe9",
      "tree": "911cda2fce5613a2133370fc8ac19b321a746ca4",
      "parents": [
        "0398f8ab3a87a70f31ee664fcca293e3e3031db8"
      ],
      "author": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Thu Aug 24 23:36:30 2023 -0700"
      },
      "committer": {
        "name": "Kalesh Singh",
        "email": "kaleshsingh@google.com",
        "time": "Thu Aug 24 23:36:33 2023 -0700"
      },
      "message": "bionic: libdl_cfi: Remove PAGE_SIZE usage\n\nUse max_page_size() for build time variable alignments instead\nof PAGE_SIZE.\n\nIn the 4k targets there is no functional difference since\nmax_page_size() \u003d\u003d page_size() \u003d\u003d 4096.\n\nOn a 16kb device max_page_size() \u003d\u003d 65536 and page_size() \u003d\u003d 16384.\nHowever, aligning up does not incur any memory regressions\nsince the .bss/.data sections are still be backed in PAGE_SIZE\u0027ed\nchunks. See: go/16k-page-aligned-variables\n\nBug: 296275298\nTest: mma\nChange-Id: Ic944235d8a5742a51a8fb0f2a0b75e532f404110\nSigned-off-by: Kalesh Singh \u003ckaleshsingh@google.com\u003e\n"
    },
    {
      "commit": "f5968d82f562e4f43b05ffa54ac7df16396351bc",
      "tree": "98410de66fe770c359f515aa43f43b9a9f9aad14",
      "parents": [
        "66542d6b97547cdd5b9fee3e4126d50f4316443d"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Apr 11 15:20:19 2023 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Apr 11 15:20:19 2023 -0700"
      },
      "message": "Rename files/modules that have the same name\n\nBazel doesn\u0027t like it when modules produce files with the same name\nas the module itself, and gives warnings.\n\nRename either the module or file in this case so that the file has\nan extension and the module doesn\u0027t.\n\nBug: 198619163\nTest: m nothing\nChange-Id: Ic4592b06f575496ffd54ac75cb4d682118b29d93\n"
    },
    {
      "commit": "a493fe415304efd19f089cbfc7d78c9db7d7263c",
      "tree": "c32aecf26393494cb468d4ea91cd2b9f7c334178",
      "parents": [
        "3f44f6b472746515a711a19580a824750a608967"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 19 12:47:22 2023 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Feb 02 15:35:25 2023 -0800"
      },
      "message": "Add the recoverable GWP-ASan feature.\n\nGWP-ASan\u0027s recoverable mode was landed upstream in\nhttps://reviews.llvm.org/D140173.\n\nThis mode allows for a use-after-free or a buffer-overflow bug to be\ndetected by GWP-ASan, a crash report dumped, but then GWP-ASan (through\nthe preCrashReport() and postCrashReportRecoverableOnly() hooks) will\npatch up the memory so that the process can continue, in spite of the\nmemory safety bug.\n\nThis is desirable, as it allows us to consider migrating non-system apps\nfrom opt-in GWP-ASan to opt-out GWP-ASan. The major concern was \"if we\nmake it opt-out, then bad apps will start crashing\". If we don\u0027t crash,\nproblem solved :). Obviously, we\u0027ll need to do this with an amount of\nprocess sampling to mitigate against the 70KiB memory overhead.\n\nThe biggest problem is that the debuggerd signal handler isn\u0027t the first\nsignal handler for apps, it\u0027s the sigchain handler inside of libart.\nClearly, the sigchain handler needs to ask us whether the crash is\nGWP-ASan\u0027s fault, and if so, please patch up the allocator. Because of\nlinker namespace restrictions, libart can\u0027t directly ask the linker\n(which is where debuggerd lies), so we provide a proxy function in libc.\n\nTest: Build the platform, run sanitizer-status and various test apps\nwith recoverable gwp-asan. Assert that it doesn\u0027t crash, and we get a\ndebuggerd report.\nBug: 247012630\n\nChange-Id: I86d5e27a9ca5531c8942e62647fd377c3cd36dfd\n"
    },
    {
      "commit": "ed70c17deb81ab1ec0a178923435004f330af706",
      "tree": "1c62f449cb0aaa95384bb2f75465f5ff2e64362a",
      "parents": [
        "6987120b30e3f8192eaddde68cb0c65b1b831eab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 19:01:30 2022 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 11 19:01:30 2022 +0000"
      },
      "message": "Build libdl for risc-v.\n\nAn easy one to start with, since there\u0027s nothing really in it :-)\n\nSigned-off-by: Mao Han \u003chan_mao@linux.alibaba.com\u003e\nSigned-off-by: Xia Lifang \u003clifang_xia@linux.alibaba.com\u003e\nSigned-off-by: Chen Guoyin \u003cchenguoyin.cgy@linux.alibaba.com\u003e\nSigned-off-by: Wang Chen \u003cwangchen20@iscas.ac.cn\u003e\nSigned-off-by: Lu Xufan \u003cluxufan@iscas.ac.cn\u003e\nTest: built manually\nChange-Id: I16028a6f959d0ce43b9c9d5d90db681479505a3e\n"
    },
    {
      "commit": "291f98a66d6649f310b1984070909478068e82ca",
      "tree": "a5b02fd3d162745f180cf5120124b16df8b66208",
      "parents": [
        "a8cb33ff0733823e327ddcb609165e4431e20e72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 30 23:35:11 2022 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 30 23:35:11 2022 +0000"
      },
      "message": "Switch to the more common idiom for scripts in genrules.\n\nBug: http://b/198619163\nTest: treehugger\nChange-Id: I8a6e9e179aef45e1b0622a2e15f80f92041f9736\n"
    },
    {
      "commit": "a0a4a6c2967b5b3c02c951ea1145f32ed5564ab9",
      "tree": "b2e17733fabd68ce6758d1200c73a4db03a48d12",
      "parents": [
        "4b42ad753e50d3a094c6bfdf3c0c79a0321e0b2f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 02 10:23:04 2021 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 26 17:45:57 2021 -0700"
      },
      "message": "Replace llndk_library with llndk clause in cc_library\n\nRemove the vestigial llndk_library and replace it with properties\nin the llndk clause of the implementation cc_library.\n\nIn order to reduce duplication of the arch-specific headers used\nby the implementation and LLNDK, rename libc_headers_arch to\nlibc_llndk_headers and hoist the \"include\" directory out of it,\nsince that directory is preproccessed separately for LLNDK\nlibraries.\n\nBug: 170784825\nTest: m checkbuild\nTest: compare out/soong/build.ninja\nChange-Id: I75f0ff9129d910640da55eee6a6387467e6e4a9d\n"
    },
    {
      "commit": "aa7d835fdd739881a907ac5c8a89a5dae01f6089",
      "tree": "d85b4086e7cd0aedd28a071d5e1899f62b73695d",
      "parents": [
        "d29cac66b426d59afd7ce7da9519b6d43f5df0cc"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 19 13:06:22 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 19 23:38:28 2021 +0000"
      },
      "message": "Add LOCAL_LICENSE_KINDS to bionic\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apex/Android.bp\n  libdl/Android.bp\n  tools/Android.bp\n  tools/versioner/Android.bp\n  tools/versioner/src/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  benchmarks/Android.bp\n  benchmarks/linker_relocation/gen/Android.bp\n  libc/malloc_debug/Android.bp\n  libc/system_properties/Android.bp\n  tests/Android.bp\n  tests/libs/Android.bp\n  tests/libs/Android.build.dlext_testzip.mk\n  tests/make_fortify_compile_test.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-ISC SPDX-license-identifier-MIT\n    legacy_notice legacy_unencumbered\nto:\n  libc/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_unencumbered\nto:\n  libm/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 legacy_unencumbered\nto:\n  libc/tools/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  benchmarks/linker_relocation/Android.bp\n  benchmarks/spawn/Android.bp\n  libc/async_safe/Android.bp\n  libc/malloc_hooks/Android.bp\n  libfdtrack/Android.bp\n  linker/Android.bp\n  tests/headers/Android.bp\n  tests/headers/posix/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Ib05bcaa276b3aa71a7654ccbe8e67e1f16aec9f3\n"
    },
    {
      "commit": "aa8db1b9d1e8bba7eba26238e44713f02a3dd533",
      "tree": "0c55f7bf1fa5b9aa9e01c63573bd4bb6314a6393",
      "parents": [
        "ef0ec82684ea52ee3a13db8df9103ca314ea17aa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:05:44 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 15:06:50 2021 -0800"
      },
      "message": "Fix/update notices.\n\nAuto-generate NOTICE files for all the directories, and for each one\nindividually rather than mixing libc and libm together.\n\nTest: N/A\nChange-Id: I7e251194a8805c4ca78fcc5675c3321bcd5abf0a\n"
    },
    {
      "commit": "ef1478765da06fad1238d4690911a6f40faa40fb",
      "tree": "7b211efd5e60fe53190402c7c490085fe75cc404",
      "parents": [
        "f700de5f531e44434fd78bd678b027ad33403a56"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 28 14:06:52 2021 -0800"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jan 28 15:41:47 2021 -0800"
      },
      "message": "Fix -Wl,--exclude-libs typo: x86-\u003ei686\n\nThese lines shouldn\u0027t actually matter, because the DSOs are using\nversion scripts to allow-list exported symbols.\n\nBug: none\nTest: bionic unit tests\nChange-Id: I39d3df8c4f8053624f862b3c6994e30c693e928c\n"
    },
    {
      "commit": "d9a9622c3181ccb77166b44239b76427ed13a7d5",
      "tree": "a860c98042de260ecfcf0f43ec353186238bb7fc",
      "parents": [
        "e09fc24a94c1a196b8930f8f26c6f5f8c1a47d06"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 19 14:58:25 2021 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 19 14:58:25 2021 -0800"
      },
      "message": "Don\u0027t set native_bridge_supported: true for ndk libraries\n\nNative bridge modules will never compile against stubs, remove\nnative_bridge_supported: true.\n\nTest: m checkbuild\nChange-Id: I0eb93fe1a2c3f6ca34ce4dab17edda8807132ce8\n"
    },
    {
      "commit": "02bee7182e2a6c001bd3116d50c8bb461bc3c98d",
      "tree": "99239edd5677ffb3651c3628d2e165934bb80c44",
      "parents": [
        "c3ecfb623f2c8190a3763b4a4a4716bea0032fac",
        "b04490d7e5f85545b15ad4e04ba9f3d2eea550c6"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Oct 29 17:17:29 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 29 17:17:29 2020 +0000"
      },
      "message": "Merge \"Make vendor_ramdisk_available.\""
    },
    {
      "commit": "b04490d7e5f85545b15ad4e04ba9f3d2eea550c6",
      "tree": "4b593a5f764241dd5796cb28190099de648ec071",
      "parents": [
        "b5f301eaafdc23f05fe5558fb0406a0ab04fc807"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Oct 21 18:36:36 2020 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Oct 27 17:06:45 2020 -0700"
      },
      "message": "Make vendor_ramdisk_available.\n\nTest: pass\nBug: 156098440\nChange-Id: I8fe2deb8fa3b24c227202be02d8af648629cffeb\n"
    },
    {
      "commit": "8393a8bc8487437d4dc02bc98da2a88407f83b25",
      "tree": "4def54bf96b33189cb9240369e6d5fe5b763496b",
      "parents": [
        "8c8d3e7288ac63e1d70102cdd7dcf159207637d5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 19 13:37:49 2020 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 19 13:37:49 2020 -0700"
      },
      "message": "Make the connection between implementation and llndk_library explicit\n\nInstead of assuming a module with the .llndk suffix exists, add an\nllndk_stubs property to every cc_library module that has a\ncorresponding llndk_library.  Also rename the llndk_library to have\nan explicit .llndk suffix.\n\nBug: 170784825\nTest: no changes to build.ninja (excluding comments) or Android-${TARGET_PRODUCT}.mk\nChange-Id: Ib5453472a09ebc64818ceb69bcbe1184720ce86a\n"
    },
    {
      "commit": "15a05a77b4a2949c095e0f73da50a381348ccbac",
      "tree": "3ca727ac5010ef030d9b7061c536ffc120024aaa",
      "parents": [
        "07c85f1688182bec2aa21a2195997e7893ad6a4d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Sep 22 00:56:13 2020 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Sep 29 17:24:04 2020 +0000"
      },
      "message": "No global ThinLTO for bionic\n\nThere are multiple build breakages with bionic when we enable ThinLTO\nglobally. Opt bionic out of ThinLTO for now.\n\n#global-thinlto-opt-out\n\nTest: TreeHugger\nBug: 169004486\nChange-Id: I546a8074f9c3e0ddbd01d3b7cd730e215e3c0c49\n"
    },
    {
      "commit": "48943b20c0252594dd73a92d2b6c82aab71858d3",
      "tree": "f3fd267837cd663d2ff41fe1ce7c1eb9ea887944",
      "parents": [
        "aadcb078907f23ba719f0ca180aad4f425cf1b0f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jul 27 13:28:56 2020 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Aug 13 13:35:17 2020 -0700"
      },
      "message": "Avoid explicit use of \"10000\" in build files.\n\nTest: treehugger\nBug: None\nChange-Id: Iab713c5f4b53665f8224b3857beaa6a1d19f8d69\n"
    },
    {
      "commit": "3ddcc1e98700399777ff07b140ae484d0cb0345c",
      "tree": "32e8329a78fec59a06d0ab5fbc790703972c27ba",
      "parents": [
        "98581070c2f461cc0a86eeaf871983cee701ff23"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 06 23:44:08 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 06 23:47:40 2020 +0100"
      },
      "message": "Export libc_headers from libdl_static for libraries that wrap it\nwithout bringing in libc.\n\nRequired by the native bridge libdl wrapper.\n\nTest: m (on cf_x86_phone)\nBug: 153590472\nChange-Id: Ib9b1b741aaf5b09b24d7dce09a49c2fa7737209f\n"
    },
    {
      "commit": "82d84bcd7eba68ea9daf99af2f41a96c9b4ce96c",
      "tree": "923ae6432337045ebed919b0b6dac71f25319095",
      "parents": [
        "95c00dcf0bb3cae35a199efcb93b81092983c151"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 06 20:32:09 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue May 05 13:34:14 2020 +0100"
      },
      "message": "Make Bionic and kernel system includes explicit in the blueprints.\n\nBefore this Soong added hardcoded system include paths to\nbionic/libc/{include,kernel}, which won\u0027t work when Bionic libs are\npackaged up as prebuilts in an SDK module snapshot.\n\nTest: Build and boot\nTest: Check in out/verbose.log.gz that a C file doesn\u0027t get any bionic\n  include path for linux_glibc.\nBug: 153590472\nChange-Id: I13c8eb3dd7150d6e0fee001b290b53fcebebcfea\n"
    },
    {
      "commit": "274e21fdb629bbd083ce5047f383538deccd21e2",
      "tree": "73aaaed6dc0a6669a02674bb1cdee4a6f5bd0b54",
      "parents": [
        "8dba7fefb0f00f697847bf0209a7289a689e80d2"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Mar 18 08:45:25 2020 +0000"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Mar 18 08:45:25 2020 +0000"
      },
      "message": "Revert \"Statically link libdl.a to linker\"\n\nThis reverts commit 8dba7fefb0f00f697847bf0209a7289a689e80d2.\n\nReason for revert: This workaround is not necessary with ag/10700799\n\nMerged-In: I2bf469bfe00f3a70e67085abfb3822db6908d522\nChange-Id: If351aedfce23d60582f0c5ff965f94356d1900d9\nBug: 150860940\n"
    },
    {
      "commit": "8dba7fefb0f00f697847bf0209a7289a689e80d2",
      "tree": "bdbb1518a3a6e6b2118a80228e120b49e10a8af1",
      "parents": [
        "ae35f675bb50210ad2e77573de62e7c597c24455"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Mar 06 14:03:35 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Mar 11 07:53:47 2020 +0000"
      },
      "message": "Statically link libdl.a to linker\n\nWhen libbase is built for an APEX, it uses dlsym to reflectively access\nliblog symbols that are added in R. This is because the APEX where\nlibbasse is packaged into might be running in pre-R devices where the\nsymbols don\u0027t exist in liblog.so.\n\nThis however causes a problem for a static executable in an APEX. Since\nit is in an APEX, the dlsym is used. But libdl.so which provides dlsym\nis not available to static executable. Currently, the dynamic linker is\nthe only executable in an APEX that all of its dependencies are\nstatically linked. Fixing the issue by providing fake dlsym by\nstatically linking to libdl.a.\n\nExempt-From-Owner-Approval: cherry-pick rvc-dev\n\nBug: 149569129\nTest: m\n\nMerged-In: I2e9e45d9876c2d6c878e541715389e6d1ef56996\n(cherry picked from commit ec829ed4ea3e0b2e1444ee4dfef660c49e392292)\nChange-Id: I2e9e45d9876c2d6c878e541715389e6d1ef56996\n"
    },
    {
      "commit": "ae35f675bb50210ad2e77573de62e7c597c24455",
      "tree": "73aaaed6dc0a6669a02674bb1cdee4a6f5bd0b54",
      "parents": [
        "7aa6ba4aec3dc59738457fcd2dc83e3b6d817fd3",
        "27c1e220361b0b3ab0b8fae35e8767935e8680ec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 10 18:30:30 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 10 18:30:30 2020 +0000"
      },
      "message": "Merge \"Delete definitions of __aeabi_unwind_cpp_pr0.\""
    },
    {
      "commit": "26ddc4dccf13a56aee8bd0941cdf2c001d186e72",
      "tree": "96fbc5bd454c2cef7db0a140f773dac191249111",
      "parents": [
        "6cf75230d9feae269a823c7dd43433baf1b71465"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 27 18:33:25 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 27 09:57:50 2020 +0000"
      },
      "message": "Add 29 to stubs.versions of libc/libdl/libm\n\nStubs of version 29 should be provided to those APEX modules targeting\nprevious SDK release.\n\nBug: 145796956\nTest: m\nChange-Id: I9454fbf81377aba25e75a6fdfc77cbb070eaadde\n"
    },
    {
      "commit": "5a39cee1ce7638133eaaa65dc09d1734732b309b",
      "tree": "58a1b9f81bac698e2f5c107ce5e1645633b4e750",
      "parents": [
        "73e9f242ed07631798433df4e35f5f73443cb9f9"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Jan 21 16:43:56 2020 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 22 12:09:33 2020 -0800"
      },
      "message": "Make ramdisk_available.\n\nTest: pass\nBug: 147347110\nChange-Id: I142311a7558a19d209bcd63207a88e12cf6f130e\n"
    },
    {
      "commit": "27c1e220361b0b3ab0b8fae35e8767935e8680ec",
      "tree": "9526127936a30526f640a505ba4f6366acb07aa1",
      "parents": [
        "9c5c87ed0575328b004a2512d7ff8ef8495cdcca"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 10 10:40:11 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jan 10 10:40:43 2020 -0800"
      },
      "message": "Delete definitions of __aeabi_unwind_cpp_pr0.\n\nThese are no longer necessary now that LLVM no longer emits references to\nthis symbol on Android.\n\nBug: 144430859\nChange-Id: I6c43338f755ce5a79e2df36bd3f2006a748fab27\n"
    },
    {
      "commit": "3274cc4692aa636471ad4ea0ae5f5e81d3552b14",
      "tree": "bdcffefcde2c3f65ae8ad5a3ea8710877a929615",
      "parents": [
        "2a8bca749533dcefabff497d4f7346a35601a702"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Nov 11 15:33:22 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 21 16:15:20 2019 +0000"
      },
      "message": "Reland \"Add libdl_android to the Runtime (aka Bionic) APEX\".\n\nBefore this it ended up in /system.\n\nTest: build \u0026 boot\nTest: adb shell find system apex -name libdl_android.so | xargs adb shell ls -l\n  \u003d\u003e\n  apex/com.android.runtime/lib/bionic/libdl_android.so\n  apex/com.android.runtime/lib64/bionic/libdl_android.so\n  apex/com.android.runtime@1/lib/bionic/libdl_android.so\n  apex/com.android.runtime@1/lib64/bionic/libdl_android.so\n  system/lib/bootstrap/libdl_android.so\n  system/lib/libdl_android.so -\u003e /apex/com.android.runtime/lib/bionic/libdl_android.so\n  system/lib64/bootstrap/libdl_android.so\n  system/lib64/libdl_android.so -\u003e /apex/com.android.runtime/lib64/bionic/libdl_android.so\nTest: atest CtsBionicTestCases\nTest: Repro in b/144343305#comment8 together with ag/9754153\nBug: 135753770\nBug: 144343305\nChange-Id: I9ccd10b711223ca474e91741711b7b8efd521b2d\n"
    },
    {
      "commit": "c74666eb3c03166d282eca99266eb4c51a091a5a",
      "tree": "417e80373df41178d61f64b2bcfd5f0068ca705f",
      "parents": [
        "a3b0eab32fc7112277f8aef824a0a211e2dacf1e"
      ],
      "author": {
        "name": "Yuexi Ma",
        "email": "yuexima@google.com",
        "time": "Thu Nov 07 18:37:08 2019 +0000"
      },
      "committer": {
        "name": "Yuexi Ma",
        "email": "yuexima@google.com",
        "time": "Thu Nov 07 19:18:53 2019 +0000"
      },
      "message": "Revert submission of topic \u0027libdl_android-in-apex\u0027\n\nReason for revert: broke numerous major apps in app compat testing\nBug: 144100240\n\nChange-Id: I50b440356bdbde3ac130da5d28d5ef20f8b63582\n"
    },
    {
      "commit": "a3b0eab32fc7112277f8aef824a0a211e2dacf1e",
      "tree": "b4e6b8a7c83fb06746803392f9a4e3dd50a177e9",
      "parents": [
        "590bdbe6e938e1bc53b09674b7eedde440863f11"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 06 00:13:19 2019 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 06 00:28:38 2019 +0000"
      },
      "message": "Add libdl_android to the Runtime APEX.\n\nBefore this it ended up in /system.\n\nTest: build \u0026 boot\nTest: adb shell find system apex -name libdl_android.so | xargs adb shell ls -l\n  \u003d\u003e\n  apex/com.android.runtime/lib/bionic/libdl_android.so\n  apex/com.android.runtime/lib64/bionic/libdl_android.so\n  apex/com.android.runtime@1/lib/bionic/libdl_android.so\n  apex/com.android.runtime@1/lib64/bionic/libdl_android.so\n  system/lib/bootstrap/libdl_android.so\n  system/lib/libdl_android.so -\u003e /apex/com.android.runtime/lib/bionic/libdl_android.so\n  system/lib64/bootstrap/libdl_android.so\n  system/lib64/libdl_android.so -\u003e /apex/com.android.runtime/lib64/bionic/libdl_android.so\nBug: 135753770\nChange-Id: Ibabb5714e8cc0454c77ae5d42d9650c345ff1b89\n"
    },
    {
      "commit": "22a6a058c7c785eff58d6c366bb85082da154080",
      "tree": "f857233fd0ce0946eef2bf5d5e96b102a71ac961",
      "parents": [
        "95712059371aa522c80f1cab3cc3eb5431cc7f71"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Oct 10 23:59:30 2019 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 14 16:34:12 2019 -0700"
      },
      "message": "Move dl_unwind_find_exidx from libdl.a to libc.a\n\narm32 has two special APIs to find exidx exception handling info,\ndl_unwind_find_exidx and __gnu_Unwind_Find_exdix. The two functions have\nidentical behavior and function prototypes. libgcc\u0027s arm32 unwinder calls\n__gnu_Unwind_Find_exdix, whereas LLVM\u0027s libunwind previously called\n__gnu_Unwind_Find_exdix, but switched to dl_unwind_find_exidx as a result\nof three patches (D30306, D30681, D39468).\n\nIn Bionic, for dynamic linking, __gnu_Unwind_Find_exdix in libc.so calls\ndl_unwind_find_exidx in libdl.so.\n\nFor static executables, though, __gnu_Unwind_Find_exdix in libc.a used the\n__exidx_* symbols, while dl_unwind_find_exidx in libdl.a(libdl_static.o)\nwas a return-0 no-op.\n\nTo fix the LLVM unwinder, replace the no-op dl_unwind_find_exidx in\nlibdl.a with a real function in libc.a(exidx_static.o), and have the GNU\nfunction call the dl function for more consistency with dynamic linking.\n\ndl_iterate_phdr follows a similar pattern, where the function exists in\nlibc.a and libdl.so (not libc.so or libdl.a).\n\nThis change makes unwinding work with an updated libunwind_llvm on arm32,\nand it helps to allow unwinding in static executables without libdl.a.\n\nBug: https://github.com/android/ndk/issues/1094\nBug: http://b/141485154\nTest: NDK tests, bionic unit tests\nChange-Id: Ieeeb9b39a0e28544e21f9afe6fe51ef10d7c828c\n"
    },
    {
      "commit": "e87e0dcbaec82aad9e2e3b441384a4b39a419105",
      "tree": "da1d4ede0f523aca496a5b39c892f19d1a8f1106",
      "parents": [
        "67ff8b5f9cb1af1a633e96a771e386d3305c6799"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Oct 02 17:09:33 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Oct 07 13:52:32 2019 +0900"
      },
      "message": "Restrict the availability of the bionic libs\n\nThe bionic libs are now restricted to be in the runtime APEX and the\nplatform (for bootstrapping). It can still be referenced from other\nAPEXes but can\u0027t be included there.\n\nBug: 139870423\nTest: m\nChange-Id: I7f99eef27ccf75844ca5c9a7ea866496841b738f\n"
    },
    {
      "commit": "191ecdc49ba18fc07d62d419fd51cc7dee4190f8",
      "tree": "bfd1dc23f8fed1ddeee6b62a81623b32159b6799",
      "parents": [
        "639ad55176c78bfd70c3786a92a05dd3d2299953"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Aug 07 19:06:00 2019 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Aug 15 09:21:34 2019 -0700"
      },
      "message": "Fix a few bionic test failures caused by hwasan global instrumentation.\n\nThe call to the load hook needs to be moved before the call to link_image()\nbecause the latter calls ifunc resolvers which might access global\nvariables. This fixes a bunch of ifunc tests.\n\nThe dlfcn.segment_gap test is currently failing. One problem is that the name\nof the .bss.end_of_gap section changes as a result of global instrumentation.\nAdd some wildcards in so that we match both names. The other problem seems\nto be the same as b/139089152.\n\nIt turns out that we need to untag pointers in a few more places. Since we have\nquite a few of these now it seems worth creating a function for it.\n\nTest: bionic-unit-tests\nChange-Id: I44e2b0904faacdda7cc0c5e844ffc09de01dea2d\n"
    },
    {
      "commit": "45f0a3b64249ad296b09e7ba123fb921fc8e62da",
      "tree": "e51366660b603fda4f6ccc0b041ee27b0c8da649",
      "parents": [
        "7e958d0ce0b4acb3c34b84a13b14bfbe6b11d410"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jul 16 11:18:07 2019 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jul 16 13:38:38 2019 -0700"
      },
      "message": "Clear pointer tags as required for HWASAN for globals.\n\nA future version of HWASAN will set pointer tags when taking the address of\na global. This means that we need to untag pointers in a couple of cases\nwhere potential global pointers are passed to an interface that expects\nuntagged pointers:\n\n- The WriteProtected class, whose only instances are globals, passes its\n  own address to mprotect. However, our device kernels do not currently\n  untag pointers passed to mprotect (the proposed upstream kernel patches\n  do, however, untag these pointers), so once HWASAN starts tagging global\n  pointers, this will start failing.\n- The shadow_load function loads from a shadow that corresponds to the\n  address space bounds of loaded binaries. Since these address space\n  bounds are untagged, the pointer needs to be untagged to match.\n\nTest: boots\nChange-Id: I3f11ce6eb7261752e5ff6d039d04dd45516b236f\n"
    },
    {
      "commit": "78e42d81ec89d3cd73ed4e8613947c8bdf8341fc",
      "tree": "af755077cc7bf2860c96135dc9a3b72ae4494e8a",
      "parents": [
        "0633e569bc44271b68e6980cff51d1c89a7c23ae",
        "7f048808203bb4e1c01f50793b424364cd669f06"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue May 07 11:30:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 07 11:30:58 2019 +0000"
      },
      "message": "Merge \"Enable native_bridge_support\""
    },
    {
      "commit": "7ac2afbde37258b8fc489f24bd1fcbf2cac18e39",
      "tree": "ebc3b3051c9bc7219c8a90b1faf00a3adbd35bdd",
      "parents": [
        "2c02e45f4b4ad997ea681993601c9f67bf96a2ca"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon May 06 16:23:10 2019 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon May 06 17:02:53 2019 -0700"
      },
      "message": "Exclude libgcc_stripped wherever libgcc is excluded\n\nTest: manual testing\nBug: 130267141\nBug: 29275768\nChange-Id: If50420c05d36e6f680a36673e7c26ca7deb93b28\n"
    },
    {
      "commit": "7f048808203bb4e1c01f50793b424364cd669f06",
      "tree": "a6165b26a6c255448370e195b95d360bfcb0ffae",
      "parents": [
        "2c02e45f4b4ad997ea681993601c9f67bf96a2ca"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri May 03 15:57:34 2019 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon May 06 17:13:51 2019 +0200"
      },
      "message": "Enable native_bridge_support\n\nEnable native bridge support for bionic libraries.\nMakes it possible to use them in binaries for translated\narchitectures.\n\nBug: http://b/77159578\nTest: make\nChange-Id: Iccd4ad7aecfa5260cc15f09ca975d2e18987278a\n"
    },
    {
      "commit": "915c5fb9f670cb2b1e646fade1f7ee87ef595eb7",
      "tree": "b4d37899cffac667b13301bcaf1f2707d72863ac",
      "parents": [
        "493322baf1bf658cd3f2807cea8fe0199b3c6e19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 22 08:40:58 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 22 08:43:57 2019 -0700"
      },
      "message": "libdl.a: make dlerror() always report an error.\n\nSeems only logical, given that all the other calls fail.\n\n(Only thing that\u0027s weird about this is that calling dlerror() usually\nclears the error until you do something else that causes an error, but\nthat doesn\u0027t seem worth the bookkeeping?)\n\nBug: https://github.com/android-ndk/ndk/issues/965\nTest: static unit tests still pass\nChange-Id: I5e5401e148c5857f1dbab9c5a7f4a6fc43d8d626\n"
    },
    {
      "commit": "584bc626b65edc09ca8a23426403e736a67599e9",
      "tree": "8705e7f3b9da6ea58b7d8ee330ef572b8e6e276a",
      "parents": [
        "75f7b06454f9a0f0ebc232605e8faec4ac0db4ee"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 19 14:18:07 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 19 14:18:07 2019 -0700"
      },
      "message": "Move libdl and linker to static NOTICE files.\n\nThe libstdc++ directory has no copyright headers, so it was a no-op\nanyway.\n\nThe interesting part will be switching libc and libm over to genrules...\n\nTest: N/A\nChange-Id: Iec92562af40c451fdcb4a7468984878ec5dba2ce\n"
    },
    {
      "commit": "3ff116a68cfce57b4d343ae829542a9afdd2184b",
      "tree": "a90b7e707bf4cf44bd7bdb594e9149efacd85568",
      "parents": [
        "1b7881a393355fbbb19cc1b263c0f56f95b1eec7"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 02 23:04:52 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 11 21:36:16 2019 +0900"
      },
      "message": "Load libc_malloc_* libraries from the runtime APEX\n\n/system/lib/libc.so is a symlink to libc.so in the runtime APEX.\nlibc_malloc_* libraries are bundled with libc.so because they share\nimplementation details.\n\nHowever, since libc.so is loaded in the default namespace where the\nruntime APEX path (/apex/com.android.runtime/lib) is not accessible,\nlibc.so has been using libc_malloc_* from /system/lib. This is\nwrong because libc.so (from the runtime APEX) and libc_malloc_* (from\nthe platform) may not be in-sync.\n\nlibc.so now uses android_dlopen_ext to load libc_malloc_* libraries\ncorrectly from the \"runtime\" linker namespace.\n\nBug: 122566199\nTest: bionic-unit-tests\n\nMerged-In: I46980fbe89e93ea79a7760c9b8eb007af0ada8d8\nChange-Id: I46980fbe89e93ea79a7760c9b8eb007af0ada8d8\n(cherry picked from commit 4e46ac69c23c8585bce17c2e032986a37bf33aef)\n"
    },
    {
      "commit": "ce584e4fc93978cb44057fce5f556e68519f051e",
      "tree": "8c2fbb60193db21f6fc6dd76dfe9984a8ab124e4",
      "parents": [
        "4b8b849371e8be2951a1b2a9d1f8cad7874e7c29"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri Mar 29 05:34:33 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Apr 01 13:17:20 2019 +0200"
      },
      "message": "Fix CtsJniTestCases\n\nThe linker_namespaces test need android_get_LD_LIBRARY_PATH function.\n\nBug: http://b/129479780\nTest: atest CtsJniTestCases\nChange-Id: Iba5f74e1e4b5b1de173150120293102524db2507\n(cherry picked from commit 91b0c68009c6d6efbaab8f268a5c9afb141c5ab4)\n"
    },
    {
      "commit": "4b8b849371e8be2951a1b2a9d1f8cad7874e7c29",
      "tree": "b316b190cda1b0f4a6bb6a66933423b990c2b5aa",
      "parents": [
        "8868d9e9004b4fa2d8139abaaff1baa21ea55dab"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Mar 28 12:43:14 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Apr 01 13:16:33 2019 +0200"
      },
      "message": "Fix formatting\n\nTest: make\nChange-Id: I92b8893997c2fd75002e84070a3ca91fca4b110e\n"
    },
    {
      "commit": "8868d9e9004b4fa2d8139abaaff1baa21ea55dab",
      "tree": "c38fe375ecf4d393b983a326238eaca118711e9a",
      "parents": [
        "4699cf61746d37fc11c8eb8bdfc7eb296a476e4b"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Mar 19 13:01:42 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Apr 01 13:16:33 2019 +0200"
      },
      "message": "Move platform-private symbols out of libdl.so\n\nSymbols not intended to be accessible from apps are moved to libdl_android.so\n\nTest: bionic-unit-tests\nBug: http://b/129387775\nChange-Id: Ib8ba6147a20cf56550c9a008f66570a2d419565a\n(cherry picked from commit 2d6be9a751685b4c307632bf27e8c100310ad500)\n"
    },
    {
      "commit": "036e09c36e8c859ee23db7a84adcd9b8563f54c9",
      "tree": "4487746e251b08685070460505af39ae875ce90c",
      "parents": [
        "10935e063d3db0ff2b61f710b8f34bd92fa861ba"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 25 10:54:29 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 14 07:35:52 2019 +0900"
      },
      "message": "Don\u0027t install *.mountpoint targets\n\nThe *.mountpoint targets that installs /bionic/lib/lib*.so and\n/bionic/bin/linker* are no longer needed.\n\nNow, /system/lib/lib*.so and /system/bin/linker* are simply symlinks to\nthe corresponding files in the runtime apex. For example,\n\n/system/lib/libc.so -\u003e /apex/com.android.runtime/lib/bionic/libc.so\n\nThis is made possible because we now activate APEXes even before the\ndata partition is mounted. Before the data partition mounting, the\nAPEXes from the system partition are ativated. After the data partition\nis mounted, updated APEXes in the partition (if any) are activated. As a\nresult, the symlink always points to the valid path regardless of\nwhether /data is mounted or not.\n\nBug: 125549215\nTest: device boots\nChange-Id: Ie7d83686abe00b3c436f9f9db75d4244200a0fc9\n"
    },
    {
      "commit": "eeb2ee65f7cd37b651e00e6f0ae75bf47995fcce",
      "tree": "04bb1e34a9fac8e78bf053180a95765c129030b9",
      "parents": [
        "be9b7240c2a5db3b9a23f37b57dc7513f64ad114"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Feb 15 11:40:40 2019 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Feb 15 11:40:40 2019 -0800"
      },
      "message": "Clarify reason for native_coverage being off for libdl\n\nBug: http://b/124067925\n\nIt\u0027s off because it doesn\u0027t link with any system_shared_libs.\n\nTest: N/A\nChange-Id: I293fb9ba8df213f8f6bbec85135a974e5966f0cc\n"
    },
    {
      "commit": "852d5230e214fad979e99358b3ff55ea33b5f61a",
      "tree": "95d425abfa1f0346901327e9db17797bfd9e5af2",
      "parents": [
        "1d3c56bc308c34217e36def4b408d8bae390924e"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Dec 20 13:52:19 2018 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Feb 07 14:28:29 2019 -0800"
      },
      "message": "Disable native_coverage for libdl\n\nBug: http://b/116873221\nBug: http://b/124067925\n\nIf not,\nhttps://android-review.googlesource.com/c/platform/build/soong/+/848621\nbreaks blueline_coverage-userdebug target in internal branches with the\nfollowing error:\n    build/make/core/base_rules.mk:290: error: bionic/libdl:\n    MODULE.TARGET.SHARED_LIBRARIES.libdl already defined by\n    bionic/libdl.\n\nTest: build blueline_coverage-userdebug in internal branch.\n\nChange-Id: I8fff866ae2e17ce6daa4d8c75c72ceb17e2e73de\n"
    },
    {
      "commit": "a5f914aef163e27bf49ce2c29f2cef12a131132f",
      "tree": "9e2976d251f482c7a23ed8a293d3e104cde2c3e9",
      "parents": [
        "fcb35dc4aa07239878c8ba987aff739388b0f15f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sun Jan 20 21:02:00 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jan 31 13:44:20 2019 +0900"
      },
      "message": "Add bionic mount points under /bionic\n\nThis change adds following files and symlinks:\n\nFiles:\n/bionic/lib[64]/lib{c|dl|m}.so\n/bionic/bin/linker[64]\n\nSymlinks:\n/system/lib[64]/lib{c|dl|m}.so -\u003e /bionic/lib[64]/lib{c|dl|m}.so\n/system/bin/linker[64] -\u003e /bionic/bin/linker[64]\n/system/bin/linker_asan[64] -\u003e /bionic/bin/linker[64]\n\nThe files serve as mount points for either the bootstrap Bionic or the\ndefault Bionic from the runtime APEX. init does the bind-mounting during\nbooting.\n\nThe symlinks are there to not change the ordinary paths to the bionic\nfiles; there are many places that the paths are implied or hard-coded,\ne.g., dlopen(\"/system/lib/libc.so\") or DT_INTERP pointing to\n/system/bin/linker in the vendor prebuilts.\n\nBug: 120266448\nTest: m blueline, cf_x86, aosp_arm\nThe aforementioned files and symlinks are found\n\nChange-Id: I97e38c29409ac0610dde285db8df6e94a7930094\n"
    },
    {
      "commit": "c45fe9f7bd49b110f63b5928d00cf33a7b515d04",
      "tree": "71c0df52796a2e3b24e1983897f019101e6bcf3e",
      "parents": [
        "c975355066daf0b3012d236aa4e726b0d3d7e06a"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 13 18:26:48 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 04 22:29:36 2019 +0900"
      },
      "message": "Add stubs variants for bionic libs\n\nBionic libs are part of the runtime APEX (com.android.runtime). In order\nto be able to update the runtime APEX independetly from the platform, we\nhave to prevent things outside of the APEX from using bionic symbols\nthat are not guaranteed to be stable. Otherwise, platform could break\nwhen a symbol is removed from the libs via the APEX update.\n\nTo achive this goal, this change adds stubs variant to the bionic libs.\nWith this, things outside of the runtime APEX (i.e. other APEXes and the\nplatform) are built with the stubs variants that provide only the\nsymbols that are guaranteed to be stable.\n\nThe set of symbols are basically the same as the symbols available to\nNDK clients. However, there are a few additional symbols that are not\navailable for NDK but should be made available for platform components.\nThey are marked with \"# apex\" tag. Symbols with that tag are not exposed\nto apps (via NDK stubs) or vendors (via LLNDK stubs).\n\nNote that the stubs is a build-time only artifact. It is used just to\nbreak the build when private symbols are used outside of the runtime\nAPEX. At runtime, the real library in the APEX is used.\n\nBug: 120266448\nTest: m\nTest: m bionic-unit-tests\nChange-Id: I7b8d75830c81d7d7d54e2fca21a85b3417531b47\n"
    },
    {
      "commit": "d19b3c527427770164437d258744828acadb6e42",
      "tree": "d7628a87508447e39dd5a090481b357ad9ca5876",
      "parents": [
        "9ea997a2ac4eeb26230e65d2b680ebff6fe0b8a4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 06 16:04:08 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 17 12:26:42 2018 -0800"
      },
      "message": "Generate the per-arch .map files at build time.\n\nWe shouldn\u0027t be checking in these generated files...\n\nBug: N/A\nTest: ran tests\nChange-Id: Ib67c1ba839eacd7acebd713e1dcd4dd2c25d67f0\n"
    },
    {
      "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": "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": "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": "17b35598f54ef91c4022b6a91238a2d6b669c194",
      "tree": "a9825132e413c3ad4dfc6fb852125e65e8c378ea",
      "parents": [
        "391af2cefea88abe7eccff8edd0ae06c653bef5e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 11 23:32:26 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Oct 11 23:35:18 2018 -0700"
      },
      "message": "Allow host bionic to use libdl_static\n\nBug: 31559095\nTest: attempt to build host bionic\nChange-Id: If057681a3e098efcf79f9d8a74608b10b1ac20da\n"
    },
    {
      "commit": "7786a344ce17e8f065952afddebb1141f34c43f5",
      "tree": "11e9a7fc05da7f939b18e27d6570888682cd50b6",
      "parents": [
        "fc85c3c8476fe2490b027840994db4ff009631e0"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Aug 31 19:01:56 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Oct 03 10:07:13 2018 +0000"
      },
      "message": "Exclude libclang_rt.builtins symbols\n\nSimilar to libgcc, libclang_rt.builtins symbols need to be excluded.\n\nBug: 29275768\nChange-Id: Iaf7381de3b4dbd92997abd03667dea0baaab98e1\n"
    },
    {
      "commit": "ecbff8382da95c8560482af81e496011715fd5e7",
      "tree": "6eec7f41b7120b0491d9a575ae5a5de725caaf1e",
      "parents": [
        "778a84f75ba959a100f2299caf2e166e38af2708"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 18:45:53 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 18:45:53 2018 -0700"
      },
      "message": "Work around b/24465209, do not pack relocation table.\n\nGlobal flag --pack-dyn-relocs\u003dandroid is used with clang lld.\nFor b/24465209, we need to override that with --pack-dyn-relocs\u003dnone.\n\nBug: 80093890\nBug: 24465209\nTest: build with USE_CLANG_LLD\u003dtrue and run dlext.compat_elf_hash_and_relocation_tables\nChange-Id: Ic3837446ff0deccf4e66425b39d3b062abcacc5e\n"
    },
    {
      "commit": "0fc5df0fde88f49057ea28404e4a7e8b370b1cea",
      "tree": "1fdf7bf5f498a61908426c4324d2a43d951887ea",
      "parents": [
        "a6a56784e02d568c4965dcf5538dea48a472b7d1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue May 22 21:34:26 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed May 23 17:14:22 2018 +0000"
      },
      "message": "Work around b/24465209, do not use clang lld\n\nSee longer explanation in b/80093890.\nClang lld does not generate expected DT_REL and DT_RELA tags\nwith --hash-style\u003dboth and --pack-dyn-relocs\u003dandroid.\nI am not sure about the extent of b/24465209, so\nI would rather not to use lld for these .so files for now.\n\nBug: 80093890\nBug: 24465209\nTest: build with USE_CLANG_LLD\u003dtrue and run dlext.compat_elf_hash_and_relocation_tables\nChange-Id: I94e9fe8d687daeadb0182ae26596ca11d3f8bd9b\n"
    },
    {
      "commit": "5603c6e6b9722cb8fcd1bd7a361b64c8dae47a50",
      "tree": "6d83ddddfdb31dd367bd882a256bef41de069771",
      "parents": [
        "af2eb6f40adc6c293a634cd7733536dc41302d8a"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 27 21:53:11 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon May 14 18:08:01 2018 +0900"
      },
      "message": "Mark as recovery_available: true\n\nLibraries that are direct or indirect dependencies of modules installed\nto recovery partition (e.g. toybox) are marked as recovery_available:\ntrue. This allows a recovery variant of the lib is created when it is\ndepended by other recovery or recovery_available modules.\n\nBug: 67916654\nBug: 64960723\nBug: 63673171\nBug: 29921292\nTest: m -j\nChange-Id: I59bf859a10a218af6591025a0fe7d1853e328405\n"
    },
    {
      "commit": "b7fd08cad7f4b3338edd687f9a127165e8a58132",
      "tree": "e4caf0a109a4413b8bacbd2075bd172b70517cd3",
      "parents": [
        "bf0f6d0b5a30babf1531b392f640454e6546566e",
        "46a943c8333a9293d02c302d26d965de2b2c8ec7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 04 15:24:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 04 15:24:46 2018 +0000"
      },
      "message": "Merge \"Support getting/setting API level in static binaries.\""
    },
    {
      "commit": "46a943c8333a9293d02c302d26d965de2b2c8ec7",
      "tree": "30b9f51323061d7a46577ac22995146c3e328340",
      "parents": [
        "4cdde64728e4d15f6abc2d713c40adaff7b0fc56"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 15:56:35 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 21:53:29 2018 -0700"
      },
      "message": "Support getting/setting API level in static binaries.\n\nBug: http://b/27917272\nTest: fixes static semaphore.sem_wait_no_EINTR_in_sdk_less_equal_than_23 test\nChange-Id: Ifeeff20772ff0308aab9417d48671b604a3e9665\n"
    },
    {
      "commit": "470b66644b912ac3025ea30141f2f327bb879445",
      "tree": "919718ba86bbabe7bec99cd2087f479b5594488f",
      "parents": [
        "ef59154d4129b132884f74ea0f38146f67383d81"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Mar 27 22:10:55 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Mar 30 13:56:03 2018 -0700"
      },
      "message": "Break libdl.so and ld-android.so\u0027s dependency on libc.so.\n\n * Specify \"nocrt: true\" to avoid calling __cxa_finalize.\n\n * Define a dummy __aeabi_unwind_cpp_pr0 for arm32.\n\nBug: b/62815515\nBug: b/73873002\nTest: boot AOSP hikey960-userdebug\nTest: run ndk_cxa_example in special /system/bin/debug namespace\nTest: run Bionic unit tests\nChange-Id: I59bcb100a2753286b59c51a47d7a183507219a07\n"
    },
    {
      "commit": "d50a1de565c00d415ad39ef8c14e392da4c99d43",
      "tree": "011e021bbb021d83634d00ffa3255ebd7d468cfe",
      "parents": [
        "a70089163ca09a983772dd2a8daa17e47f8ede53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 17:30:57 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 05 17:30:57 2018 -0800"
      },
      "message": "Run bpfmt manually.\n\nBug: N/A\nTest: builds\nChange-Id: I0cf145c3b699ac8ef170a63366832f63a9cc1a91\n"
    },
    {
      "commit": "321476a3ecc6b25579b2ddfb86b10a405f90eb8c",
      "tree": "c0b4a8781d1fc16eecb53950a497d12d993b7ec0",
      "parents": [
        "fb56e048971e9955f902f2036299af726c02beab"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Jan 29 15:32:37 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Mon Jan 29 15:32:37 2018 +0100"
      },
      "message": "Test ld-android.so directly\n\nThis CL addresses review comments from\nhttps://android-review.googlesource.com/c/platform/bionic/+/595067\n\nTest: bionic-unit-tests --gtest_filter\u003ddl*\nChange-Id: I2c0fdf2a89fe6ff134308e202fb99a74080ee0ed\n"
    },
    {
      "commit": "9ee4591cb4a23b3c1a899f5ae3e4d769d0ba5a15",
      "tree": "317be1850b14a18f65bc8c9247971318c7606307",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Jan 18 12:05:09 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Jan 25 14:45:29 2018 +0800"
      },
      "message": "linker: Allow link namespaces without name filters\n\nThis commit allows users to create a link without soname filters between\ntwo linker namespaces.\n\nThe motivation is to establish one-way shared library isolation.  For\nexample, assume that there are two linker namespaces `default` and\n`vndk`.  We would like to limit the shared libraries that can be used by\nthe `default` namespace.  In the meanwhile, we would like to allow the\n`vndk` namespace to use shared libs from the `default` namespace if the\nsoname cannot be find in the search path or loaded sonames of the `vndk`\nnamespace.\n\n          shared_libs  \u003d %VNDK_CORE_LIBRARIES%\n          shared_libs +\u003d %VNDK_SAMEPROCESS_LIBRARIES%\n    vndk \u003c-------------------------------------------- default\n       \\_______________________________________________/^\n                allow_all_shared_libs \u003d true\n\nandroid_link_namespaces_all_libs() is added to libdl, but it is\nversioned as LIBC_PRIVATE.  android_link_namespaces_all_libs() is only\nfor unit tests.\n\nBug: 69824336\n\nTest: adb shell /data/nativetest/linker-unit-tests/linker-unit-tests32\nTest: adb shell /data/nativetest64/linker-unit-tests/linker-unit-tests64\n\nTest: adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests\nTest: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests\n\nTest: Update /system/etc/ld.config*.txt and check whether the vndk\nlinker namespace of the vendor process can access the shared libs from\nthe default linker namespace.\n\nChange-Id: I2879f0c5f5af60c7e56f8f743ebd2872e552286b\n"
    },
    {
      "commit": "40f15ec4b19140734d632a4ed32289fd4f2c4e32",
      "tree": "027e114066a88c59917bc2d35574c1dd9debfe38",
      "parents": [
        "88e61da8a7f75d189ec6f79c412392179ee0356e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 27 11:21:20 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon Jan 22 12:40:56 2018 -0800"
      },
      "message": "Package bionic static libraries in the NDK.\n\nTest: build/soong/scripts/build-ndk-prebuilts.sh\nBug: https://github.com/android-ndk/ndk/issues/272\nChange-Id: Ibb21d799fdcf230ed45db0b809e20dd86d2d8e52\n"
    },
    {
      "commit": "b6310c2aa704bd30990f4e3152e494b5290972b2",
      "tree": "818a92a3148fa0ec488d11b5281bc4026b7ca5dc",
      "parents": [
        "ee88e76f14111ea94745d7eec6caca9ffb526f1a"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Thu Jan 18 16:26:19 2018 -0800"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Thu Jan 18 16:26:45 2018 -0800"
      },
      "message": "Fixing app compat issue b/72143978\n\nThis is a squash revert of a4a4854 and 1b0f2b4\n\n  Revert \"Remove a test for backwards compatibility we no longer support.\"\n\n  This reverts commit a4a485454a3a117eccdca1113681f770d765d865.\n\n  # This is the commit message #2:\n\n  Revert \"Remove obsolete workaround.\"\n\n  This reverts commit 1b0f2b49d528c90842b4263269d9039d7e07415e.\n\nBug: 72143978\nBug: 24465209\nTest: Tested failing case on sailfish, reverted back all CL\u0027s since\nTest: 3471433 for b/24465209 and apps open\n"
    },
    {
      "commit": "1b0f2b49d528c90842b4263269d9039d7e07415e",
      "tree": "1be7ae23d7716db86552beca0064cf6e74e7d6e3",
      "parents": [
        "a238a9a32815f63b286d8383f7f73e2319472583"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 10 11:05:19 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 10 11:05:19 2018 -0800"
      },
      "message": "Remove obsolete workaround.\n\nBug: http://b/24465209\nTest: manually ran the app.\nChange-Id: I1e2a498864c74ff3a9886b97f7dc60ad7f6dfa44\n"
    },
    {
      "commit": "11da1dcd8c35f16a6e6bf869250ca06381e71dca",
      "tree": "627146f228fee73aa8fadead8f62ee902626b390",
      "parents": [
        "8e8c2c001380ad98f2e239c0c840dad80ebec35c"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Fri Jan 05 13:35:43 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Tue Jan 09 11:13:40 2018 +0100"
      },
      "message": "Move ld-android.so build under linker/\n\nThis will allow us to apply linker\u0027s version script to the \"fake\"\nversion of ld-android.so.\n\nTest: make\nChange-Id: I55645cc0fc90e6c65e2269ba2340a908aeed1eaa\n"
    },
    {
      "commit": "b48746fb57cdc87c7e9b148e63786eb39b7c3004",
      "tree": "faeda7dc94950693b2195ae73e4780cc404ca566",
      "parents": [
        "1b6de8788918f806efd812b743dcc0bbdd232392"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 19 14:39:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 19 14:39:41 2017 -0700"
      },
      "message": "libdl.cpp doesn\u0027t need \u003cstdbool.h\u003e like libdl.c did.\n\nBug: N/A\nTest: builds\nChange-Id: I2f43fa60c8128b2b40de63748b5568fa4c9e351d\n"
    },
    {
      "commit": "dfcc6e4f8acf41159c43e9b50547d99379483c72",
      "tree": "6d4407f72ca8ac44e9454f95bbdc45965c03c70d",
      "parents": [
        "0e0e370154ea478c9d7102061cbb62d9bfea6c1d"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 13 11:56:55 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 16 21:31:37 2017 -0700"
      },
      "message": "Rename libdl.c to libdl.cpp.\n\nThe no-arg function definitions in libdl.c weren\u0027t strictly correct,\nbecause they should have taken void. Rename .c to .cpp instead of\nfixing them.\n\nTest: mma\nChange-Id: I9e3528c836ffc8625a6a4d529034263b19b9fb3a\n"
    },
    {
      "commit": "c5ea3ebd714c70b21bcc7fcee6f7c00aa2bf8b64",
      "tree": "4044b21eb8436f697bcf4996b75b9274fa78b80a",
      "parents": [
        "3e8584d4a7d617289e8a954711ba895415d781c4"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 05 17:23:10 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Oct 05 18:27:00 2017 +0200"
      },
      "message": "Make libdl symbols weak.\n\nAlso make a static library which can be used to override these symbols\nin other implementations of libdl.so\n\nTest: make\nChange-Id: Id433bb07ecbfc4955c3fb7591ace971c2cda7862\n"
    },
    {
      "commit": "a5c316fe0c1b9d254421e22d8f2c6586ef3c64ec",
      "tree": "e439ddbe00bb5c9665c60542011546f6ad2f528b",
      "parents": [
        "8af55bdf93f074d621a44365fea4960d431aa1b3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 10:10:15 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 10:10:15 2017 -0700"
      },
      "message": "Don\u0027t repeat ourselves unnecessarily in the maps.\n\nWe can mark a whole version \"introduced\u003d\" rather than doing every line\nseparately.\n\nBug: N/A\nTest: builds\nChange-Id: I3219edc755a42ce5ff6258efb744fb5e05967a3a\n"
    },
    {
      "commit": "8664a05637990798f0fb8ef9568133978fba5795",
      "tree": "d20391189d03ba75316554776709da676f5bb3e4",
      "parents": [
        "95f90784eaa0b377d3c6d9101c84e8817cbea494"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Aug 30 09:32:28 2017 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 02 08:15:34 2017 -0700"
      },
      "message": "Fix API level of cfi_* symbols to 27\n\nAPI level of O-MR1 is 27.\n\nBug: 63053790\nTest: bionic tests passes\n\nChange-Id: I78f0bd8af106954326394d60bf4d0cf5e10f7f17\n"
    },
    {
      "commit": "ded4524cb0a2ad931468409ff0f4817f9c0a8925",
      "tree": "b29a6087860266b044a54cb19e38605167362ebb",
      "parents": [
        "3b64f8ecb3db49574cc5b7c6030be98c159be4d4"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Sep 15 13:58:58 2017 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Sep 15 14:15:54 2017 -0700"
      },
      "message": "[cfi] Fix __cfi_check address calculation.\n\nThe current code is incorrect when the target address is 18 bit aligned.\n\nTest: stops random (and extremely rare) crashes in media.extractor\nBug: 63400743\nBug: 65590288\n\nChange-Id: I65b45ff0c4b57a7ff08d3f5b3d80f41167d3c0f8\n"
    },
    {
      "commit": "dc7cc6258aa90409d3aa5453bdbb2667e049c9c1",
      "tree": "15479706305f69e29373626167150a9a575d76a3",
      "parents": [
        "7abea57ba599b9b114031ae33699b5d7fba8cc97"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Aug 30 10:52:19 2017 +0200"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Aug 30 10:52:19 2017 +0200"
      },
      "message": "Restore dummy libdl.a implementation\n\nBug: http://b/36206043\nTest: bionic-unit-tests-static\nChange-Id: If0400b72b51570e5ca0d70ec0bd9fb77664b9210\n"
    },
    {
      "commit": "97c16f8dca0694abfcdda34f8e01f5e1e989120f",
      "tree": "ba62a11fcce7608e521e517ffd09f2a12b09c00c",
      "parents": [
        "bb36e9fae1f30c5673138c7f1a3ed6ac9b477f76"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Aug 02 16:34:44 2017 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Aug 03 14:04:15 2017 -0700"
      },
      "message": "[cfi] Export __cfi_shadow_size.\n\n__cfi_shadow_size returns the size of the CFI shadow mapping, or 0 if\nCFI is not (yet) used in this process. This can be used to adjust\nRLIMIT_AS setting.\n\nTest: device bionic tests\nBug: 64293803\nChange-Id: Icd7164f96aa7115b3585c21c0f68529cd2f07c11\n"
    },
    {
      "commit": "f1cee9662f689609bab846052f1eabb452d35064",
      "tree": "8730b37b4c5483ae3c9e45795aaaa511f7c78fae",
      "parents": [
        "73d17e7720983d4aee5ebe5d2910bcc3fcb8e1b8"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jun 30 15:36:12 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 13 10:18:56 2017 +0900"
      },
      "message": "__cfi_slowpath[_diag] are available to NDK and VNDK clients\n\nWhen a vendor lib (or vendor-available platform lib) is built with\nsanitizer on, __cfi_slowpath_diag is required. However, when building\nfor those libs, the llndk stub of libdl.so is provided for them and\n__cfi_slowpath_diag is not exposed to the stub. In order to make the\nsanitizing build successful, expose the symbol.\n\nThese symbols are also exposed to NDK clients since we may want to CFI\nfor unbundled apps.\n\nBug: 63053790\nBug: 63342219\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libstagefright_foundation.vendor\n\nChange-Id: I081deddb4f66354aaecec4b395d4e17e5566c578\n"
    },
    {
      "commit": "87a47e1bb202a26918993487db8dc82229833ef8",
      "tree": "8f06d30e39972f84ac8d255ced62559dc98acf45",
      "parents": [
        "fd478a8cba97680974494bc72727fba6d8136805",
        "01de74e76d1131b5c5b0120d07e8f468ac5f8fac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 01:37:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 01:37:04 2017 +0000"
      },
      "message": "Merge \"linker: add android_get_exported_namespace\""
    },
    {
      "commit": "01de74e76d1131b5c5b0120d07e8f468ac5f8fac",
      "tree": "1cd468876895e1ed149efcde3382edeaddcdab31",
      "parents": [
        "627ed9162538d847ea4e530fd443570d37f57d65"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 03 23:10:37 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 28 10:14:28 2017 +0900"
      },
      "message": "linker: add android_get_exported_namespace\n\nDepending on how ld.config.txt is configured, there can be multiple\nbuilt-in namespaces created by the linker from the beginning of a\nprocess. android_get_exported_namespace is a platform only API for\ngetting a handle (android_namespace_t*) to one of the built-in namespaces\nwith given name. The returned namespace can then be given to\nandroid_dlopen_ext in order to explicitly specify the target namespace\nwhere the library is searched and loaded from.\n\nNote that this function only returns \u0027exported\u0027 namespaces created via\nld.config.txt file. In order to export a namespace, the visible property\nshould be set to true:\n\nnamespace.\u003cname\u003e.visible \u003d true\n\nNamespaces are hidden by default. Hidden namespaces and namespaces\nthat are created programmatically, notably \u0027classloader-namespace\u0027,\naren\u0027t returned by this function.\n\nBug: 36851137\nTest: confirmed that namespaces created with ld.config.txt is retrieved.\nTest: linker-unit-tests passes\nMerged-in: I714b510fa24f77e42c3dfc4c827b3befa8bb2951\nChange-Id: I0d05fa7e0e116009edf8ea362ab46774bc617cbf\n(cherry picked from commit d7c4832e6a640be972017e85ab21e72950dfeddd)\n"
    },
    {
      "commit": "db98fed03d4140bf71b6f87d9d5909f7736baa6c",
      "tree": "3315098366666ebcaf33f1392e741e9abdbba8ea",
      "parents": [
        "5deddda68e780aaa26e4777378fee10d543eb719"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 25 15:42:42 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 25 15:42:42 2017 -0700"
      },
      "message": "Make dl_iterate_phdr weak in libdl.\n\nThis needs to be defined as weak because it is also defined in libc.a.\nWithout this, static executables will have a multiple definition\nerror.\n\nTest: make checkbuild\nBug: None\nChange-Id: If2024ef4191c8ab7cf087d21d76fefdc92b58da1\n"
    },
    {
      "commit": "51a9bf16733595fcd7ffcde3cd3832262516a390",
      "tree": "f9c293c54697c4169cebeb36d696ee4bb6456991",
      "parents": [
        "df244d876a5da87161e550147cc03c4373b49ca6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 14:09:18 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 11 15:15:30 2017 +0000"
      },
      "message": "Remove .(ll)ndk suffix from (ll)ndk_library\n\nSoong handles these automatically now.\n\nBug: 33241851\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nMerged-In: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d\nChange-Id: Ibfe4cf5db732d9007b1cc12dbc523c427de1b23d\n"
    },
    {
      "commit": "b8f7fde4bdfba5a65ef5a88265fdb79403e8a699",
      "tree": "e98bbe6b0ad4cccccbe00d5f4c903ab66be95c3e",
      "parents": [
        "a3ed901ef82fae908858f08a62e3d04f769c26ce"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Mar 20 14:07:47 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 05 22:42:08 2017 +0000"
      },
      "message": "Add LLNDK stub libraries for the VNDK\n\nThe stub libraries are the same as the (equivalent version) NDK, but\nthey also contain symbols tagged with \u0027vndk\u0027. Except there are none of\nthose in Bionic currently.\n\nFor headers, the LLNDK/VNDK isn\u0027t using a sysroot like the NDK. Nor is\nit hardcoding an explicit source path list like the platform. Instead it\nruns the bionic/libc/include directory through versioner like the NDK,\nthen exports those generated headers and the kernel headers from the\nstub library like any other exported header. Except it uses -isystem\ninstead of -I due to export_headers_as_system.\n\nTest: aosp_arm; m -j\nTest: Enable BOARD_VNDK_VERSION on aosp_arm; m -j\nTest: Inspect out/soong/build.ninja before/after (w/o vndk)\nChange-Id: Ief58a73907a83053b408b1d4b62999cba470d61c\n"
    },
    {
      "commit": "8229596d4125d87509f8510da234bb0a6c54d31b",
      "tree": "c3a24d2c42c941faf0ed154c5289e0a3ed3fc4a7",
      "parents": [
        "616b2d87eabee34559b12a3ddd3e057a1ad49879"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 15 14:23:50 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 15 14:24:40 2017 -0700"
      },
      "message": "Enable ld-android on linux_bionic builds\n\nBug: 31559095\nTest: Enable host bionic, run soong\nChange-Id: If94927c66c0c2dc74c213ca403d45e73508b0025\n"
    },
    {
      "commit": "7a34b9d57a762ca7cd6b8d6b9f9fb45c2b991da7",
      "tree": "8dad357eee8d7672069abd75a63717d65b5f8ae6",
      "parents": [
        "7d429d3c480166e1013bcdf68f4be479209aa509"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Feb 03 14:07:34 2017 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Feb 09 23:26:44 2017 -0800"
      },
      "message": "Replace public library list with shared lib sonames (part 2/2)\n\nThis commit updates interface of libdl.c.\n\n1. android_init_namespaces is replaces with android_init_anonymous_namespace\n2. added 2 arguments to android_create_namespace to specify linked namespace\n   and the list of shared libraries sonames.\n3. symbol lookup does not get past boundary libraries (added check and test for it).\n\nBug: http://b/26833548\nBug: http://b/21879602\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nChange-Id: I32921da487a02e5bd0d2fc528904d1228394bfb9\n"
    },
    {
      "commit": "68ecec1965dcec08c7df3f0224d69604c683cd6c",
      "tree": "13d1842c2a6d22a8818f9d24d4f49273cfda5e3c",
      "parents": [
        "3c838bbb4aca12936aa3d8e96f3b04af3803d0f4"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 31 13:19:30 2017 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Feb 02 14:44:46 2017 -0800"
      },
      "message": "Fix CFI initialization crash on x86.\n\nThird try.\n\nBug: 34752378\nTest: bionic tests\nChange-Id: I247c127489a8ee38404e104f28d916a704e35f36\n"
    },
    {
      "commit": "beb3eb1790dffc6e2f57a670aec89364944f66c4",
      "tree": "833fc173575d6617e7051fbd126e98fde1c80700",
      "parents": [
        "dd76f744e7a8431eb105f1e94fd1e407690a0b89"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 31 17:10:03 2017 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 31 17:10:03 2017 -0800"
      },
      "message": "Revert \"Fix CFI initialization crash on x86.\"\n\nBreaks aosp-master/sdk.\n\nThis reverts commit 4ccd4317f9301ec9b32aa0d3317a0439b994d7bf.\n"
    },
    {
      "commit": "4ccd4317f9301ec9b32aa0d3317a0439b994d7bf",
      "tree": "10061ae5eae47aa226dbfc15658c1d44b9456884",
      "parents": [
        "eb35144e588dc3799b851b8504b0a7db6c9a0b91"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 31 13:19:30 2017 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Jan 31 13:44:55 2017 -0800"
      },
      "message": "Fix CFI initialization crash on x86.\n\nSecond try.\n\nBug: 34752378\nTest: bionic tests\nChange-Id: I0a7453154671918b2e6e72f0bb9074c29ceb0f34\n"
    },
    {
      "commit": "6fcd7a7d28aa6be42bbc99070c93d4d16b56ab57",
      "tree": "0daa51584f72beb67cbe072f34ca67898212f381",
      "parents": [
        "a5066640cc7274e317bf3bae2d960986d58dbbbd"
      ],
      "author": {
        "name": "Alex Cheung",
        "email": "alexcheung@google.com",
        "time": "Tue Jan 31 04:05:00 2017 +0000"
      },
      "committer": {
        "name": "Alex Cheung",
        "email": "alexcheung@google.com",
        "time": "Tue Jan 31 04:19:50 2017 +0000"
      },
      "message": "Revert \"Fix CFI initialization crash on x86.\"\n\nThis reverts commit be46d3871c91902504e5ec4c7f575c86f647aafc.\n\nReverting due to broken build:\n\nhttps://android-build.googleplex.com/builds/branch-dashboard/aosp-master?build_id\u003d3687823\n\nChange-Id: I30968398edd9a094fce878839ba0a002ed487a77\n"
    },
    {
      "commit": "be46d3871c91902504e5ec4c7f575c86f647aafc",
      "tree": "d202c0a4817459b1f6d5b971284b9afa2a9f795d",
      "parents": [
        "6a9e0c8f15dee1b1b7c5cd7f8e058c2b18683bbc"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 27 13:42:03 2017 -0800"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Jan 30 14:29:48 2017 -0800"
      },
      "message": "Fix CFI initialization crash on x86.\n\nBug: 34752378\nTest: bionic tests\nChange-Id: If8e33f76a1a2d83356d818fed506ea624f579860\n"
    },
    {
      "commit": "0a3637d3eb2424d8e825ad1825f843450a888406",
      "tree": "dc0d4c31cddc2ff06902fcbdf4233f7759258764",
      "parents": [
        "1b2975d54b9c17ced29883aef24490773a4a9fe6"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jul 06 13:20:59 2016 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Jan 18 13:13:52 2017 -0800"
      },
      "message": "Runtime support for CFI\n\nControl Flow Integrity support in bionic.\n\nGeneral design:\nhttp://clang.llvm.org/docs/ControlFlowIntegrityDesign.html#shared-library-support\n\nThis CL implements subsections \"CFI Shadow\" and \"CFI_SlowPath\" in the above document.\n\nBug: 22033465\nTest: bionic device tests\nChange-Id: I14dfea630de468eb5620e7f55f92b1397ba06217\n"
    },
    {
      "commit": "ac4bd2f79316e8ee79e9a69463e5d12d0f792aad",
      "tree": "4588bf97c4a1e218521094fb185c58a7f8c12562",
      "parents": [
        "f27e97956d6705c09f38442423f5e115cbe55f0f"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Nov 21 12:50:38 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 14 11:16:21 2016 -0800"
      },
      "message": "Add test for elf-hash and packed relocations\n\nThis adds CTS test for system libraries to support\nworkaround for http://b/24465209: some apps require\na subset of system libs to have elf-hash and not to\nuse packed relocations.\n\nBug: http://b/32917341\nBug: http://b/24465209\nTest: bionic-unit-tests --gtest_filter\u003dDl*:dl*\nChange-Id: Ia0bc28506b1f1f97d4cf902d73b0769e2815fed3\n"
    },
    {
      "commit": "4e84d5e4fa10a405c155bf7c655c2000d0ea6520",
      "tree": "ee32f41d9ad14662340c17c8da8c21ca5ff3f6c8",
      "parents": [
        "901de13c37912286db015b6f9113e39be46ce04d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 12 16:21:46 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 12 16:21:46 2016 -0800"
      },
      "message": "Repair dlwarning toast\n\nThis was introduced by d9e427cf41893377dcdd0650ba20ff7cf7d72209\nwhere libdl.c android_dlwarning method implementation was\nnot updated.\n\nThis makes it delegate the call to ld-android.so\n\nBug: http://b/33530622\nTest: build, flash and launch test app\nChange-Id: I8a379442de94724280638db73e5f7934f2ea394e\n"
    },
    {
      "commit": "d9e427cf41893377dcdd0650ba20ff7cf7d72209",
      "tree": "6515aceab94a11861876b6e145adb6922183ebff",
      "parents": [
        "227894a754eb11cb1203c359192d59654b01b93e"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 22 16:55:25 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 09 14:53:59 2016 -0800"
      },
      "message": "Bionic loader is no longer hijacking libdl.so\n\nDo not hijack libdl.so methods but make libdl proxy calls to\nloader instead. This will be replaces by calls to libc.so\nonce loader functionality is migrated.\n\nAlso add a lock to dl_unwind_find_exidx function call.\n\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nBug: http://b/27106625\nChange-Id: Ic33a7109a86f4262798d63a35f4c61d15b0068bb\n"
    },
    {
      "commit": "dcb846cb4978130d5db6b795e22e08b65e73f3cd",
      "tree": "08d415c92e8008104cd11fd76574816be320c70e",
      "parents": [
        "c12acef96bd80c419654e159e1dc24a69513a86d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 06 02:10:13 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 06 02:10:13 2016 +0000"
      },
      "message": "Revert \"Bionic loader is no longer hijacking libdl.so\"\n\nThis reverts commit c12acef96bd80c419654e159e1dc24a69513a86d.\n\nBreaks the Mips build.\n\nBug: 27106625\nChange-Id: I27edb7114065c36e1b618e387530d58189cdb184\n"
    },
    {
      "commit": "c12acef96bd80c419654e159e1dc24a69513a86d",
      "tree": "2c9ee33aa3467a7fa0765a7a2de6c686056b755c",
      "parents": [
        "f8b4ff4aa1c1a855627b8dc36f0675d69ab9109d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 22 16:55:25 2016 -0800"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Dec 05 11:19:19 2016 -0800"
      },
      "message": "Bionic loader is no longer hijacking libdl.so\n\nDo not hijack libdl.so methods but make libdl proxy calls to\nloader instead. This will be replaces by calls to libc.so\nonce loader functionality is migrated.\n\nAlso add a lock to dl_unwind_find_exidx function call.\n\nTest: bionic-unit-tests --gtest_filter\u003ddl*:Dl*\nBug: http://b/27106625\nChange-Id: I9e666e771e4bbca52151cfa7fc4c8677e1480818\n"
    },
    {
      "commit": "7ec52b12efc1c4ed9cd83ba8c95fab5bbf39aaf4",
      "tree": "091ac4e81ecc619f8116a3f229ad10f8c47e017d",
      "parents": [
        "11b362d284b49e070813cd459584ea3dabb20b1e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Nov 28 17:02:25 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Nov 29 21:09:05 2016 +0000"
      },
      "message": "Enable libc/libdl/libm/linker for host bionic\n\nDisables debuggerd integration unless building for android.\n\nBug: 31559095\nTest: Diff out/soong/build.ninja before/after, only change is moving\n      linker\u0027s libdebuggerd_client static lib to the beginning of the\n      list.\nTest: lunch aosp_arm64-eng; mmma -j bionic\nChange-Id: I62e725f7a9b98b7fe31637d0a835fd5846b0aff0\n"
    },
    {
      "commit": "c30862fdbc99eaf4c3859e915846e2ef316b1a47",
      "tree": "8fed9a6b9eec7c4b4b7ccce1ea51e8053835463c",
      "parents": [
        "32d5592a6930ba4b05cbbed1b3e933d71cf7e794"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:45:16 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 20 11:48:55 2016 -0700"
      },
      "message": "One NOTICE file to rule them all.\n\nGenerate a single NOTICE file rather than one per library. All the\nheaders come from libc these days anyway.\n\nTest: tools/update_notice.sh\nBug: None\nChange-Id: I127da185fdabc2815042e19aea74c507ec108f46\n"
    }
  ],
  "next": "166f875eabdd2b7c508fc4ed1789a0d37fb1bdce"
}
