)]}'
{
  "commit": "7a3681e5b6c39bc2b3b62031ca5941dbf7bc4e63",
  "tree": "78c25e2a38b7efed8db770a623a5cbfb7eaab11d",
  "parents": [
    "ca5e0f49ca5df873a20c996755175b5c9c1e2ed9"
  ],
  "author": {
    "name": "Christopher Ferris",
    "email": "cferris@google.com",
    "time": "Mon Apr 24 17:48:32 2017 -0700"
  },
  "committer": {
    "name": "Christopher Ferris",
    "email": "cferris@google.com",
    "time": "Wed May 03 08:50:43 2017 -0700"
  },
  "message": "Move libc_log code into libasync_safe.\n\nThis library is used by a number of different libraries in the system.\nMake it easy for platform libraries to use this library and create\nan actual exported include file.\n\nChange the names of the functions to reflect the new name of the library.\n\nRun clang_format on the async_safe_log.cpp file since the formatting is\nall over the place.\n\nBug: 31919199\n\nTest: Compiled for angler/bullhead, and booted.\nTest: Ran bionic unit tests.\nTest: Ran the malloc debug tests.\nChange-Id: I8071bf690c17b0ea3bc8dc5749cdd5b6ad58478a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "590fd283c8ade8dfca41fe5b059d177b427b5323",
      "old_mode": 33188,
      "old_path": "libc/Android.bp",
      "new_id": "b2ebe093451d5c683e71aeed9261f1a6d1529cc2",
      "new_mode": 33188,
      "new_path": "libc/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "c0d704db13fa937d8b6c47e5854f5a3b14776028",
      "old_mode": 33188,
      "old_path": "libc/arch-arm/bionic/atexit_legacy.c",
      "new_id": "7254017cc41440b8defc82b1387f4fdf9d54dd08",
      "new_mode": 33188,
      "new_path": "libc/arch-arm/bionic/atexit_legacy.c"
    },
    {
      "type": "modify",
      "old_id": "98c0bd453f381cd09eab6db83eddda429be2190e",
      "old_mode": 33188,
      "old_path": "libc/arch-mips/bionic/cacheflush.cpp",
      "new_id": "380ad906a4b0b538e3273339979f392cb618a6de",
      "new_mode": 33188,
      "new_path": "libc/arch-mips/bionic/cacheflush.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e36d97d40028f702877d806717ebb8a1ebe5d26",
      "new_mode": 33188,
      "new_path": "libc/async_safe/Android.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "372f385b2bb27211f6f651ffc08daefda62ef99e",
      "new_mode": 33188,
      "new_path": "libc/async_safe/async_safe_log.cpp"
    },
    {
      "type": "rename",
      "old_id": "73bc9a515c6a5bc59d0970346d6d1035766bc04d",
      "old_mode": 33188,
      "old_path": "libc/private/libc_logging.h",
      "new_id": "f93f672650f2f6f86794a4af4a83f584d92b0c7d",
      "new_mode": 33188,
      "new_path": "libc/async_safe/include/async_safe/log.h",
      "score": 61
    },
    {
      "type": "modify",
      "old_id": "b117d72a9d70cd92a0d7c6c565d369c9a74bc3de",
      "old_mode": 33188,
      "old_path": "libc/bionic/NetdClient.cpp",
      "new_id": "a1071d2f46eba2e73088017ae21d69ff0f4d4bf2",
      "new_mode": 33188,
      "new_path": "libc/bionic/NetdClient.cpp"
    },
    {
      "type": "modify",
      "old_id": "30b581f6b4c94072c5fa3bf6af66540fd768f55b",
      "old_mode": 33188,
      "old_path": "libc/bionic/__cxa_pure_virtual.cpp",
      "new_id": "00a4d90018b617732fdaea25df599f28c03f9d1f",
      "new_mode": 33188,
      "new_path": "libc/bionic/__cxa_pure_virtual.cpp"
    },
    {
      "type": "modify",
      "old_id": "cb039cfcd5a7767194a9de1f96db0a0950c580ee",
      "old_mode": 33188,
      "old_path": "libc/bionic/__stack_chk_fail.cpp",
      "new_id": "5f5a5f69afeef53caba9c37687e3331caaedf5ab",
      "new_mode": 33188,
      "new_path": "libc/bionic/__stack_chk_fail.cpp"
    },
    {
      "type": "modify",
      "old_id": "985fc384ba002366577c4dd868fce8171d931be2",
      "old_mode": 33188,
      "old_path": "libc/bionic/assert.cpp",
      "new_id": "41831cbbc9100a24a8358ae1c27e48b4c3c4c31e",
      "new_mode": 33188,
      "new_path": "libc/bionic/assert.cpp"
    },
    {
      "type": "modify",
      "old_id": "ba3b4e113763cf00179003847f6ebbb52080e6e9",
      "old_mode": 33188,
      "old_path": "libc/bionic/bionic_arc4random.cpp",
      "new_id": "a4842f6f5f417b03c33e2781660e348ceb16d4b1",
      "new_mode": 33188,
      "new_path": "libc/bionic/bionic_arc4random.cpp"
    },
    {
      "type": "modify",
      "old_id": "5699f6e7f06d1a769c59e277c9fa35f031defbfa",
      "old_mode": 33188,
      "old_path": "libc/bionic/bionic_systrace.cpp",
      "new_id": "970a92ba177d13d5eaa090d0f636bef8e2c7cc2f",
      "new_mode": 33188,
      "new_path": "libc/bionic/bionic_systrace.cpp"
    },
    {
      "type": "modify",
      "old_id": "5d565c4eb019bcab2d1a0dba3f5650439fb68070",
      "old_mode": 33188,
      "old_path": "libc/bionic/grp_pwd.cpp",
      "new_id": "078a0b3115ba20ded1079f4959df80d282bff6f9",
      "new_mode": 33188,
      "new_path": "libc/bionic/grp_pwd.cpp"
    },
    {
      "type": "modify",
      "old_id": "abc0eec0f4318f6d06a0ab8473782f5c1424438f",
      "old_mode": 33188,
      "old_path": "libc/bionic/icu.cpp",
      "new_id": "944a3f82d8b0d04f7cd3c351068f587cef95c647",
      "new_mode": 33188,
      "new_path": "libc/bionic/icu.cpp"
    },
    {
      "type": "modify",
      "old_id": "970a49ca3359f88c255d9024afa65e7b6ece4ed6",
      "old_mode": 33188,
      "old_path": "libc/bionic/libc_init_common.cpp",
      "new_id": "d267b6876e03a44e7eaa792cac3cff1decc40f60",
      "new_mode": 33188,
      "new_path": "libc/bionic/libc_init_common.cpp"
    },
    {
      "type": "delete",
      "old_id": "54664d9fbdfd844c09a61fcdb5a9e8f2efad2096",
      "old_mode": 33188,
      "old_path": "libc/bionic/libc_logging.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "3fceb71ee8f1412d0259a67ddc4c195ddd3baca3",
      "old_mode": 33188,
      "old_path": "libc/bionic/malloc_common.cpp",
      "new_id": "18c998d089ae3471221b4f8a5cbb57d8bf73ee0f",
      "new_mode": 33188,
      "new_path": "libc/bionic/malloc_common.cpp"
    },
    {
      "type": "modify",
      "old_id": "29565a269a0ddf818a49e0150b5a6521d6d94fce",
      "old_mode": 33188,
      "old_path": "libc/bionic/ndk_cruft.cpp",
      "new_id": "016b476940703ee58ce66c390b2fb34a8517b010",
      "new_mode": 33188,
      "new_path": "libc/bionic/ndk_cruft.cpp"
    },
    {
      "type": "modify",
      "old_id": "76c46ee037836aba67b96c9305312f2476148088",
      "old_mode": 33188,
      "old_path": "libc/bionic/new.cpp",
      "new_id": "9499ff546c412a0cb151b7c6a228ba2f655c6239",
      "new_mode": 33188,
      "new_path": "libc/bionic/new.cpp"
    },
    {
      "type": "modify",
      "old_id": "2daa21f1b9bc4a2dbcc8dc62a1d56e1dc4b20af9",
      "old_mode": 33188,
      "old_path": "libc/bionic/open.cpp",
      "new_id": "6d179c44b1bd581913bef5bd9889e739713b418f",
      "new_mode": 33188,
      "new_path": "libc/bionic/open.cpp"
    },
    {
      "type": "modify",
      "old_id": "cfa58fc8875050f2130df9de5e69ec0f534edfb6",
      "old_mode": 33188,
      "old_path": "libc/bionic/pthread_attr.cpp",
      "new_id": "4b6a8f2ae9995c4d1201cc54f1b49f09d05c4458",
      "new_mode": 33188,
      "new_path": "libc/bionic/pthread_attr.cpp"
    },
    {
      "type": "modify",
      "old_id": "6b3e14808701b2af39bde3e8c8821939303cec73",
      "old_mode": 33188,
      "old_path": "libc/bionic/pthread_create.cpp",
      "new_id": "9f4481fd2e1e9786b1d920029e5c17ba45254c1b",
      "new_mode": 33188,
      "new_path": "libc/bionic/pthread_create.cpp"
    },
    {
      "type": "modify",
      "old_id": "5819bc11404403347fb6aeb94b202180395e805a",
      "old_mode": 33188,
      "old_path": "libc/bionic/pthread_internal.cpp",
      "new_id": "abd403bd4c4e04240072869988fa928b85506076",
      "new_mode": 33188,
      "new_path": "libc/bionic/pthread_internal.cpp"
    },
    {
      "type": "modify",
      "old_id": "4fa68c2bdc9523aeb9e2104ba2e5a45eb2ba98ae",
      "old_mode": 33188,
      "old_path": "libc/bionic/setjmp_cookie.cpp",
      "new_id": "41a439feb487b2c6cb2adcfbfef3f29afbec225b",
      "new_mode": 33188,
      "new_path": "libc/bionic/setjmp_cookie.cpp"
    },
    {
      "type": "modify",
      "old_id": "a0a0809ad60ef5604a6b2451bc6fddb1ff83a8ac",
      "old_mode": 33188,
      "old_path": "libc/bionic/strerror_r.cpp",
      "new_id": "dad3fb35bd8c1fc08bc1d422b86a9cbf0261e554",
      "new_mode": 33188,
      "new_path": "libc/bionic/strerror_r.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e3f34f9a3c12edaa10171a272ac1ff5f90cb2ac",
      "old_mode": 33188,
      "old_path": "libc/bionic/syslog.cpp",
      "new_id": "9424573b844cfb5d025f028e048b56fb09a5c403",
      "new_mode": 33188,
      "new_path": "libc/bionic/syslog.cpp"
    },
    {
      "type": "modify",
      "old_id": "9fb03acce876c0a5314e6b9d007154d5e8b5907b",
      "old_mode": 33188,
      "old_path": "libc/bionic/system_properties.cpp",
      "new_id": "a9586994b294ad35a617d762b85bddd4897198ca",
      "new_mode": 33188,
      "new_path": "libc/bionic/system_properties.cpp"
    },
    {
      "type": "modify",
      "old_id": "82e0ddfd84334050195a68c588b5f0cd905ad2f2",
      "old_mode": 33188,
      "old_path": "libc/dns/resolv/res_cache.c",
      "new_id": "9c6557090e38b27b65a17fecb1ea5e7c629ef0a1",
      "new_mode": 33188,
      "new_path": "libc/dns/resolv/res_cache.c"
    },
    {
      "type": "modify",
      "old_id": "f53da5f720acb715315b48645734b60234f2872f",
      "old_mode": 33188,
      "old_path": "libc/dns/resolv/res_send.c",
      "new_id": "586bb8f1a8a91f22ed3feeb9b2dbbc621deccb22",
      "new_mode": 33188,
      "new_path": "libc/dns/resolv/res_send.c"
    },
    {
      "type": "modify",
      "old_id": "4ed168c3250a11522136d0454aede4d8ee6e5c2a",
      "old_mode": 33188,
      "old_path": "libc/dns/resolv/res_state.c",
      "new_id": "94124ff9bc236475ece83b1e8817d1b99ff45962",
      "new_mode": 33188,
      "new_path": "libc/dns/resolv/res_state.c"
    },
    {
      "type": "modify",
      "old_id": "99c79e465cb241c72aed29d2d5ded0454cc0dcd4",
      "old_mode": 33188,
      "old_path": "libc/dns/resolv/res_stats.c",
      "new_id": "97d54d204bbbe077a509290b80902e9bfb8a2860",
      "new_mode": 33188,
      "new_path": "libc/dns/resolv/res_stats.c"
    },
    {
      "type": "modify",
      "old_id": "708c101512cedc47bcc8f07325b4921ea6ca1580",
      "old_mode": 33188,
      "old_path": "libc/malloc_debug/Android.bp",
      "new_id": "b071b90ae446a5058043a4df14d976fe1ff1198a",
      "new_mode": 33188,
      "new_path": "libc/malloc_debug/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "75a255c0e84861099a42eb82394674d69a69f896",
      "old_mode": 33188,
      "old_path": "libc/malloc_debug/backtrace.cpp",
      "new_id": "88f5a1de4e0a94c8cce0812820af3d463c3989c2",
      "new_mode": 33188,
      "new_path": "libc/malloc_debug/backtrace.cpp"
    },
    {
      "type": "modify",
      "old_id": "4df040805164a6b236e7692a141a59850643bea1",
      "old_mode": 33188,
      "old_path": "libc/malloc_debug/debug_log.h",
      "new_id": "ed4b541690cdbeababb8e9371d6110d907df3bbe",
      "new_mode": 33188,
      "new_path": "libc/malloc_debug/debug_log.h"
    },
    {
      "type": "modify",
      "old_id": "194d42be4680cfa4abf1452ef6fd129aad16c096",
      "old_mode": 33188,
      "old_path": "libc/malloc_debug/tests/log_fake.cpp",
      "new_id": "fb64e3eb75382ffe4e8b4b3d7543cf749b270307",
      "new_mode": 33188,
      "new_path": "libc/malloc_debug/tests/log_fake.cpp"
    },
    {
      "type": "modify",
      "old_id": "1133e2a9becd96540c9cd6cc2aedb8727a33177f",
      "old_mode": 33188,
      "old_path": "libc/private/WriteProtected.h",
      "new_id": "20afdecf6f5a0c62ec493109486542342817ec16",
      "new_mode": 33188,
      "new_path": "libc/private/WriteProtected.h"
    },
    {
      "type": "modify",
      "old_id": "df810cabf9127af7fec762f18c80efa21f539e4b",
      "old_mode": 33188,
      "old_path": "libc/private/bionic_fortify.h",
      "new_id": "8591117be0f95cacdfd10356b2c71ca8d25cf47b",
      "new_mode": 33188,
      "new_path": "libc/private/bionic_fortify.h"
    },
    {
      "type": "modify",
      "old_id": "f2f58c61f8a8e12dbdd972689bc8b49e3d23e1d1",
      "old_mode": 33188,
      "old_path": "libc/stdio/stdio_ext.cpp",
      "new_id": "ebc705c87d405b8fb35e3a8b839bef4418c8d10c",
      "new_mode": 33188,
      "new_path": "libc/stdio/stdio_ext.cpp"
    },
    {
      "type": "modify",
      "old_id": "0d70c815d49f667ca484c2d9991476319e96d598",
      "old_mode": 33188,
      "old_path": "libc/upstream-openbsd/android/include/arc4random.h",
      "new_id": "d006045f6ae43e658252202ad444060f0b91d59e",
      "new_mode": 33188,
      "new_path": "libc/upstream-openbsd/android/include/arc4random.h"
    },
    {
      "type": "modify",
      "old_id": "d6171890efd5cb46606deddd0dd33f747f5c0c1f",
      "old_mode": 33188,
      "old_path": "linker/Android.bp",
      "new_id": "efd91ac88937bd164537c93040309dba0cc10471",
      "new_mode": 33188,
      "new_path": "linker/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "afd990a5332db36a4d28f47d99aaa2ff4ef211c4",
      "old_mode": 33188,
      "old_path": "linker/linker.cpp",
      "new_id": "0b4490dbec28d9a75de50b343e2e9887c1c870bb",
      "new_mode": 33188,
      "new_path": "linker/linker.cpp"
    },
    {
      "type": "modify",
      "old_id": "53dac6c855601db29b3f3ddfe72becec69b566a5",
      "old_mode": 33188,
      "old_path": "linker/linker.h",
      "new_id": "fdd7b6679b59bb4461e1add533f3a16a875b2db8",
      "new_mode": 33188,
      "new_path": "linker/linker.h"
    },
    {
      "type": "modify",
      "old_id": "723ea2ba9e2e4a27d159a085d654a57bbd620bbe",
      "old_mode": 33188,
      "old_path": "linker/linker_allocator.cpp",
      "new_id": "fd6f4964b9b8fda66b849d043d2531c785d12844",
      "new_mode": 33188,
      "new_path": "linker/linker_allocator.cpp"
    },
    {
      "type": "modify",
      "old_id": "beffc52dbacf30990509228e3d8e5926c3b42bba",
      "old_mode": 33188,
      "old_path": "linker/linker_allocator.h",
      "new_id": "80ae5080cb0d0d1ed8e82bb9352d54313a9fa342",
      "new_mode": 33188,
      "new_path": "linker/linker_allocator.h"
    },
    {
      "type": "modify",
      "old_id": "f614ba066f9c1991f6db524befb145f830d68009",
      "old_mode": 33188,
      "old_path": "linker/linker_config.cpp",
      "new_id": "0a9aeab2a3853badf388d8b52b8a3b880bcdd063",
      "new_mode": 33188,
      "new_path": "linker/linker_config.cpp"
    },
    {
      "type": "modify",
      "old_id": "42796e99b027eaccff077d0511b68c9c88f083ce",
      "old_mode": 33188,
      "old_path": "linker/linker_debug.h",
      "new_id": "7ceab0814fa6eb6a3061cf8a8cc3cc0acb935df6",
      "new_mode": 33188,
      "new_path": "linker/linker_debug.h"
    },
    {
      "type": "modify",
      "old_id": "1ed479c2e5f4609aba84b4f2e6ff5eb943a9e4f1",
      "old_mode": 33188,
      "old_path": "linker/linker_globals.h",
      "new_id": "d8134afc44c009e637a7b5fedf205832a15a9904",
      "new_mode": 33188,
      "new_path": "linker/linker_globals.h"
    },
    {
      "type": "modify",
      "old_id": "e7b23e056bf3f998df509d7c16e9f33eb4981208",
      "old_mode": 33188,
      "old_path": "linker/linker_libcxx_support.cpp",
      "new_id": "11e0f40be978ba6e90a5b24204bead55acab6977",
      "new_mode": 33188,
      "new_path": "linker/linker_libcxx_support.cpp"
    },
    {
      "type": "modify",
      "old_id": "717667ca8d01fba8a0087ee3141ca8708215deea",
      "old_mode": 33188,
      "old_path": "linker/linker_logger.cpp",
      "new_id": "4c6603b6a693918b60bc65eff84467cdebec2a2b",
      "new_mode": 33188,
      "new_path": "linker/linker_logger.cpp"
    },
    {
      "type": "modify",
      "old_id": "40f82a1bf9b30aec22ef126c074c5f90873f7c56",
      "old_mode": 33188,
      "old_path": "linker/linker_main.cpp",
      "new_id": "3d26e91f356f3b7ba82aa9e334a9eb9dc296cfa5",
      "new_mode": 33188,
      "new_path": "linker/linker_main.cpp"
    },
    {
      "type": "modify",
      "old_id": "f8852e12259f93a2f4d7a5492a5bc84e508748d3",
      "old_mode": 33188,
      "old_path": "linker/linker_memory.cpp",
      "new_id": "472c4e891191519c44f45e6eb5282193e4af5f21",
      "new_mode": 33188,
      "new_path": "linker/linker_memory.cpp"
    },
    {
      "type": "modify",
      "old_id": "74b69e4988d261944d60551c13f33029735bf9d9",
      "old_mode": 33188,
      "old_path": "linker/linker_sleb128.h",
      "new_id": "01e127d052137eddb312486e3e03ca1bc6780e9f",
      "new_mode": 33188,
      "new_path": "linker/linker_sleb128.h"
    },
    {
      "type": "modify",
      "old_id": "1d59dbb9fc89e84256a2b508e272e3882de84fab",
      "old_mode": 33188,
      "old_path": "linker/linker_soinfo.cpp",
      "new_id": "fbff7cf60c0421ecf79271da091ff6cfedb4d7c2",
      "new_mode": 33188,
      "new_path": "linker/linker_soinfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "61c43c908c216574cf6869914a72bc6600a277f7",
      "old_mode": 33188,
      "old_path": "linker/tests/Android.mk",
      "new_id": "8284beaac9c5f719315e53e53bf997433953c9ed",
      "new_mode": 33188,
      "new_path": "linker/tests/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "d4e3800fd89e93f10271c28c8aaec446ffb870e6",
      "old_mode": 33188,
      "old_path": "tests/Android.bp",
      "new_id": "4605267accc11f3caa1184910765a4b943be6ce1",
      "new_mode": 33188,
      "new_path": "tests/Android.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3d6fcaa8f0f9b075d05320e717dfe43841e942d4",
      "new_mode": 33188,
      "new_path": "tests/async_safe_test.cpp"
    },
    {
      "type": "delete",
      "old_id": "4150483e1d10ca985e1812ae1bde3b01c5fbab0a",
      "old_mode": 33188,
      "old_path": "tests/libc_logging_test.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
