)]}'
{
  "commit": "7e3f2dd90ce4ecfad3c3e54c147317fadd980234",
  "tree": "7a2b3dcb4594bc0e8d18c8fa250e7885f1b9fdb0",
  "parents": [
    "ad150be87e14159a82f3c8dce03c0c1e6263aee2"
  ],
  "author": {
    "name": "Pali Rohár",
    "email": "pali.rohar@gmail.com",
    "time": "Tue May 13 21:30:27 2025 +0200"
  },
  "committer": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Wed May 14 13:33:21 2025 +0300"
  },
  "message": "crt: Fix missing fstat64 symbol in 64-bit msvcrt and 32-bit msvcr70/71 import libraries\n\nOn 64-bit are _fstati64 and _fstat64 functions same, both uses 64-bit\ntime_t and 64-bit off_t. On 32-bit is _fstati64 using 32-bit time_t.\n\n64-bit msvcrt DLL library provides both native _fstati64 and _fstat64\nsymbols. And other 64-bit CRT DLL libraries (msvcr80+ and UCRT) are not\ncategorized as FIXED_SIZE_SYMBOLS.\n\n32-bit msvcr70 and msvcr71 DLL libraries provides native fixed-size symbols\nfor 64-bit wide functions like _fstat64.\n\nImport library for 32-bit system os msvcrt uses emulation of _fstat64\nfunction which also defines own alias for fstat64 in file stdio/_fstat64.c.\n\nSo define fstat64 symbol as alias to _fstat64 (instead of as to _fstati64)\nin crt-aliases.def.in file for all import CRT libraries which provides\nnative _fstat64 symbol (non-i386 msvcrt, msvcr70+ and ucrt).\n\nCurrent condition for fstat64 in crt-aliases.def.in is wrong because it\ndoes not take into account the 64-bit msvcrt case which defines the\nNO_FIXED_SIZE_64_ALIAS macro saying that DLL provides the native _fstat64\nsymbol (and hence crt-aliases.def.in must not define _fstat64 symbol).\nAnd there are also missing settings for NO_FIXED_SIZE_64_ALIAS in msvcr70\nand msvcr71 def files as these DLL libraries provides _fstat64 function.\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6335237900f1d4d6fcc5b1dec763e2f83f1ad2d0",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/def-include/crt-aliases.def.in",
      "new_id": "2c9090b9e13031ea6d68324e8f508a2a8e5a84cf",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/def-include/crt-aliases.def.in"
    },
    {
      "type": "modify",
      "old_id": "82694e41f7e8ae4a497382d4dbded9d33ae9a8bb",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib-common/msvcrt.def.in",
      "new_id": "ab7eeed49ce70149b61fee9b44fd2a6cc3d4321d",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib-common/msvcrt.def.in"
    },
    {
      "type": "modify",
      "old_id": "d4726d199c57db40f3a767704b98fd29f85d4a04",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70.def.in",
      "new_id": "ec64df727c37e4c285d4d118017a1b94a24f5dba",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70.def.in"
    },
    {
      "type": "modify",
      "old_id": "6ca476200152045cbb3fa4568e2d833ec68a7cfc",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70d.def.in",
      "new_id": "408f1e9194ce2462ca25c23d5d81754e50c5acf7",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70d.def.in"
    },
    {
      "type": "modify",
      "old_id": "6df695c4cfd7d641dd4e06bfb714051bcbfe08f4",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71.def.in",
      "new_id": "6e3f54069999a6f26a5cd78d0b6fcff0b08d7577",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71.def.in"
    },
    {
      "type": "modify",
      "old_id": "ba2a993ad04bc666edaebac96c607e9078a4c970",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71d.def.in",
      "new_id": "7f70c52095a247efc46ffec5664613548b28da9c",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71d.def.in"
    }
  ]
}
