)]}'
{
  "commit": "8a545a336d577e87b47e39031c17dd89eebd77d7",
  "tree": "442f6d39e77d9ee415c4561aeda80fec7909f38f",
  "parents": [
    "9f714c4b2064d11ca422ab71c973f41ebaea121e"
  ],
  "author": {
    "name": "Pierrick Bouvier",
    "email": "pierrick.bouvier@linaro.org",
    "time": "Thu Oct 16 16:03:52 2025 +0100"
  },
  "committer": {
    "name": "Alex Bennée",
    "email": "alex.bennee@linaro.org",
    "time": "Mon Oct 20 13:46:28 2025 +0100"
  },
  "message": "contrib/plugins/uftrace_symbols.py: generate debug files to map symbols to source\n\nEnhance uftrace_symbols.py to generate .dbg files, containing\nsource location for every symbol present in .sym file.\nIt allows to use `uftrace {replay,dump} --srcline` and show origin of\nfunctions, connecting trace to original source code.\n\nIt was first implemented with pyelftools DWARF parser, which was way\ntoo slow (~minutes) to get locations for every symbol in the linux\nkernel. Thus, we use `addr2line` instead, which runs in seconds.\n\nAs well, there were some bugs with latest pyelftools release,\nrequiring to run master version, which is not installable with pip.\nThus, since we now require binutils (addr2line), we can ditch pyelftools\nbased implementation and simply rely on `nm` to get symbols information,\nwhich is faster and better.\n\nSigned-off-by: Pierrick Bouvier \u003cpierrick.bouvier@linaro.org\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nMessage-ID: \u003c20251016150357.876415-8-alex.bennee@linaro.org\u003e\nSigned-off-by: Alex Bennée \u003calex.bennee@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b49e03203c8fc04ddc90db13cc47cad5dfa52f8a",
      "old_mode": 33261,
      "old_path": "contrib/plugins/uftrace_symbols.py",
      "new_id": "45fb79c7a58c9e85ad460b1dd531d759e066ba19",
      "new_mode": 33261,
      "new_path": "contrib/plugins/uftrace_symbols.py"
    }
  ]
}
