)]}'
{
  "commit": "6355a96915a5f8777b11d09ac072c78b9cd2f046",
  "tree": "7ac805c9a88380a3808bd1b94c3d740085de7224",
  "parents": [
    "85c48a0bf48e6aa0fd7a84a24703dbd956a3d772"
  ],
  "author": {
    "name": "Jacek Caban",
    "email": "jacek@codeweavers.com",
    "time": "Wed Apr 02 23:02:09 2025 +0200"
  },
  "committer": {
    "name": "Jacek Caban",
    "email": "jacek@codeweavers.com",
    "time": "Fri Apr 04 11:39:56 2025 +0200"
  },
  "message": "crt: Use naked functions for ARM64 assembly functions.\n\nOn ARM64EC, function declarations have additional nuances:\n- Function names are mangled by prefixing them with \"#\"\n- An unmangled symbol is defined as a weak anti-dependency alias to the mangled\n  symbol\n- An entry thunk is generated to convert from the x86_64 calling convention to\n  the ARM64EC calling convention, used by the emulator\n- A .hybmp section entry is generated to associate the function with its entry\n  thunk\n\nThe compiler can handle all of this if provided with the necessary information.\nNaked functions are the most convenient way to achieve this.\n\nUse naked functions only on Clang. GCC doesn’t support them on ARM targets and\nhas broken behavior on x86_64 by emitting .seh_endprologue.\n\nSigned-off-by: Jacek Caban \u003cjacek@codeweavers.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d75d63e38704a0bb3173fb5074487ea8dff4f1b",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/include/internal.h",
      "new_id": "8c0cc6c3e01fb8614851faec86968a4ba4a14d4a",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/include/internal.h"
    },
    {
      "type": "modify",
      "old_id": "44c74cf717552fc80e2d498560f096c95b7ec972",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/math/arm64/nearbyint.c",
      "new_id": "2e4dd6f8ed749231dbba247144050d0ddf6155b9",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/math/arm64/nearbyint.c"
    },
    {
      "type": "modify",
      "old_id": "48d58734390affefe15b55e4972df5009fd1fb7d",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/math/arm64/nearbyintf.c",
      "new_id": "805156327cb9e7c7eb976a5f6394c45f2c655625",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/math/arm64/nearbyintf.c"
    },
    {
      "type": "modify",
      "old_id": "72e912c4317a5c85e7cd17c2d1f53a17c37bd0bf",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/math/arm64/nearbyintl.c",
      "new_id": "5d684a0844f70254600016004d9808269e005f41",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/math/arm64/nearbyintl.c"
    },
    {
      "type": "modify",
      "old_id": "0054b87e04119113904d0a4a4afc713641fc7ce7",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/math/arm64/trunc.c",
      "new_id": "cb88d7b8e3c24410eb01a0b4221a22b0443dbc74",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/math/arm64/trunc.c"
    },
    {
      "type": "modify",
      "old_id": "f322150976e75d3d645a32d8864fc8c810e72e1e",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/math/arm64/truncf.c",
      "new_id": "7d7d3651bc87ca254511e4893a8d8cb45287715b",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/math/arm64/truncf.c"
    }
  ]
}
