)]}'
{
  "log": [
    {
      "commit": "331b3887f487c19eed84d4bfe3174e9191d199bd",
      "tree": "5524ac2622a185c5ba7aad9952256e8d264a98d5",
      "parents": [
        "a0a591a71428758160e9d78e3d3e78dc7d91858b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 11 14:58:32 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 14 12:25:05 2021 -0700"
      },
      "message": "Remove host_bionic_inject\n\nNow that linker_wrapper.o does not use objcopy --prefix-symbols\u003d__dlwrap_\nit can reference the _start symbol of the original binary without\ncolliding with its own __dlwrap__start symbol, which means\nhost_bionic_inject is no longer necessary.\n\nTest: build and run host bionic binary\nChange-Id: I1752efa39fa73a092fab039771bf59c99b7b5974\n"
    },
    {
      "commit": "a0a591a71428758160e9d78e3d3e78dc7d91858b",
      "tree": "6b4e4762902fa76886f628f01dec2f93bf4907a2",
      "parents": [
        "be1c01328082b2dcde5c5ef022db0decddb6e1f5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 11 12:46:45 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jun 14 12:24:25 2021 -0700"
      },
      "message": "Don\u0027t use prefix_symbols for host bionic linker wrapper\n\nThe only symbol that actually needs a prefix to avoid a collision is\n_start, and that can be handled with a copy of begin.S that uses a\n\"#define\" to rename _start to __dlwrap__start. Removing the prefixed\nsymbols will also allow simplifying the host bionic build process by\nletting it directly reference the real _start.\n\nTest: build and run host bionic binary\nChange-Id: I50be786c16fe04b7f05c14ebfb74f710c7446ed9\n"
    },
    {
      "commit": "d6bf019204e258d89da56330fbcf9a36c39d23f5",
      "tree": "3302ba6e3d7023f565e911f876273824df6c70ee",
      "parents": [
        "a8a716e42a8e6b8f28abf2b2f8f93b1e8579423d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 15 15:40:49 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 22 22:52:25 2018 +0000"
      },
      "message": "Rework the linker_wrapper to work with lld\n\nThis is use by Host Bionic to bootstrap into an embedded copy of the\nlinker by tweaking the AT_* values before calling in to the linker entry.\n\nSimilarly to 9729f35922aee4d1662b97d62d82385f6b8124ef, get the base\naddress from AT_PHDR, so that we\u0027re not relying on the relative offset\nbefore relocation, which doesn\u0027t work with lld (at least with the\nstandard flags).\n\nTo find the offset to the linker code, we can still use an absolute\nsymbol created by extract_linker (which is currently hardcoded to 0x1000).\n\nInstead of relying on something similar for the linker entry point,\nwe\u0027re now just reading the entry point from the linker\u0027s ELF header.\n\nThen we get the address to the real _start function using\nhost_bionic_inject, which injects the value into a global variable after\nthe link step is finished. It also uses that opportunity to verify that\nthe linker is embedded as we expect it to be.\n\nBug: 31559095\nTest: build with host bionic\nChange-Id: I9d81ea77c51c079de06905da1ebe421fead1dc3b\n"
    },
    {
      "commit": "7ccc50d2e48b9d8027a1f382b0408e9c36e56731",
      "tree": "5c0f8742d17baa66596860f88bfe387020b2d864",
      "parents": [
        "4326d84d217b40b819729da153f97217ea4ec932"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Sep 18 21:28:14 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 20 13:59:13 2017 -0700"
      },
      "message": "Use an embedded linker for host bionic\n\nThe linux kernel requires that the ELF interpreter (runtime linker)\nthat\u0027s referenced by PT_INTERP be either an absolute path, or a relative\npath from the current working directory. We\u0027d prefer a relative path\nfrom the binary, similarly to how we handle looking up shared libraries,\nbut that\u0027s not supported.\n\nInstead, extract the LOAD segments from the runtime linker ELF binary\nand embed them into each host bionic binary, omitting the PT_INTERP\ndeclaration. The kernel will treat it as a static binary, and we\u0027ll use\na special entry point (linker_wrapper) to fix up the arguments passed by\nthe kernel before jumping to the embedded linker. From the linker\u0027s\npoint of view, it looks like the kernel loaded the linker like normal.\n\nBug: 31559095\nTest: Enable host bionic, build and run libdemangle_test\nChange-Id: I1753401ef91eecbf0ae3376faca31eec1c53842b\n"
    }
  ]
}
