)]}'
{
  "commit": "5fa187e9885f33a2d0a696c11c8a0e6c4dfb825f",
  "tree": "b61f0a702bc3529f9729d205e87cc95bd4d00bcb",
  "parents": [
    "209fee61267385dda4f5490558331b4c3f25720e"
  ],
  "author": {
    "name": "Tess Strickland",
    "email": "sstrickl@google.com",
    "time": "Mon May 26 08:52:26 2025 -0700"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Mon May 26 08:54:21 2025 -0700"
  },
  "message": "[vm, gen_snapshot] Add app-aot-macho-dylib option for AOT snapshots.\n\nThis is the initial framework for creating snapshots as Mach-O dynamic\nlibraries. Note that this framework is not 100% feature complete\ncompared to generating Mach-O snapshots via assembly. In particular,\nthe directly-compiled Mach-O dylib does not yet contain compact\nunwinding information.\n\nOther changes:\n\n* Adds UuidCommand to the native_stack_traces package\u0027s Mach-O reader,\n  which now appropriately returns the UUID as the build ID for Mach-O\n  shared objects.\n\n* Adds Utils::Basename(path) for portably retrieving the basename\n  from a path. (Returns nullptr for all arguments where it is not\n  currently implemented on Fuchsia or Windows.)\n\n* Adjusts vm/timeline.h to avoid pulling in \u003cmach_o/loader.h\u003e on MacOS,\n  as that interferes with uses of the namespaced Mach-O definitions\n  in platform/mach_o.h.\n\n* Only attempt to dlopen() a snapshot if ELF is the native format\n  for the host platform or the snapshot is not an ELF shared object.\n  If dlopen() is used, report the error message if it fails rather\n  than attempting to manually load the snapshot as an ELF shared object.\n\n* Fix the magic number stored in DylibAppSnapshot for loaded non-ELF\n  dynamic libraries.\n\n* Remove the detection of reverse-endian Mach-O magic numbers in\n  DartUtils::SniffForMagicNumber(), since all our Mach-O related code\n  assumes host-endian Mach-O files and so there\u0027s no point other than\n  to give a slightly better error message when failing.\n\nTEST\u003dvm/dart/exported_symbols_test\n     vm/dart/unobfuscated_static_symbols_test\n     vm/dart/use_dwarf_stack_traces_flag_test\n     vm/cc/CanDetectMachOFiles\n\nIssue: https://github.com/dart-lang/sdk/issues/60307\nChange-Id: Idf5b49d6c6d035ab033509613212b95520d65965\nCq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-x64-try,vm-mac-release-arm64-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-dwarf-linux-product-x64-try,vm-linux-debug-x64-try,vm-mac-debug-arm64-try,vm-fuchsia-release-x64-try,vm-fuchsia-release-arm64-try\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/415020\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\nCommit-Queue: Tess Strickland \u003csstrickl@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/38ef28a0589c0ac3009856a636b353e419e25c46\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8928916f75f3f5feedcd97d1bb90d9d6bf210025",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "1d6fe88d3387346ca0e584900d607ccb17789771",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "fe7ca8634855ecad94271c5338f0c7f0cb39d706",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "2b9196fa274b12acd2a8bf8464c523345f4f11e0",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
