)]}'
{
  "commit": "e36d0410e8844d136128daa8a86ff2bef9b6b222",
  "tree": "f8170b1bca45bf0455974f6e74f200662fade68e",
  "parents": [
    "37bda501ce4cda4a7d6cf1a528cb0989590083cc"
  ],
  "author": {
    "name": "Pali Rohár",
    "email": "pali.rohar@gmail.com",
    "time": "Sat Sep 21 14:29:02 2024 +0200"
  },
  "committer": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Sat Sep 28 00:05:36 2024 +0300"
  },
  "message": "crt: Fix _onexit() function for DLL builds\n\nMS documentation for _onexit function says:\n\n  In the case when _onexit is called from within a DLL, routines registered\n  with _onexit run when the DLL is unloaded, after DllMain is called with\n  DLL_PROCESS_DETACH.\n\nAnd for this functionality msvc statically links _onexit functionality for\nDLL builds, and do not let applications to use msvcrt.dll\u0027s _onexit symbol\ndirectly.\n\nFix this issue in mingw-w64 by redefining _onexit function to calls private\nmingw-w64 atexit() function, which already distinguish between EXE and DLL\nbuilds. Include this _onexit function into every CRT import library and\ndisable original _onexit symbol in all def files.\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa62d0fe5a36e92ae6b61791bc1514f49d7dc4fa",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/Makefile.am",
      "new_id": "c78138757c54c56cdcbb26aa4258ba85f715ead2",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "48f3df0cd4d3215087ece272ebde8dbd28a8c7a0",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib-common/msvcr120_app.def.in",
      "new_id": "4508a43f337031e68ca5f012461c50b5e15ed2b2",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib-common/msvcr120_app.def.in"
    },
    {
      "type": "modify",
      "old_id": "a1b47619fd34fc63fbf24ba8983018f7bbf1fd91",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib-common/msvcrt.def.in",
      "new_id": "18e994fdd74317d34cab8f37b447c1e6c32cd683",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib-common/msvcrt.def.in"
    },
    {
      "type": "modify",
      "old_id": "297c551ea308539c2d9b93329588db8984f45aa7",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/crtdll.def.in",
      "new_id": "82cf0bcfa7e2b5cbc5b410f34663325f0846109a",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/crtdll.def.in"
    },
    {
      "type": "modify",
      "old_id": "a7646f588b731864a3d9dcf7645adcb97bacf483",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr100.def.in",
      "new_id": "03929c7195dbb18ce13763cf1655630cfea295b0",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr100.def.in"
    },
    {
      "type": "modify",
      "old_id": "0a54d464e885710d298bdab4be1bd1b44da3469f",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr100d.def.in",
      "new_id": "30a73075442600f8fc6b2d81a1b12c9a918f07af",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr100d.def.in"
    },
    {
      "type": "modify",
      "old_id": "a041054ce03277651a14ba999a44d6946e463e45",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr110.def.in",
      "new_id": "089a865ea43c9d64f0cbdcfe5f4defb9ab4f2adc",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr110.def.in"
    },
    {
      "type": "modify",
      "old_id": "a0d38578510077fe021f53fca17fc90801120527",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr110d.def.in",
      "new_id": "c68ee7b8439cd46e6d675b6f939d5c0d1ee53c52",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr110d.def.in"
    },
    {
      "type": "modify",
      "old_id": "2551b3062fa61ac7ca06388ae59ac25bdffd106a",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr120.def.in",
      "new_id": "25a271b510d3a9266ce576c7bcd805067aaeac90",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr120.def.in"
    },
    {
      "type": "modify",
      "old_id": "d8272600f939cc9febbedeecfc31d967c8eb45da",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr120d.def.in",
      "new_id": "e1bb5f459e2306dddcda905e3f2c5bcd0a9115e5",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr120d.def.in"
    },
    {
      "type": "modify",
      "old_id": "53ca088f6afa577e62af95990308445598e36ac7",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr40d.def.in",
      "new_id": "544816d7047fd683e16c039630c596fe250ff060",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr40d.def.in"
    },
    {
      "type": "modify",
      "old_id": "9ed6a5bd14a36c3007fe6e1aa4a85a2c3dbabc3d",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70.def.in",
      "new_id": "689f8f7a37c6dce5ee2f3b4182af92598925ba94",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70.def.in"
    },
    {
      "type": "modify",
      "old_id": "ad7e14d4aa3bb05316249e4cab50d4ff1cfb451f",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70d.def.in",
      "new_id": "910b883212e29bb82176cd8d88c4d462fc54f8eb",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70d.def.in"
    },
    {
      "type": "modify",
      "old_id": "b6bbe0c4968ad26032118264d074658a5533fb00",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71.def.in",
      "new_id": "7904cf8f90f81379ea73099747356b820f5abb11",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71.def.in"
    },
    {
      "type": "modify",
      "old_id": "f25619993d3c4cf35d8f487f93467fd37ef3aa81",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71d.def.in",
      "new_id": "d6bf80eefaf63aefa4994a850f296c35db7a859e",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71d.def.in"
    },
    {
      "type": "modify",
      "old_id": "f15ea5d3f07623c837489ff0d98a62e2a7620dca",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr80.def.in",
      "new_id": "ec463fb14c312421c25c1eac84e6d0f79e0b9bad",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr80.def.in"
    },
    {
      "type": "modify",
      "old_id": "3340a189a353a710a04161ce309465fbcc399757",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr80d.def.in",
      "new_id": "27119524c51b67229e877df21c0bacaf02be223d",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr80d.def.in"
    },
    {
      "type": "modify",
      "old_id": "cf15aa62f1d9843ec523e28848597388c098c1c5",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr90.def.in",
      "new_id": "c39b4754713e5bdee88973a0ca664a9f4a5b29af",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr90.def.in"
    },
    {
      "type": "modify",
      "old_id": "3267aa2e7af5cc146f4af16d78976c457eccae23",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr90d.def.in",
      "new_id": "90e7cbd75f1d0c72318d54240308c24c9a3d7aaa",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr90d.def.in"
    },
    {
      "type": "modify",
      "old_id": "c5ec60458214b0a5996e19cadac5f46f3703c654",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrt10.def.in",
      "new_id": "0f99e6ab3f7c64cafac6774dc5436904c1882624",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrt10.def.in"
    },
    {
      "type": "modify",
      "old_id": "d096781234ce7bb4271b0b7638a711666876c4e9",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrt20.def.in",
      "new_id": "781f86abd9fa6fcff184e2e6715c9afdd01e59b4",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrt20.def.in"
    },
    {
      "type": "modify",
      "old_id": "6fad2dc683dbd802ac70351bca053824b9089c9e",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrt40.def.in",
      "new_id": "3122f0e1e0f7cbd781b07e4156d01fdcb9276f34",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrt40.def.in"
    },
    {
      "type": "modify",
      "old_id": "02318210a2191a380ee852cc99b03f3a384217ba",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrtd.def.in",
      "new_id": "04426ad235726489009e5d9b9b7baf79e251a4f0",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrtd.def.in"
    },
    {
      "type": "modify",
      "old_id": "af3beefbd3a7d8a673f050bdf41af22a211bd57c",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr100.def.in",
      "new_id": "f1f680fdcf6f10247c6f34c8f0ff808e46a8a0a5",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr100.def.in"
    },
    {
      "type": "modify",
      "old_id": "b8b54ee1014d5cab20ece32c446e0b5013f9fad3",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr100d.def.in",
      "new_id": "d4d4040a4a55131717644b70aef9b525b8e9552b",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr100d.def.in"
    },
    {
      "type": "modify",
      "old_id": "e39f93ee9da8d0c1e0d7cc49b8b31c4909429037",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr110.def.in",
      "new_id": "e7c3570b69f8188874851bd3d827dc9273930b4b",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr110.def.in"
    },
    {
      "type": "modify",
      "old_id": "dfcd60360586e06f0e266c07e68209a06fc0289b",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr110d.def.in",
      "new_id": "e401c9d39c3d33c9ae6ce0a09f7beb1b37748deb",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr110d.def.in"
    },
    {
      "type": "modify",
      "old_id": "3f517eb58df673b42b953dbc11ca4da3ae59b16c",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr120.def.in",
      "new_id": "0762aab04c09f70d5b05371cf12aa41b6f621e08",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr120.def.in"
    },
    {
      "type": "modify",
      "old_id": "364cc1fb27215bd0db501f77f19d31e8a6fd39c1",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr120d.def.in",
      "new_id": "3af9c66c010b03d18cc317e3c9f54f285df0e8ce",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr120d.def.in"
    },
    {
      "type": "modify",
      "old_id": "a5690aab713da8d6319dd76cf90f6342a7afd510",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr80.def.in",
      "new_id": "1e66668f96d9c631ab29210e634df1a8890d81eb",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr80.def.in"
    },
    {
      "type": "modify",
      "old_id": "e829294dd523acf91143e00bab6d06d7afa11a9d",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr80d.def.in",
      "new_id": "3228febcfd4408c120cb946fc6dc52b2be7acfd3",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr80d.def.in"
    },
    {
      "type": "modify",
      "old_id": "8143378cec55cade4b9e4c432adb44012fef7d63",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr90.def.in",
      "new_id": "73de42453b4cac3c69fd5df3ed13517587186073",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr90.def.in"
    },
    {
      "type": "modify",
      "old_id": "c066bebc067df4f5758a33ffef18e3c0a0a68de6",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib64/msvcr90d.def.in",
      "new_id": "87f8d48b02195e6334b5fc7ea5c4c731487a74d9",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib64/msvcr90d.def.in"
    },
    {
      "type": "modify",
      "old_id": "90c91ab2bea43fa0ea0e3af68b9ae8628e756bde",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/libarm32/kernelbase.def",
      "new_id": "62d79176dc7c710935ac9aa2bb3493924a54e4e1",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/libarm32/kernelbase.def"
    },
    {
      "type": "modify",
      "old_id": "8bced221e69406ccb5cb6d298a125fd7d689f919",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/libarm32/msvcr110.def.in",
      "new_id": "d0af03fad6ce4352039fc03e928870abd59967d9",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/libarm32/msvcr110.def.in"
    },
    {
      "type": "modify",
      "old_id": "584bf08d363389a9e91635a76ef488635ab7b547",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/libarm32/msvcr110d.def.in",
      "new_id": "2dd7f38bb0ccc38bc514d61541c98bcd497de3df",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/libarm32/msvcr110d.def.in"
    },
    {
      "type": "modify",
      "old_id": "a9e717d64599e401476caf1fb77c12111d37ffcc",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/libarm32/msvcr120.def.in",
      "new_id": "c32ad49472acd5b5c678ac6d355e58994e7d3aa8",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/libarm32/msvcr120.def.in"
    },
    {
      "type": "modify",
      "old_id": "b1a4eff7fb76b48de447e474fd7cdaee31b133d1",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/libarm32/msvcr120d.def.in",
      "new_id": "b30ad0e6b8fa607cea30a51f7e5ebeecb478e2ad",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/libarm32/msvcr120d.def.in"
    },
    {
      "type": "rename",
      "old_id": "14e6cdacb87405c4aed3be91369e18c03a0e6fe6",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/misc/ucrt__onexit.c",
      "new_id": "9caf0f75de729d116ad34edfcc924c22aef2553e",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/misc/_onexit.c",
      "score": 74
    }
  ]
}
