)]}'
{
  "commit": "c54d307ffdca290f7931ad04a5acbf873a9ee849",
  "tree": "1c64fb74279bfe4fec72dfb1be150598516334b0",
  "parents": [
    "61436e232b0891a97db16ca833100f6c8008d26c"
  ],
  "author": {
    "name": "Mitch Phillips",
    "email": "mitchp@google.com",
    "time": "Wed Aug 21 19:41:18 2024 +0200"
  },
  "committer": {
    "name": "Florian Mayer",
    "email": "fmayer@google.com",
    "time": "Mon Oct 14 10:00:39 2024 -0700"
  },
  "message": "Fix dlext tests for MTE globals\n\nExisting dlext anonymous tests use /proc/maps to figure out which\nmappings to create a duplicate of, and then branch to them and ensure\nthe symbol resolution ends up in the right place.\n\nUnfortunately, this breaks with MTE globals (and seems slightly broken\nalready with things like bss?) because the mapping name doesn\u0027t exactly\nmatch. The global variable sections, under MTE globals, are remapped as\nPROT_MTE which requires them to be anonymous, and so we use the kernel\nAPI to name them with a mt: prefix. This prefix trips up the\n/proc/maps selection.\n\nInstead of just implementing lazy-matching, I\u0027ve changed the logic to\ninstead use dl_iterate_phdr to ensure we grab all the sections from the\nDSO for now and in future. This seems more bullet-proof.\n\nTest: atest bionic-unit-tests on a fullmte device with MTE globals\nre-landed, enabled, and the new toolchain. Also on a non-MTE device.\nBug: 320448268\n\nChange-Id: I26f5833b22b66945459f09465d815d2ddee07c2a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "570da2a758b4aaf6484efeb05ce3ee393fe02e61",
      "old_mode": 33188,
      "old_path": "tests/dlext_test.cpp",
      "new_id": "8b26cb0d428c86b8592279cf1468adc77ca76486",
      "new_mode": 33188,
      "new_path": "tests/dlext_test.cpp"
    }
  ]
}
